Eric Glunn
/
4180Project_All_Features
Contains all code needed for analog digital and oscope
main.cpp@9:6ac5e49fe198, 2020-04-30 (annotated)
- Committer:
- EricGlunn
- Date:
- Thu Apr 30 02:06:29 2020 +0000
- Revision:
- 9:6ac5e49fe198
- Parent:
- 7:60e993355f76
Fixed the project clone bug
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
EricGlunn | 0:f4b1c6a95f25 | 1 | #include "mbed.h" |
EricGlunn | 9:6ac5e49fe198 | 2 | //Contains everything but I2C |
EricGlunn | 2:9a88de905577 | 3 | #define reset 0b00000000 //Define function masks |
EricGlunn | 0:f4b1c6a95f25 | 4 | #define digital 0b00100000 |
EricGlunn | 0:f4b1c6a95f25 | 5 | #define analog 0b01000000 |
EricGlunn | 0:f4b1c6a95f25 | 6 | #define I2C 0b01100000 |
EricGlunn | 2:9a88de905577 | 7 | #define oScope 0b10000000 |
EricGlunn | 2:9a88de905577 | 8 | |
EricGlunn | 2:9a88de905577 | 9 | #define stateMask 0b11100000 //general masks |
EricGlunn | 0:f4b1c6a95f25 | 10 | #define pinMask 0b00011111 |
EricGlunn | 2:9a88de905577 | 11 | #define FULL 0b11111111 |
EricGlunn | 2:9a88de905577 | 12 | |
EricGlunn | 2:9a88de905577 | 13 | #define pin1 0b00010000 //digital and analog masks |
EricGlunn | 0:f4b1c6a95f25 | 14 | #define pin2 0b00001000 |
EricGlunn | 0:f4b1c6a95f25 | 15 | #define pin3 0b00000100 |
EricGlunn | 0:f4b1c6a95f25 | 16 | #define pin4 0b00000010 |
EricGlunn | 0:f4b1c6a95f25 | 17 | #define pin5 0b00000001 |
EricGlunn | 0:f4b1c6a95f25 | 18 | |
EricGlunn | 2:9a88de905577 | 19 | #define ms1 0b00000000 //Oscope masks |
EricGlunn | 2:9a88de905577 | 20 | #define ms5 0b00000001 |
EricGlunn | 2:9a88de905577 | 21 | #define ms10 0b00000010 |
EricGlunn | 2:9a88de905577 | 22 | #define ms50 0b00000011 |
EricGlunn | 2:9a88de905577 | 23 | #define ms100 0b00000100 |
EricGlunn | 2:9a88de905577 | 24 | #define ms250 0b00000101 |
EricGlunn | 2:9a88de905577 | 25 | #define ms500 0b00000110 |
EricGlunn | 2:9a88de905577 | 26 | #define ms1000 0b00000111 |
EricGlunn | 2:9a88de905577 | 27 | #define rise 0b00010000 |
EricGlunn | 2:9a88de905577 | 28 | #define fall 0b00000000 |
EricGlunn | 5:6b72bf1da751 | 29 | #define timeMask 0b00000111 |
EricGlunn | 5:6b72bf1da751 | 30 | #define triggerType 0b00010000 |
EricGlunn | 5:6b72bf1da751 | 31 | #define triggerVolt 0b00001000 |
EricGlunn | 5:6b72bf1da751 | 32 | #define volt11 0b00000000 |
EricGlunn | 5:6b72bf1da751 | 33 | #define volt22 0b00001000 |
EricGlunn | 0:f4b1c6a95f25 | 34 | |
EricGlunn | 0:f4b1c6a95f25 | 35 | DigitalOut myled(LED1); |
EricGlunn | 0:f4b1c6a95f25 | 36 | DigitalOut DigitalStatus(LED2); //Led for when Digital read is running |
EricGlunn | 0:f4b1c6a95f25 | 37 | DigitalOut AnalogStatus(LED3); //LED for when Analog read is running |
EricGlunn | 2:9a88de905577 | 38 | DigitalOut oScopeStatus(LED4); //LED for Oscilloscope |
EricGlunn | 0:f4b1c6a95f25 | 39 | |
EricGlunn | 0:f4b1c6a95f25 | 40 | DigitalIn d1(p21); //Always set these pins for digital in |
EricGlunn | 0:f4b1c6a95f25 | 41 | DigitalIn d2(p22); |
EricGlunn | 0:f4b1c6a95f25 | 42 | DigitalIn d3(p23); |
EricGlunn | 0:f4b1c6a95f25 | 43 | DigitalIn d4(p24); |
EricGlunn | 0:f4b1c6a95f25 | 44 | DigitalIn d5(p25); |
EricGlunn | 0:f4b1c6a95f25 | 45 | |
EricGlunn | 2:9a88de905577 | 46 | |
EricGlunn | 2:9a88de905577 | 47 | AnalogIn a1(p16); //Always set these pins for analog in |
EricGlunn | 0:f4b1c6a95f25 | 48 | AnalogIn a2(p17); |
EricGlunn | 0:f4b1c6a95f25 | 49 | AnalogIn a3(p18); |
EricGlunn | 0:f4b1c6a95f25 | 50 | AnalogIn a4(p19); |
EricGlunn | 0:f4b1c6a95f25 | 51 | AnalogIn a5(p20); |
EricGlunn | 0:f4b1c6a95f25 | 52 | |
EricGlunn | 0:f4b1c6a95f25 | 53 | |
EricGlunn | 2:9a88de905577 | 54 | Serial PC(USBTX,USBRX); |
EricGlunn | 0:f4b1c6a95f25 | 55 | Ticker tickerboi; //Initialize the ticker for Sampling |
EricGlunn | 0:f4b1c6a95f25 | 56 | |
EricGlunn | 2:9a88de905577 | 57 | Ticker oScopeTicker; |
EricGlunn | 2:9a88de905577 | 58 | Ticker oScopeCut; |
EricGlunn | 2:9a88de905577 | 59 | |
EricGlunn | 0:f4b1c6a95f25 | 60 | volatile unsigned char DigitalSample; |
EricGlunn | 0:f4b1c6a95f25 | 61 | volatile unsigned char AnalogSample[5]; |
EricGlunn | 0:f4b1c6a95f25 | 62 | |
EricGlunn | 0:f4b1c6a95f25 | 63 | volatile unsigned char command; |
EricGlunn | 0:f4b1c6a95f25 | 64 | volatile unsigned char state; |
EricGlunn | 0:f4b1c6a95f25 | 65 | |
EricGlunn | 0:f4b1c6a95f25 | 66 | volatile bool newDigital=false; |
EricGlunn | 0:f4b1c6a95f25 | 67 | volatile bool newAnalog=false; |
EricGlunn | 0:f4b1c6a95f25 | 68 | |
EricGlunn | 2:9a88de905577 | 69 | volatile unsigned char oScopeTime; |
EricGlunn | 2:9a88de905577 | 70 | volatile bool oScope_poll; |
EricGlunn | 2:9a88de905577 | 71 | volatile bool newoScope=false; |
EricGlunn | 2:9a88de905577 | 72 | volatile unsigned char oScopeArray[20000]; |
EricGlunn | 2:9a88de905577 | 73 | volatile int oScopeCount=0; |
EricGlunn | 4:374219f35b8e | 74 | volatile unsigned char oScopeTriggerType; |
EricGlunn | 5:6b72bf1da751 | 75 | volatile unsigned char oScopeTriggerVoltageBit; |
EricGlunn | 5:6b72bf1da751 | 76 | volatile unsigned char oScopeTriggerVoltageVal; |
EricGlunn | 2:9a88de905577 | 77 | |
EricGlunn | 6:f2c589ad6241 | 78 | volatile bool analogRunning; |
EricGlunn | 6:f2c589ad6241 | 79 | volatile bool oScopeRunning; |
EricGlunn | 6:f2c589ad6241 | 80 | volatile bool digitalRunning; |
EricGlunn | 6:f2c589ad6241 | 81 | |
EricGlunn | 2:9a88de905577 | 82 | |
EricGlunn | 2:9a88de905577 | 83 | void digital_sample_func(void) //sampling function, samples each pin specified and Ors it |
EricGlunn | 2:9a88de905577 | 84 | { |
EricGlunn | 0:f4b1c6a95f25 | 85 | DigitalSample = digital; |
EricGlunn | 2:9a88de905577 | 86 | |
EricGlunn | 2:9a88de905577 | 87 | if( (command & pin1) == pin1) { |
EricGlunn | 0:f4b1c6a95f25 | 88 | DigitalSample=DigitalSample + d1*pin1; |
EricGlunn | 0:f4b1c6a95f25 | 89 | } |
EricGlunn | 2:9a88de905577 | 90 | if( (command & pin2) == pin2) { |
EricGlunn | 0:f4b1c6a95f25 | 91 | DigitalSample=DigitalSample + d2*pin2; |
EricGlunn | 0:f4b1c6a95f25 | 92 | } |
EricGlunn | 2:9a88de905577 | 93 | if( (command & pin3) == pin3) { |
EricGlunn | 0:f4b1c6a95f25 | 94 | DigitalSample=DigitalSample + d3*pin3; |
EricGlunn | 0:f4b1c6a95f25 | 95 | } |
EricGlunn | 2:9a88de905577 | 96 | if( (command & pin4) == pin4) { |
EricGlunn | 0:f4b1c6a95f25 | 97 | DigitalSample=DigitalSample + d4*pin4; |
EricGlunn | 0:f4b1c6a95f25 | 98 | } |
EricGlunn | 2:9a88de905577 | 99 | if( (command & pin5) == pin5) { |
EricGlunn | 0:f4b1c6a95f25 | 100 | DigitalSample=DigitalSample + d5*pin5; |
EricGlunn | 0:f4b1c6a95f25 | 101 | } |
EricGlunn | 0:f4b1c6a95f25 | 102 | newDigital=true; |
EricGlunn | 0:f4b1c6a95f25 | 103 | } |
EricGlunn | 0:f4b1c6a95f25 | 104 | |
EricGlunn | 0:f4b1c6a95f25 | 105 | |
EricGlunn | 2:9a88de905577 | 106 | void analog_sample_func(void) |
EricGlunn | 2:9a88de905577 | 107 | { |
EricGlunn | 2:9a88de905577 | 108 | for(int i=0; i<5; i++) { |
EricGlunn | 2:9a88de905577 | 109 | AnalogSample[i]=0; |
EricGlunn | 0:f4b1c6a95f25 | 110 | } |
EricGlunn | 2:9a88de905577 | 111 | if( (command & pin1) == pin1) { |
EricGlunn | 1:14e49afb1d7c | 112 | AnalogSample[0]=a1*254; |
EricGlunn | 0:f4b1c6a95f25 | 113 | } |
EricGlunn | 2:9a88de905577 | 114 | if( (command & pin2) == pin2) { |
EricGlunn | 1:14e49afb1d7c | 115 | AnalogSample[1]=a2 * 254; |
EricGlunn | 0:f4b1c6a95f25 | 116 | } |
EricGlunn | 2:9a88de905577 | 117 | if( (command & pin3) == pin3) { |
EricGlunn | 1:14e49afb1d7c | 118 | AnalogSample[2]=a3*254; |
EricGlunn | 0:f4b1c6a95f25 | 119 | } |
EricGlunn | 2:9a88de905577 | 120 | if( (command & pin4) == pin4) { |
EricGlunn | 1:14e49afb1d7c | 121 | AnalogSample[3]=a4*254; |
EricGlunn | 0:f4b1c6a95f25 | 122 | } |
EricGlunn | 2:9a88de905577 | 123 | if( (command & pin5) == pin5) { |
EricGlunn | 1:14e49afb1d7c | 124 | AnalogSample[4]=a5*254; |
EricGlunn | 0:f4b1c6a95f25 | 125 | } |
EricGlunn | 2:9a88de905577 | 126 | newAnalog=true; |
EricGlunn | 2:9a88de905577 | 127 | } |
EricGlunn | 2:9a88de905577 | 128 | |
EricGlunn | 2:9a88de905577 | 129 | |
EricGlunn | 2:9a88de905577 | 130 | void oScope_kill_func(void) |
EricGlunn | 2:9a88de905577 | 131 | { |
EricGlunn | 2:9a88de905577 | 132 | oScopeTicker.detach(); |
EricGlunn | 2:9a88de905577 | 133 | oScopeCut.detach(); |
EricGlunn | 2:9a88de905577 | 134 | newoScope=true; |
EricGlunn | 6:f2c589ad6241 | 135 | oScopeRunning=0; |
EricGlunn | 2:9a88de905577 | 136 | } |
EricGlunn | 2:9a88de905577 | 137 | |
EricGlunn | 2:9a88de905577 | 138 | void oScope_sample_func(void){ |
EricGlunn | 3:60f30ca6a65d | 139 | oScopeArray[oScopeCount++]=a1*254; |
EricGlunn | 2:9a88de905577 | 140 | } |
EricGlunn | 2:9a88de905577 | 141 | |
EricGlunn | 2:9a88de905577 | 142 | void oScope_poll_trig(){ |
EricGlunn | 4:374219f35b8e | 143 | bool nTriggered = true; |
EricGlunn | 4:374219f35b8e | 144 | myled=1; |
EricGlunn | 4:374219f35b8e | 145 | unsigned char trig; |
EricGlunn | 4:374219f35b8e | 146 | int state =0; |
EricGlunn | 5:6b72bf1da751 | 147 | if(oScopeTriggerVoltageBit == volt11){oScopeTriggerVoltageVal=85;} |
EricGlunn | 5:6b72bf1da751 | 148 | else{oScopeTriggerVoltageVal=169;} |
EricGlunn | 2:9a88de905577 | 149 | |
EricGlunn | 4:374219f35b8e | 150 | while(nTriggered){ |
EricGlunn | 4:374219f35b8e | 151 | |
EricGlunn | 4:374219f35b8e | 152 | trig=a1*254; |
EricGlunn | 4:374219f35b8e | 153 | switch(state){ |
EricGlunn | 4:374219f35b8e | 154 | |
EricGlunn | 4:374219f35b8e | 155 | case 0: |
EricGlunn | 5:6b72bf1da751 | 156 | if((trig < oScopeTriggerVoltageVal) & (oScopeTriggerType == rise) ){state = 1;} |
EricGlunn | 5:6b72bf1da751 | 157 | else if((trig > oScopeTriggerVoltageVal) & (oScopeTriggerType == fall) ){state = 2;} |
EricGlunn | 4:374219f35b8e | 158 | else { state = 0;} |
EricGlunn | 4:374219f35b8e | 159 | break; |
EricGlunn | 4:374219f35b8e | 160 | case 1: |
EricGlunn | 5:6b72bf1da751 | 161 | if(trig < oScopeTriggerVoltageVal){state=1;} |
EricGlunn | 5:6b72bf1da751 | 162 | if(trig > oScopeTriggerVoltageVal){state=3;} |
EricGlunn | 4:374219f35b8e | 163 | break; |
EricGlunn | 4:374219f35b8e | 164 | case 2: |
EricGlunn | 5:6b72bf1da751 | 165 | if(trig > oScopeTriggerVoltageVal){state = 2;} |
EricGlunn | 5:6b72bf1da751 | 166 | if(trig < oScopeTriggerVoltageVal){state = 3;} |
EricGlunn | 4:374219f35b8e | 167 | break; |
EricGlunn | 4:374219f35b8e | 168 | case 3: |
EricGlunn | 4:374219f35b8e | 169 | nTriggered=false; |
EricGlunn | 4:374219f35b8e | 170 | break; |
EricGlunn | 4:374219f35b8e | 171 | } |
EricGlunn | 4:374219f35b8e | 172 | wait(.01); |
EricGlunn | 4:374219f35b8e | 173 | } |
EricGlunn | 4:374219f35b8e | 174 | myled=0; |
EricGlunn | 2:9a88de905577 | 175 | switch(oScopeTime) { |
EricGlunn | 2:9a88de905577 | 176 | |
EricGlunn | 2:9a88de905577 | 177 | case ms1: |
EricGlunn | 2:9a88de905577 | 178 | oScopeCut.attach(oScope_kill_func, .001); |
EricGlunn | 2:9a88de905577 | 179 | break; |
EricGlunn | 2:9a88de905577 | 180 | |
EricGlunn | 2:9a88de905577 | 181 | case ms5: |
EricGlunn | 2:9a88de905577 | 182 | oScopeCut.attach(oScope_kill_func, .005); |
EricGlunn | 2:9a88de905577 | 183 | break; |
EricGlunn | 2:9a88de905577 | 184 | |
EricGlunn | 2:9a88de905577 | 185 | case ms10: |
EricGlunn | 2:9a88de905577 | 186 | oScopeCut.attach(oScope_kill_func, .01); |
EricGlunn | 2:9a88de905577 | 187 | break; |
EricGlunn | 2:9a88de905577 | 188 | |
EricGlunn | 2:9a88de905577 | 189 | case ms50: |
EricGlunn | 2:9a88de905577 | 190 | oScopeCut.attach(oScope_kill_func, .05); |
EricGlunn | 2:9a88de905577 | 191 | break; |
EricGlunn | 2:9a88de905577 | 192 | |
EricGlunn | 2:9a88de905577 | 193 | case ms100: |
EricGlunn | 2:9a88de905577 | 194 | oScopeCut.attach(oScope_kill_func, .1); |
EricGlunn | 2:9a88de905577 | 195 | break; |
EricGlunn | 2:9a88de905577 | 196 | |
EricGlunn | 2:9a88de905577 | 197 | case ms250: |
EricGlunn | 2:9a88de905577 | 198 | oScopeCut.attach(oScope_kill_func, .25); |
EricGlunn | 2:9a88de905577 | 199 | break; |
EricGlunn | 2:9a88de905577 | 200 | |
EricGlunn | 2:9a88de905577 | 201 | case ms500: |
EricGlunn | 2:9a88de905577 | 202 | oScopeCut.attach(oScope_kill_func, .5); |
EricGlunn | 2:9a88de905577 | 203 | break; |
EricGlunn | 2:9a88de905577 | 204 | |
EricGlunn | 2:9a88de905577 | 205 | case ms1000: |
EricGlunn | 2:9a88de905577 | 206 | oScopeCut.attach(oScope_kill_func, 1); |
EricGlunn | 2:9a88de905577 | 207 | break; |
EricGlunn | 3:60f30ca6a65d | 208 | default: |
EricGlunn | 3:60f30ca6a65d | 209 | oScopeCut.attach(oScope_kill_func, .01); |
EricGlunn | 3:60f30ca6a65d | 210 | break; |
EricGlunn | 2:9a88de905577 | 211 | } |
EricGlunn | 2:9a88de905577 | 212 | |
EricGlunn | 2:9a88de905577 | 213 | oScopeTicker.attach_us(oScope_sample_func, 50); |
EricGlunn | 0:f4b1c6a95f25 | 214 | |
EricGlunn | 0:f4b1c6a95f25 | 215 | } |
EricGlunn | 0:f4b1c6a95f25 | 216 | |
EricGlunn | 0:f4b1c6a95f25 | 217 | |
EricGlunn | 2:9a88de905577 | 218 | void SerialInterrupt(void) |
EricGlunn | 2:9a88de905577 | 219 | { |
EricGlunn | 2:9a88de905577 | 220 | command=PC.getc(); |
EricGlunn | 2:9a88de905577 | 221 | state= command & stateMask; |
EricGlunn | 2:9a88de905577 | 222 | |
EricGlunn | 2:9a88de905577 | 223 | switch(state) { |
EricGlunn | 2:9a88de905577 | 224 | case reset: |
EricGlunn | 2:9a88de905577 | 225 | tickerboi.detach(); //detach Ticker |
EricGlunn | 6:f2c589ad6241 | 226 | digitalRunning=0; //turn off status LED |
EricGlunn | 6:f2c589ad6241 | 227 | analogRunning=0; |
EricGlunn | 3:60f30ca6a65d | 228 | |
EricGlunn | 6:f2c589ad6241 | 229 | if(oScopeRunning){ |
EricGlunn | 2:9a88de905577 | 230 | oScope_kill_func(); |
EricGlunn | 2:9a88de905577 | 231 | } |
EricGlunn | 2:9a88de905577 | 232 | |
EricGlunn | 0:f4b1c6a95f25 | 233 | break; |
EricGlunn | 2:9a88de905577 | 234 | |
EricGlunn | 2:9a88de905577 | 235 | case digital: |
EricGlunn | 2:9a88de905577 | 236 | tickerboi.attach(&digital_sample_func, .5); |
EricGlunn | 6:f2c589ad6241 | 237 | digitalRunning=1; // turn on status LED |
EricGlunn | 2:9a88de905577 | 238 | break; |
EricGlunn | 2:9a88de905577 | 239 | |
EricGlunn | 2:9a88de905577 | 240 | case analog: |
EricGlunn | 2:9a88de905577 | 241 | tickerboi.attach(&analog_sample_func, .5); |
EricGlunn | 6:f2c589ad6241 | 242 | analogRunning=1; |
EricGlunn | 7:60e993355f76 | 243 | break; |
EricGlunn | 2:9a88de905577 | 244 | |
EricGlunn | 2:9a88de905577 | 245 | case oScope: |
EricGlunn | 2:9a88de905577 | 246 | oScopeTime=command & timeMask; |
EricGlunn | 2:9a88de905577 | 247 | oScope_poll=true; |
EricGlunn | 6:f2c589ad6241 | 248 | oScopeRunning=1; |
EricGlunn | 5:6b72bf1da751 | 249 | oScopeTriggerType= command & triggerType; |
EricGlunn | 5:6b72bf1da751 | 250 | oScopeTriggerVoltageBit = command & triggerVolt; |
EricGlunn | 2:9a88de905577 | 251 | break; |
EricGlunn | 2:9a88de905577 | 252 | } |
EricGlunn | 0:f4b1c6a95f25 | 253 | } |
EricGlunn | 0:f4b1c6a95f25 | 254 | |
EricGlunn | 2:9a88de905577 | 255 | int main() |
EricGlunn | 2:9a88de905577 | 256 | { |
EricGlunn | 2:9a88de905577 | 257 | PC.attach(&SerialInterrupt, Serial::RxIrq); |
EricGlunn | 0:f4b1c6a95f25 | 258 | |
EricGlunn | 2:9a88de905577 | 259 | |
EricGlunn | 0:f4b1c6a95f25 | 260 | while(1) { |
EricGlunn | 2:9a88de905577 | 261 | |
EricGlunn | 6:f2c589ad6241 | 262 | DigitalStatus=digitalRunning; |
EricGlunn | 6:f2c589ad6241 | 263 | AnalogStatus=analogRunning; |
EricGlunn | 6:f2c589ad6241 | 264 | oScopeStatus=oScopeRunning; |
EricGlunn | 6:f2c589ad6241 | 265 | |
EricGlunn | 2:9a88de905577 | 266 | if(newDigital) { //if digital sampling was run |
EricGlunn | 0:f4b1c6a95f25 | 267 | PC.putc(DigitalSample); |
EricGlunn | 0:f4b1c6a95f25 | 268 | newDigital=false; |
EricGlunn | 0:f4b1c6a95f25 | 269 | } |
EricGlunn | 2:9a88de905577 | 270 | |
EricGlunn | 2:9a88de905577 | 271 | if(newAnalog) { //if analog sampling was run |
EricGlunn | 2:9a88de905577 | 272 | PC.putc(FULL); //First bit is 0b01000000 |
EricGlunn | 2:9a88de905577 | 273 | for(int i=0; i<5; i++) { //Send all of the analog bits |
EricGlunn | 2:9a88de905577 | 274 | PC.putc(AnalogSample[i]); |
EricGlunn | 0:f4b1c6a95f25 | 275 | } |
EricGlunn | 0:f4b1c6a95f25 | 276 | PC.putc(command); //Last bit is command from PC |
EricGlunn | 0:f4b1c6a95f25 | 277 | newAnalog=false; |
EricGlunn | 0:f4b1c6a95f25 | 278 | } |
EricGlunn | 0:f4b1c6a95f25 | 279 | |
EricGlunn | 3:60f30ca6a65d | 280 | if(oScope_poll){ |
EricGlunn | 3:60f30ca6a65d | 281 | oScope_poll=false; |
EricGlunn | 3:60f30ca6a65d | 282 | oScope_poll_trig(); } |
EricGlunn | 2:9a88de905577 | 283 | |
EricGlunn | 2:9a88de905577 | 284 | if(newoScope){ |
EricGlunn | 2:9a88de905577 | 285 | PC.putc(FULL); |
EricGlunn | 3:60f30ca6a65d | 286 | for(int j=0; j<oScopeCount; j++){ |
EricGlunn | 3:60f30ca6a65d | 287 | PC.putc(oScopeArray[j]); |
EricGlunn | 2:9a88de905577 | 288 | } |
EricGlunn | 2:9a88de905577 | 289 | oScopeCount=0; |
EricGlunn | 2:9a88de905577 | 290 | newoScope=false; |
EricGlunn | 2:9a88de905577 | 291 | } |
EricGlunn | 2:9a88de905577 | 292 | |
EricGlunn | 2:9a88de905577 | 293 | |
EricGlunn | 0:f4b1c6a95f25 | 294 | myled = 1; //indicate main loop is running |
EricGlunn | 0:f4b1c6a95f25 | 295 | wait(0.2); |
EricGlunn | 0:f4b1c6a95f25 | 296 | myled = 0; |
EricGlunn | 2:9a88de905577 | 297 | wait(0.2); |
EricGlunn | 0:f4b1c6a95f25 | 298 | } |
EricGlunn | 0:f4b1c6a95f25 | 299 | } |
EricGlunn | 0:f4b1c6a95f25 | 300 | |
EricGlunn | 0:f4b1c6a95f25 | 301 | |
EricGlunn | 0:f4b1c6a95f25 | 302 |