Giter VIP home page Giter VIP logo

deprecated-laserweb2's Introduction

deprecated-laserweb2's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deprecated-laserweb2's Issues

Problems with raster creation

Since the last merge, files that generated the raster and preview and gcode in less than a minute are now taking much longer (5 -10 minutes to complete the process, or even causes a hang sometimes). The raster seems to generate just as quick, but creating the gcode and displaying the preview seems to be where the bottleneck is. Not sure what has happened, but it definitely feels broken.

Running on a small SoC?

I have a CHIP that I invested in a few months ago, and I feel that it would be perfect to serve as the head for my laser cutter. However, I'm running into difficulty figuring out how to get the software running as a local ad-hoc server (similar to the octopi project). Does anyone have any insight as to how to get this running in such a way? Or might I be completely off base?

Origin as configurable (for the k40 folks where top left cuts best)

@Gustavvr wanted to help out so creating issue to track this
Notes:

Add a configurable field to https://github.com/openhardwarecoza/LaserWeb2/blob/gh-pages/index.html#L560 (handle the saving and loading to Localsettings here too https://github.com/openhardwarecoza/LaserWeb2/blob/gh-pages/js/main.js#L193

translation functions: https://github.com/openhardwarecoza/LaserWeb2/blob/gh-pages/js/fileprep.js#L77 - here it puts it at 0,0 - but if we implement the Origin change we need to do that calculation here...

