funktioniert ganz ok
This commit is contained in:
@@ -89,10 +89,10 @@ void do_steps(){
|
||||
steppers[i].speed--;
|
||||
|
||||
/* limit max speed */
|
||||
if(steppers[i].speed >= 100)
|
||||
steppers[i].speed=100;
|
||||
if(steppers[i].speed <= -100)
|
||||
steppers[i].speed=-100;
|
||||
if(steppers[i].speed >= STEPPERS_MAX_SPEED)
|
||||
steppers[i].speed=STEPPERS_MAX_SPEED;
|
||||
if(steppers[i].speed <= -STEPPERS_MAX_SPEED)
|
||||
steppers[i].speed=-STEPPERS_MAX_SPEED;
|
||||
|
||||
/* get direction from sign */
|
||||
if(steppers[i].speed>0)
|
||||
@@ -122,16 +122,15 @@ void do_steps(){
|
||||
steppers[i].next_step = timer + 1;
|
||||
}
|
||||
|
||||
printf("pos %d\tspeed %d\n", steppers[i].pos, steppers[i].speed);
|
||||
printf("motor[%d]: pos %ld\tspeed %d\n", i, steppers[i].pos, steppers[i].speed);
|
||||
}
|
||||
|
||||
if(steppers[i].homed){
|
||||
static uint16_t old_ramp_to_speed;
|
||||
old_ramp_to_speed = steppers[i].ramp_to_speed;
|
||||
|
||||
uint16_t *p = (uint16_t*)&rxBuffer[1];
|
||||
|
||||
steppers[i].ramp_to_speed = __builtin_bswap16(*p) - steppers[i].pos;
|
||||
int32_t swapped_val = rxBuffer[2*i+1]<<8 | (rxBuffer[2*i+2]&0xFF);
|
||||
steppers[i].ramp_to_speed = swapped_val - steppers[i].pos;
|
||||
|
||||
if(old_ramp_to_speed == 0 && steppers[i].ramp_to_speed != 0)
|
||||
steppers[i].trigger_step = 1;
|
||||
|
||||
Reference in New Issue
Block a user