Replies: 2 comments 8 replies
-
Not that I am aware of.
IMO not so, a sender is required to bring it to life. It could become standalone if code and/or hardware is added to select and run gcode from local storage.
Then you can grab a grblHAL driver and add a host interface on top of that? Pulling in the core in such a scenario does not make any sense to me.
I am thinking of putting forward a challenge to use a second core (e.g in the RP2040) for step generation and output. Or a FPGA for step generation and output... It would be nice to have the parser (and motion control?) separated from step generation (planner.c and stepper.c) in a clean way. |
Beta Was this translation helpful? Give feedback.
-
Ok, I think the overall plan is good enough to proceed with implementation. Any criticism at this stage would be very helpful (ie: before loose myself in details). |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Is there any existing code to make multiple boards working as one?
I've been playing a few months with Klipper and I really enjoyed the way it was doing this. It is very simple and effective. There's no strict active syncing involved (ex: heartbeat wires); the python code running on the host receives gcodes and computes raw steps using its own time, it acquires the monotonic time of each board at start, then compute the deltas for every command sent to the boards, using their time for computing the deltas. Then it loosely sync from time to time, just to be sure to not accumulate too much jitter. On the mcus it's all a matter of setting timers to trigger at some point in the future.
For my project I need multiple boards working together so I'd be happy to develop the needed code. The problem is ... well ... grbl is made to be standalone (ie: compute everything on its mcu).
I was wondering if there is a chance to:
Or whatever other approach can be done using grblHAL. As an example I've spotted a grblHAL simulator; some of that code might be reused to make the host low level component (for speed reasons; while the high level one would be in python for rapid development).
Any thoughts?
Beta Was this translation helpful? Give feedback.
All reactions