summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJérémy Dufour2008-04-30 01:35:23 +0200
committerJérémy Dufour2008-04-30 01:35:23 +0200
commit005aa22130a1e7e62beb0ddab0dc47642d69b317 (patch)
treebd7a95006074188c9cde2ea56a88c251f257a7f2
parent4018bef35759af836dcd87d7d1b7eee7de57dfb2 (diff)
* digital/io/src
- cleanly remove unhandled bits (thanks to ni) ;
-rw-r--r--digital/io/src/getsamples.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/digital/io/src/getsamples.c b/digital/io/src/getsamples.c
index 10dd0840..ead49ecc 100644
--- a/digital/io/src/getsamples.c
+++ b/digital/io/src/getsamples.c
@@ -37,19 +37,12 @@ struct getsamples_data_t getsamples_data_;
void
getsamples_start (int16_t approach_angle, uint8_t sample_bitfield)
{
- uint8_t count;
/* Set parameters */
getsamples_data_.approach_angle = approach_angle;
getsamples_data_.sample_bitfield = sample_bitfield;
/* Remove unhandled traps */
- /* garbage */
- getsamples_data_.sample_bitfield &= ~_BV (garbage);
- /* Trap upper than the trap_count */
- for (count = 7; count >= trap_count; count--)
- {
- getsamples_data_.sample_bitfield &= ~_BV (count);
- }
+ getsamples_data_.sample_bitfield &= (_BV (trap_count) - 1) & ~_BV (garbage);
/* Start the get samples FSM */
fsm_init (&getsamples_fsm);