summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Schodet2011-03-19 18:18:01 +0100
committerNicolas Schodet2011-03-19 18:18:01 +0100
commit0dcbedcbc4fff3c0f81f72119738d70b8e6b69e4 (patch)
tree8616097ab201b9599d0fc1ee45899c659341b7c3
parentde28b7c4da69b1c4dc1008811ff7caae2ff255da (diff)
parent05923d2e343371075607f0240e7db2c04f5080c9 (diff)
Merge branch 'master' into efrei-robotique
-rw-r--r--digital/asserv/src/asserv/counter_ext.avr.c12
-rw-r--r--digital/mimot/src/dirty/counter_ext.avr.c6
-rw-r--r--digital/mimot/src/dirty/main.c4
3 files changed, 14 insertions, 8 deletions
diff --git a/digital/asserv/src/asserv/counter_ext.avr.c b/digital/asserv/src/asserv/counter_ext.avr.c
index c7c2afe7..6a883caa 100644
--- a/digital/asserv/src/asserv/counter_ext.avr.c
+++ b/digital/asserv/src/asserv/counter_ext.avr.c
@@ -177,21 +177,23 @@ counter_update (void)
/* Wants fresh data. */
counter_update_step ();
/* Left counter. */
- uint16_t left = counter_left_new_step >> COUNTER_LEFT_SHIFT;
+ uint16_t left = counter_left_new_step;
#if !COUNTER_LEFT_REVERSE
counter_left_diff = (int16_t) (left - counter_left_old);
#else
counter_left_diff = (int16_t) (counter_left_old - left);
#endif
+ counter_left_diff >>= COUNTER_LEFT_SHIFT;
counter_left_old = left;
counter_left += counter_left_diff;
/* Right counter. */
- uint16_t right = counter_right_new_step >> COUNTER_RIGHT_SHIFT;
+ uint16_t right = counter_right_new_step;
#if !COUNTER_RIGHT_REVERSE
counter_right_diff = (int16_t) (right - counter_right_old);
#else
counter_right_diff = (int16_t) (counter_right_old - right);
#endif
+ counter_right_diff >>= COUNTER_RIGHT_SHIFT;
counter_right_old = right;
/* Fix right counter. */
counter_right_raw += counter_right_diff;
@@ -200,21 +202,23 @@ counter_update (void)
counter_right_diff = (int16_t) (right_new - counter_right);
counter_right = right_new;
/* First auxiliary counter. */
- uint16_t aux0 = counter_aux_new_step[0] >> COUNTER_AUX0_SHIFT;
+ uint16_t aux0 = counter_aux_new_step[0];
#if !COUNTER_AUX0_REVERSE
counter_aux_diff[0] = (int16_t) (aux0 - counter_aux_old[0]);
#else
counter_aux_diff[0] = (int16_t) (counter_aux_old[0] - aux0);
#endif
+ counter_aux_diff[0] >>= COUNTER_AUX0_SHIFT;
counter_aux_old[0] = aux0;
counter_aux[0] += counter_aux_diff[0];
/* Second auxiliary counter. */
- uint16_t aux1 = counter_aux_new_step[1] >> COUNTER_AUX1_SHIFT;
+ uint16_t aux1 = counter_aux_new_step[1];
#if !COUNTER_AUX1_REVERSE
counter_aux_diff[1] = (int16_t) (aux1 - counter_aux_old[1]);
#else
counter_aux_diff[1] = (int16_t) (counter_aux_old[1] - aux1);
#endif
+ counter_aux_diff[1] >>= COUNTER_AUX1_SHIFT;
counter_aux_old[1] = aux1;
counter_aux[1] += counter_aux_diff[1];
}
diff --git a/digital/mimot/src/dirty/counter_ext.avr.c b/digital/mimot/src/dirty/counter_ext.avr.c
index a3ddb003..e99d9dc0 100644
--- a/digital/mimot/src/dirty/counter_ext.avr.c
+++ b/digital/mimot/src/dirty/counter_ext.avr.c
@@ -149,21 +149,23 @@ counter_update (void)
/* Wants fresh data. */
counter_update_step ();
/* First auxiliary counter. */
- uint16_t aux0 = counter_aux_new_step[0] >> COUNTER_AUX0_SHIFT;
+ uint16_t aux0 = counter_aux_new_step[0];
#if !COUNTER_AUX0_REVERSE
counter_aux_diff[0] = (int16_t) (aux0 - counter_aux_old[0]);
#else
counter_aux_diff[0] = (int16_t) (counter_aux_old[0] - aux0);
#endif
+ counter_aux_diff[0] >>= COUNTER_AUX0_SHIFT;
counter_aux_old[0] = aux0;
counter_aux[0] += counter_aux_diff[0];
/* Second auxiliary counter. */
- uint16_t aux1 = counter_aux_new_step[1] >> COUNTER_AUX1_SHIFT;
+ uint16_t aux1 = counter_aux_new_step[1];
#if !COUNTER_AUX1_REVERSE
counter_aux_diff[1] = (int16_t) (aux1 - counter_aux_old[1]);
#else
counter_aux_diff[1] = (int16_t) (counter_aux_old[1] - aux1);
#endif
+ counter_aux_diff[1] >>= COUNTER_AUX1_SHIFT;
counter_aux_old[1] = aux1;
counter_aux[1] += counter_aux_diff[1];
}
diff --git a/digital/mimot/src/dirty/main.c b/digital/mimot/src/dirty/main.c
index b3d93aa0..5dcfd8c7 100644
--- a/digital/mimot/src/dirty/main.c
+++ b/digital/mimot/src/dirty/main.c
@@ -301,8 +301,8 @@ proto_callback (uint8_t cmd, uint8_t size, uint8_t *args)
/* Set all acknoledge.
* - b: first auxiliary ack sequence number.
* - b: second auxiliary ack sequence number. */
- state_acknowledge (&state_aux[0], args[1]);
- state_acknowledge (&state_aux[1], args[2]);
+ state_acknowledge (&state_aux[0], args[0]);
+ state_acknowledge (&state_aux[1], args[1]);
break;
/* Stats.
* - b: interval between stats. */