Skip to main content

"move 1 1 66000" don´t works

Posted in

Hello
I found that if you send a command

move 1 1 x and if x > 65535

that command don´t works fine, it sends always x mod 65536
it happens when I send the order to the second arduino, I can´t test it in the part of the code that move the steppers inside de openmoco, but I think it also happens there.

in void motor_pulse_steps_linear( byte motor, unsigned long steps ) steps never is greater than 65535, I think.

Best Regards
Inco.

It's not a bug, it's by

It's not a bug, it's by design. If you notice, the serial protocol specifies an unsigned integer as the steps argument to that command, limiting the total amount of steps issued in a manual move to be 16 bits, or 65,536 total steps.

This is analogous to the steps between shots program parameter, that is also limited to 65,536 steps. Only the home command allows a motor to move further.

!c