3.4-b6 M669 with an evaluated parameter error
-
Board: Duet 3 MB6HC (MB6HC)
DSF Version: 3.4-b6
Firmware: RepRapFirmware for Duet 3 MB6HC 3.4.0beta6 (2021-11-06)If I try and use M669 with an evaluated matrix parameter, I get an error about a missing '}' that isn't true:
3.3.0 doesn't like this either, but with a different error and stranger behaviour:
So it evaluates the 1/9, but then sets zero for the following term and subsequently seems to generate a matrix error.
Both are happy if you give it the answer in the M669 command, e.g. back at 3.4-b6:
Also, 3.3.0 firware using gloomyandy's port on a Fly E3-Pro is happy with evaluating in a M669:
-
Have you tried writing it like this instead:
M669 K0 Y{1/9,1.3,0}
2021-11-27 13:55:59 M669 Kinematics is Cartesian, no segmentation, modified matrix: 1.00 0 0 0.11 1.30 0 0 0 1.00
Does it look correct?
There's a fairly good writeup of this under here: "Use of expressions within GCode commands"
https://duet3d.dozuki.com/Wiki/GCode_Meta_Commands -
@gixxerfast said in 3.4-b6 M669 with an evaluated parameter error:
Have you tried writing it like this instead:
M669 K0 Y{1/9,1.3,0}
I didn't try that - I did try
M669 K0 Y{1/9:1.3:0}
and got the same error about '}'.That does work, thanks.
I
s this the normal / expected behaviour for multi-value parameters?[yes it is, I see] Curious that it works on my non-duet hardware running 3.3 - there are some differences in the firmware, but I didn't know of this one.Sorry all for the interruption.
-
@achrn this behaviour changed between 3.3 and 3.4beta. See https://duet3d.dozuki.com/Wiki/GCode_Meta_Commands#Section_Use_of_expressions_within_GCode_commands and the release notes for RRF 3.4.0beta2.