diff --git a/Device/list_motor.c b/Device/list_motor.c index 506cbe7c4bc7a480c2dcf266229a70e85b1001b2..2dcb2be56d97d8fb9cee67418236056a1fbc2d25 100644 --- a/Device/list_motor.c +++ b/Device/list_motor.c @@ -129,15 +129,24 @@ void motors_all_init(void){ motors_init(&gm6020_up, 0x205, GM6020); motors_init(&m3508_frontleft, 0x201, M3508); motors_init(&m3508_frontright, 0x202, M3508); - motors_init(&m3508_backleft, 0x203, M3508); - motors_init(&m3508_backright, 0x204, M3508); + motors_init(&m3508_backright, 0x203, M3508); + motors_init(&m3508_backleft, 0x204, M3508); + // Parametres ICRA gm6020_up.MIN_POSITION = 5565; gm6020_up.MAX_POSITION = 6675; gm6020_down.MIN_POSITION = 2519; gm6020_down.MAX_POSITION = 7015; gm6020_down.target = 4750; gm6020_up.target = 6200; + + // Parametres StandarMeca (a changer) + gm6020_up.MIN_POSITION = 2700; + gm6020_up.MAX_POSITION = 4000; + gm6020_up.target = 3500; + gm6020_down.MIN_POSITION = 2220; + gm6020_down.MAX_POSITION = 6800; + gm6020_down.target = 4800; } diff --git a/Device/motor.c b/Device/motor.c index b28cc21c80e87771d85bc6d60f186d6e96c175af..4ea9edbc0c7d5f1afe1f621fd3f5b306cb979783 100644 --- a/Device/motor.c +++ b/Device/motor.c @@ -92,7 +92,12 @@ void set_motor_speed(motor_t *motor) float target = motor->target; switch(motor->type){ case M3508: + if ((target < 150) && (target > -100)){ run_motor_from_command(motor, motor->pid_speed, target, motor->info.M3508_info.speed); + } + else{ + run_motor_from_command(motor, motor->pid_pos, target, motor->info.M3508_info.angle); + } case GM6020: run_motor_from_command(motor, motor->pid_speed, target, motor->info.GM6020_info.speed); case M2006: