Projet_S5 / Mbed 2 deprecated Repo_Noeud_Mobile_refactor

Dependencies:   mbed-rtos mbed

Fork of Repo_Noeud_Mobile by Projet_S5

Committer:
llarose
Date:
Thu Mar 05 19:04:27 2015 +0000
Revision:
3:a77d02cb5694
Parent:
1:601d2922ff06
Child:
17:1a634bb615f3
CountDown, Cibles

Who changed what in which revision?

UserRevisionLine numberNew contents of line
llarose 1:601d2922ff06 1 #include "CountDown.h"
llarose 3:a77d02cb5694 2 Serial pc(USBTX, USBRX);
llarose 1:601d2922ff06 3 CountDown::CountDown(int time)
llarose 1:601d2922ff06 4 // initialisation list
llarose 1:601d2922ff06 5 : t(time>>2) /// division par 4 pour temps entre ch. LED.
llarose 1:601d2922ff06 6 {
llarose 3:a77d02cb5694 7 //pc.printf("constructor time %i \r\n", t);
llarose 1:601d2922ff06 8 led[0] = new DigitalOut(LED1);
llarose 1:601d2922ff06 9 led[1] = new DigitalOut(LED2);
llarose 1:601d2922ff06 10 led[2] = new DigitalOut(LED3);
llarose 1:601d2922ff06 11 led[3] = new DigitalOut(LED4);
llarose 1:601d2922ff06 12
llarose 1:601d2922ff06 13 }
llarose 1:601d2922ff06 14
llarose 1:601d2922ff06 15 CountDown::~CountDown()
llarose 1:601d2922ff06 16 {
llarose 1:601d2922ff06 17 for(int i(0); i<NBRE_LED; i++){
llarose 1:601d2922ff06 18 delete led[i];
llarose 1:601d2922ff06 19 }
llarose 1:601d2922ff06 20 }
llarose 1:601d2922ff06 21
llarose 1:601d2922ff06 22 bool CountDown::run()
llarose 1:601d2922ff06 23 {
llarose 1:601d2922ff06 24 int j(NBRE_LED);
llarose 1:601d2922ff06 25
llarose 1:601d2922ff06 26 for(int i(0); i<j ; i++){ // ALL ON.
llarose 1:601d2922ff06 27 led[i]->write(1);
llarose 1:601d2922ff06 28 }
llarose 3:a77d02cb5694 29
llarose 1:601d2922ff06 30 while(j) // Actual CountDown.
llarose 1:601d2922ff06 31 {
llarose 3:a77d02cb5694 32 j--;
llarose 3:a77d02cb5694 33 pc.printf("run\r\n");
llarose 1:601d2922ff06 34 Thread::wait(t);
llarose 3:a77d02cb5694 35 pc.printf("after wait \r\n");
llarose 3:a77d02cb5694 36 led[j]->write(0);
llarose 1:601d2922ff06 37 }
llarose 1:601d2922ff06 38
llarose 3:a77d02cb5694 39 for(int u(0); u < NBRE_LED; u++) // Flashing State
llarose 1:601d2922ff06 40 {
llarose 1:601d2922ff06 41 Thread::wait(100);
llarose 1:601d2922ff06 42 for(int i(0); i<NBRE_LED ; i++){
llarose 1:601d2922ff06 43 led[i]->write(u%2);
llarose 1:601d2922ff06 44 }
llarose 1:601d2922ff06 45 }
llarose 1:601d2922ff06 46
llarose 1:601d2922ff06 47 return true;
llarose 1:601d2922ff06 48 }