Grbl Controller 3.0 released

JoeyD
Posts: 18
Joined: Sun Nov 18, 2012 11:38 pm

Re: Grbl Controller 3.0 released

Post by JoeyD » Wed Jan 16, 2013 1:31 am

I finally got around to testing this out on the RPi tonight. Very slick Zapmaker! All cosmetic issues have been ironed out and the aggressive preload runs smooth. I did a few test runs at high feed rates (with spindle off) and it ran without any issues and only tapped the RPi cpu out at 50%.

Great tool. Thanks for your time and effort. I'd like to donate to the Zapmaker beer fund. If you accept Paypal or Bitcoin let me know.


-joey

zapmaker
Posts: 28
Joined: Sat Oct 06, 2012 5:38 pm
Location: Seattle, WA, USA
Contact:

Re: Grbl Controller 3.0 released

Post by zapmaker » Fri Jan 18, 2013 3:53 am

Glad 3.2 it is working out. Joey - Nice of you to offer to support this with funds, beer or otherwise. No need right now, thanks, just enjoying working on the project and seeing others get good use out of it.

Hi cvoinescu - yes, you are right, preloading the buffer is the correct way to do it - I confess I'm a newbie to CNC nuances. The grbl project provides both types of python scripts, the "slow" and the correct approach, so I figure I'm not too far off with things. Still, if I'm doing something dumb, please let me know.

Next up for 3.3 - the visualizer. Got a very basic prototype drawing x-y from a variety of files. Not sure on ETA, could be a week or two. After that, I'm hoping to implement 0.8c homing/tool change. I have some roller limit switches, but I think it was cvoinescu who, on another topic, suggested using optical sensors, which makes total sense, if you want repeatability.

Also should mention I've put up a manual for Grbl Controller 3.2:

http://zapmaker.org/projects/grbl-contr ... n-options/

and

http://zapmaker.org/projects/grbl-contr ... r-options/

enjoy-

zapmaker
Shapeoko #668
Dual-Y axis, belts outside, DW660 | Author of Grbl Controller 3.0 | http://zapmaker.org

PsyKo
Posts: 430
Joined: Thu Aug 30, 2012 8:42 pm
Location: France

Re: Grbl Controller 3.0 released

Post by PsyKo » Sat Jan 19, 2013 1:15 pm

Hello,

I'd like to try it, but I can't find any installer to download. I've been looking on github, found nothing.

Any link ?
Thanks
Shapeoko #736
Kress 800, Z Axis upgrade, dual Y, 600mm X&Y rails, metal spacers and V Wheels, home switches, 4th axis
Goko - Free CNC Control Software - http://www.shapeoko.com/forum/viewtopic ... 380#p44380

zapmaker
Posts: 28
Joined: Sat Oct 06, 2012 5:38 pm
Location: Seattle, WA, USA
Contact:

Re: Grbl Controller 3.0 released

Post by zapmaker » Sat Jan 19, 2013 4:49 pm

I put the downloads up on Amazon S3. Github decided they will no longer host binaries and I can't put a message on the downloads page redirecting (need to email them about that):

http://zapmaker.grblcontroller.s3-websi ... onaws.com/

Let me know if you have any problems,

zapmaker
Shapeoko #668
Dual-Y axis, belts outside, DW660 | Author of Grbl Controller 3.0 | http://zapmaker.org

zapmaker
Posts: 28
Joined: Sat Oct 06, 2012 5:38 pm
Location: Seattle, WA, USA
Contact:

Re: Grbl Controller 3.0 released

Post by zapmaker » Mon Jan 28, 2013 5:58 am

Hi everyone- I've released Grbl Controller 3.3 with the Visualizer.

I've put Windows and Mac installers up on http://zapmaker.grblcontroller.s3-websi ... zonaws.com

Raspberry Pi and Linux, please build from source. Raspberry Pi instructions:

http://zapmaker.org/raspberry-pi/runnin ... pberry-pi/

