michael hollegha
/
B16Test4
B16 Ping Pong Blink
B17_PingPong2.cpp@0:e86913f987fa, 2017-10-09 (annotated)
- Committer:
- hollegha3
- Date:
- Mon Oct 09 08:00:53 2017 +0000
- Revision:
- 0:e86913f987fa
B16 Ping Pong Blink
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
hollegha3 | 0:e86913f987fa | 1 | |
hollegha3 | 0:e86913f987fa | 2 | #include "mbed.h" |
hollegha3 | 0:e86913f987fa | 3 | #include "Bertl16.h" |
hollegha3 | 0:e86913f987fa | 4 | |
hollegha3 | 0:e86913f987fa | 5 | void ForewardUntilWall(); |
hollegha3 | 0:e86913f987fa | 6 | |
hollegha3 | 0:e86913f987fa | 7 | void BackwardUntilWall(); |
hollegha3 | 0:e86913f987fa | 8 | |
hollegha3 | 0:e86913f987fa | 9 | int MultiCheckBtn(DigitalIn& aBtn); |
hollegha3 | 0:e86913f987fa | 10 | |
hollegha3 | 0:e86913f987fa | 11 | void FwBlinker(); |
hollegha3 | 0:e86913f987fa | 12 | void BwBlinker(); |
hollegha3 | 0:e86913f987fa | 13 | |
hollegha3 | 0:e86913f987fa | 14 | Timer t1; |
hollegha3 | 0:e86913f987fa | 15 | |
hollegha3 | 0:e86913f987fa | 16 | int main(void) |
hollegha3 | 0:e86913f987fa | 17 | { |
hollegha3 | 0:e86913f987fa | 18 | boardPow=1; |
hollegha3 | 0:e86913f987fa | 19 | AllLedsOff(); |
hollegha3 | 0:e86913f987fa | 20 | t1.start(); |
hollegha3 | 0:e86913f987fa | 21 | |
hollegha3 | 0:e86913f987fa | 22 | while( !MultiCheckBtn(BtnFM) ) |
hollegha3 | 0:e86913f987fa | 23 | { |
hollegha3 | 0:e86913f987fa | 24 | } |
hollegha3 | 0:e86913f987fa | 25 | |
hollegha3 | 0:e86913f987fa | 26 | while(1) |
hollegha3 | 0:e86913f987fa | 27 | { |
hollegha3 | 0:e86913f987fa | 28 | // BtnTest(); |
hollegha3 | 0:e86913f987fa | 29 | ForewardUntilWall(); |
hollegha3 | 0:e86913f987fa | 30 | BackwardUntilWall(); |
hollegha3 | 0:e86913f987fa | 31 | } |
hollegha3 | 0:e86913f987fa | 32 | |
hollegha3 | 0:e86913f987fa | 33 | return 1; |
hollegha3 | 0:e86913f987fa | 34 | } |
hollegha3 | 0:e86913f987fa | 35 | |
hollegha3 | 0:e86913f987fa | 36 | |
hollegha3 | 0:e86913f987fa | 37 | void ForewardUntilWall() |
hollegha3 | 0:e86913f987fa | 38 | { |
hollegha3 | 0:e86913f987fa | 39 | LedFL1 = LedFR1 = 0; |
hollegha3 | 0:e86913f987fa | 40 | mL.SetPow(0.3); mR.SetPow(0.3); |
hollegha3 | 0:e86913f987fa | 41 | while( 1 ) |
hollegha3 | 0:e86913f987fa | 42 | { |
hollegha3 | 0:e86913f987fa | 43 | if( MultiCheckBtn(BtnFM) || MultiCheckBtn(BtnFL) || MultiCheckBtn(BtnFR) ) |
hollegha3 | 0:e86913f987fa | 44 | break; |
hollegha3 | 0:e86913f987fa | 45 | FwBlinker(); |
hollegha3 | 0:e86913f987fa | 46 | } |
hollegha3 | 0:e86913f987fa | 47 | mL.SetPow(0.0); mR.SetPow(0.0); |
hollegha3 | 0:e86913f987fa | 48 | LedFL1 = LedFR1 = 1; |
hollegha3 | 0:e86913f987fa | 49 | } |
hollegha3 | 0:e86913f987fa | 50 | |
hollegha3 | 0:e86913f987fa | 51 | void FwBlinker() |
hollegha3 | 0:e86913f987fa | 52 | { |
hollegha3 | 0:e86913f987fa | 53 | if( t1.read_ms()<100 ) |
hollegha3 | 0:e86913f987fa | 54 | return; |
hollegha3 | 0:e86913f987fa | 55 | t1.reset(); |
hollegha3 | 0:e86913f987fa | 56 | LedFL1 = !LedFL1; |
hollegha3 | 0:e86913f987fa | 57 | LedFR1 = !LedFR1; |
hollegha3 | 0:e86913f987fa | 58 | } |
hollegha3 | 0:e86913f987fa | 59 | |
hollegha3 | 0:e86913f987fa | 60 | void BackwardUntilWall() |
hollegha3 | 0:e86913f987fa | 61 | { |
hollegha3 | 0:e86913f987fa | 62 | LedBL1 = LedBR1 = 0; |
hollegha3 | 0:e86913f987fa | 63 | mL.SetPow(-0.3); mR.SetPow(-0.3); |
hollegha3 | 0:e86913f987fa | 64 | while( 1 ) |
hollegha3 | 0:e86913f987fa | 65 | { |
hollegha3 | 0:e86913f987fa | 66 | if( MultiCheckBtn(BtnBL) || MultiCheckBtn(BtnBM) || MultiCheckBtn(BtnBR) ) |
hollegha3 | 0:e86913f987fa | 67 | break; |
hollegha3 | 0:e86913f987fa | 68 | BwBlinker(); |
hollegha3 | 0:e86913f987fa | 69 | } |
hollegha3 | 0:e86913f987fa | 70 | mL.SetPow(0.0); mR.SetPow(0.0); |
hollegha3 | 0:e86913f987fa | 71 | LedBL1 = LedBR1 = 1; |
hollegha3 | 0:e86913f987fa | 72 | } |
hollegha3 | 0:e86913f987fa | 73 | |
hollegha3 | 0:e86913f987fa | 74 | void BwBlinker() |
hollegha3 | 0:e86913f987fa | 75 | { |
hollegha3 | 0:e86913f987fa | 76 | if( t1.read_ms()<100 ) |
hollegha3 | 0:e86913f987fa | 77 | return; |
hollegha3 | 0:e86913f987fa | 78 | t1.reset(); |
hollegha3 | 0:e86913f987fa | 79 | LedBL1 = !LedBL1; |
hollegha3 | 0:e86913f987fa | 80 | LedBR1 = !LedBR1; |
hollegha3 | 0:e86913f987fa | 81 | } |
hollegha3 | 0:e86913f987fa | 82 | |
hollegha3 | 0:e86913f987fa | 83 | |
hollegha3 | 0:e86913f987fa | 84 | int MultiCheckBtn(DigitalIn& aBtn) |
hollegha3 | 0:e86913f987fa | 85 | { |
hollegha3 | 0:e86913f987fa | 86 | int cnt=0; |
hollegha3 | 0:e86913f987fa | 87 | for(int i=1; i<=10; i++) |
hollegha3 | 0:e86913f987fa | 88 | { |
hollegha3 | 0:e86913f987fa | 89 | if( aBtn.read()==0 ) |
hollegha3 | 0:e86913f987fa | 90 | cnt++; |
hollegha3 | 0:e86913f987fa | 91 | } |
hollegha3 | 0:e86913f987fa | 92 | if( cnt>=10 ) |
hollegha3 | 0:e86913f987fa | 93 | return 1; |
hollegha3 | 0:e86913f987fa | 94 | return 0; |
hollegha3 | 0:e86913f987fa | 95 | } |
hollegha3 | 0:e86913f987fa | 96 | |
hollegha3 | 0:e86913f987fa | 97 | |
hollegha3 | 0:e86913f987fa | 98 | |
hollegha3 | 0:e86913f987fa | 99 | |
hollegha3 | 0:e86913f987fa | 100 | |
hollegha3 | 0:e86913f987fa | 101 | |
hollegha3 | 0:e86913f987fa | 102 | |
hollegha3 | 0:e86913f987fa | 103 | |
hollegha3 | 0:e86913f987fa | 104 | |
hollegha3 | 0:e86913f987fa | 105 | |
hollegha3 | 0:e86913f987fa | 106 | |
hollegha3 | 0:e86913f987fa | 107 | |
hollegha3 | 0:e86913f987fa | 108 | |
hollegha3 | 0:e86913f987fa | 109 | |
hollegha3 | 0:e86913f987fa | 110 | |
hollegha3 | 0:e86913f987fa | 111 |