ai
ai.cpp
- Committer:
- narshu
- Date:
- 2012-04-26
- Revision:
- 0:8ad510cbb76c
File content as of revision 0:8ad510cbb76c:
#include "ai.h" #include "rtos.h" #include "globals.h" AI::AI() : thr_AI(aithreadwrapper,this,osPriorityNormal,1024) { flag_terminate = false; //printf("aistart\r\n"); } void AI::settarget(float targetX, float targetY, float targetTheta, bool targetfacing){ targetlock.lock(); target.x = targetX; target.y = targetY; target.theta = targetTheta; target.facing = targetfacing; targetlock.unlock(); } void AI::settarget(Target targetin){ targetlock.lock(); target = targetin; targetlock.unlock(); } AI::Target AI::gettarget(){ targetlock.lock(); Target temptarget = target; targetlock.unlock(); return temptarget; } void AI::ai_thread () { /* //printf("aithreadstart\r\n"); Thread::signal_wait(0x01); settarget(660, 400, PI/2, true); Thread::signal_wait(0x01); settarget(660, 570, PI, true); Thread::signal_wait(0x01); settarget(400, 870, PI, true); Thread::signal_wait(0x01); settarget(660, 870, PI, false); flag_terminate = true; */ // goes to the mid Thread::signal_wait(0x01); settarget(1500, 1000, PI/2, true); // left roll Thread::signal_wait(0x01); settarget(500, 1700, PI/2, true); // mid Thread::signal_wait(0x01); settarget(1500, 1000, PI/2, true); // map Thread::signal_wait(0x01); settarget(1500, 1700, PI/2, true); // mid Thread::signal_wait(0x01); settarget(1500, 1000, -PI/2, true); // home Thread::signal_wait(0x01); settarget(500, 500, 0, true); Thread::signal_wait(0x01); flag_terminate = true; //OLED3 = true; while (true) { Thread::wait(osWaitForever); } }