Please send me your feedback. I've tested it on about 10 different nc files and it looks good, but if you spot anything that is wrong, let me know - The trig needed to display the arcs was the most challenging part.

Image

From the Readme:
- Added "Visualizer" feature. It is now possible to see top-down view of the
file to be milled.
* Shows actual file units (inches or millimeters) independent of coordinate display
* Auto-scaling
* Supports limited subset of commands (G0/G1/G2/G3)
* Visualizer on tab panel shared with Axis control
* Actual last spindle cutter position is shown; auto-scales to include both cutter
and file
* When file is being run, overlay of all commands sent to Grbl is shown in green
* Displays dimensions of design, along with design's width and depth in file's units

zapmaker
Shapeoko #668
Dual-Y axis, belts outside, DW660 | Author of Grbl Controller 3.0 | http://zapmaker.org

WillAdams
Posts: 8533
Joined: Mon Apr 09, 2012 6:11 pm
Location: Pennsylvania --- south of the Turnpike, East of US-15
Contact:

Re: Grbl Controller 3.0 released

Post by WillAdams » Mon Jan 28, 2013 5:53 pm

What governs the Visualizer control display?

I just tried feeding it the code:

Code: Select all

;File: Untitled
;Mon Jan 28 2013 11:02:18 GMT-0500
;Speed
f 300

