There seems to be a firmware issue for the SO 5 Pro. The machine will lock up and stop responding if it receives a inline comment. I can get it to respond again by disconnecting and reconnecting to the controller. This happens in any 3rd party Gbrl gcode sender such as “G-sender”, “Universal G-code Sender” and “CNCjs”.
Examples to reproduce bug:
Send “G91 X-5 F200 (test)”
Send “(Test comment)”
Send “(”
My guess is that the firmware does not know how to handle inline comments and carbide motion just does not send inline comments to the controller.
Has anybody been able to successfully use inline comments with a Shapeoko 5 Pro not using carbide motion?
Carbide Motion strips out comments so that might be something that didn’t get a lot of testing during development. We’ll take a look at it the next time we dig into the firmware.
In the meantime for anybody else running into issues with fusion 360 and G-sender using in line comments, you can side step the issue by doing two things.
Change the post processor in fusion360 to use “;” before the comment and nothing after rather
than “(” before and “)” after. This is done on line 167&168 of the pre-processor file.
Modify G-Senders code to not replace M6 commands with inline comments. This can be done by modifying the index.js file found in “C:\Program Files\gSender\resources\app\server”. There are two lines of code that will need to be changed, 8395 and 8532.
Change 8395 from
line = line.replace('M6', '(M6)');
to
line = line.replace('M6', ';M6');
and change 8532 from
line = '(M6)';
to
line = ';M6';
Realistically this is a band aid rather than an actual fix as that will need to be done firmware side. Hopefully this helps others running into the same issue.
I can also confirm that SO5 locks up when I try to use any other gcode sender. Thank you for investigating the problem, @Gibs! Your explanation and solution make a lot of sense.
After some more time with the machine and fusion 360 I have found the need to modify the post processor further. I have added a option in the post processor to specify delay time between spindle start and the rest of the job. I have also added a VFD spindle speed calibration section.
I found through testing that my RPM displayed on the VFD was always off by more than was acceptable to me. I mitigated this issue by adding a calibration table to the post processor settings. You can calibrate your VFD speed with the Shapeoko’s output signal by inputting the actual values read from the VFD into the calibration table. The post processor will interpolate the calibration table to request a speed that runs closer to your intended process setpoint. Using this method I can generally get within 50 RPM’s of setpoint up to 22k RPM. Some setpoints it is spot on.
For those of you who are using G-Sender I would also like to note that since there was a update, the line numbers that need to be edited have changed. You will now need to edit line number 8914 and 9047 for G-Sender version V1.2.
You do not need to build G-Sender. It uses electron which embeds chrome and node.js and your code into a nice executable app. This means that you can edit the JavaScript code at any time since it is compiled at run time.
“C:\Program Files\gSender\resources\app\server” would be the path if you installed using default locations. Index.js or Index1.js is the file that needs to be changed.
And yes the firmware source code is not openly available to the public. If it was, this would have been fixed by now.
I’m having a hard time finding the spindle calibration table in the post processor properties. Mine does not show a table like you have in your screenshot. Is there something I have to do in order to be able to have this table display?
Additionally, is this something that has to be setup in each NC program?