Files at this revision

API Documentation at this revision

Comitter:
narshu
Date:
Thu Apr 26 19:28:32 2012 +0000
Parent:
0:e238496b8073
Child:
2:8aa491f77a0b
Commit message:

Changed in this revision

Kalman.cpp Show annotated file Show diff for this revision Revisions of this file
Kalman.h Show annotated file Show diff for this revision Revisions of this file
--- a/Kalman.cpp	Thu Apr 26 19:11:11 2012 +0000
+++ b/Kalman.cpp	Thu Apr 26 19:28:32 2012 +0000
@@ -14,9 +14,32 @@
 #include <tvmet/Vector.h>
 using namespace tvmet;
 
-Kalman::Kalman(Motors &motorsin) :
+Kalman::Kalman(Motors &motorsin,
+   PinName Sonar_Trig,
+   PinName Sonar_Echo0,
+   PinName Sonar_Echo1,
+   PinName Sonar_Echo2,
+   PinName Sonar_Echo3,
+   PinName Sonar_Echo4,
+   PinName Sonar_Echo5,
+   PinName Sonar_SDI,
+   PinName Sonar_SDO,
+   PinName Sonar_SCK,
+   PinName Sonar_NCS,
+   PinName Sonar_NIRQ) :
         ir(*this),
-        sonararray(p10,p21,p22,p23,p24,p25,p26,p5,p6,p7,p8,p9),
+        sonararray(Sonar_Trig,
+        Sonar_Echo0,
+        Sonar_Echo1,
+        Sonar_Echo2,
+        Sonar_Echo3,
+        Sonar_Echo4,
+        Sonar_Echo5,
+        Sonar_SDI,
+        Sonar_SDO,
+        Sonar_SCK,
+        Sonar_NCS,
+        Sonar_NIRQ),
         motors(motorsin),
         predictthread(predictloopwrapper, this, osPriorityNormal, 512),
         predictticker( SIGTICKARGS(predictthread, 0x1) ),
--- a/Kalman.h	Thu Apr 26 19:11:11 2012 +0000
+++ b/Kalman.h	Thu Apr 26 19:28:32 2012 +0000
@@ -19,58 +19,74 @@
 public:
     enum measurement_t {SONAR1 = 0, SONAR2, SONAR3, IR1, IR2, IR3};
     static const measurement_t maxmeasure = IR3;
-    
-    Kalman(Motors &motorsin);
-    
+
+    Kalman(Motors &motorsin,
+           PinName Sonar_Trig,
+           PinName Sonar_Echo0,
+           PinName Sonar_Echo1,
+           PinName Sonar_Echo2,
+           PinName Sonar_Echo3,
+           PinName Sonar_Echo4,
+           PinName Sonar_Echo5,
+           PinName Sonar_SDI,
+           PinName Sonar_SDO,
+           PinName Sonar_SCK,
+           PinName Sonar_NCS,
+           PinName Sonar_NIRQ);
+
     void predict();
     void runupdate(measurement_t type, float value, float variance);
-    
+
     //State variables
     Vector<float, 3> X;
     Matrix<float, 3, 3> P;
     Mutex statelock;
-    
+
     float SonarMeasures[3];
     float IRMeasures[3];
     float SonarMeasure_Offset[3];
-    
+
     bool Kalman_init;
-    
+
     //The IR is public so it's possible to print the offset in the print function
     IR ir;
-    
+
     //Initialises the kalman filter
     void KalmanInit();
-    
+
 private:
-    
+
     //Sensor interfaces
     RFSRF05 sonararray;
     Motors& motors;
-    
+
     Thread predictthread;
     void predictloop();
-    static void predictloopwrapper(void const *argument){ ((Kalman*)argument)->predictloop(); }
+    static void predictloopwrapper(void const *argument) {
+        ((Kalman*)argument)->predictloop();
+    }
     RtosTimer predictticker;
-    
+
 //    Thread sonarthread;
 //    void sonarloop();
 //    static void sonarloopwrapper(void const *argument){ ((Kalman*)argument)->sonarloop(); }
 //    RtosTimer sonarticker;
-    
-    struct measurmentdata{
+
+    struct measurmentdata {
         measurement_t mtype;
         float value;
         float variance;
     } ;
-    
+
     Mail <measurmentdata, 16> measureMQ;
-    
+
     Thread updatethread;
     void updateloop();
-    static void updateloopwrapper(void const *argument){ ((Kalman*)argument)->updateloop(); }
-    
-    
+    static void updateloopwrapper(void const *argument) {
+        ((Kalman*)argument)->updateloop();
+    }
+
+
 };
 
 #endif //KALMAN_H
\ No newline at end of file