DuckieTownCarHS
Dependencies: TCS3200 X_NUCLEO_IKS01A2 mbed-rtos mbed
Fork of DuckieTownCar by
main.cpp@0:65ecca01ac5c, 2017-02-15 (annotated)
- Committer:
- deangelis1993
- Date:
- Wed Feb 15 13:27:01 2017 +0000
- Revision:
- 0:65ecca01ac5c
DuckiTownCar first version for virtualization of machine
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
deangelis1993 | 0:65ecca01ac5c | 1 | #include "mbed.h" |
deangelis1993 | 0:65ecca01ac5c | 2 | #include "rtos.h" |
deangelis1993 | 0:65ecca01ac5c | 3 | #include "DuckieTownCar.h" |
deangelis1993 | 0:65ecca01ac5c | 4 | |
deangelis1993 | 0:65ecca01ac5c | 5 | /* |
deangelis1993 | 0:65ecca01ac5c | 6 | * Utilizzo il RTOS-MBED! perchè? |
deangelis1993 | 0:65ecca01ac5c | 7 | * Perchè ho la necessità di avere le info dai sensori senza essere bloccante |
deangelis1993 | 0:65ecca01ac5c | 8 | */ |
deangelis1993 | 0:65ecca01ac5c | 9 | |
deangelis1993 | 0:65ecca01ac5c | 10 | DuckieTownCar* car = DuckieTownCar::getInstance(); |
deangelis1993 | 0:65ecca01ac5c | 11 | |
deangelis1993 | 0:65ecca01ac5c | 12 | Mutex car_mutex; |
deangelis1993 | 0:65ecca01ac5c | 13 | |
deangelis1993 | 0:65ecca01ac5c | 14 | void update_car(void const *args){ |
deangelis1993 | 0:65ecca01ac5c | 15 | car_mutex.lock(); |
deangelis1993 | 0:65ecca01ac5c | 16 | car->updateStateCar(); |
deangelis1993 | 0:65ecca01ac5c | 17 | car_mutex.unlock(); |
deangelis1993 | 0:65ecca01ac5c | 18 | } |
deangelis1993 | 0:65ecca01ac5c | 19 | |
deangelis1993 | 0:65ecca01ac5c | 20 | int main(){ |
deangelis1993 | 0:65ecca01ac5c | 21 | Thread th_update(update_car); |
deangelis1993 | 0:65ecca01ac5c | 22 | car_mutex.lock(); |
deangelis1993 | 0:65ecca01ac5c | 23 | car->initCarSensor(); |
deangelis1993 | 0:65ecca01ac5c | 24 | car_mutex.unlock(); |
deangelis1993 | 0:65ecca01ac5c | 25 | |
deangelis1993 | 0:65ecca01ac5c | 26 | car->executeRandom(); |
deangelis1993 | 0:65ecca01ac5c | 27 | return 0; |
deangelis1993 | 0:65ecca01ac5c | 28 | } |