DP
Dependencies: FastAnalogIn mbed-rtos mbed
main.cpp@0:f3b355df6f26, 2015-04-26 (annotated)
- Committer:
- romankrej
- Date:
- Sun Apr 26 13:14:02 2015 +0000
- Revision:
- 0:f3b355df6f26
Diplomova prace 2015
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
romankrej | 0:f3b355df6f26 | 1 | #include "mbed.h" |
romankrej | 0:f3b355df6f26 | 2 | #include "rtos.h" |
romankrej | 0:f3b355df6f26 | 3 | #include "threads.h" |
romankrej | 0:f3b355df6f26 | 4 | #include "ultrasonic.h" |
romankrej | 0:f3b355df6f26 | 5 | #include "ledsensor.h" |
romankrej | 0:f3b355df6f26 | 6 | #include "can.h" |
romankrej | 0:f3b355df6f26 | 7 | #include "control.h" |
romankrej | 0:f3b355df6f26 | 8 | #include "print.h" |
romankrej | 0:f3b355df6f26 | 9 | |
romankrej | 0:f3b355df6f26 | 10 | |
romankrej | 0:f3b355df6f26 | 11 | int main() { |
romankrej | 0:f3b355df6f26 | 12 | Thread threadInit(initThread,NULL,osPriorityHigh); |
romankrej | 0:f3b355df6f26 | 13 | |
romankrej | 0:f3b355df6f26 | 14 | Thread threadUs(usThread,NULL,osPriorityHigh); |
romankrej | 0:f3b355df6f26 | 15 | Thread threadLaser(laserThread,NULL,osPriorityHigh); |
romankrej | 0:f3b355df6f26 | 16 | |
romankrej | 0:f3b355df6f26 | 17 | if(sensor == ULTRA) { |
romankrej | 0:f3b355df6f26 | 18 | threadLaser.terminate(); |
romankrej | 0:f3b355df6f26 | 19 | } |
romankrej | 0:f3b355df6f26 | 20 | if(sensor == LASER) |
romankrej | 0:f3b355df6f26 | 21 | threadUs.terminate(); |
romankrej | 0:f3b355df6f26 | 22 | |
romankrej | 0:f3b355df6f26 | 23 | |
romankrej | 0:f3b355df6f26 | 24 | Thread threadSync(syncThread,NULL,osPriorityNormal); |
romankrej | 0:f3b355df6f26 | 25 | pc.log("Vytvoreno vlakno synchronizace"); |
romankrej | 0:f3b355df6f26 | 26 | |
romankrej | 0:f3b355df6f26 | 27 | Thread threadControl(controlThread,NULL,osPriorityHigh); |
romankrej | 0:f3b355df6f26 | 28 | pc.log("Vytvoreno vlakno pro rizeni"); |
romankrej | 0:f3b355df6f26 | 29 | |
romankrej | 0:f3b355df6f26 | 30 | Thread threadCollect(collectThread,NULL,osPriorityHigh); |
romankrej | 0:f3b355df6f26 | 31 | pc.log("Vytvoreno vlakno pro sber dat"); |
romankrej | 0:f3b355df6f26 | 32 | |
romankrej | 0:f3b355df6f26 | 33 | Thread threadPrint(printThread,NULL,osPriorityLow); |
romankrej | 0:f3b355df6f26 | 34 | pc.log("Vytvoreno vlakno pro vypis"); |
romankrej | 0:f3b355df6f26 | 35 | |
romankrej | 0:f3b355df6f26 | 36 | Thread threadLed(ledThread,NULL,osPriorityHigh); |
romankrej | 0:f3b355df6f26 | 37 | pc.log("Vytvoreno vlakno pro zobrazeni stavu programu"); |
romankrej | 0:f3b355df6f26 | 38 | |
romankrej | 0:f3b355df6f26 | 39 | butOff.rise(&stopProg); |
romankrej | 0:f3b355df6f26 | 40 | us100.thread = &threadCollect; |
romankrej | 0:f3b355df6f26 | 41 | baumer.thread = &threadCollect; |
romankrej | 0:f3b355df6f26 | 42 | can.thread = &threadCollect; |
romankrej | 0:f3b355df6f26 | 43 | |
romankrej | 0:f3b355df6f26 | 44 | Thread::wait(osWaitForever); |
romankrej | 0:f3b355df6f26 | 45 | } |