panoguy wrote:I<axis><speed> Set motor speed, 3 possible HEX values, "0AA" "022" "011", low value=high speed
fma38 wrote:panoguy wrote:I<axis><speed> Set motor speed, 3 possible HEX values, "0AA" "022" "011", low value=high speed
What is the length of the speed value? Is it also a 6 chars hex? Or only 3 chars?
I would prefer 6 chars, as for other values...
fma38 wrote:Using only 1 digit is fine for me.
So, you are saying I don't need to implement the manual speed function (which is set using the home/begin PC keyboard buttons, or +- Nokia buttons)?
Do you think it is interesting to add the speed limit param in the plugin, for the goto function? Or just always use the highest one?
fma38 wrote:Let's say that the 'I' function is only the manual speed, and you always use the fastest speed for the goto function. We'll see later if we need an additional param for the goto speed...
Is 1=slow, 2=normal, 3=fast ok for you?
fma38 wrote:In fact, I don't really know what the 'F' command does. Someone said that it is to check the axis controller presence. It returns nothing, so I don't know what is the goal (just using 'L' command is enough: if the axis does not work, the command will fail and that's it).
I think we could remove it.
fma38 wrote:Don't forget that all plugins (yawAxis, pitchAxis, shutter) are independant, so you will receive twice F11 and F10, as the shutter also uses axis 1... Is it OK?
You may need to keep track how many times an axis has been connected/disconnected.
#define DRIVER_PULSE_MIN 30 // 30uS minimum pulse time to register
set_timer1_interrupt(cur_step_delay);
set_timer1_isr(move_motors);
volatile bool which = false;
void move_motors() {
if( ! which ) {
PORTD |= B1; // 2 cpu instructions, can drive up to 8 step pins with this instruction
set_timer1_interrupt(DRIVER_PULSE_MIN);
}
else {
PORTD &= B01111111;
set_timer1_interrupt( cur_step_delay );
}
which = !which;
}
Users browsing this forum: No registered users and 2 guests