-
Hey there! I'm building a machine that has quite a number of axis and using a Teensy4.1 with the grblhal breakout board. I can drive 5 axis simultaneously with my current setup, and I've built a web UI for interfacing with the board over ethernet, which is working out great. I've also made a basic plugin for the board to allow for a custom M command set. I have many more than just 5 axis, but never a need to simultaneously drive more than 5. I'm wondering if I could get a little bit of advice and direction in the idea of creating a plugin that would allow for an axis to be given a dual purpose (like an A1/A2 axis, where the two axis have identical function, but need to have their positions tracked separately). I'd like to be able to set the initial axis via a command like I've already been doing this with a custom mux setup after the board that simply routes the signals to the correct axis, so I have that part working, but it leads to situations where my A axis thinks it's at 245, when the the one is at 100, and the other at 145. I'm just looking for a way to keep the positioning separate in the firmware via a plugin so that the data that I receive via the My current idea is to access that position data and save the separate states in a plugin, which I'm conceptually familiar with, but just want some help as to how I can interface with the firmware to get and set that data at the right times without causing some real freak-outs for the board. Any help is greatly appreciated! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
Do you call |
Beta Was this translation helpful? Give feedback.
Do you call
sync_position()
to sync the parser and planner positions after modifyingsys.position
?Since you have your own sender you can add the position of the swapped out axes to the real-time report by hooking into
grbl.on_realtime_report
event.