LightBurn(Commercial Laser Software) has functionality to generate LinuxCNC gode. It also has an interface that can home, frame, jog, frame, load programs, run programs etc. This UI works very well for laser cutting and it can communicate using serial over TCP.Recently, LightBurn added a "custom g-code device" that allows you to configure much of the gcode. With some help from the LightBurn forum I have a custom gcode device that can communicate with linuxcncrsh.
I have written a small C++ program that acts as a TCP server to LightBurn and as a client to linuxcncrsh. I have the basics working where I pass the majority of gcode commands through using the "set MDI <gcode command>" and special case a few commands *M114" to run linuxcncrsh get commands to fill in responses sent back to LightBurn.
Working with linuxcncrsh I'm seeing a few problems.
github.com/LinuxCNC/linuxcnc/issues/3180
This isn't a deal breaker for what I'm trying to do, but going through some of the unit tests, I noticed tests/toolchanger/test-ui.py uses python as the ui. I'm wondering if python might be a better option???
Is the python interface more complete/better supported than linuxcncrsh?
I'm assuming opening the sockets and translating some strings wouldn't be a problem?
linuxcncrsh documentation indicates it can run in conjunction with another UI. (not sure if this is true in practice?)
Can a python interface run at the same time as another(GMOCCAPY) ui?
I'm trying to decide whether to continue on with linuxcncrsh or start over with python.