-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HPGL Interpreter Flow Control #2
Comments
Yes - and there is no feedback after each command. What I ended up with is querying the buffer state with
I have written a simple C# program that uses
After entering HPGL mode the controller should work as a normal HPGL plotter, simple as that. To make use of the front panel buttons on my C.ITOH plotter I added plugin code for the PI Pico driver, such code is optional and a similar plugin can be added for other plotters/grblHAL drivers as needed. |
Thank you for this helpful information! I'm trying to interface a plotter to existing plotter software, since it handles the drag knife offsets as well as other parameters for different materials. I've been using a little script that parses the HPGL and converts it to g-code, it only adds the drag knife offsets though and is limited in functionality and performance. This little plugin was exactly what I needed! |
I have been doing some tests on the Pico with its native USB CDC connection. It looks like there should be a possibility to use flow control on the USB CDC port of the Pico. Would it be possible to have this as option as it would make sending files much easier and more reliable. |
@just-jason The link you provided is for UART comms, not USB. UART HW flow control will require a designated handshake pin and an external UART/USB bridge capable of handling the handshake signal (my FTDI breakout can do that). |
I've found some info related to RP2040 that might be promising: One is this TinyUSB pull request that implements CH341 emulation that includes RTS handling. I have just received a couple of Pi Pico W boards, when I get time I will look into handshaking again as well as attempt to add telnet/websocket support over WiFi. It could well be that handshaking is inherent in the telnet/websocket protocols - but I have not tested that yet... |
Thank you very much for looking into this. |
FYI I have switched to a FTDI USB <> UART breakout board and added physical RTS handshaking. Running a test now with a large file and that seem to work as it should. I will commit the required changes for this when I have done some more testing. |
That is also a good solution as it would be compatible with non. USB-CDC boards. |
Committed now for the RP2040, including an update to the hpgl code for trapping more of the device control instructions ( I do not know if it is the default behaviour for plotters to rehome on |
IN does not normally home a plotter. It will usually initialize the device restoring default setting for speed, scale and a few other things. It may be a good idea to add a complie option for home on start as this would be the default method used by plotters |
Hi. I've been trying to use the HPGL interpreter to run a cutting plotter, but I'm having trouble figuring out how to send commands to it.
I've compiled the plugin and have verified this by the message "Motori HPGL v0.03" after sending the "$HPGL" command via serial, however there are no feedback messages after sending any other commands while it's in this state. I'm able to switch back to the gcode interpreter with the "+" command. Is the streaming protocol different than the gcode interpreter? Because my understanding is that the stream gets redirected via function pointers... but I'm still learning the grblHAL architecture.
I would appreciate it if you could give me a little more insight on how to properly use this plugin.
The text was updated successfully, but these errors were encountered: