summaryrefslogtreecommitdiff
path: root/2004/n/asserv/src/motor.c
diff options
context:
space:
mode:
authorschodet2003-12-13 23:08:30 +0000
committerschodet2003-12-13 23:08:30 +0000
commitf5dc1b604b0fa17f0be6c5368e7841e841ef9cea (patch)
tree6de4b9675ec62645dd5baecf89153678fd0083d1 /2004/n/asserv/src/motor.c
parentbbd4ad1a1034dd4776db3d364b5fa268923124c1 (diff)
Correction d'un bug horrible dans serial_unreliable_send.
Implémentation du rapport des compteurs.
Diffstat (limited to '2004/n/asserv/src/motor.c')
-rw-r--r--2004/n/asserv/src/motor.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/2004/n/asserv/src/motor.c b/2004/n/asserv/src/motor.c
index c820cc0..b529e87 100644
--- a/2004/n/asserv/src/motor.c
+++ b/2004/n/asserv/src/motor.c
@@ -39,6 +39,7 @@ unsigned int motor_pid_int; /* Compteur d'interruptions 2 entre deux
short motor_stat; /* Report motor stats. */
unsigned int motor_stat_delay; /* Delay between stats. */
unsigned int motor_stat_delay_cpt; /* Delay counter. */
+short motor_cpt; /* Report motors counters. */
/* Moteurs. */
signed int motor_g_vdes, motor_g_vacc; /* Vitesse désirée, actuelle. */
@@ -64,6 +65,7 @@ motor_init (void)
motor_stat = 0;
motor_stat_delay = 101;
motor_stat_delay_cpt = 0;
+ motor_cpt = 0;
motor_g_vdes = 0; motor_g_vacc = 0;
motor_d_vdes = 0; motor_d_vacc = 0;
motor_g_cpt_av = 0; motor_g_cpt_ar = 0;
@@ -368,6 +370,11 @@ TIMER2_isr ()
motor_update_left_speed ();
motor_update_right_speed ();
serial_parse ();
+ if (motor_cpt)
+ {
+ serial_send_motor_cpt (motor_g_cpt, motor_d_cpt);
+ serial_unreliable_send_eob ();
+ }
}
motor_pid_int++;
}
@@ -408,6 +415,10 @@ motor_parse (void)
serial_recv_bool (motor_stat);
serial_send_ok ('m');
return 1;
+ case 'c':
+ serial_recv_bool (motor_cpt);
+ serial_send_ok ('c');
+ return 1;
case 'g':
serial_recv_bool (motor_asservi);
motor_toggle_asservi ();