I have a project that will use two Lora transceivers to control three stepper motors at a distant but not too distant location. I will be sending absolute position from the master using a rotary encoder. For tweeking position I expect the position to be sent when the encoder stops turning. If I zig zag the encoder back and forth it will only send once it stops for a predetermined time. Unlike an X-Y-Z type of motion I only need one motor to turn at a time. Hopefully this will simplify things since LoRa is relatively slow but I expect I can get a command off at less than one second intervals, which is outside the spec for Lora. I'm in the country here so this may not be a problem since I can perform the remote activity in about 60 seconds or less. Has anyone done anything like this? Curious your thoughts.
Since only one motor moves at a time, you avoid packet collisions and simplify coordination.
On the receiving side, stepper motion should be independent of LoRa reception. Once a position command is received, the motor should execute fully before listening to another command.
Yes this is how I see it with the exception it is possible for more than one motor to get commands to go. Each motor will need its own handler I imagine called via software interrupt. Humans will play with the controls so who knows what will happen. The master will send for instance, M2_60 and motor 2 goes to 60 degrees. Report back something like M2@60. I think I need home switches to calibrate each motor position or encoders to verify position. The master will be some sort of hand held box with a display.