ai

Committer:
narshu
Date:
Thu Apr 26 19:59:10 2012 +0000
Revision:
0:8ad510cbb76c

        

Who changed what in which revision?

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