I recently purchased a blackbox x32 and I'm trying to get it programmed to run on a raspberry pi. It is able to home as expected, but when I send g-code to it from the pi (streaming via python), it does not go to the correct location, but when I stream the same g-code from your software, it works fine. The Pi is able to stream g-code to other devices and they behave correctly. To give a specific example: I am giving it the following gcode: $H G21 G1 F100 Z200 From OpenBuilds Control software, it does everything as expected. From the pi, it runs the homing cycle and then the z axis does not move. The pi streams GRBL gcode to both this controller and other arduinos, and the arduinos run fine but the Blackbox x32 does not.
The python script I'm using to run the controller is as follows: It will run correctly sometimes, but other times the pi will fail to successfully send the message and sits waiting for a response to the $H
Is that complete? Or its just not enough, I don't see queue management like char counting buffers etc Reread Grbl v1.1 Interface Maybe checkout grbl/doc/script at master · gnea/grbl (We can't really help with software dev)
Yes, but make sure you either also set work coordinates (if your moves are in work coordinates) or otherwise always move in machine coordinates.
There is no queuing, it is running one line at a time. Sometime it works and sometimes it fails to connect but I don't get any sort of error, the controller just doesn't respond.
Thats the Ping Pong management described in the wiki. Grbl v1.1 Interface Still needed to avoid overrunning the onboard buffer that often looks like ignored comms (ignored due to buffer being full). Or perhaps you had a homing error, or its still homing. Are you tracking the status? Are you handling non "OK" responses too? (To get alarm and errors) But more basic are you remembering to add a newline character after each command?
machine zero, yes, but not WORKPIECE zero, used by G54. please read this Home, Fusion360 and G53 Z moves