I've got a custom robot build running AR4 V2.2 on a Teensy 4.1, as such I've been modifying values in both the Teensy and Software code, in order to try to keep as close to default I've attempted to keep steps per degrees as close to the original as possible only changing to allow for a whole number on the drive step multiplier.
The system is running in open loop mode with servo drives that have their own built in encoder feedback.
Axis position values update in non-incremental live jog mode normally.
The problem I have been having is that the axis position seems to be updating oddly in incremental mode. I've noticed the position value only updates if below a certain incremental value, each axis had a different value and I haven't tested the full ranges but J1-J3 updated at 0.2 but not 0.3, J5 and J6 were updating fine 0.6 but not 0.7. Adjusting by the slider functions the same way.
When out of the 'working ranges' the motors still drive as expected just the response back from the controller seems to not reflect the new position and the reply is the last position where it was jogged with a working value. I'm going to try to post some pictures below the first one is with a incremental value of 0.2, the second one is a value of 0.3 and the response of the controller has a EC100000 included I'm unsure why this has been added and may be the cause? Edit: I've found in the code where this is coming from, marked as an encoder collision J2, I'm not sure why the response from the controller to the software isn't formatting correctly I haven't adjusted anything that would make me think I would have impacted the serial response, to further the problem switching between 0.2 and 0.3 still works with jogging, I could jog it twice at 0.2 but not once at 0.3, I confirmed that it is in open loop control.
I've scanned the code a bit to try to see if I could find anything that stood out but to no luck, hoping someone on here might have an idea of what the problem might be.
Thank you for taking the time to read this, Damian.
Alright I've played with some code and after a bit I've found that the key is in line 1568 in the Arduino code for J1, caused by not having the encoder feedback. I thought that having the system in open loop would cause it to ignore the encoder feedback but that must only be for live jog.