I recently ran into in issue with the more and more common ESP32 boards. In this case, the Sculpfun S30, but if I recall correctly, I had the same with the MKS DLC32 board.
I think even the firmware doesn’t matter, it affects the MKS, Sculpfun and FluidNC firmware.
If an alarm was triggered (like alarm 2 for soft-limits) the controller must be reset to be operable again. The command that needs to be sent to the firmware is ctrl+x (single byte command with value 0x18). I didn’t find any way in LightBurn to send this command. If you right-click on the devices button, the serial connection is closed and opened, which has a reset effect for 8bit boards, but not on 32bit boards. Those boards can only be recovered by a power cycle currently.
LaserGRBL has the ability to send this command, and it works (I can reset the controller after alarm). In LB, I was unable to do this.
Yes, indeed. Seems to do it. But I think it’s nowhere documented, right? So the stop button sends ctrl+x in case there is no job running?
Right-clicking devices button is not a solution, it breaks the connection completely! In a case of such an alarm, that is actually what users should NOT do (right now).
Then, this error message is misleading (for 32bit boards):
ALARM:2
G-code motion target exceeds machine travel. Machine position safely retained. Alarm may be unlocked. (Right-click the 'Devices' button to reset the connection)
It advises to right-click the devices button which will break the connection. If you do this, you can’t connect anymore to the laser. You need to power cycle.
I would suggest:
Make the right-click on the devices button send the ctrl+x before closing the serial port (easiest fix)
Change the error message that users should click on STOP first before right-click on the devices button (might be complicated for users)
Add another button that is labeled “Controller Reset” or the like, which sends ctrl+x. (might also be complicated because that only works if they didn’t right-click on devices button before. Maybe it should only be active, when an alarm has been triggered)