Segmentation with M669
-
Hi Duet Experts,
I am trying to use M669 to get more frequent position report. My system is Duet3_MB6HC with firmware version 3.3.
I issued the command (M669 K0 S5) but all the axes (X,Y,Z) went un-homed state immediately.
Is anyone know what the problem is?Thanks!
-
@kaoshihchuan M669 with a K parameter will always flag the axes as not homed, because if you provide a K parameter than normally this means you are changing the kinematics.
-
Thanks for the prompt reply!
After removing K0, it does not un-homed. However, I still can't get the segmentation works.My process is like the code below
M669 S5
G0 X200 F500 (from X400)Then I have a loop to keep requesting machine position from object model
while loop:
x = move.axes[0]['machinePosition']
print(x)However, the report position from object model is always the same (400) while it was moving.
-
@kaoshihchuan you need to request move.axes[0].machinePosition .
In RRF 3.5 the machine position is updated continuously even without using segmentation.
The userPosition always reports the end position of the last command fed into the movement queue, so it is not affected by segmentation.
-
I was pulling machinePosition from object model.
But looks like the segmentation is not working for firmware 3.3 -
Update your firmware.
-
@kaoshihchuan said in Segmentation with M669:
I was pulling machinePosition from object model.
But looks like the segmentation is not working for firmware 3.3According to https://github.com/Duet3D/RepRapFirmware/wiki/Changelog-RRF-3.x, segmentation support for kinematics that are not usually segmented was implemented in RRF 3.3; however M669 with no parameters did not report the current segmentation until version 3.4.0.