PiSlingers library for AHRC competitions
Diff: Beacon.h
- Revision:
- 2:a9351d7f92b4
- Parent:
- 1:695f4f4442d3
--- a/Beacon.h Fri Nov 02 03:00:29 2012 +0000 +++ b/Beacon.h Sat Nov 03 01:03:16 2012 +0000 @@ -2,29 +2,45 @@ #define _BEACON_H_ #include "mbed.h" +#include "MODSERIAL.h" class Beacon { public: - Beacon(void) : ainL(p16), ainR(p17) {}; + Beacon(void) : ainL(p16), ainR(p17) + { + offsL = 0; + gainL = 1; + offsR = 0; + gainR = 1; + }; void scan(void); - uint8_t get_max_rssi(void); + void calibrate(MODSERIAL * debug); + uint16_t get_max_rssi(void); float get_centeroid(void); - uint8_t getL(void); - uint8_t getR(void); + uint16_t getL(void); + uint16_t getR(void); private: + uint16_t readAndAverageL(int times); + uint16_t readAndAverageR(int times); + void calc_centeroid(void); AnalogIn ainL; AnalogIn ainR; - uint8_t valL; - uint8_t valR; + uint16_t valL; + uint16_t valR; - uint8_t max; + int32_t offsL; + int32_t gainL; + int32_t offsR; + int32_t gainR; + + uint16_t max; float centeroid; };