Revision 1205
Implemented single encoder testing
Cleaned up motor direction/wall direction naming
test_encoders.c | ||
---|---|---|
7 | 7 |
#define on_delay 500 |
8 | 8 |
#define off_delay 800 |
9 | 9 |
|
10 |
static char *direction_string (uint8_t direction) |
|
11 |
{ |
|
12 |
if (direction==direction_forward) |
|
13 |
return "forward"; |
|
14 |
else if (direction==BACKWARD) |
|
15 |
return "backward"; |
|
16 |
else |
|
17 |
return "?"; |
|
18 |
} |
|
19 |
|
|
20 | 10 |
static void test_encoders_direction (uint8_t direction1, uint8_t direction2) |
21 | 11 |
{ |
22 | 12 |
// reset_encoders (); |
... | ... | |
46 | 36 |
// Send data |
47 | 37 |
for (uint8_t i=1; i<=2; ++i) |
48 | 38 |
{ |
49 |
usb_puts ("data encoder "); |
|
50 |
usb_puti (i); |
|
51 |
usb_puts (" "); |
|
52 |
usb_puts (direction_string (i==1?direction1:direction2)); |
|
53 |
usb_puts (" 100/100 200/200 300/300 400/400 500/500 600/600 700/700" NL); |
|
39 |
uint8_t direction=(i==1)?direction1:direction2; |
|
40 |
|
|
41 |
if (direction!=motor_direction_off) |
|
42 |
{ |
|
43 |
usb_puts ("data encoder "); |
|
44 |
usb_puti (i); |
|
45 |
usb_puts (" "); |
|
46 |
usb_puts (motor_direction_string (direction)); |
|
47 |
usb_puts (" 100/100 200/200 300/300 400/400 500/500 600/600 700/700" NL); |
|
48 |
} |
|
54 | 49 |
} |
55 | 50 |
} |
56 | 51 |
|
... | ... | |
58 | 53 |
{ |
59 | 54 |
usb_puts("# Testing encoders" NL); |
60 | 55 |
|
61 |
test_encoders_direction (direction_forward, BACKWARD);
|
|
62 |
test_encoders_direction (BACKWARD, direction_forward);
|
|
56 |
test_encoders_direction (motor_direction_forward, motor_direction_backward);
|
|
57 |
test_encoders_direction (motor_direction_backward, motor_direction_forward);
|
|
63 | 58 |
|
64 | 59 |
usb_puts("# Testing encoders finished" NL); |
65 | 60 |
} |
66 | 61 |
|
67 | 62 |
void test_encoder (uint8_t num) |
68 | 63 |
{ |
69 |
if (!(num==1 || num==2)) return; |
|
70 |
|
|
71 |
// TODO implement single encoder testing |
|
72 |
test_encoder_all (); |
|
64 |
if (num==1) |
|
65 |
{ |
|
66 |
test_encoders_direction (motor_direction_forward, motor_direction_off); |
|
67 |
test_encoders_direction (motor_direction_backward, motor_direction_off); |
|
68 |
} |
|
69 |
else if (num==2) |
|
70 |
{ |
|
71 |
test_encoders_direction (motor_direction_off, motor_direction_forward); |
|
72 |
test_encoders_direction (motor_direction_off, motor_direction_backward); |
|
73 |
} |
|
73 | 74 |
} |
Also available in: Unified diff