Eurobot2012_Primary

Dependencies:   mbed Eurobot_2012_Primary

Committer:
narshu
Date:
Sat Apr 28 19:39:08 2012 +0000
Revision:
13:57ea4e520dbd
Parent:
9:377560539b74
Child:
15:acae5c0e9ca8
PID tuned. Modified ai signalling logic at target location.

Who changed what in which revision?

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