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 DigitCode by
main.cpp@2:03518f08ccc0, 2015-06-11 (annotated)
- Committer:
- pierrick
- Date:
- Thu Jun 11 07:50:16 2015 +0000
- Revision:
- 2:03518f08ccc0
- Parent:
- 1:0f2ba28c2e70
digicode
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Ridaz | 0:163dfb02ed36 | 1 | #include "mbed.h" |
| Ridaz | 0:163dfb02ed36 | 2 | #include "fonction.h" |
| pierrick | 2:03518f08ccc0 | 3 | DigitalOut myledred(p21); |
| pierrick | 2:03518f08ccc0 | 4 | DigitalOut myledred2(p22); |
| pierrick | 2:03518f08ccc0 | 5 | DigitalOut myledgreen(p23); |
| Ridaz | 0:163dfb02ed36 | 6 | BusIn bus(p19, p18,p17,p16,p15,p14,p13,p12,p11,p10,p9,p8); |
| Ridaz | 0:163dfb02ed36 | 7 | int etat = 0; |
| Ridaz | 0:163dfb02ed36 | 8 | int code[] = {1, 2, 3, 4}; |
| Ridaz | 0:163dfb02ed36 | 9 | int nPrecedent = -3; |
| Ridaz | 0:163dfb02ed36 | 10 | int n = -3; |
| Ridaz | 0:163dfb02ed36 | 11 | int main() |
| Ridaz | 0:163dfb02ed36 | 12 | { |
| Ridaz | 0:163dfb02ed36 | 13 | while(1) { |
| Ridaz | 0:163dfb02ed36 | 14 | nPrecedent = n; |
| Ridaz | 0:163dfb02ed36 | 15 | n = bus.read(); |
| Ridaz | 0:163dfb02ed36 | 16 | n = bitToInt(n); |
| Ridaz | 0:163dfb02ed36 | 17 | switch (etat) { |
| Ridaz | 0:163dfb02ed36 | 18 | case ETAT0: |
| pierrick | 2:03518f08ccc0 | 19 | myledred = 1; |
| pierrick | 2:03518f08ccc0 | 20 | myledred2 = 0; |
| pierrick | 2:03518f08ccc0 | 21 | myledgreen = 0; |
| Ridaz | 0:163dfb02ed36 | 22 | if (n == code[0] && nPrecedent == -3 ) { |
| Ridaz | 0:163dfb02ed36 | 23 | etat = NB1; |
| Ridaz | 1:0f2ba28c2e70 | 24 | |
| Ridaz | 0:163dfb02ed36 | 25 | wait(0.2); |
| Ridaz | 0:163dfb02ed36 | 26 | } |
| Ridaz | 0:163dfb02ed36 | 27 | break; |
| Ridaz | 0:163dfb02ed36 | 28 | |
| Ridaz | 0:163dfb02ed36 | 29 | case NB1: |
| pierrick | 2:03518f08ccc0 | 30 | myledred = 0; |
| pierrick | 2:03518f08ccc0 | 31 | myledred2 = 0; |
| pierrick | 2:03518f08ccc0 | 32 | myledgreen = 0; |
| Ridaz | 0:163dfb02ed36 | 33 | if (n == code[1] && nPrecedent == -3) { |
| Ridaz | 0:163dfb02ed36 | 34 | etat = NB2; |
| pierrick | 2:03518f08ccc0 | 35 | myledred = 0; |
| Ridaz | 0:163dfb02ed36 | 36 | wait(0.2); |
| Ridaz | 0:163dfb02ed36 | 37 | } else if (n != -3) |
| Ridaz | 1:0f2ba28c2e70 | 38 | etat = ERREUR; |
| Ridaz | 0:163dfb02ed36 | 39 | break; |
| Ridaz | 0:163dfb02ed36 | 40 | |
| Ridaz | 0:163dfb02ed36 | 41 | case NB2: |
| Ridaz | 0:163dfb02ed36 | 42 | if (n == code[2] && nPrecedent == -3 ) { |
| Ridaz | 0:163dfb02ed36 | 43 | etat = NB3; |
| Ridaz | 0:163dfb02ed36 | 44 | wait(0.2); |
| Ridaz | 0:163dfb02ed36 | 45 | } |
| Ridaz | 0:163dfb02ed36 | 46 | |
| Ridaz | 0:163dfb02ed36 | 47 | else if (n != -3) |
| Ridaz | 1:0f2ba28c2e70 | 48 | etat = ERREUR; |
| Ridaz | 0:163dfb02ed36 | 49 | break; |
| Ridaz | 0:163dfb02ed36 | 50 | |
| Ridaz | 0:163dfb02ed36 | 51 | case NB3: |
| Ridaz | 0:163dfb02ed36 | 52 | if (n == code[3] && nPrecedent == -3) { |
| Ridaz | 0:163dfb02ed36 | 53 | etat = FINAL; |
| Ridaz | 0:163dfb02ed36 | 54 | wait(0.2); |
| Ridaz | 0:163dfb02ed36 | 55 | } else if (n != -3) |
| Ridaz | 1:0f2ba28c2e70 | 56 | etat = ERREUR; |
| Ridaz | 0:163dfb02ed36 | 57 | break; |
| Ridaz | 0:163dfb02ed36 | 58 | |
| Ridaz | 0:163dfb02ed36 | 59 | case FINAL: |
| Ridaz | 0:163dfb02ed36 | 60 | etat = ETAT0; |
| pierrick | 2:03518f08ccc0 | 61 | myledred2 = 1; |
| Ridaz | 0:163dfb02ed36 | 62 | wait(5); |
| Ridaz | 0:163dfb02ed36 | 63 | break; |
| Ridaz | 1:0f2ba28c2e70 | 64 | case ERREUR: |
| pierrick | 2:03518f08ccc0 | 65 | myledgreen = 1; |
| Ridaz | 1:0f2ba28c2e70 | 66 | wait(1); |
| pierrick | 2:03518f08ccc0 | 67 | myledred2 = 0; |
| Ridaz | 1:0f2ba28c2e70 | 68 | etat = ETAT0; |
| Ridaz | 0:163dfb02ed36 | 69 | } |
| Ridaz | 0:163dfb02ed36 | 70 | printf("etat = %d | n = %d | nPrecedent = %d\n", etat, n, nPrecedent); |
| Ridaz | 0:163dfb02ed36 | 71 | } |
| Ridaz | 0:163dfb02ed36 | 72 | } |
