Projet_S5 / Mbed 2 deprecated Repo_Noeud_Mobile_refactor

Dependencies:   mbed-rtos mbed

Fork of Repo_Noeud_Mobile by Projet_S5

Committer:
groygirard
Date:
Thu Mar 05 19:25:05 2015 +0000
Revision:
7:ce6e58c5a119
Parent:
5:2b539028e5a9
Parent:
6:fd1bf5563299
Child:
8:51f6c8f59449
Merge

Who changed what in which revision?

UserRevisionLine numberNew contents of line
llarose 1:601d2922ff06 1 /* S5 Projet - Conception d'un systeme embarque reseaute
llarose 1:601d2922ff06 2 * main.cpp
groygirard 6:fd1bf5563299 3 *
llarose 1:601d2922ff06 4 * @author Equipe de projet 2
groygirard 6:fd1bf5563299 5 *
llarose 1:601d2922ff06 6 */
groygirard 6:fd1bf5563299 7
groygirard 6:fd1bf5563299 8 // System libraries
llarose 1:601d2922ff06 9 #include "mbed.h"
llarose 1:601d2922ff06 10 #include "rtos.h"
groygirard 6:fd1bf5563299 11
groygirard 6:fd1bf5563299 12 // Proprietary libraries
groygirard 6:fd1bf5563299 13 #include "CountDown.h"
llarose 1:601d2922ff06 14 #include "FlexSensor.h"
groygirard 7:ce6e58c5a119 15 <<<<<<< local
llarose 1:601d2922ff06 16 #include "CountDown.h"
llarose 3:a77d02cb5694 17 #include "Cible.h"
groygirard 7:ce6e58c5a119 18 =======
groygirard 6:fd1bf5563299 19 #include "MMA8452Q.h"
groygirard 7:ce6e58c5a119 20 >>>>>>> other
llarose 1:601d2922ff06 21
llarose 1:601d2922ff06 22 #define GO 0x01
llarose 1:601d2922ff06 23
llarose 1:601d2922ff06 24 enum GameMode { GUNNER, RPS, AirGuitar};
llarose 1:601d2922ff06 25
groygirard 6:fd1bf5563299 26 //PROTOTYPES DE FONCTION
llarose 1:601d2922ff06 27 void gunner(void const* args);
llarose 1:601d2922ff06 28 void rps(void const* args);
llarose 1:601d2922ff06 29 void airGuitar(void const* args);
groygirard 6:fd1bf5563299 30 void accelTesting(void const* args);
llarose 1:601d2922ff06 31
llarose 1:601d2922ff06 32 FlexSensor index(DIGITAL, p15); // flex sensor 1.
llarose 1:601d2922ff06 33 FlexSensor majeur(DIGITAL, p16); // flex sensor 2.
llarose 1:601d2922ff06 34 FlexSensor annulaire(DIGITAL, p17); // flex sensor 3.
llarose 1:601d2922ff06 35 CountDown countDown;
groygirard 6:fd1bf5563299 36 Accel accel;
llarose 1:601d2922ff06 37
groygirard 6:fd1bf5563299 38 Thread* gunner_thread_ptr = NULL; // Possiblement mettre dans un tableau
groygirard 6:fd1bf5563299 39 Thread* rps_thread_ptr = NULL; // avec des position codees
groygirard 6:fd1bf5563299 40 Thread* airguitar_thread_ptr = NULL; // dans des define. guillaume
llarose 1:601d2922ff06 41
llarose 1:601d2922ff06 42 int main(void const* args)
llarose 1:601d2922ff06 43 {
groygirard 7:ce6e58c5a119 44 <<<<<<< local
llarose 3:a77d02cb5694 45 GameMode mode(GUNNER);
llarose 1:601d2922ff06 46 switch(mode)
llarose 1:601d2922ff06 47 {
groygirard 7:ce6e58c5a119 48 =======
groygirard 6:fd1bf5563299 49 // Initializing the accelerometer
groygirard 6:fd1bf5563299 50 accel = Accel();
groygirard 6:fd1bf5563299 51 accel.init_MMA8452();
groygirard 6:fd1bf5563299 52
groygirard 6:fd1bf5563299 53 RtosTimer sync(accelTesting, osTimerPeriodic, (void *)0);
groygirard 6:fd1bf5563299 54
groygirard 6:fd1bf5563299 55
llarose 1:601d2922ff06 56 GameMode mode = GUNNER;
llarose 1:601d2922ff06 57 countDown.run();
groygirard 6:fd1bf5563299 58 switch(mode) {
groygirard 7:ce6e58c5a119 59 >>>>>>> other
llarose 1:601d2922ff06 60 case GUNNER:
llarose 1:601d2922ff06 61 gunner_thread_ptr = new Thread(gunner);
llarose 1:601d2922ff06 62 break;
llarose 1:601d2922ff06 63 case RPS:
llarose 1:601d2922ff06 64 rps_thread_ptr = new Thread(rps);
llarose 1:601d2922ff06 65 break;
llarose 1:601d2922ff06 66 case AirGuitar:
llarose 1:601d2922ff06 67 airguitar_thread_ptr = new Thread(airGuitar);
llarose 1:601d2922ff06 68 break;
llarose 1:601d2922ff06 69 default:
llarose 1:601d2922ff06 70 break;
llarose 1:601d2922ff06 71 }
groygirard 7:ce6e58c5a119 72 <<<<<<< local
groygirard 5:2b539028e5a9 73 while(1){
groygirard 5:2b539028e5a9 74 }
groygirard 7:ce6e58c5a119 75 =======
groygirard 6:fd1bf5563299 76 sync.start(250);
groygirard 6:fd1bf5563299 77 while(1) {
groygirard 6:fd1bf5563299 78 }
groygirard 7:ce6e58c5a119 79 >>>>>>> other
llarose 1:601d2922ff06 80 }
llarose 1:601d2922ff06 81
llarose 1:601d2922ff06 82 void gunner(void const* args)
groygirard 7:ce6e58c5a119 83 <<<<<<< local
llarose 1:601d2922ff06 84 {
llarose 1:601d2922ff06 85 // local variables
llarose 3:a77d02cb5694 86 Cible* cible = new Cible();
llarose 3:a77d02cb5694 87 countDown.run();
llarose 1:601d2922ff06 88
llarose 1:601d2922ff06 89 while(true)
llarose 1:601d2922ff06 90 {
llarose 3:a77d02cb5694 91 // Thread::signal_wait(GO);
llarose 3:a77d02cb5694 92 cible->reset();
llarose 3:a77d02cb5694 93 int target = rand() % 3;
llarose 3:a77d02cb5694 94
llarose 3:a77d02cb5694 95 cible->set(target);
llarose 3:a77d02cb5694 96 countDown.run();
groygirard 7:ce6e58c5a119 97 =======
groygirard 6:fd1bf5563299 98 {
groygirard 6:fd1bf5563299 99 // local variables
groygirard 6:fd1bf5563299 100
groygirard 6:fd1bf5563299 101 while(true) {
llarose 1:601d2922ff06 102 Thread::signal_wait(GO);
llarose 1:601d2922ff06 103 // code...
groygirard 7:ce6e58c5a119 104 >>>>>>> other
llarose 1:601d2922ff06 105 }
llarose 1:601d2922ff06 106 }
llarose 1:601d2922ff06 107
llarose 1:601d2922ff06 108 void rps(void const* args)
llarose 1:601d2922ff06 109 {
groygirard 6:fd1bf5563299 110 // local variables
groygirard 6:fd1bf5563299 111
groygirard 6:fd1bf5563299 112 while(true) {
llarose 1:601d2922ff06 113 Thread::signal_wait(GO);
llarose 1:601d2922ff06 114 // code...
llarose 1:601d2922ff06 115 }
llarose 1:601d2922ff06 116 }
llarose 1:601d2922ff06 117
llarose 1:601d2922ff06 118 void airGuitar(void const* args)
llarose 1:601d2922ff06 119 {
groygirard 6:fd1bf5563299 120 // local variables
groygirard 6:fd1bf5563299 121
groygirard 6:fd1bf5563299 122 while(true) {
llarose 1:601d2922ff06 123 Thread::signal_wait(GO);
llarose 1:601d2922ff06 124 // code...
llarose 1:601d2922ff06 125 }
llarose 1:601d2922ff06 126 }
llarose 1:601d2922ff06 127
groygirard 6:fd1bf5563299 128 void accelTesting(void const* args)
groygirard 6:fd1bf5563299 129 {
groygirard 6:fd1bf5563299 130 accel.get_axis_values();
groygirard 6:fd1bf5563299 131 }
llarose 1:601d2922ff06 132