New post processor for JD's Garage Plasma Cutter (Gen 2)

@ alsandoval, I am looking forward to trying your Post.
I have had some issues with JD Garage also. They refused to answer my questions since my table was a custome build. I purchased their plans to update my table from the serial port Gecko G540 controller.
I also purchased their 2nd Gen plans to use the ESP32 controller. I was thinking of using their THC, but after reading what you said, I am interested in the Dani THC, too. Which one of the Dani’s do you recommend?
I have the a Proma 150. Do think that would work with this setup?

Thanks much @bLouChip! I will read through all of this soon.
-Andrew

I have the DANI THC11DPL. It seems to work well when everything else works. If my current efforts don’t pan out for fixing the latest EMI issues, I’m probably going to buy the Proma MyPlasm CNC system (controller + THC + IHS). It costs almost $500, but I’m really done with messing around with JD’s Garage stuff.

I considered spending time today working on fixing the code for the OpenBuilds Controller too, so that when alarms occur I can rollback to the last z-probe and restart from their (instead of starting over). I’m a C++ programmer but I’ll do Javascript if necessary. :slight_smile: If there were enough hours in the day I’d just write my own g-code sender…

if using grblHAL controller w its Plasma/THC plugin, then the Proma 150 should work according to the grblHAL doc- GitHub - grblHAL/Plugin_plasma: grblHAL plugin for plasma cutters (THC)
Looks like config as $350=2 (mode 2) will make use of Proma 150’s Arc and UP/DN signals.

Universal Gcode Sender (UGS) has the ability to start or restart a job from most anywhere in the gcode file, provided the gcode is absolute distance (G90) coordinates. (which sheetcam gcode is by default)

It takes a few minutes to experiment (dry run) with this behavior once or twice to better understand selection of the gcode line from which to have it restart; this is due to it’s ‘look back’ algorithm to collect machine state leading up to that restart line, and then issue necessary commands to set the machine state prior to motion beginning. But once you do this a time or two, then you’ll know the general pattern/behavior and will be able to confidently select the gcode line to restart in any given job.

1 Like

I have updated the Post Processor so that the output is cleaner (fewer duplicates), and so that the Cuts are clearly marked in comments.

This should make it really easy to create a new file with just a subset of the cuts in it - for example, if you are using the awful OpenBuilds g-code sender and something goes wrong during a cut and you need to re-do just that one cut. You can create a copy of the g-code file, and just remove any of the cuts you don’t need - leave the header: everything up to the (Cut 1 X=... Y= ...) comment, and leave the finalization code: everything after the (Cuts complete, return to start X, Y position with Z at safe height) comment, and in-between just keep the cuts you need.

I tested it today with good results, but I have not yet tried a Drill operation, just normal Plasma Cuts. Let me know if you find any problems.
grblHALPlasmaZProbeALS.scpost (12.8 KB)

good morning

after a nasty winter i am back to my machine. EMI issues solved for the Zprobe and now onto the errors. the JD scpost for sheetcam regularly throws off error 33 so i tried your latest scpost above. it tosses out error 24.

09:58:48] error: 24 - More than one G-code command that requires axis words found in block. [ N0180 G92 Z0.0G00 Z0.1500 F8.0 (Z @ pierce height: 3.81 mm 0.15 inches) ]

[09:58:48] [ ERROR ] error: 24 - More than one G-code command that requires axis words found in block. [ N0180 G92 Z0.0G00 Z0.1500 F8.0 (Z @ pierce height: 3.81 mm 0.15 inches) ]

[09:58:48] [ N0180 G92 Z0.0G00 Z0.1500 F8.0 (Z @ pierce height: 3.81 mm 0.15 inches) ] error:24

im certain i am missing something simple but gcode it not my forte…anyone have any thoughts?

thanks.
M

The error seems to be alerting that G92 Z0.0 should be on a separate line from G00 Z0.150 F8.0. To accomplish this, add post.Eol() as the last statement in function Reference(). post.Eol() suppresses empty lines, so it won’t post a CR/LF if its not necessary.
This all relates to the pp in this forum post- New post processor for JD's Garage Plasma Cutter (Gen 2) - #26 by alsandoval

btw- G00 cmds don’t need a feedrate (F8.0), they always use max axis speed as configured in the controller.

thank you very much.

i apologize but i am quite gcode illiterate. I am not certain where to add the post.Eol()

any thoughts?

Tks.
M

Edit: i think i found it. testing now.

M

Edit II

working much better now…will try some fine tuning.

M

1 Like

Good to hear.

Depending on the features you are adding or changing to ‘fine tune’, you may want to give the following linked pp a try. It has a couple of features for hobby and small business operations, and all features are easy to setup, maintain, or extend via use of Sheetcam’s Custom Options and Custom Tool and Operations parameters.

I’ve helped a couple of folks with JDG tables by using this pp, and it was just updated it with the latest fix.

Thanks. I will try this one tomorrow.

M