;Move to starting position.
g0 z 20
g0 x 0 y 0
;Pass: 0
;Page Item: 0
;New path
g0 x 9.334 y -15.878
;
;Lower router
g1 z 12
g1 x 8.578 y -16.88
g1 x 8.374 y -16.67
;Close path
g1 x 9.334 y -15.878
;End of path
g0 z 15
;m00
;
;New path
g0 x 11.242 y -14.636
;
;Lower router
g1 z 12
g1 x 10.27 y -15.302
g1 x 10.6 y -13.484
g1 x 10.642 y -13.19
g1 x 11.122 y -11.702
g1 x 11.2 y -11.534
g1 x 10.972 y -11.444
g1 x 10.63 y -11.6
g1 x 10.048 y -11.444
g1 x 8.782 y -12.752
g1 x 9.094 y -13.262
g1 x 9.436 y -12.926
g1 x 9.334 y -12.8
g1 x 9.136 y -12.464
g1 x 9.694 y -11.924
g1 x 10.276 y -12.062
g1 x 10.756 y -11.912
g1 x 10.438 y -12.344
g1 x 9.4 y -15.614
g1 x 8.146 y -16.694
g1 x 8.566 y -17.126
g1 x 9.622 y -16.574
g1 x 10.174 y -15.59
g1 x 11.242 y -14.972
;Close path
g1 x 11.242 y -14.636
;End of path
g0 z 15
;m00
;
;Pass: 1
;Page Item: 0
;New path
g0 x 9.334 y -15.878
;
;Lower router
g1 z 10
g1 x 8.578 y -16.88
g1 x 8.374 y -16.67
;Close path
g1 x 9.334 y -15.878
;End of path
g0 z 15
;m00
;
;New path
g0 x 11.242 y -14.636
;
;Lower router
g1 z 10
g1 x 10.27 y -15.302
g1 x 10.6 y -13.484
g1 x 10.642 y -13.19
g1 x 11.122 y -11.702
g1 x 11.2 y -11.534
g1 x 10.972 y -11.444
g1 x 10.63 y -11.6
g1 x 10.048 y -11.444
g1 x 8.782 y -12.752
g1 x 9.094 y -13.262
g1 x 9.436 y -12.926
g1 x 9.334 y -12.8
g1 x 9.136 y -12.464
g1 x 9.694 y -11.924
g1 x 10.276 y -12.062
g1 x 10.756 y -11.912
g1 x 10.438 y -12.344
g1 x 9.4 y -15.614
g1 x 8.146 y -16.694
g1 x 8.566 y -17.126
g1 x 9.622 y -16.574
g1 x 10.174 y -15.59
g1 x 11.242 y -14.972
;Close path
g1 x 11.242 y -14.636
;End of path
g0 z 15
;m00
;
;Pass: 2
;Page Item: 0
;New path
g0 x 9.334 y -15.878
;
;Lower router
g1 z 8
g1 x 8.578 y -16.88
g1 x 8.374 y -16.67
;Close path
g1 x 9.334 y -15.878
;End of path
g0 z 15
;m00
;
;New path
g0 x 11.242 y -14.636
;
;Lower router
g1 z 8
g1 x 10.27 y -15.302
g1 x 10.6 y -13.484
g1 x 10.642 y -13.19
g1 x 11.122 y -11.702
g1 x 11.2 y -11.534
g1 x 10.972 y -11.444
g1 x 10.63 y -11.6
g1 x 10.048 y -11.444
g1 x 8.782 y -12.752
g1 x 9.094 y -13.262
g1 x 9.436 y -12.926
g1 x 9.334 y -12.8
g1 x 9.136 y -12.464
g1 x 9.694 y -11.924
g1 x 10.276 y -12.062
g1 x 10.756 y -11.912
g1 x 10.438 y -12.344
g1 x 9.4 y -15.614
g1 x 8.146 y -16.694
g1 x 8.566 y -17.126
g1 x 9.622 y -16.574
g1 x 10.174 y -15.59
g1 x 11.242 y -14.972
;Close path
g1 x 11.242 y -14.636
;End of path
g0 z 15
;m00
;
;Pass: 3
;Page Item: 0
;New path
g0 x 9.334 y -15.878
;
;Lower router
g1 z 6
g1 x 8.578 y -16.88
g1 x 8.374 y -16.67
;Close path
g1 x 9.334 y -15.878
;End of path
g0 z 15
;m00
;
;New path
g0 x 11.242 y -14.636
;
;Lower router
g1 z 6
g1 x 10.27 y -15.302
g1 x 10.6 y -13.484
g1 x 10.642 y -13.19
g1 x 11.122 y -11.702
g1 x 11.2 y -11.534
g1 x 10.972 y -11.444
g1 x 10.63 y -11.6
g1 x 10.048 y -11.444
g1 x 8.782 y -12.752
g1 x 9.094 y -13.262
g1 x 9.436 y -12.926
g1 x 9.334 y -12.8
g1 x 9.136 y -12.464
g1 x 9.694 y -11.924
g1 x 10.276 y -12.062
g1 x 10.756 y -11.912
g1 x 10.438 y -12.344
g1 x 9.4 y -15.614
g1 x 8.146 y -16.694
g1 x 8.566 y -17.126
g1 x 9.622 y -16.574
g1 x 10.174 y -15.59
g1 x 11.242 y -14.972
;Close path
g1 x 11.242 y -14.636
;End of path
g0 z 15
;m00
;
;Pass: 4
;Page Item: 0
;New path
g0 x 9.334 y -15.878
;
;Lower router
g1 z 4
g1 x 8.578 y -16.88
g1 x 8.374 y -16.67
;Close path
g1 x 9.334 y -15.878
;End of path
g0 z 15
;m00
;
;New path
g0 x 11.242 y -14.636
;
;Lower router
g1 z 4
g1 x 10.27 y -15.302
g1 x 10.6 y -13.484
g1 x 10.642 y -13.19
g1 x 11.122 y -11.702
g1 x 11.2 y -11.534
g1 x 10.972 y -11.444
g1 x 10.63 y -11.6
g1 x 10.048 y -11.444
g1 x 8.782 y -12.752
g1 x 9.094 y -13.262
g1 x 9.436 y -12.926
g1 x 9.334 y -12.8
g1 x 9.136 y -12.464
g1 x 9.694 y -11.924
g1 x 10.276 y -12.062
g1 x 10.756 y -11.912
g1 x 10.438 y -12.344
g1 x 9.4 y -15.614
g1 x 8.146 y -16.694
g1 x 8.566 y -17.126
g1 x 9.622 y -16.574
g1 x 10.174 y -15.59
g1 x 11.242 y -14.972
;Close path
g1 x 11.242 y -14.636
;End of path
g0 z 15
;m00
;
;Pass: 5
;Page Item: 0
;New path
g0 x 9.334 y -15.878
;
;Lower router
g1 z 2
g1 x 8.578 y -16.88
g1 x 8.374 y -16.67
;Close path
g1 x 9.334 y -15.878
;End of path
g0 z 15
;m00
;
;New path
g0 x 11.242 y -14.636
;
;Lower router
g1 z 2
g1 x 10.27 y -15.302
g1 x 10.6 y -13.484
g1 x 10.642 y -13.19
g1 x 11.122 y -11.702
g1 x 11.2 y -11.534
g1 x 10.972 y -11.444
g1 x 10.63 y -11.6
g1 x 10.048 y -11.444
g1 x 8.782 y -12.752
g1 x 9.094 y -13.262
g1 x 9.436 y -12.926
g1 x 9.334 y -12.8
g1 x 9.136 y -12.464
g1 x 9.694 y -11.924
g1 x 10.276 y -12.062
g1 x 10.756 y -11.912
g1 x 10.438 y -12.344
g1 x 9.4 y -15.614
g1 x 8.146 y -16.694
g1 x 8.566 y -17.126
g1 x 9.622 y -16.574
g1 x 10.174 y -15.59
g1 x 11.242 y -14.972
;Close path
g1 x 11.242 y -14.636
;End of path
g0 z 15
;m00
;
;Pass: 6
;Page Item: 0
;New path
g0 x 9.334 y -15.878
;
;Lower router
g1 z 0
g1 x 8.578 y -16.88
g1 x 8.374 y -16.67
;Close path
g1 x 9.334 y -15.878
;End of path
g0 z 15
;m00
;
;New path
g0 x 11.242 y -14.636
;
;Lower router
g1 z 0
g1 x 10.27 y -15.302
g1 x 10.6 y -13.484
g1 x 10.642 y -13.19
g1 x 11.122 y -11.702
g1 x 11.2 y -11.534
g1 x 10.972 y -11.444
g1 x 10.63 y -11.6
g1 x 10.048 y -11.444
g1 x 8.782 y -12.752
g1 x 9.094 y -13.262
g1 x 9.436 y -12.926
g1 x 9.334 y -12.8
g1 x 9.136 y -12.464
g1 x 9.694 y -11.924
g1 x 10.276 y -12.062
g1 x 10.756 y -11.912
g1 x 10.438 y -12.344
g1 x 9.4 y -15.614
g1 x 8.146 y -16.694
g1 x 8.566 y -17.126
g1 x 9.622 y -16.574
g1 x 10.174 y -15.59
g1 x 11.242 y -14.972
;Close path
g1 x 11.242 y -14.636
;End of path
g0 z 15
;m00
;
g0 z 20
g0 x 0 y 0
and got nothing.
Shapeoko 3XL #0006 w/Makita RT0701 Router w/0.125″ and ¼″ Elaire precision collets
Nomad 883 Pro #596 (bamboo)

