PiSlingers library for AHRC competitions

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;
 
 };