2014 Eurobot fork

Dependencies:   mbed-rtos mbed QEI

Processes/Kalman/Kalman.h

Committer:
madcowswe
Date:
2013-04-09
Revision:
21:167dacfe0b14
Parent:
20:70d651156779
Child:
22:6e3218cf75f8

File content as of revision 21:167dacfe0b14:

#ifndef KALMAN_H
#define KALMAN_H

//#include "globals.h"
#include "rtos.h"

namespace Kalman
{

typedef struct State {
    float x;
    float y;
    float theta;
} State ;

//Accessor function to get the state as one consistent struct
State getState();

//Main loops (to be attached as a thread in main)
void predictloop(void const*);
void updateloop(void const*);

void start_predict_ticker(Thread* predict_thread_ptr_in);

enum measurement_t {SONAR0 = 0, SONAR1, SONAR2, IR0, IR1, IR2};
const measurement_t maxmeasure = IR2;

//Call this to run an update
void runupdate(measurement_t type, float value, float variance);

extern float RawReadings[maxmeasure+1];
extern float IRpahseOffset;

extern bool Kalman_inited;

//Initialises the kalman filter
void KalmanInit();

}

#endif //KALMAN_H