Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of Repo_Noeud_Mobile by
main.cpp@7:ce6e58c5a119, 2015-03-05 (annotated)
- 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?
User | Revision | Line number | New 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 |