Mike Panetta
/
FirstTest
Second revision of test code for Polyathalon sensor board.
main.cpp@0:13a7de7ce046, 2011-11-05 (annotated)
- Committer:
- mpanetta
- Date:
- Sat Nov 05 18:29:39 2011 +0000
- Revision:
- 0:13a7de7ce046
- Child:
- 1:1e37eee8e1cf
First revision of test code for Polyathalon sensor board.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mpanetta | 0:13a7de7ce046 | 1 | #include "mbed.h" |
mpanetta | 0:13a7de7ce046 | 2 | #include "m3pi.h" |
mpanetta | 0:13a7de7ce046 | 3 | #include "tlc5916.h" |
mpanetta | 0:13a7de7ce046 | 4 | |
mpanetta | 0:13a7de7ce046 | 5 | #define DARK_THRESHOLD 0x1A0 |
mpanetta | 0:13a7de7ce046 | 6 | |
mpanetta | 0:13a7de7ce046 | 7 | |
mpanetta | 0:13a7de7ce046 | 8 | |
mpanetta | 0:13a7de7ce046 | 9 | AnalogIn in1(p15); |
mpanetta | 0:13a7de7ce046 | 10 | AnalogIn in2(p16); |
mpanetta | 0:13a7de7ce046 | 11 | AnalogIn in3(p17); |
mpanetta | 0:13a7de7ce046 | 12 | AnalogIn in4(p18); |
mpanetta | 0:13a7de7ce046 | 13 | AnalogIn in5(p19); |
mpanetta | 0:13a7de7ce046 | 14 | AnalogIn in6(p20); |
mpanetta | 0:13a7de7ce046 | 15 | |
mpanetta | 0:13a7de7ce046 | 16 | DigitalOut led1(LED1); |
mpanetta | 0:13a7de7ce046 | 17 | DigitalOut led2(LED2); |
mpanetta | 0:13a7de7ce046 | 18 | |
mpanetta | 0:13a7de7ce046 | 19 | m3pi base; |
mpanetta | 0:13a7de7ce046 | 20 | TLC5916 tlc5916(p6, p5, p7, p11); |
mpanetta | 0:13a7de7ce046 | 21 | |
mpanetta | 0:13a7de7ce046 | 22 | int main() { |
mpanetta | 0:13a7de7ce046 | 23 | |
mpanetta | 0:13a7de7ce046 | 24 | struct m3pi::LineSensors sensors; |
mpanetta | 0:13a7de7ce046 | 25 | uint16_t val1 = 0; |
mpanetta | 0:13a7de7ce046 | 26 | uint16_t val2 = 0; |
mpanetta | 0:13a7de7ce046 | 27 | uint8_t leds = 0x01; |
mpanetta | 0:13a7de7ce046 | 28 | |
mpanetta | 0:13a7de7ce046 | 29 | base.reset(); |
mpanetta | 0:13a7de7ce046 | 30 | wait(1); |
mpanetta | 0:13a7de7ce046 | 31 | |
mpanetta | 0:13a7de7ce046 | 32 | base.locate(0, 0); |
mpanetta | 0:13a7de7ce046 | 33 | base.printf("AIN: "); |
mpanetta | 0:13a7de7ce046 | 34 | |
mpanetta | 0:13a7de7ce046 | 35 | while (1) { |
mpanetta | 0:13a7de7ce046 | 36 | if (leds == 0x80) |
mpanetta | 0:13a7de7ce046 | 37 | leds = 0x01; |
mpanetta | 0:13a7de7ce046 | 38 | tlc5916.write_reg(leds); |
mpanetta | 0:13a7de7ce046 | 39 | leds = leds << 1; |
mpanetta | 0:13a7de7ce046 | 40 | tlc5916.enable(); |
mpanetta | 0:13a7de7ce046 | 41 | wait_us(25); |
mpanetta | 0:13a7de7ce046 | 42 | led1 = 1; |
mpanetta | 0:13a7de7ce046 | 43 | val1 = in4.read_u16(); |
mpanetta | 0:13a7de7ce046 | 44 | val2 = in5.read_u16(); |
mpanetta | 0:13a7de7ce046 | 45 | led1 = 0; |
mpanetta | 0:13a7de7ce046 | 46 | tlc5916.disable(); |
mpanetta | 0:13a7de7ce046 | 47 | led2 = 1; |
mpanetta | 0:13a7de7ce046 | 48 | base.locate(0, 0); |
mpanetta | 0:13a7de7ce046 | 49 | base.printf("AIN:%4.4x", val1); |
mpanetta | 0:13a7de7ce046 | 50 | base.locate(0, 1); |
mpanetta | 0:13a7de7ce046 | 51 | base.printf("AIN:%4.4x", leds); |
mpanetta | 0:13a7de7ce046 | 52 | led2 = 0; |
mpanetta | 0:13a7de7ce046 | 53 | } |
mpanetta | 0:13a7de7ce046 | 54 | |
mpanetta | 0:13a7de7ce046 | 55 | #if 0 |
mpanetta | 0:13a7de7ce046 | 56 | base.sensor_auto_calibrate(); |
mpanetta | 0:13a7de7ce046 | 57 | |
mpanetta | 0:13a7de7ce046 | 58 | base.locate(0,0); |
mpanetta | 0:13a7de7ce046 | 59 | base.printf("Sens 3:"); |
mpanetta | 0:13a7de7ce046 | 60 | |
mpanetta | 0:13a7de7ce046 | 61 | |
mpanetta | 0:13a7de7ce046 | 62 | while(1) { |
mpanetta | 0:13a7de7ce046 | 63 | |
mpanetta | 0:13a7de7ce046 | 64 | sensors = base.get_raw_sensors(); |
mpanetta | 0:13a7de7ce046 | 65 | base.locate(0,1); |
mpanetta | 0:13a7de7ce046 | 66 | base.printf("0x%4.4x", sensors.sensor3); |
mpanetta | 0:13a7de7ce046 | 67 | if (sensors.sensor3 > DARK_THRESHOLD) { |
mpanetta | 0:13a7de7ce046 | 68 | base.right_motor(0.2); |
mpanetta | 0:13a7de7ce046 | 69 | base.left_motor(-0.2); |
mpanetta | 0:13a7de7ce046 | 70 | } else { |
mpanetta | 0:13a7de7ce046 | 71 | base.forward(0.2); |
mpanetta | 0:13a7de7ce046 | 72 | } |
mpanetta | 0:13a7de7ce046 | 73 | } |
mpanetta | 0:13a7de7ce046 | 74 | #endif |
mpanetta | 0:13a7de7ce046 | 75 | } |