This is some awesome robot code
Dependencies: mbed-rtos mbed QEI
Fork of ICRSEurobot13 by
Sensors/Colour/Colour.h@45:77cf6375348a, 2013-04-12 (annotated)
- Committer:
- xiaxia686
- Date:
- Fri Apr 12 20:40:52 2013 +0000
- Revision:
- 45:77cf6375348a
- Parent:
- 43:c592bf6a6a2d
- Child:
- 50:937e860f4621
colour sensors fixed
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
twighk | 3:717de74f6ebd | 1 | |
twighk | 3:717de74f6ebd | 2 | // Eurobot13 Colour.h |
xiaxia686 | 45:77cf6375348a | 3 | #ifndef COLOUR_H |
xiaxia686 | 45:77cf6375348a | 4 | #define COLOUR_H |
madcowswe | 5:56a5fdd373c9 | 5 | |
twighk | 3:717de74f6ebd | 6 | #include "mbed.h" |
xiaxia686 | 43:c592bf6a6a2d | 7 | #include "globals.h" |
xiaxia686 | 45:77cf6375348a | 8 | #include "math.h" |
twighk | 3:717de74f6ebd | 9 | |
xiaxia686 | 43:c592bf6a6a2d | 10 | #define BUFF_SIZE 10 |
xiaxia686 | 43:c592bf6a6a2d | 11 | #define SNR_THRESHOLD_DB 4 |
xiaxia686 | 43:c592bf6a6a2d | 12 | |
xiaxia686 | 43:c592bf6a6a2d | 13 | #define UPPERARM_CORRECTION 2.310f |
xiaxia686 | 43:c592bf6a6a2d | 14 | #define LOWERARM_CORRECTION 1.000f |
xiaxia686 | 43:c592bf6a6a2d | 15 | |
xiaxia686 | 43:c592bf6a6a2d | 16 | |
xiaxia686 | 43:c592bf6a6a2d | 17 | enum ColourEnum {BLUE=0, RED, WHITE, BLACK}; |
xiaxia686 | 43:c592bf6a6a2d | 18 | enum ArmEnum {UPPER=0, LOWER}; |
twighk | 3:717de74f6ebd | 19 | |
twighk | 3:717de74f6ebd | 20 | class Colour{ |
xiaxia686 | 43:c592bf6a6a2d | 21 | public: |
xiaxia686 | 45:77cf6375348a | 22 | |
xiaxia686 | 43:c592bf6a6a2d | 23 | Colour( |
xiaxia686 | 43:c592bf6a6a2d | 24 | PinName blue_led, |
xiaxia686 | 43:c592bf6a6a2d | 25 | PinName red_led, |
xiaxia686 | 43:c592bf6a6a2d | 26 | PinName pt, |
xiaxia686 | 43:c592bf6a6a2d | 27 | ArmEnum arm); |
twighk | 3:717de74f6ebd | 28 | |
xiaxia686 | 45:77cf6375348a | 29 | virtual ColourEnum getColour(); |
twighk | 3:717de74f6ebd | 30 | |
twighk | 3:717de74f6ebd | 31 | |
twighk | 3:717de74f6ebd | 32 | private: |
xiaxia686 | 45:77cf6375348a | 33 | Ticker ticker; |
xiaxia686 | 45:77cf6375348a | 34 | DigitalOut blue_led; |
xiaxia686 | 45:77cf6375348a | 35 | DigitalOut red_led; |
xiaxia686 | 45:77cf6375348a | 36 | AnalogIn pt; |
xiaxia686 | 45:77cf6375348a | 37 | ArmEnum arm; |
xiaxia686 | 43:c592bf6a6a2d | 38 | |
xiaxia686 | 43:c592bf6a6a2d | 39 | float red_correction_factor; |
xiaxia686 | 45:77cf6375348a | 40 | float colour; |
xiaxia686 | 45:77cf6375348a | 41 | float SNR; |
xiaxia686 | 45:77cf6375348a | 42 | void Blink(); |
twighk | 3:717de74f6ebd | 43 | |
xiaxia686 | 45:77cf6375348a | 44 | int togglecolour; |
xiaxia686 | 45:77cf6375348a | 45 | float blue; |
xiaxia686 | 45:77cf6375348a | 46 | float blue_buff[BUFF_SIZE]; |
xiaxia686 | 45:77cf6375348a | 47 | float red; |
xiaxia686 | 45:77cf6375348a | 48 | float red_buff[BUFF_SIZE]; |
xiaxia686 | 45:77cf6375348a | 49 | float noise; |
xiaxia686 | 45:77cf6375348a | 50 | float noise_buff[BUFF_SIZE]; |
xiaxia686 | 45:77cf6375348a | 51 | |
xiaxia686 | 45:77cf6375348a | 52 | int buff_pointer; |
xiaxia686 | 45:77cf6375348a | 53 | |
xiaxia686 | 45:77cf6375348a | 54 | }; |
xiaxia686 | 45:77cf6375348a | 55 | |
xiaxia686 | 45:77cf6375348a | 56 | #endif |