Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp
- Committer:
- shimogamo
- Date:
- 2015-11-26
- Revision:
- 10:0a4bf8c82493
- Parent:
- 9:d1fc0805ec7d
- Child:
- 11:af917eb0e624
File content as of revision 10:0a4bf8c82493:
//@todo timerの精度の確認 //@todo Initのコマンドモード化 //@todo ソフトウェアシリアルの確認等 //@todo androidとの通信 //@todo xbeeとの通信 //@todo 高度計の追加 #include "mbed.h" #include "rtos.h" #include "Global.h" #include "Init.h" #include "ServoManager.h" #include "ControllerManager.h" #include "Trim.h" #include "Cadence.h" #include "Airspeed.h" #include "Altitude.h" #include "Display.h" #include "XBee.h" RawSerial pc(USBTX, USBRX); Display display(p9, p10); XBee xbee(p13, p14); Trim trim(p16, p17); ControllerManager controllerManager(p18,p19,p20); ServoManager servoManager(p21, p22); Airspeed airspeed(p26, NC, NC); Cadence cadence(p29, p30, NC); void pc_rx(){ while(pc.readable()==1){ //コマンドモードのon,offはここに入れる char buf = (char)pc.getc(); Global::queue.put((char*)buf); } } void initializeTask(void const *pvParameters){ while(1){ Init::getSerial(); } } void controlTask(void const *pvParameters){ while(1){ //この中でprintfはしないほうがいいみたい(9600bpsだと遅延が起こります) trim.update(); controllerManager.update(); servoManager.update(); Thread::wait(50); } } void airspeedTask(void const *pvParameters){ while(1){ airspeed.update(); Thread::wait(500); } } void cadenceTask(void const *pvParameters){ while(1){ cadence.update(); Thread::wait(500); } } void displayTask(void const *pvParameters){ while(1){ display.update(); Thread::wait(100); } } void xbeeTask(void const *pvParameters){ while(1){ xbee.update(); Thread::wait(500); } } int main(void){ printf("start\n"); pc.attach(pc_rx,Serial::RxIrq); Global::initialize(); Thread InitializeTask(initializeTask); Thread ControlTask(controlTask, NULL, osPriorityRealtime); Thread AirspeedTask(airspeedTask); Thread CadenceTask(cadenceTask); Thread DisplayTask(displayTask); Thread XbeeTask(xbeeTask); printf("Task end\n"); Thread::wait(osWaitForever); }