First quick attempt at an oscilloscope demo for the stampdock software of http://stampdock.com/ it demonstrates how to use the stampdock software from an mbed
main.cpp@0:6a0d5fb13029, 2010-11-02 (annotated)
- Committer:
- apspijkerman
- Date:
- Tue Nov 02 15:30:43 2010 +0000
- Revision:
- 0:6a0d5fb13029
First version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
apspijkerman | 0:6a0d5fb13029 | 1 | |
apspijkerman | 0:6a0d5fb13029 | 2 | |
apspijkerman | 0:6a0d5fb13029 | 3 | // mbed demo program (needs stampdock software) |
apspijkerman | 0:6a0d5fb13029 | 4 | // by apspijkerman ap@apsdev.com |
apspijkerman | 0:6a0d5fb13029 | 5 | |
apspijkerman | 0:6a0d5fb13029 | 6 | |
apspijkerman | 0:6a0d5fb13029 | 7 | #include "mbed.h" |
apspijkerman | 0:6a0d5fb13029 | 8 | |
apspijkerman | 0:6a0d5fb13029 | 9 | //Serial pc(USBTX, USBRX); // tx, rx |
apspijkerman | 0:6a0d5fb13029 | 10 | Serial serial(USBTX, USBRX); // tx, rx default 9600 8N1 |
apspijkerman | 0:6a0d5fb13029 | 11 | |
apspijkerman | 0:6a0d5fb13029 | 12 | AnalogIn xa(p15); |
apspijkerman | 0:6a0d5fb13029 | 13 | AnalogIn ya(p16); |
apspijkerman | 0:6a0d5fb13029 | 14 | |
apspijkerman | 0:6a0d5fb13029 | 15 | DigitalOut myled1(LED1); |
apspijkerman | 0:6a0d5fb13029 | 16 | DigitalOut myled2(LED2); |
apspijkerman | 0:6a0d5fb13029 | 17 | DigitalOut myled3(LED3); |
apspijkerman | 0:6a0d5fb13029 | 18 | DigitalOut myled4(LED4); |
apspijkerman | 0:6a0d5fb13029 | 19 | |
apspijkerman | 0:6a0d5fb13029 | 20 | |
apspijkerman | 0:6a0d5fb13029 | 21 | void SetLed(int led, int mode) |
apspijkerman | 0:6a0d5fb13029 | 22 | { |
apspijkerman | 0:6a0d5fb13029 | 23 | if (led == 0) myled1 = mode; |
apspijkerman | 0:6a0d5fb13029 | 24 | if (led == 1) myled2 = mode; |
apspijkerman | 0:6a0d5fb13029 | 25 | if (led == 2) myled3 = mode; |
apspijkerman | 0:6a0d5fb13029 | 26 | if (led == 3) myled4 = mode; |
apspijkerman | 0:6a0d5fb13029 | 27 | } |
apspijkerman | 0:6a0d5fb13029 | 28 | |
apspijkerman | 0:6a0d5fb13029 | 29 | |
apspijkerman | 0:6a0d5fb13029 | 30 | void Blink(int led) |
apspijkerman | 0:6a0d5fb13029 | 31 | { |
apspijkerman | 0:6a0d5fb13029 | 32 | if (led == 0) myled1 = 1; |
apspijkerman | 0:6a0d5fb13029 | 33 | if (led == 1) myled2 = 1; |
apspijkerman | 0:6a0d5fb13029 | 34 | if (led == 2) myled3 = 1; |
apspijkerman | 0:6a0d5fb13029 | 35 | if (led == 3) myled4 = 1; |
apspijkerman | 0:6a0d5fb13029 | 36 | wait(0.1); |
apspijkerman | 0:6a0d5fb13029 | 37 | if (led == 0) myled1 = 0; |
apspijkerman | 0:6a0d5fb13029 | 38 | if (led == 1) myled2 = 0; |
apspijkerman | 0:6a0d5fb13029 | 39 | if (led == 2) myled3 = 0; |
apspijkerman | 0:6a0d5fb13029 | 40 | if (led == 3) myled4 = 0; |
apspijkerman | 0:6a0d5fb13029 | 41 | } |
apspijkerman | 0:6a0d5fb13029 | 42 | |
apspijkerman | 0:6a0d5fb13029 | 43 | |
apspijkerman | 0:6a0d5fb13029 | 44 | |
apspijkerman | 0:6a0d5fb13029 | 45 | void SetLeds(void) |
apspijkerman | 0:6a0d5fb13029 | 46 | { |
apspijkerman | 0:6a0d5fb13029 | 47 | int t; |
apspijkerman | 0:6a0d5fb13029 | 48 | |
apspijkerman | 0:6a0d5fb13029 | 49 | // flash all leds |
apspijkerman | 0:6a0d5fb13029 | 50 | /* |
apspijkerman | 0:6a0d5fb13029 | 51 | for (t = 0; t < 4; t++){ |
apspijkerman | 0:6a0d5fb13029 | 52 | SetLed(t, 1); |
apspijkerman | 0:6a0d5fb13029 | 53 | } |
apspijkerman | 0:6a0d5fb13029 | 54 | wait(1); |
apspijkerman | 0:6a0d5fb13029 | 55 | for (t = 0; t < 4; t++){ |
apspijkerman | 0:6a0d5fb13029 | 56 | SetLed(t, 0); |
apspijkerman | 0:6a0d5fb13029 | 57 | } |
apspijkerman | 0:6a0d5fb13029 | 58 | */ |
apspijkerman | 0:6a0d5fb13029 | 59 | // kitt led test |
apspijkerman | 0:6a0d5fb13029 | 60 | for (t = 0; t < 4; t++){ |
apspijkerman | 0:6a0d5fb13029 | 61 | SetLed(t, 1); |
apspijkerman | 0:6a0d5fb13029 | 62 | wait(0.2); |
apspijkerman | 0:6a0d5fb13029 | 63 | SetLed(t, 0); |
apspijkerman | 0:6a0d5fb13029 | 64 | } |
apspijkerman | 0:6a0d5fb13029 | 65 | } |
apspijkerman | 0:6a0d5fb13029 | 66 | |
apspijkerman | 0:6a0d5fb13029 | 67 | |
apspijkerman | 0:6a0d5fb13029 | 68 | |
apspijkerman | 0:6a0d5fb13029 | 69 | void ToggleLed(int led) |
apspijkerman | 0:6a0d5fb13029 | 70 | { |
apspijkerman | 0:6a0d5fb13029 | 71 | if (led == 0) myled1 = !myled1; |
apspijkerman | 0:6a0d5fb13029 | 72 | if (led == 1) myled2 = !myled2; |
apspijkerman | 0:6a0d5fb13029 | 73 | if (led == 2) myled3 = !myled3; |
apspijkerman | 0:6a0d5fb13029 | 74 | if (led == 3) myled4 = !myled4; |
apspijkerman | 0:6a0d5fb13029 | 75 | wait(0.25); |
apspijkerman | 0:6a0d5fb13029 | 76 | } |
apspijkerman | 0:6a0d5fb13029 | 77 | |
apspijkerman | 0:6a0d5fb13029 | 78 | //public class demo { |
apspijkerman | 0:6a0d5fb13029 | 79 | |
apspijkerman | 0:6a0d5fb13029 | 80 | // seems we need to write commands in one go, so have a buffer |
apspijkerman | 0:6a0d5fb13029 | 81 | //static StringBuffer buf = new StringBuffer(128); |
apspijkerman | 0:6a0d5fb13029 | 82 | |
apspijkerman | 0:6a0d5fb13029 | 83 | // check if the system has events for us |
apspijkerman | 0:6a0d5fb13029 | 84 | // if value greater then zero then thats the ID number of |
apspijkerman | 0:6a0d5fb13029 | 85 | // the gui element or the event number |
apspijkerman | 0:6a0d5fb13029 | 86 | |
apspijkerman | 0:6a0d5fb13029 | 87 | |
apspijkerman | 0:6a0d5fb13029 | 88 | void InitStampdock(void) |
apspijkerman | 0:6a0d5fb13029 | 89 | { |
apspijkerman | 0:6a0d5fb13029 | 90 | // serial.begin( 9600 ); |
apspijkerman | 0:6a0d5fb13029 | 91 | // serial.baud(19200); |
apspijkerman | 0:6a0d5fb13029 | 92 | // serial.format(8,None,1); |
apspijkerman | 0:6a0d5fb13029 | 93 | SetLeds(); |
apspijkerman | 0:6a0d5fb13029 | 94 | |
apspijkerman | 0:6a0d5fb13029 | 95 | } |
apspijkerman | 0:6a0d5fb13029 | 96 | |
apspijkerman | 0:6a0d5fb13029 | 97 | |
apspijkerman | 0:6a0d5fb13029 | 98 | |
apspijkerman | 0:6a0d5fb13029 | 99 | static int GetEvent() |
apspijkerman | 0:6a0d5fb13029 | 100 | { |
apspijkerman | 0:6a0d5fb13029 | 101 | int e = 0, ready = 0, cnt = 0; |
apspijkerman | 0:6a0d5fb13029 | 102 | char v; |
apspijkerman | 0:6a0d5fb13029 | 103 | // DEBUG "?Q;" 'query for events .. also sync with PC |
apspijkerman | 0:6a0d5fb13029 | 104 | // SERIN 16, Baud, [x] '16468 |
apspijkerman | 0:6a0d5fb13029 | 105 | // PAUSE 1 ' millisecs .. let serial bus settle |
apspijkerman | 0:6a0d5fb13029 | 106 | |
apspijkerman | 0:6a0d5fb13029 | 107 | //serial.printf("\n"); // test .. purge buffer ? |
apspijkerman | 0:6a0d5fb13029 | 108 | serial.printf("?Q;"); // query for event |
apspijkerman | 0:6a0d5fb13029 | 109 | //wait(0.11); //CPU.delay(1); // ?? |
apspijkerman | 0:6a0d5fb13029 | 110 | do{ |
apspijkerman | 0:6a0d5fb13029 | 111 | if (serial.readable()){ |
apspijkerman | 0:6a0d5fb13029 | 112 | //v = Serial.read(); |
apspijkerman | 0:6a0d5fb13029 | 113 | v = serial.getc(); |
apspijkerman | 0:6a0d5fb13029 | 114 | |
apspijkerman | 0:6a0d5fb13029 | 115 | e = v; |
apspijkerman | 0:6a0d5fb13029 | 116 | if (e < 0) e += 256; // signed char to int ? |
apspijkerman | 0:6a0d5fb13029 | 117 | |
apspijkerman | 0:6a0d5fb13029 | 118 | //e = (255-v) + 1; // 2's complement |
apspijkerman | 0:6a0d5fb13029 | 119 | |
apspijkerman | 0:6a0d5fb13029 | 120 | //serial.printf("EVENT:"); |
apspijkerman | 0:6a0d5fb13029 | 121 | //serial.printf(e); |
apspijkerman | 0:6a0d5fb13029 | 122 | //serial.printf("<-"); |
apspijkerman | 0:6a0d5fb13029 | 123 | ready = 1; |
apspijkerman | 0:6a0d5fb13029 | 124 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 125 | //serial.printf("no event"); |
apspijkerman | 0:6a0d5fb13029 | 126 | wait(0.0001); |
apspijkerman | 0:6a0d5fb13029 | 127 | cnt++; |
apspijkerman | 0:6a0d5fb13029 | 128 | if (cnt == 1000) ready = 1; |
apspijkerman | 0:6a0d5fb13029 | 129 | Blink(0); |
apspijkerman | 0:6a0d5fb13029 | 130 | } |
apspijkerman | 0:6a0d5fb13029 | 131 | }while(!ready); |
apspijkerman | 0:6a0d5fb13029 | 132 | //CPU.delay(10); |
apspijkerman | 0:6a0d5fb13029 | 133 | |
apspijkerman | 0:6a0d5fb13029 | 134 | // .. flush out of sync events .. |
apspijkerman | 0:6a0d5fb13029 | 135 | //while (serial.readable()){ |
apspijkerman | 0:6a0d5fb13029 | 136 | if (serial.readable()){ |
apspijkerman | 0:6a0d5fb13029 | 137 | // Serial.read(); |
apspijkerman | 0:6a0d5fb13029 | 138 | serial.getc(); |
apspijkerman | 0:6a0d5fb13029 | 139 | Blink(1); |
apspijkerman | 0:6a0d5fb13029 | 140 | } |
apspijkerman | 0:6a0d5fb13029 | 141 | |
apspijkerman | 0:6a0d5fb13029 | 142 | if (serial.readable()){ |
apspijkerman | 0:6a0d5fb13029 | 143 | // Serial.read(); |
apspijkerman | 0:6a0d5fb13029 | 144 | serial.getc(); |
apspijkerman | 0:6a0d5fb13029 | 145 | Blink(2); |
apspijkerman | 0:6a0d5fb13029 | 146 | } |
apspijkerman | 0:6a0d5fb13029 | 147 | |
apspijkerman | 0:6a0d5fb13029 | 148 | return e; |
apspijkerman | 0:6a0d5fb13029 | 149 | } |
apspijkerman | 0:6a0d5fb13029 | 150 | |
apspijkerman | 0:6a0d5fb13029 | 151 | // request the state of GUI element i |
apspijkerman | 0:6a0d5fb13029 | 152 | |
apspijkerman | 0:6a0d5fb13029 | 153 | static int GetValue(int i) |
apspijkerman | 0:6a0d5fb13029 | 154 | { |
apspijkerman | 0:6a0d5fb13029 | 155 | int e = 0, ready = 0, cnt = 0; |
apspijkerman | 0:6a0d5fb13029 | 156 | char v; |
apspijkerman | 0:6a0d5fb13029 | 157 | //StringBuffer buf=new StringBuffer(12); |
apspijkerman | 0:6a0d5fb13029 | 158 | |
apspijkerman | 0:6a0d5fb13029 | 159 | // DEBUG "?i",DEC x,";" 'get state of gui element x |
apspijkerman | 0:6a0d5fb13029 | 160 | // SERIN 16, Baud, [s] '16468 |
apspijkerman | 0:6a0d5fb13029 | 161 | // PAUSE 1 ' millisecs |
apspijkerman | 0:6a0d5fb13029 | 162 | |
apspijkerman | 0:6a0d5fb13029 | 163 | //serial.printf("?i"); // query for event |
apspijkerman | 0:6a0d5fb13029 | 164 | //serial.printf(i); |
apspijkerman | 0:6a0d5fb13029 | 165 | //serial.printf(";"); |
apspijkerman | 0:6a0d5fb13029 | 166 | |
apspijkerman | 0:6a0d5fb13029 | 167 | //buf.clear(); |
apspijkerman | 0:6a0d5fb13029 | 168 | //buf.append("?i"); |
apspijkerman | 0:6a0d5fb13029 | 169 | //buf.append( i ); |
apspijkerman | 0:6a0d5fb13029 | 170 | //buf.append(";"); |
apspijkerman | 0:6a0d5fb13029 | 171 | //System.out.print(buf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 172 | |
apspijkerman | 0:6a0d5fb13029 | 173 | serial.printf("?i%d;", i ); |
apspijkerman | 0:6a0d5fb13029 | 174 | |
apspijkerman | 0:6a0d5fb13029 | 175 | //wait(0.1); //CPU.delay(1); // ?? |
apspijkerman | 0:6a0d5fb13029 | 176 | do { |
apspijkerman | 0:6a0d5fb13029 | 177 | if (serial.readable()){ |
apspijkerman | 0:6a0d5fb13029 | 178 | //v = Serial.read(); |
apspijkerman | 0:6a0d5fb13029 | 179 | v = serial.getc(); |
apspijkerman | 0:6a0d5fb13029 | 180 | |
apspijkerman | 0:6a0d5fb13029 | 181 | e = v; |
apspijkerman | 0:6a0d5fb13029 | 182 | if (e < 0) e += 256; // signed char to int ? |
apspijkerman | 0:6a0d5fb13029 | 183 | |
apspijkerman | 0:6a0d5fb13029 | 184 | //e = (255-v) + 1; // 2's complement |
apspijkerman | 0:6a0d5fb13029 | 185 | ready = 1; |
apspijkerman | 0:6a0d5fb13029 | 186 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 187 | wait(0.0001); |
apspijkerman | 0:6a0d5fb13029 | 188 | cnt++; |
apspijkerman | 0:6a0d5fb13029 | 189 | if (cnt == 1000) ready = 1; |
apspijkerman | 0:6a0d5fb13029 | 190 | } |
apspijkerman | 0:6a0d5fb13029 | 191 | //CPU.delay(10); |
apspijkerman | 0:6a0d5fb13029 | 192 | }while(!ready); |
apspijkerman | 0:6a0d5fb13029 | 193 | return e; |
apspijkerman | 0:6a0d5fb13029 | 194 | } |
apspijkerman | 0:6a0d5fb13029 | 195 | |
apspijkerman | 0:6a0d5fb13029 | 196 | // set the state (v) of gui element i |
apspijkerman | 0:6a0d5fb13029 | 197 | |
apspijkerman | 0:6a0d5fb13029 | 198 | static void SetValue(int i, int v) |
apspijkerman | 0:6a0d5fb13029 | 199 | { |
apspijkerman | 0:6a0d5fb13029 | 200 | //StringBuffer buf=new StringBuffer(16); |
apspijkerman | 0:6a0d5fb13029 | 201 | |
apspijkerman | 0:6a0d5fb13029 | 202 | // DEBUG "?i",DEC x,";" 'get state of gui element x |
apspijkerman | 0:6a0d5fb13029 | 203 | // SERIN 16, Baud, [s] '16468 |
apspijkerman | 0:6a0d5fb13029 | 204 | // PAUSE 1 ' millisecs |
apspijkerman | 0:6a0d5fb13029 | 205 | |
apspijkerman | 0:6a0d5fb13029 | 206 | //serial.printf("!i"); // set value |
apspijkerman | 0:6a0d5fb13029 | 207 | //serial.printf(i); |
apspijkerman | 0:6a0d5fb13029 | 208 | //serial.printf(",") |
apspijkerman | 0:6a0d5fb13029 | 209 | //serial.printf(v); |
apspijkerman | 0:6a0d5fb13029 | 210 | //serial.printf(";"); |
apspijkerman | 0:6a0d5fb13029 | 211 | |
apspijkerman | 0:6a0d5fb13029 | 212 | //buf.clear(); // slow ascii method to allow values > 255 |
apspijkerman | 0:6a0d5fb13029 | 213 | if (i <= 255){ |
apspijkerman | 0:6a0d5fb13029 | 214 | //buf.append("!ib"); // fast binary way |
apspijkerman | 0:6a0d5fb13029 | 215 | //buf.append((char) 2 ); // write 2 bytes |
apspijkerman | 0:6a0d5fb13029 | 216 | //buf.append((char) i ); // write id |
apspijkerman | 0:6a0d5fb13029 | 217 | //buf.append((char) v ); // always smaller als 256 |
apspijkerman | 0:6a0d5fb13029 | 218 | |
apspijkerman | 0:6a0d5fb13029 | 219 | serial.printf("!ib%c%c%c;", 2 , i , v ); |
apspijkerman | 0:6a0d5fb13029 | 220 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 221 | //buf.append("!i"); // slow ascii way |
apspijkerman | 0:6a0d5fb13029 | 222 | //buf.append( i ); // in case ID greater as 255 |
apspijkerman | 0:6a0d5fb13029 | 223 | //buf.append(","); |
apspijkerman | 0:6a0d5fb13029 | 224 | //buf.append( v ); |
apspijkerman | 0:6a0d5fb13029 | 225 | |
apspijkerman | 0:6a0d5fb13029 | 226 | serial.printf("!i%d,%d;", i, v); |
apspijkerman | 0:6a0d5fb13029 | 227 | } |
apspijkerman | 0:6a0d5fb13029 | 228 | //buf.append(";"); |
apspijkerman | 0:6a0d5fb13029 | 229 | //System.out.print(buf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 230 | |
apspijkerman | 0:6a0d5fb13029 | 231 | //CPU.delay(1); // ?? |
apspijkerman | 0:6a0d5fb13029 | 232 | } |
apspijkerman | 0:6a0d5fb13029 | 233 | |
apspijkerman | 0:6a0d5fb13029 | 234 | |
apspijkerman | 0:6a0d5fb13029 | 235 | static char ReadByte() |
apspijkerman | 0:6a0d5fb13029 | 236 | { |
apspijkerman | 0:6a0d5fb13029 | 237 | char v = 0, ready = 0, cnt = 0; |
apspijkerman | 0:6a0d5fb13029 | 238 | |
apspijkerman | 0:6a0d5fb13029 | 239 | //wait(0.1); |
apspijkerman | 0:6a0d5fb13029 | 240 | do { |
apspijkerman | 0:6a0d5fb13029 | 241 | if (serial.readable()){ |
apspijkerman | 0:6a0d5fb13029 | 242 | //v = Serial.read(); |
apspijkerman | 0:6a0d5fb13029 | 243 | v = serial.getc(); |
apspijkerman | 0:6a0d5fb13029 | 244 | |
apspijkerman | 0:6a0d5fb13029 | 245 | //e = v; |
apspijkerman | 0:6a0d5fb13029 | 246 | //if (e < 0) e += 256; // signed char to int ? |
apspijkerman | 0:6a0d5fb13029 | 247 | ready = 1; |
apspijkerman | 0:6a0d5fb13029 | 248 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 249 | wait(0.0001); |
apspijkerman | 0:6a0d5fb13029 | 250 | cnt++; |
apspijkerman | 0:6a0d5fb13029 | 251 | if (cnt == 1000) ready = 1; |
apspijkerman | 0:6a0d5fb13029 | 252 | } |
apspijkerman | 0:6a0d5fb13029 | 253 | }while(!ready); |
apspijkerman | 0:6a0d5fb13029 | 254 | return v; |
apspijkerman | 0:6a0d5fb13029 | 255 | } |
apspijkerman | 0:6a0d5fb13029 | 256 | |
apspijkerman | 0:6a0d5fb13029 | 257 | |
apspijkerman | 0:6a0d5fb13029 | 258 | static void SetColor(int r, int g, int b) |
apspijkerman | 0:6a0d5fb13029 | 259 | { |
apspijkerman | 0:6a0d5fb13029 | 260 | // StringBuffer buf=new StringBuffer(12); |
apspijkerman | 0:6a0d5fb13029 | 261 | |
apspijkerman | 0:6a0d5fb13029 | 262 | if (r == 0 && g == 0 && b == 0){ |
apspijkerman | 0:6a0d5fb13029 | 263 | serial.printf("!s;"); // black |
apspijkerman | 0:6a0d5fb13029 | 264 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 265 | //buf.clear(); |
apspijkerman | 0:6a0d5fb13029 | 266 | //buf.append("!sb"); // fast binary method .. so values <= 255 |
apspijkerman | 0:6a0d5fb13029 | 267 | //buf.append((char) 3 ); // write 3 bytes |
apspijkerman | 0:6a0d5fb13029 | 268 | //buf.append((char) r ); |
apspijkerman | 0:6a0d5fb13029 | 269 | //buf.append((char) g ); |
apspijkerman | 0:6a0d5fb13029 | 270 | //buf.append((char) b ); |
apspijkerman | 0:6a0d5fb13029 | 271 | //buf.append(";" ); |
apspijkerman | 0:6a0d5fb13029 | 272 | //System.out.print(buf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 273 | |
apspijkerman | 0:6a0d5fb13029 | 274 | serial.printf("!sb%c%c%c%c;", 3, r, g, b ); |
apspijkerman | 0:6a0d5fb13029 | 275 | } |
apspijkerman | 0:6a0d5fb13029 | 276 | //CPU.delay(1); // ?? |
apspijkerman | 0:6a0d5fb13029 | 277 | } |
apspijkerman | 0:6a0d5fb13029 | 278 | |
apspijkerman | 0:6a0d5fb13029 | 279 | |
apspijkerman | 0:6a0d5fb13029 | 280 | static void SetGrey(int g) |
apspijkerman | 0:6a0d5fb13029 | 281 | { |
apspijkerman | 0:6a0d5fb13029 | 282 | // StringBuffer buf=new StringBuffer(12); |
apspijkerman | 0:6a0d5fb13029 | 283 | |
apspijkerman | 0:6a0d5fb13029 | 284 | // DEBUG "!fb", 1, dat, ";" |
apspijkerman | 0:6a0d5fb13029 | 285 | |
apspijkerman | 0:6a0d5fb13029 | 286 | if (g == 0){ |
apspijkerman | 0:6a0d5fb13029 | 287 | //System.out.print("!f;"); // black |
apspijkerman | 0:6a0d5fb13029 | 288 | serial.printf("!f;"); // black |
apspijkerman | 0:6a0d5fb13029 | 289 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 290 | //buf.clear(); |
apspijkerman | 0:6a0d5fb13029 | 291 | //buf.append("!fb"); // fast binary method .. so values <= 255 |
apspijkerman | 0:6a0d5fb13029 | 292 | //buf.append((char) 1 ); // write 3 bytes |
apspijkerman | 0:6a0d5fb13029 | 293 | //buf.append((char) g ); |
apspijkerman | 0:6a0d5fb13029 | 294 | //buf.append(";" ); |
apspijkerman | 0:6a0d5fb13029 | 295 | //System.out.print(buf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 296 | |
apspijkerman | 0:6a0d5fb13029 | 297 | |
apspijkerman | 0:6a0d5fb13029 | 298 | serial.printf("!sf%c%c;", 1, g ); |
apspijkerman | 0:6a0d5fb13029 | 299 | } |
apspijkerman | 0:6a0d5fb13029 | 300 | //CPU.delay(1); // ?? |
apspijkerman | 0:6a0d5fb13029 | 301 | } |
apspijkerman | 0:6a0d5fb13029 | 302 | |
apspijkerman | 0:6a0d5fb13029 | 303 | |
apspijkerman | 0:6a0d5fb13029 | 304 | |
apspijkerman | 0:6a0d5fb13029 | 305 | static void SetLED(int i, int r, int g, int b) |
apspijkerman | 0:6a0d5fb13029 | 306 | { |
apspijkerman | 0:6a0d5fb13029 | 307 | // StringBuffer buf=new StringBuffer(12); |
apspijkerman | 0:6a0d5fb13029 | 308 | |
apspijkerman | 0:6a0d5fb13029 | 309 | //buf.clear(); |
apspijkerman | 0:6a0d5fb13029 | 310 | //buf.append("!jb"); // fast binary method .. so values <= 255 |
apspijkerman | 0:6a0d5fb13029 | 311 | //buf.append((char) 4 ); // write 4 bytes |
apspijkerman | 0:6a0d5fb13029 | 312 | //buf.append((char) i ); |
apspijkerman | 0:6a0d5fb13029 | 313 | //buf.append((char) r ); |
apspijkerman | 0:6a0d5fb13029 | 314 | //buf.append((char) g ); |
apspijkerman | 0:6a0d5fb13029 | 315 | //buf.append((char) b ); |
apspijkerman | 0:6a0d5fb13029 | 316 | //buf.append(";" ); |
apspijkerman | 0:6a0d5fb13029 | 317 | //System.out.print(buf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 318 | |
apspijkerman | 0:6a0d5fb13029 | 319 | serial.printf("!jb%c%c%c%c%c;", 4, i, r, g, b ); |
apspijkerman | 0:6a0d5fb13029 | 320 | |
apspijkerman | 0:6a0d5fb13029 | 321 | //CPU.delay(1); // ?? |
apspijkerman | 0:6a0d5fb13029 | 322 | } |
apspijkerman | 0:6a0d5fb13029 | 323 | |
apspijkerman | 0:6a0d5fb13029 | 324 | static void DrawLine(int x1, int y1, int x2, int y2) |
apspijkerman | 0:6a0d5fb13029 | 325 | { |
apspijkerman | 0:6a0d5fb13029 | 326 | //StringBuffer buf=new StringBuffer(36); |
apspijkerman | 0:6a0d5fb13029 | 327 | |
apspijkerman | 0:6a0d5fb13029 | 328 | //if (x1 < 0) x1 = 0; |
apspijkerman | 0:6a0d5fb13029 | 329 | //if (y1 < 0) y1 = 0; |
apspijkerman | 0:6a0d5fb13029 | 330 | //if (x2 < 0) x2 = 0; |
apspijkerman | 0:6a0d5fb13029 | 331 | //if (y2 < 0) y2 = 0; |
apspijkerman | 0:6a0d5fb13029 | 332 | |
apspijkerman | 0:6a0d5fb13029 | 333 | //buf.clear(); |
apspijkerman | 0:6a0d5fb13029 | 334 | if (x1 >= 0 && x1 <= 255 && y1 >= 0 && y1 <= 255 && x2 >= 0 && x2 <= 255 && y2 |
apspijkerman | 0:6a0d5fb13029 | 335 | |
apspijkerman | 0:6a0d5fb13029 | 336 | >= 0 && x2 <= 255){ |
apspijkerman | 0:6a0d5fb13029 | 337 | //buf.append("!lb"); // fast binary method |
apspijkerman | 0:6a0d5fb13029 | 338 | //buf.append((char) 4 ); // write 4 bytes |
apspijkerman | 0:6a0d5fb13029 | 339 | //buf.append((char) x1 ); |
apspijkerman | 0:6a0d5fb13029 | 340 | //buf.append((char) y1 ); |
apspijkerman | 0:6a0d5fb13029 | 341 | //buf.append((char) x2 ); |
apspijkerman | 0:6a0d5fb13029 | 342 | //buf.append((char) y2 ); |
apspijkerman | 0:6a0d5fb13029 | 343 | |
apspijkerman | 0:6a0d5fb13029 | 344 | serial.printf("!lb%c%c%c%c%c;", 4, x1, y1, x2, y2 ); |
apspijkerman | 0:6a0d5fb13029 | 345 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 346 | //buf.append("!l"); // slow method .. so values > 255 |
apspijkerman | 0:6a0d5fb13029 | 347 | //buf.append( x1 ); |
apspijkerman | 0:6a0d5fb13029 | 348 | //buf.append("," ); |
apspijkerman | 0:6a0d5fb13029 | 349 | //buf.append( y1 ); |
apspijkerman | 0:6a0d5fb13029 | 350 | //buf.append("," ); |
apspijkerman | 0:6a0d5fb13029 | 351 | //buf.append( x2 ); |
apspijkerman | 0:6a0d5fb13029 | 352 | //buf.append("," ); |
apspijkerman | 0:6a0d5fb13029 | 353 | //buf.append( y2 ); |
apspijkerman | 0:6a0d5fb13029 | 354 | |
apspijkerman | 0:6a0d5fb13029 | 355 | serial.printf("!l%d,%d,%d,%d;", x1, y1, x2, y2); |
apspijkerman | 0:6a0d5fb13029 | 356 | } |
apspijkerman | 0:6a0d5fb13029 | 357 | //buf.append(";" ); |
apspijkerman | 0:6a0d5fb13029 | 358 | //System.out.print(buf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 359 | |
apspijkerman | 0:6a0d5fb13029 | 360 | //CPU.delay(1); // ?? |
apspijkerman | 0:6a0d5fb13029 | 361 | } |
apspijkerman | 0:6a0d5fb13029 | 362 | |
apspijkerman | 0:6a0d5fb13029 | 363 | static void Plot(int x, int y) |
apspijkerman | 0:6a0d5fb13029 | 364 | { |
apspijkerman | 0:6a0d5fb13029 | 365 | //StringBuffer buf=new StringBuffer(16); |
apspijkerman | 0:6a0d5fb13029 | 366 | |
apspijkerman | 0:6a0d5fb13029 | 367 | //if (x < 0) x = 0; |
apspijkerman | 0:6a0d5fb13029 | 368 | //if (y < 0) y = 0; |
apspijkerman | 0:6a0d5fb13029 | 369 | |
apspijkerman | 0:6a0d5fb13029 | 370 | //buf.clear(); |
apspijkerman | 0:6a0d5fb13029 | 371 | if (x >= 0 && x <= 255 && y >= 0 && y <= 255){ |
apspijkerman | 0:6a0d5fb13029 | 372 | //buf.append("!pb"); // fast method .. so values <= 255 |
apspijkerman | 0:6a0d5fb13029 | 373 | //buf.append((char) 2 ); // write 2 bytes |
apspijkerman | 0:6a0d5fb13029 | 374 | //buf.append((char) x ); |
apspijkerman | 0:6a0d5fb13029 | 375 | //buf.append((char) y ); |
apspijkerman | 0:6a0d5fb13029 | 376 | |
apspijkerman | 0:6a0d5fb13029 | 377 | serial.printf("!pb%c%c%c;", 2, x, y); |
apspijkerman | 0:6a0d5fb13029 | 378 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 379 | //buf.append("!p"); // slow method .. so values > 255 |
apspijkerman | 0:6a0d5fb13029 | 380 | //buf.append( x ); |
apspijkerman | 0:6a0d5fb13029 | 381 | //buf.append("," ); |
apspijkerman | 0:6a0d5fb13029 | 382 | //buf.append( y ); |
apspijkerman | 0:6a0d5fb13029 | 383 | |
apspijkerman | 0:6a0d5fb13029 | 384 | serial.printf("!p%d,%d;", x, y); |
apspijkerman | 0:6a0d5fb13029 | 385 | } |
apspijkerman | 0:6a0d5fb13029 | 386 | //buf.append(";" ); |
apspijkerman | 0:6a0d5fb13029 | 387 | //System.out.print(buf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 388 | |
apspijkerman | 0:6a0d5fb13029 | 389 | //CPU.delay(1); // ?? |
apspijkerman | 0:6a0d5fb13029 | 390 | } |
apspijkerman | 0:6a0d5fb13029 | 391 | |
apspijkerman | 0:6a0d5fb13029 | 392 | |
apspijkerman | 0:6a0d5fb13029 | 393 | static void DrawGrid(int a, int b, int c, int d, int e, int f) |
apspijkerman | 0:6a0d5fb13029 | 394 | { |
apspijkerman | 0:6a0d5fb13029 | 395 | //StringBuffer buf=new StringBuffer(36); |
apspijkerman | 0:6a0d5fb13029 | 396 | |
apspijkerman | 0:6a0d5fb13029 | 397 | //buf.clear(); |
apspijkerman | 0:6a0d5fb13029 | 398 | //buf.append("!ab"); // fast binary method |
apspijkerman | 0:6a0d5fb13029 | 399 | //buf.append((char) 6 ); // write 6 bytes |
apspijkerman | 0:6a0d5fb13029 | 400 | //buf.append((char) a ); // xspace |
apspijkerman | 0:6a0d5fb13029 | 401 | //buf.append((char) b ); // yspace |
apspijkerman | 0:6a0d5fb13029 | 402 | //buf.append((char) c ); // xlines |
apspijkerman | 0:6a0d5fb13029 | 403 | //buf.append((char) d ); // ylines |
apspijkerman | 0:6a0d5fb13029 | 404 | //buf.append((char) e ); // xoffset |
apspijkerman | 0:6a0d5fb13029 | 405 | //buf.append((char) f ); // yoffset |
apspijkerman | 0:6a0d5fb13029 | 406 | //buf.append(";" ); |
apspijkerman | 0:6a0d5fb13029 | 407 | //System.out.print(buf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 408 | |
apspijkerman | 0:6a0d5fb13029 | 409 | serial.printf("!ab%c%c%c%c%c%c%c;", 6, a, b, c, d, e, f ); |
apspijkerman | 0:6a0d5fb13029 | 410 | |
apspijkerman | 0:6a0d5fb13029 | 411 | //CPU.delay(1); // ?? |
apspijkerman | 0:6a0d5fb13029 | 412 | } |
apspijkerman | 0:6a0d5fb13029 | 413 | |
apspijkerman | 0:6a0d5fb13029 | 414 | static void ClearScreen() |
apspijkerman | 0:6a0d5fb13029 | 415 | { |
apspijkerman | 0:6a0d5fb13029 | 416 | serial.printf("!c;"); |
apspijkerman | 0:6a0d5fb13029 | 417 | } |
apspijkerman | 0:6a0d5fb13029 | 418 | |
apspijkerman | 0:6a0d5fb13029 | 419 | // shortcut: Cmd("!c;"); or Cmd("?O;"); |
apspijkerman | 0:6a0d5fb13029 | 420 | |
apspijkerman | 0:6a0d5fb13029 | 421 | static void Cmd(char *p) |
apspijkerman | 0:6a0d5fb13029 | 422 | { |
apspijkerman | 0:6a0d5fb13029 | 423 | serial.printf(p); |
apspijkerman | 0:6a0d5fb13029 | 424 | } |
apspijkerman | 0:6a0d5fb13029 | 425 | |
apspijkerman | 0:6a0d5fb13029 | 426 | // for "!nSpeech;" or "!Llog file;" |
apspijkerman | 0:6a0d5fb13029 | 427 | |
apspijkerman | 0:6a0d5fb13029 | 428 | static void CmdStr(char cmd, char *p ) |
apspijkerman | 0:6a0d5fb13029 | 429 | { |
apspijkerman | 0:6a0d5fb13029 | 430 | //buf.clear(); |
apspijkerman | 0:6a0d5fb13029 | 431 | //buf.append("!"); |
apspijkerman | 0:6a0d5fb13029 | 432 | //buf.append( cmd ); |
apspijkerman | 0:6a0d5fb13029 | 433 | //buf.append( p ); |
apspijkerman | 0:6a0d5fb13029 | 434 | //buf.append(";" ); |
apspijkerman | 0:6a0d5fb13029 | 435 | //System.out.print(buf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 436 | |
apspijkerman | 0:6a0d5fb13029 | 437 | serial.printf("!%c%s;", cmd, p); |
apspijkerman | 0:6a0d5fb13029 | 438 | } |
apspijkerman | 0:6a0d5fb13029 | 439 | |
apspijkerman | 0:6a0d5fb13029 | 440 | // cmd with no argument so Cmd0('s'); = "!s;" |
apspijkerman | 0:6a0d5fb13029 | 441 | |
apspijkerman | 0:6a0d5fb13029 | 442 | static void Cmd0(char cmd ) |
apspijkerman | 0:6a0d5fb13029 | 443 | { |
apspijkerman | 0:6a0d5fb13029 | 444 | //buf.clear(); |
apspijkerman | 0:6a0d5fb13029 | 445 | //buf.append("!"); |
apspijkerman | 0:6a0d5fb13029 | 446 | //buf.append( cmd ); |
apspijkerman | 0:6a0d5fb13029 | 447 | //buf.append(";" ); |
apspijkerman | 0:6a0d5fb13029 | 448 | //System.out.print(buf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 449 | |
apspijkerman | 0:6a0d5fb13029 | 450 | serial.printf("!%c;", cmd); |
apspijkerman | 0:6a0d5fb13029 | 451 | } |
apspijkerman | 0:6a0d5fb13029 | 452 | |
apspijkerman | 0:6a0d5fb13029 | 453 | // request with no arguments |
apspijkerman | 0:6a0d5fb13029 | 454 | // Req0( 'm' ); = "?m;" |
apspijkerman | 0:6a0d5fb13029 | 455 | |
apspijkerman | 0:6a0d5fb13029 | 456 | static void Req0(char req ) |
apspijkerman | 0:6a0d5fb13029 | 457 | { |
apspijkerman | 0:6a0d5fb13029 | 458 | //buf.clear(); |
apspijkerman | 0:6a0d5fb13029 | 459 | //buf.append("?"); |
apspijkerman | 0:6a0d5fb13029 | 460 | //buf.append( req ); |
apspijkerman | 0:6a0d5fb13029 | 461 | //buf.append(";" ); |
apspijkerman | 0:6a0d5fb13029 | 462 | //System.out.print(buf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 463 | |
apspijkerman | 0:6a0d5fb13029 | 464 | serial.printf("?%c;", req ); |
apspijkerman | 0:6a0d5fb13029 | 465 | } |
apspijkerman | 0:6a0d5fb13029 | 466 | |
apspijkerman | 0:6a0d5fb13029 | 467 | // cmd with 1 arg Cmd1('a' , 1 ); = "!a1;" |
apspijkerman | 0:6a0d5fb13029 | 468 | |
apspijkerman | 0:6a0d5fb13029 | 469 | static void Cmd1(char cmd, int arg1 ) |
apspijkerman | 0:6a0d5fb13029 | 470 | { |
apspijkerman | 0:6a0d5fb13029 | 471 | //buf.clear(); |
apspijkerman | 0:6a0d5fb13029 | 472 | //buf.append("!"); |
apspijkerman | 0:6a0d5fb13029 | 473 | //buf.append( cmd ); |
apspijkerman | 0:6a0d5fb13029 | 474 | if (arg1 < 256){ |
apspijkerman | 0:6a0d5fb13029 | 475 | //buf.append( 'b' ); // binary mode |
apspijkerman | 0:6a0d5fb13029 | 476 | //buf.append((char) 1 ); // 1 argument |
apspijkerman | 0:6a0d5fb13029 | 477 | //buf.append((char) arg1 ); |
apspijkerman | 0:6a0d5fb13029 | 478 | |
apspijkerman | 0:6a0d5fb13029 | 479 | serial.printf("!%cb%c%c;", cmd, 1, arg1 ); |
apspijkerman | 0:6a0d5fb13029 | 480 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 481 | //buf.append( arg1 ); // slow ascii mode |
apspijkerman | 0:6a0d5fb13029 | 482 | |
apspijkerman | 0:6a0d5fb13029 | 483 | serial.printf("!%c%d;", cmd, arg1 ); |
apspijkerman | 0:6a0d5fb13029 | 484 | } |
apspijkerman | 0:6a0d5fb13029 | 485 | //buf.append(";" ); |
apspijkerman | 0:6a0d5fb13029 | 486 | //System.out.print(buf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 487 | } |
apspijkerman | 0:6a0d5fb13029 | 488 | |
apspijkerman | 0:6a0d5fb13029 | 489 | // cmd with 2 args Cmd2('G', 20, 1); = "!G20,1;" |
apspijkerman | 0:6a0d5fb13029 | 490 | // plot = Cmd2( 'p', x, y ); |
apspijkerman | 0:6a0d5fb13029 | 491 | |
apspijkerman | 0:6a0d5fb13029 | 492 | static void Cmd2(char cmd, int arg1, int arg2 ) |
apspijkerman | 0:6a0d5fb13029 | 493 | { |
apspijkerman | 0:6a0d5fb13029 | 494 | //buf.clear(); |
apspijkerman | 0:6a0d5fb13029 | 495 | //buf.append("!" ); // ! |
apspijkerman | 0:6a0d5fb13029 | 496 | //buf.append( cmd ); |
apspijkerman | 0:6a0d5fb13029 | 497 | if (arg1 < 255 && arg2 < 255){ |
apspijkerman | 0:6a0d5fb13029 | 498 | //buf.append( 'b' ); // binary mode |
apspijkerman | 0:6a0d5fb13029 | 499 | //buf.append((char) 2 ); // 2 arguments |
apspijkerman | 0:6a0d5fb13029 | 500 | //buf.append((char) arg1 ); |
apspijkerman | 0:6a0d5fb13029 | 501 | //buf.append((char) arg2 ); |
apspijkerman | 0:6a0d5fb13029 | 502 | |
apspijkerman | 0:6a0d5fb13029 | 503 | serial.printf("!%cb%c%c%c;", cmd, 2, arg1, arg2 ); |
apspijkerman | 0:6a0d5fb13029 | 504 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 505 | //buf.append( arg1 ); // slow ascii mode |
apspijkerman | 0:6a0d5fb13029 | 506 | //buf.append("," ); |
apspijkerman | 0:6a0d5fb13029 | 507 | //buf.append( arg2 ); |
apspijkerman | 0:6a0d5fb13029 | 508 | |
apspijkerman | 0:6a0d5fb13029 | 509 | serial.printf("!%c%d,%d;", cmd, arg1, arg2 ); |
apspijkerman | 0:6a0d5fb13029 | 510 | } |
apspijkerman | 0:6a0d5fb13029 | 511 | //buf.append(";" ); |
apspijkerman | 0:6a0d5fb13029 | 512 | //System.out.print(buf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 513 | } |
apspijkerman | 0:6a0d5fb13029 | 514 | |
apspijkerman | 0:6a0d5fb13029 | 515 | // cmd with 3 args |
apspijkerman | 0:6a0d5fb13029 | 516 | // setcolor = Cmd3( 's', r, g, b ); |
apspijkerman | 0:6a0d5fb13029 | 517 | |
apspijkerman | 0:6a0d5fb13029 | 518 | static void Cmd3(char cmd, int arg1, int arg2, int arg3 ) |
apspijkerman | 0:6a0d5fb13029 | 519 | { |
apspijkerman | 0:6a0d5fb13029 | 520 | //buf.clear(); |
apspijkerman | 0:6a0d5fb13029 | 521 | //buf.append("!" ); // ! |
apspijkerman | 0:6a0d5fb13029 | 522 | //buf.append( cmd ); |
apspijkerman | 0:6a0d5fb13029 | 523 | if (arg1 < 255 && arg2 < 255 && arg3 < 255){ |
apspijkerman | 0:6a0d5fb13029 | 524 | //buf.append( 'b' ); // binary mode |
apspijkerman | 0:6a0d5fb13029 | 525 | //buf.append((char) 3 ); // 3 arguments |
apspijkerman | 0:6a0d5fb13029 | 526 | //buf.append((char) arg1 ); |
apspijkerman | 0:6a0d5fb13029 | 527 | //buf.append((char) arg2 ); |
apspijkerman | 0:6a0d5fb13029 | 528 | //buf.append((char) arg3 ); |
apspijkerman | 0:6a0d5fb13029 | 529 | |
apspijkerman | 0:6a0d5fb13029 | 530 | serial.printf("!%cb%c%c%c%c;", cmd, 3, arg1, arg2, arg3 ); |
apspijkerman | 0:6a0d5fb13029 | 531 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 532 | //buf.append( arg1 ); // slow ascii mode |
apspijkerman | 0:6a0d5fb13029 | 533 | //buf.append("," ); |
apspijkerman | 0:6a0d5fb13029 | 534 | //buf.append( arg2 ); |
apspijkerman | 0:6a0d5fb13029 | 535 | //buf.append("," ); |
apspijkerman | 0:6a0d5fb13029 | 536 | //buf.append( arg3 ); |
apspijkerman | 0:6a0d5fb13029 | 537 | |
apspijkerman | 0:6a0d5fb13029 | 538 | serial.printf("!%c%d,%d,%d;", cmd, arg1, arg2, arg3 ); |
apspijkerman | 0:6a0d5fb13029 | 539 | } |
apspijkerman | 0:6a0d5fb13029 | 540 | //buf.append(";" ); |
apspijkerman | 0:6a0d5fb13029 | 541 | //System.out.print(buf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 542 | } |
apspijkerman | 0:6a0d5fb13029 | 543 | |
apspijkerman | 0:6a0d5fb13029 | 544 | // cmd with 4 args |
apspijkerman | 0:6a0d5fb13029 | 545 | // line = Cmd4( 'l', x1, y1, x2, y2); |
apspijkerman | 0:6a0d5fb13029 | 546 | |
apspijkerman | 0:6a0d5fb13029 | 547 | static void Cmd4(char cmd, int arg1, int arg2, int arg3, int arg4 ) |
apspijkerman | 0:6a0d5fb13029 | 548 | { |
apspijkerman | 0:6a0d5fb13029 | 549 | //buf.clear(); |
apspijkerman | 0:6a0d5fb13029 | 550 | //buf.append("!" ); // ! |
apspijkerman | 0:6a0d5fb13029 | 551 | //buf.append( cmd ); |
apspijkerman | 0:6a0d5fb13029 | 552 | if (arg1 < 255 && arg2 < 255 && arg3 < 255 && arg4 < 255){ |
apspijkerman | 0:6a0d5fb13029 | 553 | //buf.append( 'b' ); // binary mode |
apspijkerman | 0:6a0d5fb13029 | 554 | //buf.append((char) 4 ); // 4 arguments |
apspijkerman | 0:6a0d5fb13029 | 555 | //buf.append((char) arg1 ); |
apspijkerman | 0:6a0d5fb13029 | 556 | //buf.append((char) arg2 ); |
apspijkerman | 0:6a0d5fb13029 | 557 | //buf.append((char) arg3 ); |
apspijkerman | 0:6a0d5fb13029 | 558 | //buf.append((char) arg4 ); |
apspijkerman | 0:6a0d5fb13029 | 559 | |
apspijkerman | 0:6a0d5fb13029 | 560 | serial.printf("!%cb%c%c%c%c%c;", cmd, 4, arg1, arg2, arg3, arg4 ); |
apspijkerman | 0:6a0d5fb13029 | 561 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 562 | //buf.append( arg1 ); // slow ascii mode |
apspijkerman | 0:6a0d5fb13029 | 563 | //buf.append("," ); |
apspijkerman | 0:6a0d5fb13029 | 564 | //buf.append( arg2 ); |
apspijkerman | 0:6a0d5fb13029 | 565 | //buf.append("," ); |
apspijkerman | 0:6a0d5fb13029 | 566 | //buf.append( arg3 ); |
apspijkerman | 0:6a0d5fb13029 | 567 | //buf.append("," ); |
apspijkerman | 0:6a0d5fb13029 | 568 | //buf.append( arg4 ); |
apspijkerman | 0:6a0d5fb13029 | 569 | |
apspijkerman | 0:6a0d5fb13029 | 570 | serial.printf("!%c%d,%d,%d,%d;", cmd, arg1, arg2, arg3, arg4 ); |
apspijkerman | 0:6a0d5fb13029 | 571 | } |
apspijkerman | 0:6a0d5fb13029 | 572 | //buf.append(";" ); |
apspijkerman | 0:6a0d5fb13029 | 573 | //System.out.print(buf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 574 | } |
apspijkerman | 0:6a0d5fb13029 | 575 | |
apspijkerman | 0:6a0d5fb13029 | 576 | // play video, mp3 or picture |
apspijkerman | 0:6a0d5fb13029 | 577 | |
apspijkerman | 0:6a0d5fb13029 | 578 | static void Media(char *p) |
apspijkerman | 0:6a0d5fb13029 | 579 | { |
apspijkerman | 0:6a0d5fb13029 | 580 | //buf.clear(); |
apspijkerman | 0:6a0d5fb13029 | 581 | //buf.append("!V"); |
apspijkerman | 0:6a0d5fb13029 | 582 | //buf.append( p ); |
apspijkerman | 0:6a0d5fb13029 | 583 | //buf.append(";" ); |
apspijkerman | 0:6a0d5fb13029 | 584 | //System.out.print(buf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 585 | |
apspijkerman | 0:6a0d5fb13029 | 586 | serial.printf("!V%s;", p); |
apspijkerman | 0:6a0d5fb13029 | 587 | } |
apspijkerman | 0:6a0d5fb13029 | 588 | |
apspijkerman | 0:6a0d5fb13029 | 589 | static void Speech(char *p) |
apspijkerman | 0:6a0d5fb13029 | 590 | { |
apspijkerman | 0:6a0d5fb13029 | 591 | //buf.clear(); |
apspijkerman | 0:6a0d5fb13029 | 592 | //buf.append("!n"); |
apspijkerman | 0:6a0d5fb13029 | 593 | //buf.append( p ); |
apspijkerman | 0:6a0d5fb13029 | 594 | //buf.append(";" ); |
apspijkerman | 0:6a0d5fb13029 | 595 | //System.out.print(buf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 596 | |
apspijkerman | 0:6a0d5fb13029 | 597 | serial.printf("!n%s;", p); |
apspijkerman | 0:6a0d5fb13029 | 598 | } |
apspijkerman | 0:6a0d5fb13029 | 599 | |
apspijkerman | 0:6a0d5fb13029 | 600 | static void Log(char *p) |
apspijkerman | 0:6a0d5fb13029 | 601 | { |
apspijkerman | 0:6a0d5fb13029 | 602 | //buf.clear(); |
apspijkerman | 0:6a0d5fb13029 | 603 | //buf.append("!L"); |
apspijkerman | 0:6a0d5fb13029 | 604 | //buf.append( p ); |
apspijkerman | 0:6a0d5fb13029 | 605 | //buf.append(";" ); |
apspijkerman | 0:6a0d5fb13029 | 606 | //System.out.print(buf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 607 | |
apspijkerman | 0:6a0d5fb13029 | 608 | serial.printf("!L%s;", p); |
apspijkerman | 0:6a0d5fb13029 | 609 | } |
apspijkerman | 0:6a0d5fb13029 | 610 | |
apspijkerman | 0:6a0d5fb13029 | 611 | static void ScrollLeft() |
apspijkerman | 0:6a0d5fb13029 | 612 | { |
apspijkerman | 0:6a0d5fb13029 | 613 | serial.printf("!G20,1;"); |
apspijkerman | 0:6a0d5fb13029 | 614 | } |
apspijkerman | 0:6a0d5fb13029 | 615 | |
apspijkerman | 0:6a0d5fb13029 | 616 | /* |
apspijkerman | 0:6a0d5fb13029 | 617 | static void DrawGrid(int a, int b, int c, int d, int e, int f) |
apspijkerman | 0:6a0d5fb13029 | 618 | { |
apspijkerman | 0:6a0d5fb13029 | 619 | //StringBuffer buf=new StringBuffer(36); |
apspijkerman | 0:6a0d5fb13029 | 620 | |
apspijkerman | 0:6a0d5fb13029 | 621 | //buf.clear(); |
apspijkerman | 0:6a0d5fb13029 | 622 | //buf.append("!ab"); // fast binary method |
apspijkerman | 0:6a0d5fb13029 | 623 | //buf.append((char) 6 ); // write 6 bytes |
apspijkerman | 0:6a0d5fb13029 | 624 | //buf.append((char) a ); // xspace |
apspijkerman | 0:6a0d5fb13029 | 625 | //buf.append((char) b ); // yspace |
apspijkerman | 0:6a0d5fb13029 | 626 | //buf.append((char) c ); // xlines |
apspijkerman | 0:6a0d5fb13029 | 627 | //buf.append((char) d ); // ylines |
apspijkerman | 0:6a0d5fb13029 | 628 | //buf.append((char) e ); // xoffset |
apspijkerman | 0:6a0d5fb13029 | 629 | //buf.append((char) f ); // yoffset |
apspijkerman | 0:6a0d5fb13029 | 630 | //buf.append(";" ); |
apspijkerman | 0:6a0d5fb13029 | 631 | |
apspijkerman | 0:6a0d5fb13029 | 632 | //System.out.print(buf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 633 | |
apspijkerman | 0:6a0d5fb13029 | 634 | serial.printf("!ab%c%c%c%c%c%c%c;", 6, a, b, c, d, e, f ); |
apspijkerman | 0:6a0d5fb13029 | 635 | |
apspijkerman | 0:6a0d5fb13029 | 636 | //CPU.delay(1); // ?? |
apspijkerman | 0:6a0d5fb13029 | 637 | } |
apspijkerman | 0:6a0d5fb13029 | 638 | */ |
apspijkerman | 0:6a0d5fb13029 | 639 | |
apspijkerman | 0:6a0d5fb13029 | 640 | /* |
apspijkerman | 0:6a0d5fb13029 | 641 | static void initpins() { |
apspijkerman | 0:6a0d5fb13029 | 642 | // OUTPUT dischargecap 'capacitor reset p 15 |
apspijkerman | 0:6a0d5fb13029 | 643 | // LOW dischargecap 'disable p 15 |
apspijkerman | 0:6a0d5fb13029 | 644 | |
apspijkerman | 0:6a0d5fb13029 | 645 | // OUTPUT chargecap 'capacitor charge p 14 |
apspijkerman | 0:6a0d5fb13029 | 646 | // HIGH chargecap 'disable p 14 |
apspijkerman | 0:6a0d5fb13029 | 647 | |
apspijkerman | 0:6a0d5fb13029 | 648 | // INPUT chanblow 'channel b p 12 |
apspijkerman | 0:6a0d5fb13029 | 649 | // INPUT chanalow 'channel a p 13 |
apspijkerman | 0:6a0d5fb13029 | 650 | // INPUT chanbhigh 'channel b high p 10 |
apspijkerman | 0:6a0d5fb13029 | 651 | // INPUT chanahigh 'channel a high p 11 |
apspijkerman | 0:6a0d5fb13029 | 652 | |
apspijkerman | 0:6a0d5fb13029 | 653 | CPU.setInput (CPU.pins[10]); // chan b high opamp |
apspijkerman | 0:6a0d5fb13029 | 654 | CPU.setInput (CPU.pins[11]); // chan a high opamp |
apspijkerman | 0:6a0d5fb13029 | 655 | CPU.setInput (CPU.pins[12]); // chan b low opamp |
apspijkerman | 0:6a0d5fb13029 | 656 | CPU.setInput (CPU.pins[13]); // chan a low opamp |
apspijkerman | 0:6a0d5fb13029 | 657 | |
apspijkerman | 0:6a0d5fb13029 | 658 | CPU.setOutput(CPU.pins[14]); // charge cap pin |
apspijkerman | 0:6a0d5fb13029 | 659 | CPU.setOutput(CPU.pins[15]); // discarge cap pin |
apspijkerman | 0:6a0d5fb13029 | 660 | |
apspijkerman | 0:6a0d5fb13029 | 661 | CPU.writePin (CPU.pins[15] , false ); |
apspijkerman | 0:6a0d5fb13029 | 662 | CPU.writePin (CPU.pins[14] , true ); |
apspijkerman | 0:6a0d5fb13029 | 663 | } |
apspijkerman | 0:6a0d5fb13029 | 664 | |
apspijkerman | 0:6a0d5fb13029 | 665 | |
apspijkerman | 0:6a0d5fb13029 | 666 | // interface with ltc1298 chip |
apspijkerman | 0:6a0d5fb13029 | 667 | |
apspijkerman | 0:6a0d5fb13029 | 668 | // static int gEnablePin; // speedup ? |
apspijkerman | 0:6a0d5fb13029 | 669 | // static int gClockPin; |
apspijkerman | 0:6a0d5fb13029 | 670 | // static int gDataPin; |
apspijkerman | 0:6a0d5fb13029 | 671 | |
apspijkerman | 0:6a0d5fb13029 | 672 | static void initadc(int dataPin, int clockPin, int enablePin){ |
apspijkerman | 0:6a0d5fb13029 | 673 | |
apspijkerman | 0:6a0d5fb13029 | 674 | //gEnablePin = CPU.pins[enablePin]; // speedup ? |
apspijkerman | 0:6a0d5fb13029 | 675 | //gClockPin = CPU.pins[clockPin]; |
apspijkerman | 0:6a0d5fb13029 | 676 | //gDataPin = CPU.pins[dataPin]; |
apspijkerman | 0:6a0d5fb13029 | 677 | |
apspijkerman | 0:6a0d5fb13029 | 678 | CPU.writePin(CPU.pins[enablePin],false); // init the bus |
apspijkerman | 0:6a0d5fb13029 | 679 | CPU.writePin(CPU.pins[clockPin ],false); |
apspijkerman | 0:6a0d5fb13029 | 680 | CPU.delay(100); // settle down |
apspijkerman | 0:6a0d5fb13029 | 681 | CPU.writePin(CPU.pins[enablePin],false); |
apspijkerman | 0:6a0d5fb13029 | 682 | CPU.writePin(CPU.pins[enablePin],true ); |
apspijkerman | 0:6a0d5fb13029 | 683 | |
apspijkerman | 0:6a0d5fb13029 | 684 | //CPU.writePin(CPU.pins[dataPin ],false ); // test |
apspijkerman | 0:6a0d5fb13029 | 685 | //Serial.print(CPU.pins[ 1 ]); // just adds one ? |
apspijkerman | 0:6a0d5fb13029 | 686 | } |
apspijkerman | 0:6a0d5fb13029 | 687 | |
apspijkerman | 0:6a0d5fb13029 | 688 | static int readadc(int dataPin, int clockPin, int enablePin, int channel, int |
apspijkerman | 0:6a0d5fb13029 | 689 | |
apspijkerman | 0:6a0d5fb13029 | 690 | mode){ |
apspijkerman | 0:6a0d5fb13029 | 691 | |
apspijkerman | 0:6a0d5fb13029 | 692 | int command, readSize; |
apspijkerman | 0:6a0d5fb13029 | 693 | int clockIn; |
apspijkerman | 0:6a0d5fb13029 | 694 | |
apspijkerman | 0:6a0d5fb13029 | 695 | if (channel == 0) command = 0x1a; // %11010 read ch0 (pin2) |
apspijkerman | 0:6a0d5fb13029 | 696 | else command = 0x1e; // %11110 read ch1 (pin3) |
apspijkerman | 0:6a0d5fb13029 | 697 | |
apspijkerman | 0:6a0d5fb13029 | 698 | readSize = 12; // Bytes to Read on the LTC1298 |
apspijkerman | 0:6a0d5fb13029 | 699 | //resolution = 4096; // Range of the LTC1298 |
apspijkerman | 0:6a0d5fb13029 | 700 | //clockIn = 1000; |
apspijkerman | 0:6a0d5fb13029 | 701 | |
apspijkerman | 0:6a0d5fb13029 | 702 | CPU.writePin(CPU.pins[enablePin],false); |
apspijkerman | 0:6a0d5fb13029 | 703 | // set port |
apspijkerman | 0:6a0d5fb13029 | 704 | CPU.shiftOut(CPU.pins[dataPin],CPU.pins[clockPin],5,CPU.SHIFT_MSB,(command << |
apspijkerman | 0:6a0d5fb13029 | 705 | |
apspijkerman | 0:6a0d5fb13029 | 706 | 11)); |
apspijkerman | 0:6a0d5fb13029 | 707 | // read the value |
apspijkerman | 0:6a0d5fb13029 | 708 | clockIn = |
apspijkerman | 0:6a0d5fb13029 | 709 | |
apspijkerman | 0:6a0d5fb13029 | 710 | CPU.shiftIn(CPU.pins[dataPin],CPU.pins[clockPin],readSize,CPU.PRE_CLOCK_MSB); |
apspijkerman | 0:6a0d5fb13029 | 711 | CPU.writePin(CPU.pins[enablePin],true); |
apspijkerman | 0:6a0d5fb13029 | 712 | |
apspijkerman | 0:6a0d5fb13029 | 713 | //CPU.delay(100); |
apspijkerman | 0:6a0d5fb13029 | 714 | //CPU.writePin(CPU.pins[dataPin],false ); // test |
apspijkerman | 0:6a0d5fb13029 | 715 | //CPU.setInput(dataPin); |
apspijkerman | 0:6a0d5fb13029 | 716 | |
apspijkerman | 0:6a0d5fb13029 | 717 | |
apspijkerman | 0:6a0d5fb13029 | 718 | if (mode == 0){ // low |
apspijkerman | 0:6a0d5fb13029 | 719 | clockIn = clockIn - (2048-128); |
apspijkerman | 0:6a0d5fb13029 | 720 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 721 | if (mode == 1){ // high |
apspijkerman | 0:6a0d5fb13029 | 722 | //clockIn = clockIn / 16; // make 8 bits from 12 |
apspijkerman | 0:6a0d5fb13029 | 723 | clockIn = clockIn >> 4; // make 8 bits from 12 |
apspijkerman | 0:6a0d5fb13029 | 724 | }else{ // gnd |
apspijkerman | 0:6a0d5fb13029 | 725 | clockIn = 128; |
apspijkerman | 0:6a0d5fb13029 | 726 | } |
apspijkerman | 0:6a0d5fb13029 | 727 | } |
apspijkerman | 0:6a0d5fb13029 | 728 | |
apspijkerman | 0:6a0d5fb13029 | 729 | // Serial.print("v:"); |
apspijkerman | 0:6a0d5fb13029 | 730 | // Serial.print(channel); |
apspijkerman | 0:6a0d5fb13029 | 731 | // Serial.print(","); |
apspijkerman | 0:6a0d5fb13029 | 732 | // Serial.print(clockIn); |
apspijkerman | 0:6a0d5fb13029 | 733 | // Serial.println(""); |
apspijkerman | 0:6a0d5fb13029 | 734 | |
apspijkerman | 0:6a0d5fb13029 | 735 | return clockIn; |
apspijkerman | 0:6a0d5fb13029 | 736 | } |
apspijkerman | 0:6a0d5fb13029 | 737 | */ |
apspijkerman | 0:6a0d5fb13029 | 738 | |
apspijkerman | 0:6a0d5fb13029 | 739 | |
apspijkerman | 0:6a0d5fb13029 | 740 | /* |
apspijkerman | 0:6a0d5fb13029 | 741 | static int measure(int channel, int mode) { |
apspijkerman | 0:6a0d5fb13029 | 742 | int e, time; |
apspijkerman | 0:6a0d5fb13029 | 743 | |
apspijkerman | 0:6a0d5fb13029 | 744 | if (channel == 0){ // chan a |
apspijkerman | 0:6a0d5fb13029 | 745 | if (mode == 0){ |
apspijkerman | 0:6a0d5fb13029 | 746 | e = 13; // a low |
apspijkerman | 0:6a0d5fb13029 | 747 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 748 | if (mode == 1){ |
apspijkerman | 0:6a0d5fb13029 | 749 | e = 11; // a high |
apspijkerman | 0:6a0d5fb13029 | 750 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 751 | return 128; // gnd |
apspijkerman | 0:6a0d5fb13029 | 752 | } |
apspijkerman | 0:6a0d5fb13029 | 753 | } |
apspijkerman | 0:6a0d5fb13029 | 754 | }else{ // chan b |
apspijkerman | 0:6a0d5fb13029 | 755 | if (mode == 0){ |
apspijkerman | 0:6a0d5fb13029 | 756 | e = 12; // b low |
apspijkerman | 0:6a0d5fb13029 | 757 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 758 | if (mode == 1){ |
apspijkerman | 0:6a0d5fb13029 | 759 | e = 10; // b high |
apspijkerman | 0:6a0d5fb13029 | 760 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 761 | return 128; // gnd |
apspijkerman | 0:6a0d5fb13029 | 762 | } |
apspijkerman | 0:6a0d5fb13029 | 763 | } |
apspijkerman | 0:6a0d5fb13029 | 764 | } |
apspijkerman | 0:6a0d5fb13029 | 765 | |
apspijkerman | 0:6a0d5fb13029 | 766 | // PULSOUT dischargecap, 10 '2uS units -> 20uS |
apspijkerman | 0:6a0d5fb13029 | 767 | |
apspijkerman | 0:6a0d5fb13029 | 768 | //CPU.writePin(CPU.pins[15] , 1 ); // discharge cap |
apspijkerman | 0:6a0d5fb13029 | 769 | //CPU.delay( 1 ); |
apspijkerman | 0:6a0d5fb13029 | 770 | //CPU.writePin(CPU.pins[15] , 0 ); |
apspijkerman | 0:6a0d5fb13029 | 771 | CPU.pulseOut(2, CPU.pins[15] ); // 2 x 8.7 = 17 uS |
apspijkerman | 0:6a0d5fb13029 | 772 | |
apspijkerman | 0:6a0d5fb13029 | 773 | // LOW chargecap 'start charge |
apspijkerman | 0:6a0d5fb13029 | 774 | // RCTIME chanahigh, 0 , val 'PULSIN |
apspijkerman | 0:6a0d5fb13029 | 775 | // HIGH chargecap 'stop charge |
apspijkerman | 0:6a0d5fb13029 | 776 | |
apspijkerman | 0:6a0d5fb13029 | 777 | CPU.writePin(CPU.pins[14] , false ); |
apspijkerman | 0:6a0d5fb13029 | 778 | time = CPU.rcTime( 1000 ,CPU.pins[ e ], true ); // 8.68 uS units (0-200uS) |
apspijkerman | 0:6a0d5fb13029 | 779 | CPU.writePin(CPU.pins[14] , true ); |
apspijkerman | 0:6a0d5fb13029 | 780 | |
apspijkerman | 0:6a0d5fb13029 | 781 | //CPU.readPin( CPU.pins[e]); // switch back to input |
apspijkerman | 0:6a0d5fb13029 | 782 | time = time << 3; // resolution 8 times lower as basic stamp |
apspijkerman | 0:6a0d5fb13029 | 783 | |
apspijkerman | 0:6a0d5fb13029 | 784 | return time; |
apspijkerman | 0:6a0d5fb13029 | 785 | } |
apspijkerman | 0:6a0d5fb13029 | 786 | */ |
apspijkerman | 0:6a0d5fb13029 | 787 | |
apspijkerman | 0:6a0d5fb13029 | 788 | |
apspijkerman | 0:6a0d5fb13029 | 789 | |
apspijkerman | 0:6a0d5fb13029 | 790 | /* |
apspijkerman | 0:6a0d5fb13029 | 791 | val = readadc(2,1,0, 0, ChanAMode ); |
apspijkerman | 0:6a0d5fb13029 | 792 | val = readadc(2,1,0, 1, ChanBMode ); ; |
apspijkerman | 0:6a0d5fb13029 | 793 | */ |
apspijkerman | 0:6a0d5fb13029 | 794 | // mode0 = low , mode1 = high |
apspijkerman | 0:6a0d5fb13029 | 795 | |
apspijkerman | 0:6a0d5fb13029 | 796 | int readadc(int p1, int p2, int p3, int chan, int mode) |
apspijkerman | 0:6a0d5fb13029 | 797 | { |
apspijkerman | 0:6a0d5fb13029 | 798 | int ret; |
apspijkerman | 0:6a0d5fb13029 | 799 | |
apspijkerman | 0:6a0d5fb13029 | 800 | if (mode == 0){ |
apspijkerman | 0:6a0d5fb13029 | 801 | if (chan == 0) ret = xa * 4096; |
apspijkerman | 0:6a0d5fb13029 | 802 | if (chan == 1) ret = ya * 4096; |
apspijkerman | 0:6a0d5fb13029 | 803 | } |
apspijkerman | 0:6a0d5fb13029 | 804 | if (mode == 1){ |
apspijkerman | 0:6a0d5fb13029 | 805 | if (chan == 0) ret = xa * 256; |
apspijkerman | 0:6a0d5fb13029 | 806 | if (chan == 1) ret = ya * 256; |
apspijkerman | 0:6a0d5fb13029 | 807 | } |
apspijkerman | 0:6a0d5fb13029 | 808 | |
apspijkerman | 0:6a0d5fb13029 | 809 | return ret; |
apspijkerman | 0:6a0d5fb13029 | 810 | } |
apspijkerman | 0:6a0d5fb13029 | 811 | |
apspijkerman | 0:6a0d5fb13029 | 812 | int measure( int chan, int mode) |
apspijkerman | 0:6a0d5fb13029 | 813 | { |
apspijkerman | 0:6a0d5fb13029 | 814 | int ret; |
apspijkerman | 0:6a0d5fb13029 | 815 | |
apspijkerman | 0:6a0d5fb13029 | 816 | if (mode == 0){ |
apspijkerman | 0:6a0d5fb13029 | 817 | if (chan == 0) ret = xa * 4096; |
apspijkerman | 0:6a0d5fb13029 | 818 | if (chan == 1) ret = ya * 4096; |
apspijkerman | 0:6a0d5fb13029 | 819 | } |
apspijkerman | 0:6a0d5fb13029 | 820 | if (mode == 1){ |
apspijkerman | 0:6a0d5fb13029 | 821 | if (chan == 0) ret = xa * 256; |
apspijkerman | 0:6a0d5fb13029 | 822 | if (chan == 1) ret = ya * 256; |
apspijkerman | 0:6a0d5fb13029 | 823 | } |
apspijkerman | 0:6a0d5fb13029 | 824 | |
apspijkerman | 0:6a0d5fb13029 | 825 | return ret; |
apspijkerman | 0:6a0d5fb13029 | 826 | } |
apspijkerman | 0:6a0d5fb13029 | 827 | #define boolean int |
apspijkerman | 0:6a0d5fb13029 | 828 | |
apspijkerman | 0:6a0d5fb13029 | 829 | // ChanXMode '0=off, 1=low, 2=high, 3=gnd ? |
apspijkerman | 0:6a0d5fb13029 | 830 | // Mode '0=scope, 1=XY, 2=record (3=off ?) |
apspijkerman | 0:6a0d5fb13029 | 831 | |
apspijkerman | 0:6a0d5fb13029 | 832 | |
apspijkerman | 0:6a0d5fb13029 | 833 | |
apspijkerman | 0:6a0d5fb13029 | 834 | |
apspijkerman | 0:6a0d5fb13029 | 835 | |
apspijkerman | 0:6a0d5fb13029 | 836 | int main() { |
apspijkerman | 0:6a0d5fb13029 | 837 | boolean UseChanA = true, UseChanB = true; // Bit |
apspijkerman | 0:6a0d5fb13029 | 838 | boolean ready, grid = true, adc = false; // Bit |
apspijkerman | 0:6a0d5fb13029 | 839 | int ChanAMode = 0, ChanBMode = 0, mode = 0; // Nib |
apspijkerman | 0:6a0d5fb13029 | 840 | int PosA = 128, PosB = 128; |
apspijkerman | 0:6a0d5fb13029 | 841 | |
apspijkerman | 0:6a0d5fb13029 | 842 | int val, valb, ecnt = 0; // Word |
apspijkerman | 0:6a0d5fb13029 | 843 | int pval = 0, pvalb = 0; // Bytes |
apspijkerman | 0:6a0d5fb13029 | 844 | int x, s, cnt = 0, ptr, speed = 0; // Byte |
apspijkerman | 0:6a0d5fb13029 | 845 | |
apspijkerman | 0:6a0d5fb13029 | 846 | boolean trigMode = true, trigEdge = false, trigSrc = false; // Bit |
apspijkerman | 0:6a0d5fb13029 | 847 | int trigLevel = 127; // Byte (128 results in 127 !) |
apspijkerman | 0:6a0d5fb13029 | 848 | int mem[100]; // [] mem; |
apspijkerman | 0:6a0d5fb13029 | 849 | |
apspijkerman | 0:6a0d5fb13029 | 850 | //StringBuffer serbuf = new StringBuffer(80); |
apspijkerman | 0:6a0d5fb13029 | 851 | |
apspijkerman | 0:6a0d5fb13029 | 852 | //mem = new int [100]; |
apspijkerman | 0:6a0d5fb13029 | 853 | |
apspijkerman | 0:6a0d5fb13029 | 854 | InitStampdock(); |
apspijkerman | 0:6a0d5fb13029 | 855 | |
apspijkerman | 0:6a0d5fb13029 | 856 | |
apspijkerman | 0:6a0d5fb13029 | 857 | //initpins(); |
apspijkerman | 0:6a0d5fb13029 | 858 | //initadc(2,1,0); |
apspijkerman | 0:6a0d5fb13029 | 859 | |
apspijkerman | 0:6a0d5fb13029 | 860 | //for (s = 0; s < 100; s++) System.out.print((char) 127 ); |
apspijkerman | 0:6a0d5fb13029 | 861 | //System.out.print((char) 127 ); |
apspijkerman | 0:6a0d5fb13029 | 862 | //System.out.print("scope running .. "); |
apspijkerman | 0:6a0d5fb13029 | 863 | serial.printf("scope running .. "); |
apspijkerman | 0:6a0d5fb13029 | 864 | |
apspijkerman | 0:6a0d5fb13029 | 865 | // reset value of gui buttons if reset |
apspijkerman | 0:6a0d5fb13029 | 866 | SetValue(1, mode); // System.out.print("!i1,0;"); // mode, 0 is xt scope |
apspijkerman | 0:6a0d5fb13029 | 867 | |
apspijkerman | 0:6a0d5fb13029 | 868 | SetValue(102,0); // System.out.print("!i102,1;"); // on/off switch on |
apspijkerman | 0:6a0d5fb13029 | 869 | if (grid) SetValue(103,1); else SetValue(103,0); // System.out.print("!i103,1;"); // grid switch on |
apspijkerman | 0:6a0d5fb13029 | 870 | if (adc) SetValue(104,1); else SetValue(104,0); // System.out.print("!i104,0;"); // ltc1298 off |
apspijkerman | 0:6a0d5fb13029 | 871 | |
apspijkerman | 0:6a0d5fb13029 | 872 | SetValue(30, speed); // System.out.print("!i30,0;"); // speed switch 0 |
apspijkerman | 0:6a0d5fb13029 | 873 | SetValue(40, trigLevel); // System.out.print("!i40,128;"); // trigger level 128 |
apspijkerman | 0:6a0d5fb13029 | 874 | if (trigMode) SetValue(41,1); else SetValue(41,0); // System.out.print("!i41,1;"); // trigger on |
apspijkerman | 0:6a0d5fb13029 | 875 | if (trigEdge) SetValue(42,1); else SetValue(42,0); // System.out.print("!i42,1;"); // trigger edge |
apspijkerman | 0:6a0d5fb13029 | 876 | if (trigSrc) SetValue(43,1); else SetValue(43,0); // System.out.print("!i43,0;"); // trigger source |
apspijkerman | 0:6a0d5fb13029 | 877 | |
apspijkerman | 0:6a0d5fb13029 | 878 | SetValue(10, PosA); // System.out.print("!i10,128;"); // pos chan a |
apspijkerman | 0:6a0d5fb13029 | 879 | SetValue(12, ChanAMode); // System.out.print("!i12,0;"); // chan a mode |
apspijkerman | 0:6a0d5fb13029 | 880 | if (UseChanA) SetValue(11,1); else SetValue(11,0); // System.out.print("!i11,1;"); // channel a on |
apspijkerman | 0:6a0d5fb13029 | 881 | |
apspijkerman | 0:6a0d5fb13029 | 882 | SetValue(20, PosB); // System.out.print("!i20,128;"); // pos chan b |
apspijkerman | 0:6a0d5fb13029 | 883 | SetValue(22, ChanBMode); // System.out.print("!i22,0;"); // chan b mode |
apspijkerman | 0:6a0d5fb13029 | 884 | if (UseChanB) SetValue(21,1); else SetValue(21,0); // System.out.print("!i21,1;"); // channel b on |
apspijkerman | 0:6a0d5fb13029 | 885 | |
apspijkerman | 0:6a0d5fb13029 | 886 | while (true){ |
apspijkerman | 0:6a0d5fb13029 | 887 | if (ecnt == 2){ // test speed up |
apspijkerman | 0:6a0d5fb13029 | 888 | x = GetEvent(); |
apspijkerman | 0:6a0d5fb13029 | 889 | ecnt = 0; |
apspijkerman | 0:6a0d5fb13029 | 890 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 891 | ecnt++; |
apspijkerman | 0:6a0d5fb13029 | 892 | x = 0; |
apspijkerman | 0:6a0d5fb13029 | 893 | } |
apspijkerman | 0:6a0d5fb13029 | 894 | |
apspijkerman | 0:6a0d5fb13029 | 895 | if (x != 0){ // do we have a gui click or event ? |
apspijkerman | 0:6a0d5fb13029 | 896 | ecnt = 0; // just had an event, so max wait |
apspijkerman | 0:6a0d5fb13029 | 897 | s = GetValue(x); // get value of gui element x |
apspijkerman | 0:6a0d5fb13029 | 898 | |
apspijkerman | 0:6a0d5fb13029 | 899 | // now handle GUI element x with value/state s |
apspijkerman | 0:6a0d5fb13029 | 900 | if (x == 1){ //mode 0=scope, 1=xy, 2=rec(,3 =off ?) |
apspijkerman | 0:6a0d5fb13029 | 901 | mode = s; |
apspijkerman | 0:6a0d5fb13029 | 902 | // clear graph |
apspijkerman | 0:6a0d5fb13029 | 903 | //'DEBUG "!s100,100,200;!c;" 'set blue color , clear screen 17c |
apspijkerman | 0:6a0d5fb13029 | 904 | //DEBUG "!sb",3, 100,100,200, ";!c;" 'fast binary way to set color 11c |
apspijkerman | 0:6a0d5fb13029 | 905 | //System.out.print("!s100,100,200;!c;"); |
apspijkerman | 0:6a0d5fb13029 | 906 | SetColor(100,100,200); |
apspijkerman | 0:6a0d5fb13029 | 907 | ClearScreen(); |
apspijkerman | 0:6a0d5fb13029 | 908 | } else |
apspijkerman | 0:6a0d5fb13029 | 909 | if (x == 102){ // on/off switch ?? |
apspijkerman | 0:6a0d5fb13029 | 910 | // mode = s; |
apspijkerman | 0:6a0d5fb13029 | 911 | } else |
apspijkerman | 0:6a0d5fb13029 | 912 | if (x == 100){ // turnknob for recorder |
apspijkerman | 0:6a0d5fb13029 | 913 | // mode = s; |
apspijkerman | 0:6a0d5fb13029 | 914 | } else |
apspijkerman | 0:6a0d5fb13029 | 915 | if (x == 103){ // grid on/off switch |
apspijkerman | 0:6a0d5fb13029 | 916 | //grid = s; |
apspijkerman | 0:6a0d5fb13029 | 917 | if (s == 0) grid = false; else grid = true; |
apspijkerman | 0:6a0d5fb13029 | 918 | } else |
apspijkerman | 0:6a0d5fb13029 | 919 | if (x == 104){ // ltc1298 on/off switch |
apspijkerman | 0:6a0d5fb13029 | 920 | //grid = s; |
apspijkerman | 0:6a0d5fb13029 | 921 | if (s == 0) adc = false; else adc = true; |
apspijkerman | 0:6a0d5fb13029 | 922 | } else |
apspijkerman | 0:6a0d5fb13029 | 923 | if (x == 30){ // speed 0,1,2,3 |
apspijkerman | 0:6a0d5fb13029 | 924 | speed = s; |
apspijkerman | 0:6a0d5fb13029 | 925 | } else |
apspijkerman | 0:6a0d5fb13029 | 926 | |
apspijkerman | 0:6a0d5fb13029 | 927 | |
apspijkerman | 0:6a0d5fb13029 | 928 | |
apspijkerman | 0:6a0d5fb13029 | 929 | |
apspijkerman | 0:6a0d5fb13029 | 930 | if (x == 40){ // trigger level |
apspijkerman | 0:6a0d5fb13029 | 931 | trigLevel = 255 - s; |
apspijkerman | 0:6a0d5fb13029 | 932 | } else |
apspijkerman | 0:6a0d5fb13029 | 933 | if (x == 41){ // trigger on/off |
apspijkerman | 0:6a0d5fb13029 | 934 | //trigMode = s; |
apspijkerman | 0:6a0d5fb13029 | 935 | if (s == 0) trigMode = false; else trigMode = true; |
apspijkerman | 0:6a0d5fb13029 | 936 | } else |
apspijkerman | 0:6a0d5fb13029 | 937 | if (x == 42){ // trigger edge |
apspijkerman | 0:6a0d5fb13029 | 938 | //trigEdge = s; |
apspijkerman | 0:6a0d5fb13029 | 939 | if (s == 0) trigEdge = false; else trigEdge = true; |
apspijkerman | 0:6a0d5fb13029 | 940 | } else |
apspijkerman | 0:6a0d5fb13029 | 941 | if (x == 43){ // trigger source |
apspijkerman | 0:6a0d5fb13029 | 942 | //trigSrc = s; |
apspijkerman | 0:6a0d5fb13029 | 943 | if (s == 0) trigSrc = false; else trigSrc = true; |
apspijkerman | 0:6a0d5fb13029 | 944 | } else |
apspijkerman | 0:6a0d5fb13029 | 945 | |
apspijkerman | 0:6a0d5fb13029 | 946 | if (x == 10){ // pos chan a |
apspijkerman | 0:6a0d5fb13029 | 947 | PosA = s; |
apspijkerman | 0:6a0d5fb13029 | 948 | } else |
apspijkerman | 0:6a0d5fb13029 | 949 | if (x == 11){ // chan a on/off |
apspijkerman | 0:6a0d5fb13029 | 950 | //UseChanA = s; |
apspijkerman | 0:6a0d5fb13029 | 951 | if (s == 0) UseChanA = false; else UseChanA = true; |
apspijkerman | 0:6a0d5fb13029 | 952 | } else |
apspijkerman | 0:6a0d5fb13029 | 953 | if (x == 12){ // chan a mode (0=1.5v, 1=15v, 2=gnd) |
apspijkerman | 0:6a0d5fb13029 | 954 | ChanAMode = s; |
apspijkerman | 0:6a0d5fb13029 | 955 | } else |
apspijkerman | 0:6a0d5fb13029 | 956 | |
apspijkerman | 0:6a0d5fb13029 | 957 | if (x == 20){ // pos chan b |
apspijkerman | 0:6a0d5fb13029 | 958 | PosB = s; |
apspijkerman | 0:6a0d5fb13029 | 959 | } else |
apspijkerman | 0:6a0d5fb13029 | 960 | if (x == 21){ // chan b on/off |
apspijkerman | 0:6a0d5fb13029 | 961 | //UseChanB = s; |
apspijkerman | 0:6a0d5fb13029 | 962 | if (s == 0) UseChanB = false; else UseChanB = true; |
apspijkerman | 0:6a0d5fb13029 | 963 | } else |
apspijkerman | 0:6a0d5fb13029 | 964 | if (x == 22){ // chan b mode (0=1.5v, 1=15v, 2=gnd) |
apspijkerman | 0:6a0d5fb13029 | 965 | ChanBMode = s; |
apspijkerman | 0:6a0d5fb13029 | 966 | } |
apspijkerman | 0:6a0d5fb13029 | 967 | } // if event |
apspijkerman | 0:6a0d5fb13029 | 968 | |
apspijkerman | 0:6a0d5fb13029 | 969 | |
apspijkerman | 0:6a0d5fb13029 | 970 | if (mode == 0){ // xt scope mode |
apspijkerman | 0:6a0d5fb13029 | 971 | // trigger |
apspijkerman | 0:6a0d5fb13029 | 972 | if (trigMode){ |
apspijkerman | 0:6a0d5fb13029 | 973 | |
apspijkerman | 0:6a0d5fb13029 | 974 | if (trigEdge == false){ |
apspijkerman | 0:6a0d5fb13029 | 975 | pval = 255; |
apspijkerman | 0:6a0d5fb13029 | 976 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 977 | pval = 0; |
apspijkerman | 0:6a0d5fb13029 | 978 | } |
apspijkerman | 0:6a0d5fb13029 | 979 | cnt = 0; |
apspijkerman | 0:6a0d5fb13029 | 980 | ready = false; |
apspijkerman | 0:6a0d5fb13029 | 981 | do { |
apspijkerman | 0:6a0d5fb13029 | 982 | cnt++; |
apspijkerman | 0:6a0d5fb13029 | 983 | if (cnt == 20) ready = true; |
apspijkerman | 0:6a0d5fb13029 | 984 | |
apspijkerman | 0:6a0d5fb13029 | 985 | if (adc){ // ltc 1298 mode |
apspijkerman | 0:6a0d5fb13029 | 986 | if (trigSrc == false){ // chan a |
apspijkerman | 0:6a0d5fb13029 | 987 | val = readadc(2,1,0, 0, ChanAMode ); |
apspijkerman | 0:6a0d5fb13029 | 988 | }else{ // chan b |
apspijkerman | 0:6a0d5fb13029 | 989 | val = readadc(2,1,0, 1, ChanBMode ); ; |
apspijkerman | 0:6a0d5fb13029 | 990 | } |
apspijkerman | 0:6a0d5fb13029 | 991 | }else{ // opamp/transistor mode |
apspijkerman | 0:6a0d5fb13029 | 992 | |
apspijkerman | 0:6a0d5fb13029 | 993 | if (trigSrc == false){ // chan a |
apspijkerman | 0:6a0d5fb13029 | 994 | val = measure(0, ChanAMode ); |
apspijkerman | 0:6a0d5fb13029 | 995 | }else{ // chan b |
apspijkerman | 0:6a0d5fb13029 | 996 | val = measure(1, ChanBMode ); |
apspijkerman | 0:6a0d5fb13029 | 997 | } |
apspijkerman | 0:6a0d5fb13029 | 998 | |
apspijkerman | 0:6a0d5fb13029 | 999 | } |
apspijkerman | 0:6a0d5fb13029 | 1000 | // now val is the value we want to check trigger on |
apspijkerman | 0:6a0d5fb13029 | 1001 | |
apspijkerman | 0:6a0d5fb13029 | 1002 | if (trigEdge == false) { |
apspijkerman | 0:6a0d5fb13029 | 1003 | if (trigLevel < val && trigLevel >= pval) ready = true; |
apspijkerman | 0:6a0d5fb13029 | 1004 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 1005 | if (trigLevel > val && trigLevel <= pval) ready = true; |
apspijkerman | 0:6a0d5fb13029 | 1006 | } |
apspijkerman | 0:6a0d5fb13029 | 1007 | pval = val; |
apspijkerman | 0:6a0d5fb13029 | 1008 | |
apspijkerman | 0:6a0d5fb13029 | 1009 | }while (!ready); |
apspijkerman | 0:6a0d5fb13029 | 1010 | } // trigMode |
apspijkerman | 0:6a0d5fb13029 | 1011 | |
apspijkerman | 0:6a0d5fb13029 | 1012 | ptr = 0; // mem counter |
apspijkerman | 0:6a0d5fb13029 | 1013 | if (adc){ // ltc 1298 mode |
apspijkerman | 0:6a0d5fb13029 | 1014 | for (cnt = 0; cnt <= 29; cnt++){ |
apspijkerman | 0:6a0d5fb13029 | 1015 | if (UseChanA){ |
apspijkerman | 0:6a0d5fb13029 | 1016 | //val = readadc(2,1,0, 0, ChanAMode ); |
apspijkerman | 0:6a0d5fb13029 | 1017 | //if (ChanAMode == 0){ |
apspijkerman | 0:6a0d5fb13029 | 1018 | // val = val - (2048-128); |
apspijkerman | 0:6a0d5fb13029 | 1019 | //}else{ |
apspijkerman | 0:6a0d5fb13029 | 1020 | // val = val >> 4; |
apspijkerman | 0:6a0d5fb13029 | 1021 | //} |
apspijkerman | 0:6a0d5fb13029 | 1022 | //mem[ptr] = val; |
apspijkerman | 0:6a0d5fb13029 | 1023 | mem[ptr] = readadc(2,1,0, 0, ChanAMode ); |
apspijkerman | 0:6a0d5fb13029 | 1024 | } |
apspijkerman | 0:6a0d5fb13029 | 1025 | ptr++; |
apspijkerman | 0:6a0d5fb13029 | 1026 | |
apspijkerman | 0:6a0d5fb13029 | 1027 | if (UseChanB){ |
apspijkerman | 0:6a0d5fb13029 | 1028 | //val = readadc(2,1,0, 1, ChanBMode ); |
apspijkerman | 0:6a0d5fb13029 | 1029 | //if (ChanBMode == 0){ |
apspijkerman | 0:6a0d5fb13029 | 1030 | // val = val - (2048-128); |
apspijkerman | 0:6a0d5fb13029 | 1031 | //}else{ |
apspijkerman | 0:6a0d5fb13029 | 1032 | // val = val >> 4; |
apspijkerman | 0:6a0d5fb13029 | 1033 | //} |
apspijkerman | 0:6a0d5fb13029 | 1034 | //mem[ptr] = val; |
apspijkerman | 0:6a0d5fb13029 | 1035 | mem[ptr] = readadc(2,1,0, 1, ChanBMode ); |
apspijkerman | 0:6a0d5fb13029 | 1036 | } |
apspijkerman | 0:6a0d5fb13029 | 1037 | ptr++; |
apspijkerman | 0:6a0d5fb13029 | 1038 | |
apspijkerman | 0:6a0d5fb13029 | 1039 | if (speed > 0){ |
apspijkerman | 0:6a0d5fb13029 | 1040 | if (speed == 1) wait(0.001); // CPU.delay(speed); |
apspijkerman | 0:6a0d5fb13029 | 1041 | if (speed == 2) wait(0.01 ); // CPU.delay(speed); |
apspijkerman | 0:6a0d5fb13029 | 1042 | if (speed == 3) wait(0.1 ); // CPU.delay(speed); |
apspijkerman | 0:6a0d5fb13029 | 1043 | } |
apspijkerman | 0:6a0d5fb13029 | 1044 | } // for |
apspijkerman | 0:6a0d5fb13029 | 1045 | }else{ // opamp/transistor mode |
apspijkerman | 0:6a0d5fb13029 | 1046 | for (cnt = 0; cnt <= 29; cnt++){ |
apspijkerman | 0:6a0d5fb13029 | 1047 | if (UseChanA){ |
apspijkerman | 0:6a0d5fb13029 | 1048 | //val = measure(0, ChanAMode ); |
apspijkerman | 0:6a0d5fb13029 | 1049 | //mem[ptr] = val; |
apspijkerman | 0:6a0d5fb13029 | 1050 | mem[ptr] = measure(0, ChanAMode ); |
apspijkerman | 0:6a0d5fb13029 | 1051 | } |
apspijkerman | 0:6a0d5fb13029 | 1052 | ptr++; |
apspijkerman | 0:6a0d5fb13029 | 1053 | |
apspijkerman | 0:6a0d5fb13029 | 1054 | if (UseChanB){ |
apspijkerman | 0:6a0d5fb13029 | 1055 | //val = measure(1, ChanBMode ); |
apspijkerman | 0:6a0d5fb13029 | 1056 | //mem[ptr] = val; |
apspijkerman | 0:6a0d5fb13029 | 1057 | mem[ptr] = measure(1, ChanBMode ); |
apspijkerman | 0:6a0d5fb13029 | 1058 | } |
apspijkerman | 0:6a0d5fb13029 | 1059 | ptr++; |
apspijkerman | 0:6a0d5fb13029 | 1060 | |
apspijkerman | 0:6a0d5fb13029 | 1061 | if (speed > 0){ |
apspijkerman | 0:6a0d5fb13029 | 1062 | if (speed == 1) wait(0.001); // CPU.delay(speed); |
apspijkerman | 0:6a0d5fb13029 | 1063 | if (speed == 2) wait(0.01 ); // CPU.delay(speed); |
apspijkerman | 0:6a0d5fb13029 | 1064 | if (speed == 3) wait(0.1 ); // CPU.delay(speed); |
apspijkerman | 0:6a0d5fb13029 | 1065 | } |
apspijkerman | 0:6a0d5fb13029 | 1066 | } // for |
apspijkerman | 0:6a0d5fb13029 | 1067 | } // !adc |
apspijkerman | 0:6a0d5fb13029 | 1068 | |
apspijkerman | 0:6a0d5fb13029 | 1069 | // ' clear graph |
apspijkerman | 0:6a0d5fb13029 | 1070 | // 'DEBUG "!s100,100,200;!c;" 'set blue color , clear screen 17c |
apspijkerman | 0:6a0d5fb13029 | 1071 | // DEBUG "!sb",3, 100,100,200, ";!c;" 'fast binary way to set color 11c |
apspijkerman | 0:6a0d5fb13029 | 1072 | //System.out.print("!s100,100,200;!c;"); |
apspijkerman | 0:6a0d5fb13029 | 1073 | SetColor(100,100,200); |
apspijkerman | 0:6a0d5fb13029 | 1074 | ClearScreen(); |
apspijkerman | 0:6a0d5fb13029 | 1075 | |
apspijkerman | 0:6a0d5fb13029 | 1076 | if (grid){ |
apspijkerman | 0:6a0d5fb13029 | 1077 | //'DEBUG "!s128,128,228;" 'set lighter color 14c |
apspijkerman | 0:6a0d5fb13029 | 1078 | // DEBUG "!sb",3,128,128,228,";" 'fast binary way to set color 8c |
apspijkerman | 0:6a0d5fb13029 | 1079 | //System.out.print("!s128,128,228;"); |
apspijkerman | 0:6a0d5fb13029 | 1080 | SetColor(128,128,228); |
apspijkerman | 0:6a0d5fb13029 | 1081 | |
apspijkerman | 0:6a0d5fb13029 | 1082 | //'DEBUG "!a20,20,29,19,55,12;" 'slow ascii way draw grid 20c |
apspijkerman | 0:6a0d5fb13029 | 1083 | //DEBUG "!ab",6,20,20,29,19,55,12,";" 'fast binary way to draw grid 11c |
apspijkerman | 0:6a0d5fb13029 | 1084 | //System.out.print("!a20,20,29,19,55,12;"); |
apspijkerman | 0:6a0d5fb13029 | 1085 | DrawGrid(20,20,29,19,55,12); |
apspijkerman | 0:6a0d5fb13029 | 1086 | |
apspijkerman | 0:6a0d5fb13029 | 1087 | if (trigMode){ |
apspijkerman | 0:6a0d5fb13029 | 1088 | cnt = trigLevel; |
apspijkerman | 0:6a0d5fb13029 | 1089 | if (trigSrc == false){ |
apspijkerman | 0:6a0d5fb13029 | 1090 | cnt = 255 - cnt + PosA - 128; |
apspijkerman | 0:6a0d5fb13029 | 1091 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 1092 | cnt = 255 - cnt + PosB - 128; |
apspijkerman | 0:6a0d5fb13029 | 1093 | } |
apspijkerman | 0:6a0d5fb13029 | 1094 | |
apspijkerman | 0:6a0d5fb13029 | 1095 | // 'DEBUG "!l", DEC 1,",", DEC cnt,",", DEC 40,",", DEC cnt, ";" 'slow |
apspijkerman | 0:6a0d5fb13029 | 1096 | //DEBUG "!lb", 4,1,cnt,40,cnt,";" ' fast |
apspijkerman | 0:6a0d5fb13029 | 1097 | //System.out.print("!l1,"); |
apspijkerman | 0:6a0d5fb13029 | 1098 | //System.out.print( cnt); |
apspijkerman | 0:6a0d5fb13029 | 1099 | //System.out.print(",40,"); |
apspijkerman | 0:6a0d5fb13029 | 1100 | //System.out.print( cnt ); |
apspijkerman | 0:6a0d5fb13029 | 1101 | //System.out.print(";"); |
apspijkerman | 0:6a0d5fb13029 | 1102 | DrawLine(1,cnt,40,cnt); |
apspijkerman | 0:6a0d5fb13029 | 1103 | } // end trigMode |
apspijkerman | 0:6a0d5fb13029 | 1104 | } // end grid |
apspijkerman | 0:6a0d5fb13029 | 1105 | |
apspijkerman | 0:6a0d5fb13029 | 1106 | |
apspijkerman | 0:6a0d5fb13029 | 1107 | if (UseChanA){ |
apspijkerman | 0:6a0d5fb13029 | 1108 | // draw channel a |
apspijkerman | 0:6a0d5fb13029 | 1109 | // 'set color black |
apspijkerman | 0:6a0d5fb13029 | 1110 | // 'DEBUG "!s0,0,0;" 'slow ascii way to set color 8c |
apspijkerman | 0:6a0d5fb13029 | 1111 | // DEBUG "!sb",3, 0,0,0, ";" 'fast binary way to set color 8c |
apspijkerman | 0:6a0d5fb13029 | 1112 | //System.out.print("!s0,0,0;"); |
apspijkerman | 0:6a0d5fb13029 | 1113 | SetColor(0,0,0); |
apspijkerman | 0:6a0d5fb13029 | 1114 | |
apspijkerman | 0:6a0d5fb13029 | 1115 | ptr = 0; |
apspijkerman | 0:6a0d5fb13029 | 1116 | s = mem[ ptr ]; |
apspijkerman | 0:6a0d5fb13029 | 1117 | s = 255 - s + PosA - 128; |
apspijkerman | 0:6a0d5fb13029 | 1118 | ptr = ptr + 2; |
apspijkerman | 0:6a0d5fb13029 | 1119 | s -= 60; |
apspijkerman | 0:6a0d5fb13029 | 1120 | |
apspijkerman | 0:6a0d5fb13029 | 1121 | //DEBUG "!Pb", 33,20, 0,60 , s ' init poly line cmd in binary mode 38c |
apspijkerman | 0:6a0d5fb13029 | 1122 | //' 33 is number of bytes we are going to send |
apspijkerman | 0:6a0d5fb13029 | 1123 | //' 20=dx , 0=dy (which means we only send y values) |
apspijkerman | 0:6a0d5fb13029 | 1124 | //' 0,60 = start x,y |
apspijkerman | 0:6a0d5fb13029 | 1125 | |
apspijkerman | 0:6a0d5fb13029 | 1126 | //System.out.print("!P20,0,60,"); |
apspijkerman | 0:6a0d5fb13029 | 1127 | //System.out.print( s ); |
apspijkerman | 0:6a0d5fb13029 | 1128 | /* |
apspijkerman | 0:6a0d5fb13029 | 1129 | serbuf.clear(); |
apspijkerman | 0:6a0d5fb13029 | 1130 | serbuf.append("!Pb"); // poly line, binary mode |
apspijkerman | 0:6a0d5fb13029 | 1131 | serbuf.append((char)33); // 33 values follow |
apspijkerman | 0:6a0d5fb13029 | 1132 | serbuf.append((char)20); // dx=20 |
apspijkerman | 0:6a0d5fb13029 | 1133 | serbuf.append((char) 0); // dy=0 .. so only y values |
apspijkerman | 0:6a0d5fb13029 | 1134 | serbuf.append((char)60); // x start |
apspijkerman | 0:6a0d5fb13029 | 1135 | serbuf.append((char) s); // y start |
apspijkerman | 0:6a0d5fb13029 | 1136 | */ |
apspijkerman | 0:6a0d5fb13029 | 1137 | serial.printf("!Pb"); |
apspijkerman | 0:6a0d5fb13029 | 1138 | serial.printf("%c%c%c%c%c", 33, 20, 0, 60, s); |
apspijkerman | 0:6a0d5fb13029 | 1139 | |
apspijkerman | 0:6a0d5fb13029 | 1140 | for (cnt = 0; cnt <= 28; cnt++){ |
apspijkerman | 0:6a0d5fb13029 | 1141 | x = mem[ ptr ]; |
apspijkerman | 0:6a0d5fb13029 | 1142 | x = 255 - x + PosA - 128; |
apspijkerman | 0:6a0d5fb13029 | 1143 | ptr = ptr + 2; |
apspijkerman | 0:6a0d5fb13029 | 1144 | |
apspijkerman | 0:6a0d5fb13029 | 1145 | //'' --- slow line --- |
apspijkerman | 0:6a0d5fb13029 | 1146 | //''val = cnt * 20 |
apspijkerman | 0:6a0d5fb13029 | 1147 | //''DEBUG "!l",DEC val,",",DEC s,",", DEC val+20,",", DEC x,";" ' chars 18 |
apspijkerman | 0:6a0d5fb13029 | 1148 | //'' --- faster line --- |
apspijkerman | 0:6a0d5fb13029 | 1149 | //''val = cnt * 8 |
apspijkerman | 0:6a0d5fb13029 | 1150 | //''DEBUG "!lb", 4 , val , s, val+8 , x , ";" 'chars 8 |
apspijkerman | 0:6a0d5fb13029 | 1151 | //'' --- fastest line --- |
apspijkerman | 0:6a0d5fb13029 | 1152 | //DEBUG x 'chars 1 (poly line cmd with constant dx) |
apspijkerman | 0:6a0d5fb13029 | 1153 | |
apspijkerman | 0:6a0d5fb13029 | 1154 | //System.out.print( "," ); |
apspijkerman | 0:6a0d5fb13029 | 1155 | //System.out.print( x ); |
apspijkerman | 0:6a0d5fb13029 | 1156 | |
apspijkerman | 0:6a0d5fb13029 | 1157 | x -= 60; |
apspijkerman | 0:6a0d5fb13029 | 1158 | if (x > 127) x -= 256; // int to char ? |
apspijkerman | 0:6a0d5fb13029 | 1159 | //serbuf.append((char) x ); // y value of next line |
apspijkerman | 0:6a0d5fb13029 | 1160 | serial.printf("%c", x ); // y value of next line |
apspijkerman | 0:6a0d5fb13029 | 1161 | |
apspijkerman | 0:6a0d5fb13029 | 1162 | //s = x; |
apspijkerman | 0:6a0d5fb13029 | 1163 | } |
apspijkerman | 0:6a0d5fb13029 | 1164 | //System.out.print(";"); |
apspijkerman | 0:6a0d5fb13029 | 1165 | //serbuf.append(";"); |
apspijkerman | 0:6a0d5fb13029 | 1166 | //System.out.print(serbuf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 1167 | serial.printf(";"); |
apspijkerman | 0:6a0d5fb13029 | 1168 | |
apspijkerman | 0:6a0d5fb13029 | 1169 | } // end UseChanA |
apspijkerman | 0:6a0d5fb13029 | 1170 | |
apspijkerman | 0:6a0d5fb13029 | 1171 | if (UseChanB){ |
apspijkerman | 0:6a0d5fb13029 | 1172 | //' draw channel b |
apspijkerman | 0:6a0d5fb13029 | 1173 | //'set color white |
apspijkerman | 0:6a0d5fb13029 | 1174 | //'DEBUG "!s255,255,255;" 'slow ascii way to set color |
apspijkerman | 0:6a0d5fb13029 | 1175 | //DEBUG "!sb",3,255,255,255,";" 'fast binary way to set color |
apspijkerman | 0:6a0d5fb13029 | 1176 | //System.out.print("!s255,255,255;"); |
apspijkerman | 0:6a0d5fb13029 | 1177 | SetColor(255,255,255); |
apspijkerman | 0:6a0d5fb13029 | 1178 | |
apspijkerman | 0:6a0d5fb13029 | 1179 | ptr = 1; |
apspijkerman | 0:6a0d5fb13029 | 1180 | s = mem[ ptr ]; |
apspijkerman | 0:6a0d5fb13029 | 1181 | s = 255 - s + PosB - 128; |
apspijkerman | 0:6a0d5fb13029 | 1182 | ptr = ptr + 2; |
apspijkerman | 0:6a0d5fb13029 | 1183 | s -= 60; |
apspijkerman | 0:6a0d5fb13029 | 1184 | |
apspijkerman | 0:6a0d5fb13029 | 1185 | //DEBUG "!Pb", 33,20, 0,60 , s ' init poly line cmd in binary mode 38c |
apspijkerman | 0:6a0d5fb13029 | 1186 | //' 33 is number of bytes we are going to send |
apspijkerman | 0:6a0d5fb13029 | 1187 | //' 20=dx , 0=dy (which means we only send y values) |
apspijkerman | 0:6a0d5fb13029 | 1188 | //' 0,60 = start x,y |
apspijkerman | 0:6a0d5fb13029 | 1189 | |
apspijkerman | 0:6a0d5fb13029 | 1190 | //System.out.print("!P20,0,60,"); |
apspijkerman | 0:6a0d5fb13029 | 1191 | //System.out.print( s ); |
apspijkerman | 0:6a0d5fb13029 | 1192 | /* |
apspijkerman | 0:6a0d5fb13029 | 1193 | serbuf.clear(); |
apspijkerman | 0:6a0d5fb13029 | 1194 | serbuf.append("!Pb"); |
apspijkerman | 0:6a0d5fb13029 | 1195 | serbuf.append((char)33); |
apspijkerman | 0:6a0d5fb13029 | 1196 | serbuf.append((char)20); |
apspijkerman | 0:6a0d5fb13029 | 1197 | serbuf.append((char) 0); |
apspijkerman | 0:6a0d5fb13029 | 1198 | serbuf.append((char)60); |
apspijkerman | 0:6a0d5fb13029 | 1199 | serbuf.append((char) s); |
apspijkerman | 0:6a0d5fb13029 | 1200 | */ |
apspijkerman | 0:6a0d5fb13029 | 1201 | serial.printf("!Pb"); |
apspijkerman | 0:6a0d5fb13029 | 1202 | serial.printf("%c%c%c%c%c", 33, 20, 0, 60, s ); |
apspijkerman | 0:6a0d5fb13029 | 1203 | |
apspijkerman | 0:6a0d5fb13029 | 1204 | for (cnt = 0; cnt <= 28; cnt++){ |
apspijkerman | 0:6a0d5fb13029 | 1205 | x = mem[ ptr ]; |
apspijkerman | 0:6a0d5fb13029 | 1206 | x = 255 - x + PosB - 128; |
apspijkerman | 0:6a0d5fb13029 | 1207 | ptr = ptr + 2; |
apspijkerman | 0:6a0d5fb13029 | 1208 | |
apspijkerman | 0:6a0d5fb13029 | 1209 | //'' --- slow line --- |
apspijkerman | 0:6a0d5fb13029 | 1210 | //''val = cnt * 20 |
apspijkerman | 0:6a0d5fb13029 | 1211 | //''DEBUG "!l",DEC val,",",DEC s,",", DEC val+20,",", DEC x,";" |
apspijkerman | 0:6a0d5fb13029 | 1212 | //'' --- faster line --- |
apspijkerman | 0:6a0d5fb13029 | 1213 | //''val = cnt * 8 |
apspijkerman | 0:6a0d5fb13029 | 1214 | //''DEBUG "!lb", 4 , val , s, val+8 , x , ";" |
apspijkerman | 0:6a0d5fb13029 | 1215 | //'' --- fastest line --- |
apspijkerman | 0:6a0d5fb13029 | 1216 | //DEBUG x 'chars 1 (poly line cmd with constant dx) |
apspijkerman | 0:6a0d5fb13029 | 1217 | |
apspijkerman | 0:6a0d5fb13029 | 1218 | //System.out.print( "," ); |
apspijkerman | 0:6a0d5fb13029 | 1219 | //System.out.print( x ); |
apspijkerman | 0:6a0d5fb13029 | 1220 | |
apspijkerman | 0:6a0d5fb13029 | 1221 | x -= 60; |
apspijkerman | 0:6a0d5fb13029 | 1222 | if (x > 127) x -= 256; // int to char ? |
apspijkerman | 0:6a0d5fb13029 | 1223 | //serbuf.append((char) x ); |
apspijkerman | 0:6a0d5fb13029 | 1224 | serial.printf("%c", x ); |
apspijkerman | 0:6a0d5fb13029 | 1225 | |
apspijkerman | 0:6a0d5fb13029 | 1226 | //s = x; |
apspijkerman | 0:6a0d5fb13029 | 1227 | } |
apspijkerman | 0:6a0d5fb13029 | 1228 | //System.out.print(";"); |
apspijkerman | 0:6a0d5fb13029 | 1229 | //serbuf.append(";"); |
apspijkerman | 0:6a0d5fb13029 | 1230 | //System.out.print(serbuf.toString()); |
apspijkerman | 0:6a0d5fb13029 | 1231 | serial.printf(";"); |
apspijkerman | 0:6a0d5fb13029 | 1232 | |
apspijkerman | 0:6a0d5fb13029 | 1233 | } // end UseChanB |
apspijkerman | 0:6a0d5fb13029 | 1234 | |
apspijkerman | 0:6a0d5fb13029 | 1235 | //CPU.delay(1); |
apspijkerman | 0:6a0d5fb13029 | 1236 | } // end xt scope mode |
apspijkerman | 0:6a0d5fb13029 | 1237 | |
apspijkerman | 0:6a0d5fb13029 | 1238 | if (mode == 2){ // recorder mode |
apspijkerman | 0:6a0d5fb13029 | 1239 | if (adc){ // ltc1298 mode |
apspijkerman | 0:6a0d5fb13029 | 1240 | val = readadc(2,1,0, 0, ChanAMode ); |
apspijkerman | 0:6a0d5fb13029 | 1241 | valb = readadc(2,1,0, 1, ChanBMode ); |
apspijkerman | 0:6a0d5fb13029 | 1242 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 1243 | val = measure(0, ChanAMode ); |
apspijkerman | 0:6a0d5fb13029 | 1244 | valb = measure(1, ChanBMode ); |
apspijkerman | 0:6a0d5fb13029 | 1245 | } |
apspijkerman | 0:6a0d5fb13029 | 1246 | |
apspijkerman | 0:6a0d5fb13029 | 1247 | val = val + PosA - 128; // offset |
apspijkerman | 0:6a0d5fb13029 | 1248 | valb = valb + PosB - 128; |
apspijkerman | 0:6a0d5fb13029 | 1249 | |
apspijkerman | 0:6a0d5fb13029 | 1250 | //' set plot color |
apspijkerman | 0:6a0d5fb13029 | 1251 | //DEBUG "!s0,0,0;" |
apspijkerman | 0:6a0d5fb13029 | 1252 | //System.out.print("!s0,0,0;"); |
apspijkerman | 0:6a0d5fb13029 | 1253 | SetColor(0,0,0); |
apspijkerman | 0:6a0d5fb13029 | 1254 | |
apspijkerman | 0:6a0d5fb13029 | 1255 | //' plot xy |
apspijkerman | 0:6a0d5fb13029 | 1256 | //'DEBUG "!p", DEC 610,",", DEC val, ";" |
apspijkerman | 0:6a0d5fb13029 | 1257 | //' line xy |
apspijkerman | 0:6a0d5fb13029 | 1258 | //DEBUG "!l", DEC 610,",", DEC val,",", DEC 609,",", DEC pval ,";" |
apspijkerman | 0:6a0d5fb13029 | 1259 | |
apspijkerman | 0:6a0d5fb13029 | 1260 | //System.out.print("!l610,"); |
apspijkerman | 0:6a0d5fb13029 | 1261 | //System.out.print( val ); |
apspijkerman | 0:6a0d5fb13029 | 1262 | //System.out.print(",609,"); |
apspijkerman | 0:6a0d5fb13029 | 1263 | //System.out.print( pval ); |
apspijkerman | 0:6a0d5fb13029 | 1264 | //System.out.print(";"); |
apspijkerman | 0:6a0d5fb13029 | 1265 | DrawLine(610,val,609,pval); |
apspijkerman | 0:6a0d5fb13029 | 1266 | |
apspijkerman | 0:6a0d5fb13029 | 1267 | pval = val; |
apspijkerman | 0:6a0d5fb13029 | 1268 | |
apspijkerman | 0:6a0d5fb13029 | 1269 | //' set plot color |
apspijkerman | 0:6a0d5fb13029 | 1270 | //'DEBUG "!s250,250,250;" 'slow ascii way to set color |
apspijkerman | 0:6a0d5fb13029 | 1271 | //DEBUG "!sb",3,250,250,250,";" 'fast binary way to set color |
apspijkerman | 0:6a0d5fb13029 | 1272 | //System.out.print("!s250,250,250;"); |
apspijkerman | 0:6a0d5fb13029 | 1273 | SetColor(250,250,250); |
apspijkerman | 0:6a0d5fb13029 | 1274 | |
apspijkerman | 0:6a0d5fb13029 | 1275 | //' plot xy |
apspijkerman | 0:6a0d5fb13029 | 1276 | //'DEBUG "!p", DEC 610,",", DEC valb, ";" |
apspijkerman | 0:6a0d5fb13029 | 1277 | //' line xy |
apspijkerman | 0:6a0d5fb13029 | 1278 | //DEBUG "!l", DEC 610,",", DEC valb,",", DEC 609,",", DEC pvalb ,";" |
apspijkerman | 0:6a0d5fb13029 | 1279 | |
apspijkerman | 0:6a0d5fb13029 | 1280 | //System.out.print("!l610,"); |
apspijkerman | 0:6a0d5fb13029 | 1281 | //System.out.print( valb ); |
apspijkerman | 0:6a0d5fb13029 | 1282 | //System.out.print(",609,"); |
apspijkerman | 0:6a0d5fb13029 | 1283 | //System.out.print( pvalb ); |
apspijkerman | 0:6a0d5fb13029 | 1284 | //System.out.print(";"); |
apspijkerman | 0:6a0d5fb13029 | 1285 | DrawLine(610,valb,609,pvalb); |
apspijkerman | 0:6a0d5fb13029 | 1286 | |
apspijkerman | 0:6a0d5fb13029 | 1287 | pvalb = valb; |
apspijkerman | 0:6a0d5fb13029 | 1288 | |
apspijkerman | 0:6a0d5fb13029 | 1289 | // ' scrol 1 pixel to the left |
apspijkerman | 0:6a0d5fb13029 | 1290 | //DEBUG "!G20,1;" |
apspijkerman | 0:6a0d5fb13029 | 1291 | //System.out.print("!G20,1;"); |
apspijkerman | 0:6a0d5fb13029 | 1292 | serial.printf("!G20,1;"); |
apspijkerman | 0:6a0d5fb13029 | 1293 | } // end recorder mode |
apspijkerman | 0:6a0d5fb13029 | 1294 | |
apspijkerman | 0:6a0d5fb13029 | 1295 | if (mode == 1){ // xy scope mode |
apspijkerman | 0:6a0d5fb13029 | 1296 | if (adc){ // ltc1298 mode |
apspijkerman | 0:6a0d5fb13029 | 1297 | val = readadc(2,1,0, 0, ChanAMode ); |
apspijkerman | 0:6a0d5fb13029 | 1298 | valb = readadc(2,1,0, 1, ChanBMode ); |
apspijkerman | 0:6a0d5fb13029 | 1299 | }else{ |
apspijkerman | 0:6a0d5fb13029 | 1300 | val = measure(0, ChanAMode ); |
apspijkerman | 0:6a0d5fb13029 | 1301 | valb = measure(1, ChanBMode ); |
apspijkerman | 0:6a0d5fb13029 | 1302 | } |
apspijkerman | 0:6a0d5fb13029 | 1303 | |
apspijkerman | 0:6a0d5fb13029 | 1304 | //' set plot color |
apspijkerman | 0:6a0d5fb13029 | 1305 | //'DEBUG "!s200,200,200;" 'slow ascii way to set color |
apspijkerman | 0:6a0d5fb13029 | 1306 | //DEBUG "!sb",3,200,200,200,";" //fast binary way to set color |
apspijkerman | 0:6a0d5fb13029 | 1307 | //System.out.print("!s,200,200,200;"); |
apspijkerman | 0:6a0d5fb13029 | 1308 | SetColor(200,200,200); |
apspijkerman | 0:6a0d5fb13029 | 1309 | |
apspijkerman | 0:6a0d5fb13029 | 1310 | //' plot xy |
apspijkerman | 0:6a0d5fb13029 | 1311 | //DEBUG "!p", DEC val,",", DEC valb, ";" |
apspijkerman | 0:6a0d5fb13029 | 1312 | //System.out.print("!p"); |
apspijkerman | 0:6a0d5fb13029 | 1313 | //System.out.print( val ); |
apspijkerman | 0:6a0d5fb13029 | 1314 | //System.out.print(","); |
apspijkerman | 0:6a0d5fb13029 | 1315 | //System.out.print( valb ); |
apspijkerman | 0:6a0d5fb13029 | 1316 | //System.out.print(";"); |
apspijkerman | 0:6a0d5fb13029 | 1317 | Plot(val,valb); |
apspijkerman | 0:6a0d5fb13029 | 1318 | |
apspijkerman | 0:6a0d5fb13029 | 1319 | //' line xy |
apspijkerman | 0:6a0d5fb13029 | 1320 | //DEBUG "!l", DEC val,",", DEC valb,",", DEC pval,",",DEC pvalb, ";" |
apspijkerman | 0:6a0d5fb13029 | 1321 | |
apspijkerman | 0:6a0d5fb13029 | 1322 | //System.out.print("!l"); |
apspijkerman | 0:6a0d5fb13029 | 1323 | //System.out.print( val ); |
apspijkerman | 0:6a0d5fb13029 | 1324 | //System.out.print(","); |
apspijkerman | 0:6a0d5fb13029 | 1325 | //System.out.print( valb ); |
apspijkerman | 0:6a0d5fb13029 | 1326 | //System.out.print(","); |
apspijkerman | 0:6a0d5fb13029 | 1327 | //System.out.print( pval ); |
apspijkerman | 0:6a0d5fb13029 | 1328 | //System.out.print(","); |
apspijkerman | 0:6a0d5fb13029 | 1329 | //System.out.print( pvalb ); |
apspijkerman | 0:6a0d5fb13029 | 1330 | //System.out.print(";"); |
apspijkerman | 0:6a0d5fb13029 | 1331 | DrawLine(val, valb, pval, pvalb); |
apspijkerman | 0:6a0d5fb13029 | 1332 | |
apspijkerman | 0:6a0d5fb13029 | 1333 | pval = val; |
apspijkerman | 0:6a0d5fb13029 | 1334 | pvalb = valb; |
apspijkerman | 0:6a0d5fb13029 | 1335 | |
apspijkerman | 0:6a0d5fb13029 | 1336 | cnt = cnt + 1; |
apspijkerman | 0:6a0d5fb13029 | 1337 | if (cnt == 50){ |
apspijkerman | 0:6a0d5fb13029 | 1338 | //' clear graph |
apspijkerman | 0:6a0d5fb13029 | 1339 | //'DEBUG "!s100,100,200;!c;" 'set blue color , clear screen 17c |
apspijkerman | 0:6a0d5fb13029 | 1340 | //DEBUG "!sb",3, 100,100,200, ";!c;" 'fast binary way to set color 11c |
apspijkerman | 0:6a0d5fb13029 | 1341 | //System.out.print("!s,100,100,200;!c;"); |
apspijkerman | 0:6a0d5fb13029 | 1342 | SetColor(100,100,200); |
apspijkerman | 0:6a0d5fb13029 | 1343 | ClearScreen(); |
apspijkerman | 0:6a0d5fb13029 | 1344 | |
apspijkerman | 0:6a0d5fb13029 | 1345 | cnt = 0; |
apspijkerman | 0:6a0d5fb13029 | 1346 | } |
apspijkerman | 0:6a0d5fb13029 | 1347 | |
apspijkerman | 0:6a0d5fb13029 | 1348 | |
apspijkerman | 0:6a0d5fb13029 | 1349 | } // end xy mode scope |
apspijkerman | 0:6a0d5fb13029 | 1350 | |
apspijkerman | 0:6a0d5fb13029 | 1351 | } // end while true |
apspijkerman | 0:6a0d5fb13029 | 1352 | } // end main |
apspijkerman | 0:6a0d5fb13029 | 1353 | |
apspijkerman | 0:6a0d5fb13029 | 1354 | |
apspijkerman | 0:6a0d5fb13029 | 1355 | |
apspijkerman | 0:6a0d5fb13029 | 1356 | |
apspijkerman | 0:6a0d5fb13029 | 1357 |