From 9a4696369295d3a2c9389c41a69416bce14e215e Mon Sep 17 00:00:00 2001 From: schodet Date: Sat, 5 Feb 2005 13:59:01 +0000 Subject: cleanup --- n/asserv/src/counter.c | 2 +- n/asserv/src/main.c | 48 +++++++++++++++++++++++++----------------------- n/asserv/src/postrack.c | 3 +-- n/asserv/src/pwm.c | 2 +- 4 files changed, 28 insertions(+), 27 deletions(-) diff --git a/n/asserv/src/counter.c b/n/asserv/src/counter.c index 46dc05a..7fcfac5 100644 --- a/n/asserv/src/counter.c +++ b/n/asserv/src/counter.c @@ -64,7 +64,7 @@ counter_init (void) 0, 0, 0, 0, 0, 1, 1, 1); /* Right counter. */ /* Normal counter. */ - //TCCR3A = 0; + TCCR3A = 0; /* External, rising edge. */ TCCR3B = regv (ICNC3, ICES3, 5, WGM33, WGM32, CS32, CS31, CS30, 0, 0, 0, 0, 0, 1, 1, 1); diff --git a/n/asserv/src/main.c b/n/asserv/src/main.c index 61ae706..3fed431 100644 --- a/n/asserv/src/main.c +++ b/n/asserv/src/main.c @@ -71,7 +71,7 @@ main_loop (void); /* -AutoDec */ -/* Entry point. */ +/** Entry point. */ int main (void) { @@ -88,7 +88,7 @@ main (void) return 0; } -/* Main loop. */ +/** Main loop. */ static void main_loop (void) { @@ -112,9 +112,21 @@ main_loop (void) /* Pwm setup. */ pwm_update (); /* Stats. */ + if (motor_stat_counter && !--motor_stat_counter_cpt) + { + proto_send2w ('C', counter_left, counter_right); + motor_stat_counter_cpt = motor_stat_counter; + } + if (motor_stat_postrack && !--motor_stat_postrack_cpt) + { + proto_send1d ('X', postrack_x); + proto_send1d ('Y', postrack_y); + proto_send1d ('A', postrack_a); + motor_stat_postrack_cpt = motor_stat_postrack; + } if (motor_stat_speed && !--motor_stat_speed_cpt) { - proto_send4w ('U', speed_left_e_old, speed_left_int, + proto_send4w ('S', speed_left_e_old, speed_left_int, speed_right_e_old, speed_right_int); motor_stat_speed_cpt = motor_stat_speed; } @@ -129,18 +141,6 @@ main_loop (void) motor_timer_0); motor_stat_timer_cpt = motor_stat_timer; } - if (motor_stat_counter && !--motor_stat_counter_cpt) - { - proto_send2w ('C', counter_left, counter_right); - motor_stat_counter_cpt = motor_stat_counter; - } - if (motor_stat_postrack && !--motor_stat_postrack_cpt) - { - proto_send1d ('X', postrack_x); - proto_send1d ('Y', postrack_y); - proto_send1d ('A', postrack_a); - motor_stat_postrack_cpt = motor_stat_postrack; - } /* Misc. */ if ((motor_loop_cpt & 7) == 0) { @@ -190,18 +190,20 @@ proto_callback (uint8_t cmd, uint8_t size, uint8_t *args) case c ('f', 2): postrack_set_footing (args[0] << 8 | args[1]); break; - case c ('m', 1): - motor_stat_speed_cpt = motor_stat_speed = args[0]; - motor_stat_pwm_cpt = motor_stat_pwm = args[0]; - break; - case c ('c', 1): + case c ('C', 1): motor_stat_counter_cpt = motor_stat_counter = args[0]; break; - case c ('t', 1): - motor_stat_timer_cpt = motor_stat_timer = args[0]; + case c ('X', 1): + motor_stat_postrack_cpt = motor_stat_postrack = args[0]; + break; + case c ('S', 1): + motor_stat_speed_cpt = motor_stat_speed = args[0]; + break; + case c ('W', 1): + motor_stat_pwm_cpt = motor_stat_pwm = args[0]; break; case c ('T', 1): - motor_stat_postrack_cpt = motor_stat_postrack = args[0]; + motor_stat_timer_cpt = motor_stat_timer = args[0]; break; default: proto_send0 ('e'); diff --git a/n/asserv/src/postrack.c b/n/asserv/src/postrack.c index 5adcb37..d7e6bc8 100644 --- a/n/asserv/src/postrack.c +++ b/n/asserv/src/postrack.c @@ -85,10 +85,9 @@ postrack_update (void) dd = counter_right_diff - counter_left_diff; /* 10b */ dd <<= 16; /* 10.16b */ da = dsp_mul_f824 (dd, postrack_footing_factor);/* 8.24b */ - // XXX: this division is false because da is not radians ! /* New angle. */ na = postrack_a + da; - /* da in radians. */ + /* Compute da in radians. */ da = dsp_mul_f824 (da, 2 * M_PI * (1L << 24)); /* X increment. */ dsc = dsp_sin (na) - dsp_sin (postrack_a); /* 8.24b */ diff --git a/n/asserv/src/pwm.c b/n/asserv/src/pwm.c index 883201f..a873b33 100644 --- a/n/asserv/src/pwm.c +++ b/n/asserv/src/pwm.c @@ -23,7 +23,7 @@ * * }}} */ -/* PWM values. */ +/** PWM values. */ int16_t pwm_left, pwm_right; /* +AutoDec */ -- cgit v1.2.3