JoeyD
Posts: 18
Joined: Sun Nov 18, 2012 11:38 pm

Re: Grbl Controller 3.0 released

Post by JoeyD » Mon Jan 28, 2013 7:42 pm

Oh yeah....it's awesome! The visualizer worked great on the 3 files I test printed from the RPi. Too slick!

zapmaker
Posts: 28
Joined: Sat Oct 06, 2012 5:38 pm
Location: Seattle, WA, USA
Contact:

Re: Grbl Controller 3.0 released

Post by zapmaker » Tue Jan 29, 2013 5:20 am

Hi Will - I've been using cambam files for my testing and they put the value right next to the axis, i.e. g0 x0 y0 whereas your file has spaces between, i.e. g0 x 0 y 0. That probably explains why Joey is a happy customer and you are not so happy ;) Nothing wrong with your file, the problem is on my end.

I've gone ahead and improved the visualizer's file parser so that it can handle the file you provide - it now shows the file design you provided. The changes are checked in to github and I also made a Windows build of it, version 3.3.1 up on the S3 download server.

You also uncovered a bug with the file line processing - apparently the code I started out with would not output the last line of the file, in your case, the g0 x 0 y 0 was not getting output. Additionally, your file revealed a problem with the parser - if a stray space character ended up on a line with nothing else there, Grbl Controller would crash. These two issues have now been fixed.

