ICRS Eurobot 2013

Dependencies:   mbed mbed-rtos Servo QEI

Processes/Kalman/Kalman.h

Committer:
madcowswe
Date:
2013-04-09
Revision:
20:70d651156779
Parent:
19:4b993a9a156e

File content as of revision 20:70d651156779:

#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 *dummy);
void updateloop(void const *dummy);

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