I've created a Jogging panel which has radio buttons for selecting 1mm, 0.1mm, 0.01mm and 0.001mm increments as well as one for Continuous.
I've been using this for well over a year and it works fine in X,Y & Z
However, I've now fitted an A-axis and it only jogs when I select the 1mm and 0.1mm radio buttons. 1mm represents 1 degree etc.
The Issue is that it should jog to a resolution of 0.01mm (0.01 degrees) because I've got 10,000 steps/revolution and a 3.6:1 reduction on the belt drive. That means 100 steps for 1 degree which is what I get when I command the A-axis to 360degrees and it comes back to the start.
I've just tried a series of program moves at 0.01degrees and it's happy to execute those moves.
The jog increments are set using the Left Up Script of the radio buttons
This is what I do for each button...
local inst = mc.mcGetInstance()
local rc
rc = mc.mcJogSetInc(inst, mc.X_AXIS, 0.01)
It's interesting that you don't need to set the Y or Z axis, they all seem to use the same one. I can replace that line with A-AXIS and the X,Y and Z all increment 0.01 but the A-AXIS doesn't move.
The actual jog is triggered by the Left Down Action Event of the A+ jog button being set to Jog A+. Clearly this correctly hooked up else it wouldn't work on the 1mm and 0.1mm jog increments.
So it looks to me like there's a bug that's preventing the A-AXIS responding to the higher resolutions. Something is different about the way it's handling those.
There must be a shared variable somewhere that's being set to the increment used by the Jog X+ and Jog A+ buttons. That's clearly being set correctly because when I select the 0.01mm radio button, the X,Y & Z axes increment correctly, but not the A axis.
Any ideas? It looks like a bug to me.