Colour sensors calibrated

Dependencies:   mbed-rtos mbed Servo QEI

Fork of ICRSEurobot13 by Thomas Branch

Committer:
madcowswe
Date:
Tue Apr 09 20:41:22 2013 +0000
Revision:
23:6e3218cf75f8
Parent:
22:167dacfe0b14
Child:
26:b16f1045108f
MotorControl compiles

Who changed what in which revision?

UserRevisionLine numberNew contents of line
madcowswe 16:52250d8d8fce 1 #ifndef KALMAN_H
madcowswe 16:52250d8d8fce 2 #define KALMAN_H
madcowswe 16:52250d8d8fce 3
madcowswe 16:52250d8d8fce 4 //#include "globals.h"
madcowswe 20:70d651156779 5 #include "rtos.h"
madcowswe 16:52250d8d8fce 6
madcowswe 16:52250d8d8fce 7 namespace Kalman
madcowswe 16:52250d8d8fce 8 {
madcowswe 16:52250d8d8fce 9
madcowswe 20:70d651156779 10 typedef struct State {
madcowswe 16:52250d8d8fce 11 float x;
madcowswe 16:52250d8d8fce 12 float y;
madcowswe 16:52250d8d8fce 13 float theta;
madcowswe 20:70d651156779 14 } State ;
madcowswe 16:52250d8d8fce 15
madcowswe 16:52250d8d8fce 16 //Accessor function to get the state as one consistent struct
madcowswe 20:70d651156779 17 State getState();
madcowswe 16:52250d8d8fce 18
madcowswe 16:52250d8d8fce 19 //Main loops (to be attached as a thread in main)
madcowswe 22:167dacfe0b14 20 void predictloop(void const*);
madcowswe 22:167dacfe0b14 21 void updateloop(void const*);
madcowswe 16:52250d8d8fce 22
madcowswe 20:70d651156779 23 void start_predict_ticker(Thread* predict_thread_ptr_in);
madcowswe 16:52250d8d8fce 24
madcowswe 16:52250d8d8fce 25 enum measurement_t {SONAR0 = 0, SONAR1, SONAR2, IR0, IR1, IR2};
madcowswe 19:4b993a9a156e 26 const measurement_t maxmeasure = IR2;
madcowswe 16:52250d8d8fce 27
madcowswe 16:52250d8d8fce 28 //Call this to run an update
madcowswe 16:52250d8d8fce 29 void runupdate(measurement_t type, float value, float variance);
madcowswe 16:52250d8d8fce 30
madcowswe 16:52250d8d8fce 31 extern float RawReadings[maxmeasure+1];
madcowswe 23:6e3218cf75f8 32 extern float IRphaseOffset;
madcowswe 16:52250d8d8fce 33
madcowswe 20:70d651156779 34 extern bool Kalman_inited;
madcowswe 16:52250d8d8fce 35
madcowswe 16:52250d8d8fce 36 //Initialises the kalman filter
madcowswe 16:52250d8d8fce 37 void KalmanInit();
madcowswe 16:52250d8d8fce 38
madcowswe 16:52250d8d8fce 39 }
madcowswe 16:52250d8d8fce 40
madcowswe 16:52250d8d8fce 41 #endif //KALMAN_H