G2/G3 not honoring F parameter
I've created the following macro and the movement speed is identical every time after the first command
G2 X250 Y155 I100 J0 F3000
G3 X50 Y155 I-100 J0 F6000 (sped up)
G2 X250 Y155 I100 J0 F9000 (same)
G3 X50 Y155 I-100 J0 F12000 (same)
G2 X250 Y155 I100 J0 F15000 (same)
G3 X50 Y155 I-100 J0 F18000 (same)
G2 X250 Y155 I100 J0 F21000 (same)
G3 X50 Y155 I-100 J0 F24000 (same)
Here are my speed settings
M201 X1500 Y1500 Z135 E250:250 ; accleration
M203 X48000 Y48000 Z2400 E50000:50000 ; velocity
M566 X700 Y700 Z20 E300:300 ; jerk
Upgrade to firmware 2.02RC6 and try again.
So, it increased speed, but the last 3 still went the same speed.
There is a limit to how fast the processor can do the trigonometric calculations needed to do arc moves. I could make further efficiency improvements to the code, but is it worth it? What is the use case for arc moves faster than 300mm/sec?
Which Duet are you using?
gnydick last edited by gnydick
@dc42 I personally don't need it, but why make assumptions?
If the optimizations aren't much effort, better is better
Also, how do you code a full circle with G2?
I'm using the Maestro.
The Maestro doesn't have a hardware floating point unit, so the time taken to do the trigonometric calculations is much longer than on the Duet WiFi and Ethernet. But IMO, being able to do arc moves at speeds up to about 300mm/sec on the budget board in our range goes well beyond what users are likely to need, especially as G2/G3 moves are not generated by any of the common slicers, and very few extruders are capable of printing at anything like 300mm/sec. So making improvements in this area would not be a good use of my time - unless/until faster arc moves become genuinely useful in future.
AFAIK the NIST standard for GCode (which defines G2 and G3) does not provide for doing full circles in a single move.
@dc42 oh, I didn't know the Maestro was a budget board.
Still, how do you code a full circle?
You can do it in 2 halves as described at http://www.cnctrainingcentre.com/cnc-programming/programming-a-full-circle-on-a-cnc-milling-machine/. The command described there to do a full circle in one move is not part of the NIST standard and not yet supported by RRF, but I will probably add support for it.
@dc42 ok, that's what I've been doing
Firmware 2.02RC7 will support doing a whole circle using a single G2 or G3 command, the same way that most CNC machines do.