The way the gcode generator works in LW2 is that we create and move the threejs objects to where we want it. When I run the gcode generator over the threejs geometry it does a localtoWorld to get the coordinates in the scene for each vertex (: (so less math)

SPJS server binding to only IPv6

@openhardwarecoza I just want to know if you have any thoughts on this issues before I start making changes.

The Go server portion of SPJS is binding to only IPv6 on my computer ( I use IPv6 so I don't want to disable it) The spjs.js file in LaserWeb2 does not support IPv6 address format ( e.g. [::1] ). I can look into resolving this. But I wanted your input before making changes.

Raster: port from LW1: need help

I need someone to help moving raster from laserweb1 to laserweb2

  1. On load of bitmaps https://github.com/openhardwarecoza/LaserWeb2/blob/gh-pages/js/main.js#L90 catch the event and load it to a div behind the 3D viewer (pay attention to how I handle svg and dxf already in https://github.com/openhardwarecoza/LaserWeb2/blob/gh-pages/js/main.js#L101 for example. raster functions are still global but in a different .js file (dxf and svg for example sits in js/dxf-render.js and svg-render.js) like we used to do here: https://github.com/openhardwarecoza/LaserWeb/blob/master/i/main.js#L2416
  2. hide the https://github.com/openhardwarecoza/LaserWeb2/blob/gh-pages/index.html#L293 cam module and show a new module (raster setup) (copy the module in index.html) with the raster settings
  3. raster still works like in LW1

Other important places in old code https://github.com/openhardwarecoza/LaserWeb/blob/master/i/index.html#L110 and
https://github.com/openhardwarecoza/LaserWeb/blob/master/i/main.js#L2494 and https://github.com/openhardwarecoza/LaserWeb/tree/master/i/raster contains most of the functions

settings module:
https://github.com/openhardwarecoza/LaserWeb/blob/master/i/main.js#L2428 and https://github.com/openhardwarecoza/LaserWeb/blob/master/i/index.html#L849

Preview size bounding box https://github.com/openhardwarecoza/LaserWeb/blob/master/i/main.js#L2521

Another cool thing in LaserWeb2 is a new progress bar - https://github.com/openhardwarecoza/LaserWeb2/blob/gh-pages/lib/gcode-viewer/gcode-parser.js#L208 for example. See
https://github.com/rstacruz/nprogress for details - which looks a lot better than the one in LW1

Google drive files

Selecting SVG produces the following " ReferenceError: drawSVG is not defined (http://openhardwarecoza.github.io/LaserWeb2/js/googlesignin.js on line 123)"

DXF load without issues

BMP and jpg don't show at all

Maybe show a pop-up like touchpad to select file im afraid that a long list will move the whole left side of the interface down.

Did you apply a maximum? I just added a folder inside the drive and reduced the files showen minus one but does not show the folder
screen shot 2016-05-04 at 9 09 10 pm

Add baud rate 250000 to index.html

Consider adding 250000 baud as an available option. It's a common baud rate, and seems to be more stable than 230400 for some users on USB serial UART clones.

Comms module: TinyG

Creating the communication layer between laserweb2 and TinyG - TinyG2

  • handles all communication and parses all the messages
  • stores all controller settings into TinyG object
  • make it tested
  • pre installed command for homing, resetting, ...

Information

Recalculating rasters

If I open a bitmap and generate the raster, then change the dpi and re generate the raster, it overlays the new view over the original view.

Browser dies on large raster files

Open a large image, like a HD photo in jpg, png.
Generate raster and keep track of the browser's memory usage - it will grow with GBs when the path rendering is created. For a large enough photo the browser will crash.

I assume that the problem is in the area of number of THREE lines, a 1000x1000 photo may need 1 million lines with bad luck, usually less, but a lot of lines anyway.

I have no working experience with THREE but I assume it would help to group the lines into lines with many vertices with different colors.

I intend to look into this the coming days.

Controller support/wiring status and default use-case

I am in the process of testing LaserWeb and am choosing the controller firmware had hardware, however there do not seem to be any clear directions yet.

Based on tickets support for Marlin/Smoothieware/Grbl is under development and thus would be a good idea to nicely display what id the default, most operational path.

Happy to prepare this, just ping your replies which firmware should be the best choice.

Raster image not working only getting one single line

I'm trying to do an engraving with the file / raster generator. I'll see in the other issues that the feature is working, but I actually never managed to generate gcode from a raster image. All I get is this:
schermafbeelding 2016-04-29 om 10 30 21
One straight move.
What do I do wrong?

Loading same file wont show update

If i load a file but then change the original and load again without refreshing the browser it wont update itself. This can cause problem while connected

Positioning issue

I am putting object at 0,0 on scale and offset tasks. Doesnt always worth though so needs rethinking. Positioning is ignored on these moves too.

Keeps previous gcode settings

So i open a file, generated the code the open another file and the previous gcode is still there.

More over when you go to convert to generate a new code it keeps showing and accumulating the previous one. Is this by design? It does execute the correc one.
screen shot 2016-05-14 at 8 42 19 pm
screen shot 2016-05-14 at 8 44 24 pm

Marlin and greyscale artifacts

I think my issue is specifically with Marlin, but I am seeing artifacts in some grayscale burns. It is not due to acceleration as I have tried constant feed speeds where no acceleration is needed. I think the issue might be with the 16 command look ahead limit in marlin. If there are to many pixel intensity changes to close together, the laser stops moving for a split second as marlin catches up. The reason I think this is the issue is because I do not see a problem with the calibration pattern which does not have a large number of intensity changes in very quick succession. Has anyone else seen this?

Place in quadrant settings

When I set the quadrant to top left, SVG files are placed correctly, but bitmaps still place in bottom left.

Starting LaserWeb2

Maybe I'm just too stupid, but how do I start LaserWeb2?
The instructions from LW1 don't work:
´´´
C:\Users...\LaserWeb2>node server
module.js:338
throw err;
^
Error: Cannot find module 'C:\Users\Tobias\Entwicklung\Microcontroller\LaserWeb2\server'
at Function.Module._resolveFilename (module.js:336:15)
´´´

Best regards
Tobias

Laserweb api

We might have to think about a laserweb api.
Otherwise this will become hard to maintain.
Here some quick ideas.

laserWeb.settings = {...} // object containing all the settings
laserWeb.settings.set('x', 15000) // a way to set the settings, this way we can also trigger events
laserWeb.settings.set('homingCommand', '$H') 
laserWeb.controller.home() // home your machine

laserWeb.raster
laserWeb.dxf
laserWeb.gcode
laserWeb.controller

laserWeb.trigger('WPos',{x:231,y:541,z:9})

This is more testable :-)
The UI would hook into the laserWeb object

Add support for G7 raster engraving from Turnkeytyranny's marlin

It would be great if raster engravings could be output in G7 format as done by Turnkeytyranny. The advantage over a number of G1 commands are first of all faster engravings due to different internal handling. A proper implementation in the laser controller will also make sure that intensity stays correct even when accelerating motor or if motor should stutter.

I dont think this is a big effort, laserraster.js need some additions. The syntax is rather easy

  • position head lower left of image with G1
  • set raster and laser options: intensity and pixel size with M649
  • every bitmap line is split into 51 pixel chunks, which is output in the G7 command in base64 format, in javascript btoa() does that. The data is the pixel grayscale intensity in the range 0-255.
  • add $1 or $0 to change line and tell to move right or left.

Comms Module: Grbl

Need help from a grbl owner with a bit of JS experience to add some more if statements below
https://github.com/openhardwarecoza/LaserWeb2/blob/gh-pages/js/spjs.js#L197

you can get sample code from https://github.com/openhardwarecoza/LaserWeb/blob/master/server.js#L329 and https://github.com/openhardwarecoza/LaserWeb/blob/master/i/main.js#L2011 - I just dont have a grbl machine at hand to test with :)

In laserweb1 we had the functionality split between server.js (pushed it as posStatus to main.js) and main.js (updated UI) - in laser this just all happens in the frontend - otherwise mostly copy/paste

Error - Incomplete config file

The travel moves setting does not want to save after I enter a value of 1000. It reverts to the greyed out default of 2000, and keeps telling me I have an incomplete config file.

Opening multiple files

If I open a file, then open a second one, it does not clear the first one from the display, it overlays the first one over the second one. Then if you open a 3rd one it overlays over the first 2.

Load settings from controller into laserweb

In grbl you can receive the size of your cnc by asking the settings. The grbl object already contains the size of the cnc after you send $$ command, by storing all the data into it's memory.

It could or should set the size of the cnc in laserweb.

Since I'm gonna start implementing the TinyG & TinyG2 object, we should think about a flow to retrieve data from our controllers to have a validation layer in laser web that generates better gcode that does not try to go faster or is not going to hit the limits of the machine.

Esp8266 (mehrdad)

@mkeyno so lets talk (:

I can compile lw2 down to a single file. We are also working on Fabrica, see arthur wolf's posts on google plus (follow me on google plus too).

That parts easy. Hosting the file from an esp, probably possible but it could be a few mb so we'll have to see.

The first thing we need is a websocket server to serial bridge on the esp8266 first. You can't telnet from the browser and http requests have too much overhead.

Once we have that, i can start porting the code from laserweb1 since its node.js app acted as websocket to serial bridge.

At the end of the day, dont worry too much about it. You can already play with laserweb2 live on http://openhardwarecoza.github.io/LaserWeb2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.