This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "krobot".
The branch, master has been updated
via f3ba0f4c3e5b991400c322baeaec5decc5eb787f (commit)
from cb5df192b9fad7e421db94ddf32b6643e2cda29a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit f3ba0f4c3e5b991400c322baeaec5decc5eb787f
Author: Xavier Lagorce <Xav...@cr...>
Date: Sat Apr 2 14:35:50 2011 +0200
[Controller_Motor_STM32] Corrections
-----------------------------------------------------------------------
Changes:
diff --git a/elec/boards/Controller_Motor_STM32/Firmware/controller_motor_stm32/main.c b/elec/boards/Controller_Motor_STM32/Firmware/controller_motor_stm32/main.c
index 347a7c3..357f7b8 100644
--- a/elec/boards/Controller_Motor_STM32/Firmware/controller_motor_stm32/main.c
+++ b/elec/boards/Controller_Motor_STM32/Firmware/controller_motor_stm32/main.c
@@ -56,13 +56,15 @@ static void init(void)
params.l0[1] = 3.9715;
params.T = 0.005;
// Initialize left motor
+ params.motor = MOTOR3;
params.encoder = ENCODER3;
tc_new_controller(2);
- mc_new_controller(¶ms, tc_get_position_generator(0));
+ mc_new_controller(¶ms, tc_get_position_generator(2));
// Initialize right motor
+ params.motor = MOTOR4;
params.encoder = ENCODER4;
tc_new_controller(3);
- mc_new_controller(¶ms, tc_get_position_generator(1));
+ mc_new_controller(¶ms, tc_get_position_generator(3));
// Start odometry
odometryInit(1e-3, 0.049245, 0.259, -2.0*M_PI/2000.0/15.0);
@@ -79,7 +81,7 @@ static void init(void)
LED3_OFF();
LED4_OFF();
timer_delay(100);
- }
+ }
}
static void NORETURN ind_process(void)
diff --git a/elec/boards/Controller_Motor_STM32/Firmware/controller_motor_stm32/motor_controller.c b/elec/boards/Controller_Motor_STM32/Firmware/controller_motor_stm32/motor_controller.c
index 93d092b..537c174 100644
--- a/elec/boards/Controller_Motor_STM32/Firmware/controller_motor_stm32/motor_controller.c
+++ b/elec/boards/Controller_Motor_STM32/Firmware/controller_motor_stm32/motor_controller.c
@@ -35,7 +35,7 @@ typedef struct
ticks_t T; // sampling period in systicks
} control_params_t;
-control_params_t controllers[4];
+static control_params_t controllers[4];
static inline uint8_t get_motor_index(uint8_t motor_id) {
uint8_t motor_ind;
diff --git a/elec/boards/Controller_Motor_STM32/Firmware/controller_motor_stm32/trajectory_controller.c b/elec/boards/Controller_Motor_STM32/Firmware/controller_motor_stm32/trajectory_controller.c
index 605913d..5bd2734 100644
--- a/elec/boards/Controller_Motor_STM32/Firmware/controller_motor_stm32/trajectory_controller.c
+++ b/elec/boards/Controller_Motor_STM32/Firmware/controller_motor_stm32/trajectory_controller.c
@@ -36,7 +36,7 @@ typedef struct {
void trapezoid_callback(command_generator_t *generator);
void acc_stop_callback(command_generator_t *generator);
-trajectory_controller_t controllers[NUM_TC_MAX];
+static trajectory_controller_t controllers[NUM_TC_MAX];
void trapezoid_callback(command_generator_t *generator) {
trajectory_controller_t *cont = NULL;
@@ -271,6 +271,11 @@ void tc_goto_speed(uint8_t cntr_index, float speed, float acceleration) {
if (!cont->enabled)
return;
+ // Disable a possibly running trapezoidal profile
+ cont->aut.state = TRAPEZOID_STATE_STOP;
+ remove_callback(&cont->position);
+ remove_callback(&cont->speed);
+
cont->aut.speed = speed;
cont->aut.dir = SIGN(speed - cont->speed.type.last_output);
// Set acceleration sign depending on the current speed
hooks/post-receive
--
krobot
|