lab4

Dependencies:   4DGL-uLCD-SE mbed-rtos mbed

Committer:
sim91
Date:
Fri Mar 27 20:06:50 2015 +0000
Revision:
4:403b2f7060c4
Parent:
3:8bef7af1ba84
Commit on Mar 27, 15

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sheldonfernandes2404 3:8bef7af1ba84 1 #include "head.h"
sheldonfernandes2404 0:fcc91e110a28 2
sheldonfernandes2404 3:8bef7af1ba84 3 void start();
sheldonfernandes2404 3:8bef7af1ba84 4 void forward(void const *args);
sheldonfernandes2404 3:8bef7af1ba84 5 void steering(void const *args);
sheldonfernandes2404 3:8bef7af1ba84 6 void obstacle(void const *args);
sheldonfernandes2404 0:fcc91e110a28 7
sheldonfernandes2404 0:fcc91e110a28 8 int main(void)
sheldonfernandes2404 0:fcc91e110a28 9 {
sheldonfernandes2404 3:8bef7af1ba84 10 start();
sheldonfernandes2404 2:437fc6e9a1c3 11
sheldonfernandes2404 2:437fc6e9a1c3 12 while(timer);
sheldonfernandes2404 2:437fc6e9a1c3 13
sheldonfernandes2404 0:fcc91e110a28 14 Thread thread1(steering);
sheldonfernandes2404 0:fcc91e110a28 15 Thread thread2(obstacle);
sim91 1:070b617f00f3 16 Thread thread3(forward);
sheldonfernandes2404 0:fcc91e110a28 17
sheldonfernandes2404 0:fcc91e110a28 18 while (1) {
sheldonfernandes2404 0:fcc91e110a28 19 stdio_mutex.lock();
sheldonfernandes2404 0:fcc91e110a28 20 int wait=450*force;
sheldonfernandes2404 0:fcc91e110a28 21 lcd.locate(13,0);
sheldonfernandes2404 0:fcc91e110a28 22 lcd.printf("%d",--count);
sheldonfernandes2404 0:fcc91e110a28 23
sheldonfernandes2404 0:fcc91e110a28 24 Thread::wait(600-wait);
sheldonfernandes2404 0:fcc91e110a28 25 if(count==0) {
sim91 1:070b617f00f3 26 lcd.cls();
sheldonfernandes2404 0:fcc91e110a28 27 lcd.locate(1,8);
sheldonfernandes2404 0:fcc91e110a28 28 lcd.printf("Congrats You win!");
sheldonfernandes2404 0:fcc91e110a28 29 exit(0);
sheldonfernandes2404 0:fcc91e110a28 30 }
sheldonfernandes2404 0:fcc91e110a28 31 stdio_mutex.unlock();
sheldonfernandes2404 0:fcc91e110a28 32 }
sheldonfernandes2404 0:fcc91e110a28 33 }