This is some awesome robot code

Dependencies:   mbed-rtos mbed QEI

Fork of ICRSEurobot13 by Thomas Branch

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?

UserRevisionLine numberNew 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