Christian Weiß
/
BertlTemplate4
BertlTemplate4
BertlPingPongDirection.cpp@0:7b2a14b523de, 2018-11-15 (annotated)
- Committer:
- Wizo
- Date:
- Thu Nov 15 17:50:36 2018 +0000
- Revision:
- 0:7b2a14b523de
BertlTemplate4
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Wizo | 0:7b2a14b523de | 1 | #include "mbed.h" |
Wizo | 0:7b2a14b523de | 2 | #include "Serial_HL.h" |
Wizo | 0:7b2a14b523de | 3 | #include "Bertl14.h" |
Wizo | 0:7b2a14b523de | 4 | #include "BertlObjects.h" |
Wizo | 0:7b2a14b523de | 5 | |
Wizo | 0:7b2a14b523de | 6 | // main=2^0 LS ENC 2^2 |
Wizo | 0:7b2a14b523de | 7 | BusOut boardPow(p30, P1_6, P1_7); |
Wizo | 0:7b2a14b523de | 8 | |
Wizo | 0:7b2a14b523de | 9 | // ls5 nur beim Betrl15 |
Wizo | 0:7b2a14b523de | 10 | // AnalogInHL ls1(p18), ls2(p16), ls3(p19), ls4(p17); // B14 |
Wizo | 0:7b2a14b523de | 11 | |
Wizo | 0:7b2a14b523de | 12 | //AnalogInHL ls1(p18), ls2(p16), ls3(p20), ls4(p19), ls5(p17); // B15 |
Wizo | 0:7b2a14b523de | 13 | //void ButonBlinker(); |
Wizo | 0:7b2a14b523de | 14 | |
Wizo | 0:7b2a14b523de | 15 | //void MotorTest (); |
Wizo | 0:7b2a14b523de | 16 | |
Wizo | 0:7b2a14b523de | 17 | //void BackW(); |
Wizo | 0:7b2a14b523de | 18 | void ForW(); |
Wizo | 0:7b2a14b523de | 19 | void Left(); |
Wizo | 0:7b2a14b523de | 20 | void Right(); |
Wizo | 0:7b2a14b523de | 21 | void BlinkTask(); |
Wizo | 0:7b2a14b523de | 22 | int direction = 0; //0= zurück, 1 = vorwärts |
Wizo | 0:7b2a14b523de | 23 | Timer t1; |
Wizo | 0:7b2a14b523de | 24 | |
Wizo | 0:7b2a14b523de | 25 | |
Wizo | 0:7b2a14b523de | 26 | |
Wizo | 0:7b2a14b523de | 27 | |
Wizo | 0:7b2a14b523de | 28 | |
Wizo | 0:7b2a14b523de | 29 | int main(void) |
Wizo | 0:7b2a14b523de | 30 | { |
Wizo | 0:7b2a14b523de | 31 | boardPow = 1; wait_ms(10); |
Wizo | 0:7b2a14b523de | 32 | InitBertl(); |
Wizo | 0:7b2a14b523de | 33 | pex.useISR = 0; leds = 9; |
Wizo | 0:7b2a14b523de | 34 | pex.ClearLeds(); |
Wizo | 0:7b2a14b523de | 35 | t1.start(); |
Wizo | 0:7b2a14b523de | 36 | pex.WaitUntilButtonPressed(); |
Wizo | 0:7b2a14b523de | 37 | while (1) |
Wizo | 0:7b2a14b523de | 38 | { |
Wizo | 0:7b2a14b523de | 39 | //ButonBlinker(); |
Wizo | 0:7b2a14b523de | 40 | //MotorTest (); |
Wizo | 0:7b2a14b523de | 41 | //BackW(); |
Wizo | 0:7b2a14b523de | 42 | //wait_ms(1000); |
Wizo | 0:7b2a14b523de | 43 | ForW(); |
Wizo | 0:7b2a14b523de | 44 | wait_ms(1000); |
Wizo | 0:7b2a14b523de | 45 | } |
Wizo | 0:7b2a14b523de | 46 | |
Wizo | 0:7b2a14b523de | 47 | return 1; |
Wizo | 0:7b2a14b523de | 48 | } |
Wizo | 0:7b2a14b523de | 49 | /* |
Wizo | 0:7b2a14b523de | 50 | void ButonBlinker() |
Wizo | 0:7b2a14b523de | 51 | { |
Wizo | 0:7b2a14b523de | 52 | pex.ReadButtons(); |
Wizo | 0:7b2a14b523de | 53 | |
Wizo | 0:7b2a14b523de | 54 | if (pex.IsButton(BTN_FLL)) |
Wizo | 0:7b2a14b523de | 55 | { |
Wizo | 0:7b2a14b523de | 56 | pex.SetLeds(LED_FL1|LED_FL2); |
Wizo | 0:7b2a14b523de | 57 | } |
Wizo | 0:7b2a14b523de | 58 | |
Wizo | 0:7b2a14b523de | 59 | if (pex.IsButton(BTN_FRR)) |
Wizo | 0:7b2a14b523de | 60 | { |
Wizo | 0:7b2a14b523de | 61 | pex.SetLeds(LED_FR1|LED_FR2); |
Wizo | 0:7b2a14b523de | 62 | } |
Wizo | 0:7b2a14b523de | 63 | wait_ms(100); |
Wizo | 0:7b2a14b523de | 64 | pex.ClearLeds(); |
Wizo | 0:7b2a14b523de | 65 | wait_ms(100); |
Wizo | 0:7b2a14b523de | 66 | } |
Wizo | 0:7b2a14b523de | 67 | */ |
Wizo | 0:7b2a14b523de | 68 | |
Wizo | 0:7b2a14b523de | 69 | /* |
Wizo | 0:7b2a14b523de | 70 | void MotorTest () |
Wizo | 0:7b2a14b523de | 71 | { |
Wizo | 0:7b2a14b523de | 72 | if (pex.IsButton(BTN_FRR||BTN_FLL)) |
Wizo | 0:7b2a14b523de | 73 | { |
Wizo | 0:7b2a14b523de | 74 | mL.SetPow(-0.2); |
Wizo | 0:7b2a14b523de | 75 | mR.SetPow(-0.2); |
Wizo | 0:7b2a14b523de | 76 | } |
Wizo | 0:7b2a14b523de | 77 | |
Wizo | 0:7b2a14b523de | 78 | |
Wizo | 0:7b2a14b523de | 79 | else if (pex.IsButton(BTN_BR||BTN_BL)) |
Wizo | 0:7b2a14b523de | 80 | { |
Wizo | 0:7b2a14b523de | 81 | mL.SetPow(0.2); |
Wizo | 0:7b2a14b523de | 82 | mR.SetPow(0.2); |
Wizo | 0:7b2a14b523de | 83 | } |
Wizo | 0:7b2a14b523de | 84 | |
Wizo | 0:7b2a14b523de | 85 | //mL.SetPow(0.2); |
Wizo | 0:7b2a14b523de | 86 | //mR.SetPow(0.2); |
Wizo | 0:7b2a14b523de | 87 | |
Wizo | 0:7b2a14b523de | 88 | //wait_ms(2000); |
Wizo | 0:7b2a14b523de | 89 | |
Wizo | 0:7b2a14b523de | 90 | //mL.SetPow(-0.2); |
Wizo | 0:7b2a14b523de | 91 | //mR.SetPow(-0.2); |
Wizo | 0:7b2a14b523de | 92 | |
Wizo | 0:7b2a14b523de | 93 | //wait_ms(2000); |
Wizo | 0:7b2a14b523de | 94 | |
Wizo | 0:7b2a14b523de | 95 | |
Wizo | 0:7b2a14b523de | 96 | |
Wizo | 0:7b2a14b523de | 97 | |
Wizo | 0:7b2a14b523de | 98 | } |
Wizo | 0:7b2a14b523de | 99 | */ |
Wizo | 0:7b2a14b523de | 100 | |
Wizo | 0:7b2a14b523de | 101 | //void BackW() |
Wizo | 0:7b2a14b523de | 102 | //{ |
Wizo | 0:7b2a14b523de | 103 | // pex.ClearLeds(); |
Wizo | 0:7b2a14b523de | 104 | // mL.SetPow(0.3); |
Wizo | 0:7b2a14b523de | 105 | // mR.SetPow(0.3); |
Wizo | 0:7b2a14b523de | 106 | // direction = 0; |
Wizo | 0:7b2a14b523de | 107 | // |
Wizo | 0:7b2a14b523de | 108 | // // pex.SetLeds(LED_BL1 | LED_BL2); |
Wizo | 0:7b2a14b523de | 109 | // // pex.SetLeds(LED_BR1 | LED_BR2); |
Wizo | 0:7b2a14b523de | 110 | // |
Wizo | 0:7b2a14b523de | 111 | // while (1) |
Wizo | 0:7b2a14b523de | 112 | // { |
Wizo | 0:7b2a14b523de | 113 | // pex.ReadButtons(); |
Wizo | 0:7b2a14b523de | 114 | // BlinkTask(); |
Wizo | 0:7b2a14b523de | 115 | // |
Wizo | 0:7b2a14b523de | 116 | // if (pex.IsAnyBackButton()) |
Wizo | 0:7b2a14b523de | 117 | // { |
Wizo | 0:7b2a14b523de | 118 | // break; |
Wizo | 0:7b2a14b523de | 119 | // } |
Wizo | 0:7b2a14b523de | 120 | // |
Wizo | 0:7b2a14b523de | 121 | // } |
Wizo | 0:7b2a14b523de | 122 | // mL.SetPow(0); |
Wizo | 0:7b2a14b523de | 123 | // mR.SetPow(0); |
Wizo | 0:7b2a14b523de | 124 | // |
Wizo | 0:7b2a14b523de | 125 | // |
Wizo | 0:7b2a14b523de | 126 | //} |
Wizo | 0:7b2a14b523de | 127 | |
Wizo | 0:7b2a14b523de | 128 | |
Wizo | 0:7b2a14b523de | 129 | void ForW() |
Wizo | 0:7b2a14b523de | 130 | { |
Wizo | 0:7b2a14b523de | 131 | pex.ClearLeds(); |
Wizo | 0:7b2a14b523de | 132 | mL.SetPow(-0.3); |
Wizo | 0:7b2a14b523de | 133 | mR.SetPow(-0.3); |
Wizo | 0:7b2a14b523de | 134 | direction = 1; |
Wizo | 0:7b2a14b523de | 135 | |
Wizo | 0:7b2a14b523de | 136 | // pex.SetLeds(LED_FL1 | LED_FL2); |
Wizo | 0:7b2a14b523de | 137 | // pex.SetLeds(LED_FR1 | LED_FR2); |
Wizo | 0:7b2a14b523de | 138 | |
Wizo | 0:7b2a14b523de | 139 | while (1) |
Wizo | 0:7b2a14b523de | 140 | { |
Wizo | 0:7b2a14b523de | 141 | pex.ReadButtons(); |
Wizo | 0:7b2a14b523de | 142 | BlinkTask(); |
Wizo | 0:7b2a14b523de | 143 | |
Wizo | 0:7b2a14b523de | 144 | if (pex.IsRightFrontButton()) |
Wizo | 0:7b2a14b523de | 145 | { |
Wizo | 0:7b2a14b523de | 146 | mL.SetPow(-0.3); |
Wizo | 0:7b2a14b523de | 147 | mR.SetPow(-0.5); |
Wizo | 0:7b2a14b523de | 148 | //break; |
Wizo | 0:7b2a14b523de | 149 | } |
Wizo | 0:7b2a14b523de | 150 | else if (pex.IsLeftFrontButton()) |
Wizo | 0:7b2a14b523de | 151 | { |
Wizo | 0:7b2a14b523de | 152 | mL.SetPow(-0.5); |
Wizo | 0:7b2a14b523de | 153 | mR.SetPow(-0.3); |
Wizo | 0:7b2a14b523de | 154 | } |
Wizo | 0:7b2a14b523de | 155 | else if (pex.IsMiddleFrontButton()) |
Wizo | 0:7b2a14b523de | 156 | { |
Wizo | 0:7b2a14b523de | 157 | mL.SetPow(-0.5); |
Wizo | 0:7b2a14b523de | 158 | mR.SetPow(-0.5); |
Wizo | 0:7b2a14b523de | 159 | } |
Wizo | 0:7b2a14b523de | 160 | |
Wizo | 0:7b2a14b523de | 161 | } |
Wizo | 0:7b2a14b523de | 162 | mL.SetPow(0); |
Wizo | 0:7b2a14b523de | 163 | mR.SetPow(0); |
Wizo | 0:7b2a14b523de | 164 | |
Wizo | 0:7b2a14b523de | 165 | } |
Wizo | 0:7b2a14b523de | 166 | |
Wizo | 0:7b2a14b523de | 167 | /*void Right() |
Wizo | 0:7b2a14b523de | 168 | { |
Wizo | 0:7b2a14b523de | 169 | pex.ClearLeds(); |
Wizo | 0:7b2a14b523de | 170 | mL.SetPow(-0.3); |
Wizo | 0:7b2a14b523de | 171 | mR.SetPow(-0.3); |
Wizo | 0:7b2a14b523de | 172 | direction = 1; |
Wizo | 0:7b2a14b523de | 173 | |
Wizo | 0:7b2a14b523de | 174 | // pex.SetLeds(LED_FL1 | LED_FL2); |
Wizo | 0:7b2a14b523de | 175 | // pex.SetLeds(LED_FR1 | LED_FR2); |
Wizo | 0:7b2a14b523de | 176 | |
Wizo | 0:7b2a14b523de | 177 | while (1) |
Wizo | 0:7b2a14b523de | 178 | { |
Wizo | 0:7b2a14b523de | 179 | pex.ReadButtons(); |
Wizo | 0:7b2a14b523de | 180 | BlinkTask(); |
Wizo | 0:7b2a14b523de | 181 | |
Wizo | 0:7b2a14b523de | 182 | if (pex.IsAnyFrontButton()) |
Wizo | 0:7b2a14b523de | 183 | { |
Wizo | 0:7b2a14b523de | 184 | break; |
Wizo | 0:7b2a14b523de | 185 | } |
Wizo | 0:7b2a14b523de | 186 | |
Wizo | 0:7b2a14b523de | 187 | } |
Wizo | 0:7b2a14b523de | 188 | mL.SetPow(0); |
Wizo | 0:7b2a14b523de | 189 | mR.SetPow(0); |
Wizo | 0:7b2a14b523de | 190 | |
Wizo | 0:7b2a14b523de | 191 | }*/ |
Wizo | 0:7b2a14b523de | 192 | |
Wizo | 0:7b2a14b523de | 193 | void Left() |
Wizo | 0:7b2a14b523de | 194 | { |
Wizo | 0:7b2a14b523de | 195 | pex.ClearLeds(); |
Wizo | 0:7b2a14b523de | 196 | mL.SetPow(-0.3); |
Wizo | 0:7b2a14b523de | 197 | mR.SetPow(-0.3); |
Wizo | 0:7b2a14b523de | 198 | direction = 1; |
Wizo | 0:7b2a14b523de | 199 | |
Wizo | 0:7b2a14b523de | 200 | // pex.SetLeds(LED_FL1 | LED_FL2); |
Wizo | 0:7b2a14b523de | 201 | // pex.SetLeds(LED_FR1 | LED_FR2); |
Wizo | 0:7b2a14b523de | 202 | |
Wizo | 0:7b2a14b523de | 203 | while (1) |
Wizo | 0:7b2a14b523de | 204 | { |
Wizo | 0:7b2a14b523de | 205 | pex.ReadButtons(); |
Wizo | 0:7b2a14b523de | 206 | BlinkTask(); |
Wizo | 0:7b2a14b523de | 207 | |
Wizo | 0:7b2a14b523de | 208 | if (pex.IsAnyFrontButton()) |
Wizo | 0:7b2a14b523de | 209 | { |
Wizo | 0:7b2a14b523de | 210 | break; |
Wizo | 0:7b2a14b523de | 211 | } |
Wizo | 0:7b2a14b523de | 212 | |
Wizo | 0:7b2a14b523de | 213 | } |
Wizo | 0:7b2a14b523de | 214 | mL.SetPow(0); |
Wizo | 0:7b2a14b523de | 215 | mR.SetPow(0); |
Wizo | 0:7b2a14b523de | 216 | |
Wizo | 0:7b2a14b523de | 217 | } |
Wizo | 0:7b2a14b523de | 218 | |
Wizo | 0:7b2a14b523de | 219 | void BlinkTask() |
Wizo | 0:7b2a14b523de | 220 | { |
Wizo | 0:7b2a14b523de | 221 | if (t1.read_ms()>100) // alle 100ms = 10Hz |
Wizo | 0:7b2a14b523de | 222 | { |
Wizo | 0:7b2a14b523de | 223 | t1.reset(); // timer neu starten |
Wizo | 0:7b2a14b523de | 224 | if (direction == 0) |
Wizo | 0:7b2a14b523de | 225 | { |
Wizo | 0:7b2a14b523de | 226 | pex.ToggleLeds(LED_BL1 | LED_BL2); |
Wizo | 0:7b2a14b523de | 227 | pex.ToggleLeds(LED_BR1 | LED_BR2); |
Wizo | 0:7b2a14b523de | 228 | } |
Wizo | 0:7b2a14b523de | 229 | else |
Wizo | 0:7b2a14b523de | 230 | { |
Wizo | 0:7b2a14b523de | 231 | pex.ToggleLeds(LED_FL1 | LED_FL2); |
Wizo | 0:7b2a14b523de | 232 | pex.ToggleLeds(LED_FR1 | LED_FR2); |
Wizo | 0:7b2a14b523de | 233 | } |
Wizo | 0:7b2a14b523de | 234 | } |
Wizo | 0:7b2a14b523de | 235 | } |