Eurobot2012_Primary

Dependencies:   mbed Eurobot_2012_Primary

Committer:
narshu
Date:
Fri May 04 05:23:45 2012 +0000
Revision:
24:7a3906c2f5d5
1st working version with accurate target acquisition.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
narshu 24:7a3906c2f5d5 1 #ifndef AI_H
narshu 24:7a3906c2f5d5 2 #define AI_H
narshu 24:7a3906c2f5d5 3
narshu 24:7a3906c2f5d5 4 #include "rtos.h"
narshu 24:7a3906c2f5d5 5 //#include "Kalman.h"
narshu 24:7a3906c2f5d5 6
narshu 24:7a3906c2f5d5 7 class AI {
narshu 24:7a3906c2f5d5 8 public:
narshu 24:7a3906c2f5d5 9 AI();
narshu 24:7a3906c2f5d5 10
narshu 24:7a3906c2f5d5 11 Mutex targetlock;
narshu 24:7a3906c2f5d5 12 Thread thr_AI;
narshu 24:7a3906c2f5d5 13
narshu 24:7a3906c2f5d5 14 struct Target {
narshu 24:7a3906c2f5d5 15 float x;
narshu 24:7a3906c2f5d5 16 float y;
narshu 24:7a3906c2f5d5 17 float theta;
narshu 24:7a3906c2f5d5 18 bool facing;
narshu 24:7a3906c2f5d5 19 bool reached;
narshu 24:7a3906c2f5d5 20 } target;
narshu 24:7a3906c2f5d5 21
narshu 24:7a3906c2f5d5 22 void settarget(float targetX, float targetY, float targetTheta, bool targetfacing = true, bool colour = true, int maxSpeed = 35);
narshu 24:7a3906c2f5d5 23 void settarget(Target);
narshu 24:7a3906c2f5d5 24 Target gettarget();
narshu 24:7a3906c2f5d5 25
narshu 24:7a3906c2f5d5 26 bool flag_terminate;// = false;
narshu 24:7a3906c2f5d5 27 bool flag_motorStop; // = true;
narshu 24:7a3906c2f5d5 28 bool flag_manOverride; // = false;
narshu 24:7a3906c2f5d5 29
narshu 24:7a3906c2f5d5 30 private:
narshu 24:7a3906c2f5d5 31
narshu 24:7a3906c2f5d5 32 void ai_thread ();
narshu 24:7a3906c2f5d5 33 static void aithreadwrapper(void const *arg){ ((AI*)arg)->ai_thread(); }
narshu 24:7a3906c2f5d5 34
narshu 24:7a3906c2f5d5 35 };
narshu 24:7a3906c2f5d5 36
narshu 24:7a3906c2f5d5 37 #endif //AI_H