Unless you need a Mac build or find some glaring deficiency, I am going to wait until I collect more minor issue reports before I create a new version.

One other thing - if the file does not provide units, it defaults to millimeters. This may not be appropriate for your file. I presume it is computer-generated, but you can always manually put in a G20 near the top if your units are in inches. I've added a to do item to let the user choose the desired behavior if the file doesn't specify units. Note - even if the display units are incorrect, it does not affect the actual units used by Grbl to run the file.

Thanks,
zapmaker
Shapeoko #668
Dual-Y axis, belts outside, DW660 | Author of Grbl Controller 3.0 | http://zapmaker.org

WillAdams
Posts: 8533
Joined: Mon Apr 09, 2012 6:11 pm
Location: Pennsylvania --- south of the Turnpike, East of US-15
Contact:

Re: Grbl Controller 3.0 released

Post by WillAdams » Tue Jan 29, 2013 11:57 am

Thanks! I was testing the Mac build at work, but don't use it (my daughter's MacBook won't see my machine).

Found another file which won't display, the calibration pattern here:

http://www.shapeoko.com/forum/viewtopic.php?f=7&t=742

http://www.shapeoko.com/forum/download/file.php?id=732

While I've got you --- what's a good G-code tutorial?
Shapeoko 3XL #0006 w/Makita RT0701 Router w/0.125″ and ¼″ Elaire precision collets
Nomad 883 Pro #596 (bamboo)

zapmaker
Posts: 28
Joined: Sat Oct 06, 2012 5:38 pm
Location: Seattle, WA, USA
Contact:

Re: Grbl Controller 3.0 released

Post by zapmaker » Wed Jan 30, 2013 6:57 am

Hi Will - You uncovered another problem with the visualizer parser, this time, the calibration file will issue a G command once and then many X and Y commands follow - the parser assumed that each X/Y would come with a G command on the same line. This has been fixed and I have posted a new EXE (Windows) and DMG (Mac) on my download site, version 3.3.2. Thanks for finding that one, I should have handled that properly in the first place. There is a possibility that I may have missed other subtle issues, but I'm pretty sure that should be the last major issue to be corrected. Again, this only affects the visualizer - Grbl Controller will send the lines verbatim to Grbl and it already has this properly coded.

Regarding a g-code tutorial, good question, I'm not the ideal person to ask but I like the g-code reference on wikipedia to get some idea of the possible commands:

http://en.wikipedia.org/wiki/Gcode

Once you've gone through that list, you'll become aware that there are many commands, and Grbl can only support a subset since we're dealing with only x, y and z linear motions. The following page has the list of Grbl's supported g-codes (make sure you also look at some of the other pages on the wiki, particularly the v0.8 Grbl commands, which are not g-code commands but used specifically by Grbl):

https://github.com/grbl/grbl/wiki

Most of the time you will be using one of the four axis motion commands G0, G1, G2, G3. The first two are linear motions, the last two are for moving the spindle in a circular arc, clockwise, and counter-clockwise, respectively. Each of these are modal, meaning you can set one of the four and then start issuing axis move commands, i.e. x1 or z-3, etc. Same goes for feedrate, F, which is also modal, meaning that all commands that follow it will use that value. I tend to use a manual z command a lot to move the spindle up out of the way, i.e. z-30.

I did some quick googling and couldn't find any "good" tutorials, but I'm sure they are out there. Maybe someone can point Will to a forum topic or web site?

zapmaker
Shapeoko #668
Dual-Y axis, belts outside, DW660 | Author of Grbl Controller 3.0 | http://zapmaker.org

Post Reply