SINGLE Inputs code

Dependencies:   mbed reScale USBDevice

Committer:
BETZtechnik
Date:
Wed Apr 10 20:25:04 2019 +0000
Revision:
8:8aebc19d9d1d
Parent:
5:6bb07a893f53
Child:
9:db507362ca7a
reverted/ no twitch/ no freezing/ works with newest display code.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
BETZtechnik 0:09419d572e90 1 #include "mbed.h"
BETZtechnik 1:79c03ac27b72 2
BETZtechnik 0:09419d572e90 3 #include "reScale.h"
BETZtechnik 1:79c03ac27b72 4
BETZtechnik 1:79c03ac27b72 5
BETZtechnik 1:79c03ac27b72 6 //Serial pc(USBTX, USBRX);
BETZtechnik 0:09419d572e90 7
BETZtechnik 4:18c6ff1370d0 8 //InterruptIn aux1(P0_7, PullUp); // index pulse
BETZtechnik 0:09419d572e90 9
BETZtechnik 4:18c6ff1370d0 10 DigitalIn aux1(P0_7);
BETZtechnik 4:18c6ff1370d0 11 DigitalIn cw(P1_24);
BETZtechnik 4:18c6ff1370d0 12 DigitalIn ccw(P2_7);
BETZtechnik 4:18c6ff1370d0 13
BETZtechnik 4:18c6ff1370d0 14 int cwRequested = 0;
BETZtechnik 4:18c6ff1370d0 15 int ccwRequested = 0;
BETZtechnik 4:18c6ff1370d0 16
BETZtechnik 4:18c6ff1370d0 17 int aux1State = 0;
BETZtechnik 4:18c6ff1370d0 18
BETZtechnik 4:18c6ff1370d0 19
BETZtechnik 4:18c6ff1370d0 20 DigitalOut dir(P0_15);
BETZtechnik 4:18c6ff1370d0 21
BETZtechnik 5:6bb07a893f53 22 Serial display(P0_14, P0_13, 19200); // RS 485 TX RX?
BETZtechnik 5:6bb07a893f53 23 Serial inputs(P1_23,P0_20, 9600); //rs232 TX RX
BETZtechnik 5:6bb07a893f53 24
BETZtechnik 5:6bb07a893f53 25
BETZtechnik 1:79c03ac27b72 26
BETZtechnik 1:79c03ac27b72 27 reScale servo1Scale(45,0,750,1800); //19850 is 1.0v from voltage divider at 10k.
BETZtechnik 0:09419d572e90 28
BETZtechnik 4:18c6ff1370d0 29 PwmOut servo1(P1_13); //display board
BETZtechnik 0:09419d572e90 30
BETZtechnik 1:79c03ac27b72 31 //char tens = '0';
BETZtechnik 1:79c03ac27b72 32 //char ones = '1';
BETZtechnik 0:09419d572e90 33
BETZtechnik 8:8aebc19d9d1d 34 int Hundreds = 0;
BETZtechnik 1:79c03ac27b72 35 int Tens = 0;
BETZtechnik 1:79c03ac27b72 36 int Ones = 0;
BETZtechnik 1:79c03ac27b72 37
BETZtechnik 8:8aebc19d9d1d 38 int twitch = 0;
BETZtechnik 8:8aebc19d9d1d 39
BETZtechnik 1:79c03ac27b72 40 int currentNozzle = 0;
BETZtechnik 0:09419d572e90 41
BETZtechnik 1:79c03ac27b72 42 int index = 0; // for parsing serial
BETZtechnik 0:09419d572e90 43
BETZtechnik 1:79c03ac27b72 44 int n1Pos = 0;
BETZtechnik 0:09419d572e90 45
BETZtechnik 1:79c03ac27b72 46 int servo1Pos = 0;
BETZtechnik 0:09419d572e90 47
BETZtechnik 4:18c6ff1370d0 48
BETZtechnik 1:79c03ac27b72 49 DigitalOut servo2(P2_2);
BETZtechnik 0:09419d572e90 50
BETZtechnik 5:6bb07a893f53 51 /*
BETZtechnik 4:18c6ff1370d0 52 void triggered()
BETZtechnik 4:18c6ff1370d0 53 {
BETZtechnik 4:18c6ff1370d0 54 servo2 = 1;
BETZtechnik 4:18c6ff1370d0 55
BETZtechnik 4:18c6ff1370d0 56 if (cw == 0){
BETZtechnik 4:18c6ff1370d0 57 cwRequested = 1;
BETZtechnik 4:18c6ff1370d0 58 }
BETZtechnik 4:18c6ff1370d0 59
BETZtechnik 4:18c6ff1370d0 60 else if (ccw == 0){
BETZtechnik 4:18c6ff1370d0 61 ccwRequested = 1;
BETZtechnik 4:18c6ff1370d0 62 }
BETZtechnik 4:18c6ff1370d0 63
BETZtechnik 4:18c6ff1370d0 64 }
BETZtechnik 4:18c6ff1370d0 65
BETZtechnik 5:6bb07a893f53 66 */
BETZtechnik 4:18c6ff1370d0 67
BETZtechnik 4:18c6ff1370d0 68
BETZtechnik 4:18c6ff1370d0 69
BETZtechnik 0:09419d572e90 70 int main() {
BETZtechnik 3:fa0af3a8e089 71
BETZtechnik 4:18c6ff1370d0 72 cw.mode(PullUp);
BETZtechnik 4:18c6ff1370d0 73 ccw.mode(PullUp);
BETZtechnik 4:18c6ff1370d0 74 aux1.mode(PullUp);
BETZtechnik 1:79c03ac27b72 75
BETZtechnik 0:09419d572e90 76
BETZtechnik 5:6bb07a893f53 77
BETZtechnik 5:6bb07a893f53 78
BETZtechnik 4:18c6ff1370d0 79 //aux1.rise(&triggered);
BETZtechnik 4:18c6ff1370d0 80
BETZtechnik 4:18c6ff1370d0 81
BETZtechnik 4:18c6ff1370d0 82
BETZtechnik 4:18c6ff1370d0 83 servo2 = 0;
BETZtechnik 1:79c03ac27b72 84
BETZtechnik 1:79c03ac27b72 85
BETZtechnik 1:79c03ac27b72 86
BETZtechnik 1:79c03ac27b72 87 uint8_t c = 0; // for 485 link
BETZtechnik 0:09419d572e90 88
BETZtechnik 1:79c03ac27b72 89 while(1) {
BETZtechnik 8:8aebc19d9d1d 90
BETZtechnik 8:8aebc19d9d1d 91
BETZtechnik 8:8aebc19d9d1d 92
BETZtechnik 3:fa0af3a8e089 93
BETZtechnik 4:18c6ff1370d0 94 //************************************ Interrupt response **********************
BETZtechnik 5:6bb07a893f53 95
BETZtechnik 4:18c6ff1370d0 96
BETZtechnik 5:6bb07a893f53 97 if (aux1 == 0 && aux1State == 0)
BETZtechnik 4:18c6ff1370d0 98 {
BETZtechnik 4:18c6ff1370d0 99
BETZtechnik 5:6bb07a893f53 100 if (cw == 1)
BETZtechnik 4:18c6ff1370d0 101 {
BETZtechnik 4:18c6ff1370d0 102 //servo2 = 1;
BETZtechnik 4:18c6ff1370d0 103 dir= 1;
BETZtechnik 4:18c6ff1370d0 104 //wait(0.001);
BETZtechnik 5:6bb07a893f53 105 display.printf("M");
BETZtechnik 4:18c6ff1370d0 106 wait(0.05);
BETZtechnik 5:6bb07a893f53 107 display.printf("-");
BETZtechnik 4:18c6ff1370d0 108 wait(0.001);
BETZtechnik 4:18c6ff1370d0 109 dir=0;
BETZtechnik 4:18c6ff1370d0 110 aux1State = 1;
BETZtechnik 4:18c6ff1370d0 111 //wait(.001);
BETZtechnik 4:18c6ff1370d0 112 }
BETZtechnik 4:18c6ff1370d0 113
BETZtechnik 5:6bb07a893f53 114 if (ccw == 1)
BETZtechnik 4:18c6ff1370d0 115 {
BETZtechnik 4:18c6ff1370d0 116 dir= 1;
BETZtechnik 4:18c6ff1370d0 117 //wait(0.01);
BETZtechnik 5:6bb07a893f53 118 display.printf("M");
BETZtechnik 4:18c6ff1370d0 119 wait(0.05);
BETZtechnik 5:6bb07a893f53 120 display.printf("+");
BETZtechnik 4:18c6ff1370d0 121 wait(0.001);
BETZtechnik 4:18c6ff1370d0 122 dir=0;
BETZtechnik 4:18c6ff1370d0 123 aux1State = 1;
BETZtechnik 4:18c6ff1370d0 124 //wait(.001);
BETZtechnik 4:18c6ff1370d0 125 }
BETZtechnik 4:18c6ff1370d0 126 }
BETZtechnik 4:18c6ff1370d0 127
BETZtechnik 5:6bb07a893f53 128 if (aux1 == 1 && aux1State == 1)
BETZtechnik 4:18c6ff1370d0 129 {
BETZtechnik 4:18c6ff1370d0 130 aux1State = 0;
BETZtechnik 4:18c6ff1370d0 131 //wait(0.1);
BETZtechnik 4:18c6ff1370d0 132 }
BETZtechnik 3:fa0af3a8e089 133
BETZtechnik 4:18c6ff1370d0 134 /*
BETZtechnik 4:18c6ff1370d0 135 if (cwRequested == 1)
BETZtechnik 4:18c6ff1370d0 136 {
BETZtechnik 4:18c6ff1370d0 137 dir= 1;
BETZtechnik 4:18c6ff1370d0 138 //wait(0.001);
BETZtechnik 5:6bb07a893f53 139 display.printf("M");
BETZtechnik 4:18c6ff1370d0 140 wait(0.01);
BETZtechnik 5:6bb07a893f53 141 display.printf("+");
BETZtechnik 4:18c6ff1370d0 142 wait(0.001);
BETZtechnik 4:18c6ff1370d0 143 dir=0;
BETZtechnik 4:18c6ff1370d0 144 cwRequested = 0;
BETZtechnik 4:18c6ff1370d0 145 //wait(.001);
BETZtechnik 4:18c6ff1370d0 146 }
BETZtechnik 4:18c6ff1370d0 147
BETZtechnik 4:18c6ff1370d0 148
BETZtechnik 4:18c6ff1370d0 149 else if (ccwRequested == 1)
BETZtechnik 4:18c6ff1370d0 150 {
BETZtechnik 4:18c6ff1370d0 151 dir= 1;
BETZtechnik 4:18c6ff1370d0 152 //wait(0.01);
BETZtechnik 5:6bb07a893f53 153 display.printf("M");
BETZtechnik 4:18c6ff1370d0 154 wait(0.01);
BETZtechnik 5:6bb07a893f53 155 display.printf("-");
BETZtechnik 4:18c6ff1370d0 156 wait(0.001);
BETZtechnik 4:18c6ff1370d0 157 dir=0;
BETZtechnik 4:18c6ff1370d0 158 ccwRequested = 0;
BETZtechnik 4:18c6ff1370d0 159 //wait(.001);
BETZtechnik 4:18c6ff1370d0 160 }
BETZtechnik 4:18c6ff1370d0 161 */
BETZtechnik 4:18c6ff1370d0 162
BETZtechnik 4:18c6ff1370d0 163
BETZtechnik 8:8aebc19d9d1d 164 //********************************** Display serial OLD ***************************
BETZtechnik 1:79c03ac27b72 165
BETZtechnik 8:8aebc19d9d1d 166 /*
BETZtechnik 5:6bb07a893f53 167 while (display.readable())
BETZtechnik 4:18c6ff1370d0 168 {
BETZtechnik 4:18c6ff1370d0 169
BETZtechnik 0:09419d572e90 170
BETZtechnik 1:79c03ac27b72 171
BETZtechnik 5:6bb07a893f53 172 c = display.getc();
BETZtechnik 1:79c03ac27b72 173
BETZtechnik 1:79c03ac27b72 174 if (c == 'N'){
BETZtechnik 1:79c03ac27b72 175
BETZtechnik 1:79c03ac27b72 176 index = 1;
BETZtechnik 1:79c03ac27b72 177
BETZtechnik 1:79c03ac27b72 178 }
BETZtechnik 1:79c03ac27b72 179
BETZtechnik 1:79c03ac27b72 180 if (index == 1){
BETZtechnik 5:6bb07a893f53 181 c = display.getc();
BETZtechnik 1:79c03ac27b72 182 if (c == '1'){ // N1
BETZtechnik 1:79c03ac27b72 183 currentNozzle = 1;
BETZtechnik 1:79c03ac27b72 184 index = 3;
BETZtechnik 1:79c03ac27b72 185
BETZtechnik 1:79c03ac27b72 186
BETZtechnik 1:79c03ac27b72 187 }
BETZtechnik 1:79c03ac27b72 188 else if (c == '2'){ //N2
BETZtechnik 1:79c03ac27b72 189 currentNozzle = 2;
BETZtechnik 1:79c03ac27b72 190 index = 3;
BETZtechnik 1:79c03ac27b72 191
BETZtechnik 1:79c03ac27b72 192 }
BETZtechnik 1:79c03ac27b72 193
BETZtechnik 1:79c03ac27b72 194 }
BETZtechnik 1:79c03ac27b72 195
BETZtechnik 0:09419d572e90 196
BETZtechnik 1:79c03ac27b72 197
BETZtechnik 1:79c03ac27b72 198 if (index == 3){
BETZtechnik 1:79c03ac27b72 199
BETZtechnik 5:6bb07a893f53 200 c = display.getc();
BETZtechnik 1:79c03ac27b72 201
BETZtechnik 1:79c03ac27b72 202 if (c=='0'){
BETZtechnik 1:79c03ac27b72 203 Tens = 0;
BETZtechnik 1:79c03ac27b72 204 index = 4;
BETZtechnik 1:79c03ac27b72 205
BETZtechnik 1:79c03ac27b72 206 }
BETZtechnik 1:79c03ac27b72 207
BETZtechnik 1:79c03ac27b72 208 else if (c=='1'){
BETZtechnik 1:79c03ac27b72 209 Tens = 1;
BETZtechnik 1:79c03ac27b72 210 index = 4;
BETZtechnik 1:79c03ac27b72 211
BETZtechnik 1:79c03ac27b72 212 }
BETZtechnik 1:79c03ac27b72 213
BETZtechnik 1:79c03ac27b72 214 else if (c=='2'){
BETZtechnik 1:79c03ac27b72 215 Tens = 2;
BETZtechnik 1:79c03ac27b72 216 index = 4;
BETZtechnik 1:79c03ac27b72 217
BETZtechnik 1:79c03ac27b72 218 }
BETZtechnik 1:79c03ac27b72 219
BETZtechnik 1:79c03ac27b72 220 else if (c=='3'){
BETZtechnik 1:79c03ac27b72 221 Tens = 3;
BETZtechnik 1:79c03ac27b72 222 index = 4;
BETZtechnik 1:79c03ac27b72 223
BETZtechnik 1:79c03ac27b72 224 }
BETZtechnik 1:79c03ac27b72 225
BETZtechnik 1:79c03ac27b72 226 else if (c=='4'){
BETZtechnik 1:79c03ac27b72 227 Tens = 4;
BETZtechnik 1:79c03ac27b72 228 index = 4;
BETZtechnik 1:79c03ac27b72 229 }
BETZtechnik 1:79c03ac27b72 230
BETZtechnik 1:79c03ac27b72 231
BETZtechnik 1:79c03ac27b72 232 }
BETZtechnik 1:79c03ac27b72 233
BETZtechnik 1:79c03ac27b72 234 if (index == 4){
BETZtechnik 1:79c03ac27b72 235
BETZtechnik 5:6bb07a893f53 236 c = display.getc();
BETZtechnik 1:79c03ac27b72 237
BETZtechnik 1:79c03ac27b72 238 if (c=='0'){
BETZtechnik 1:79c03ac27b72 239 Ones = 0;
BETZtechnik 1:79c03ac27b72 240
BETZtechnik 1:79c03ac27b72 241 }
BETZtechnik 1:79c03ac27b72 242
BETZtechnik 1:79c03ac27b72 243 else if (c=='1'){
BETZtechnik 1:79c03ac27b72 244 Ones = 1;
BETZtechnik 1:79c03ac27b72 245
BETZtechnik 1:79c03ac27b72 246
BETZtechnik 1:79c03ac27b72 247 }
BETZtechnik 1:79c03ac27b72 248
BETZtechnik 1:79c03ac27b72 249 else if (c=='2'){
BETZtechnik 1:79c03ac27b72 250 Ones = 2;
BETZtechnik 1:79c03ac27b72 251
BETZtechnik 1:79c03ac27b72 252 }
BETZtechnik 1:79c03ac27b72 253
BETZtechnik 1:79c03ac27b72 254 else if (c=='3'){
BETZtechnik 1:79c03ac27b72 255 Ones = 3;
BETZtechnik 1:79c03ac27b72 256
BETZtechnik 1:79c03ac27b72 257 }
BETZtechnik 1:79c03ac27b72 258
BETZtechnik 1:79c03ac27b72 259 else if (c=='4'){
BETZtechnik 1:79c03ac27b72 260 Ones = 4;
BETZtechnik 1:79c03ac27b72 261 }
BETZtechnik 1:79c03ac27b72 262
BETZtechnik 1:79c03ac27b72 263 else if (c=='5'){
BETZtechnik 1:79c03ac27b72 264 Ones = 5;
BETZtechnik 1:79c03ac27b72 265 }
BETZtechnik 1:79c03ac27b72 266
BETZtechnik 1:79c03ac27b72 267 else if (c=='6'){
BETZtechnik 1:79c03ac27b72 268 Ones = 6;
BETZtechnik 1:79c03ac27b72 269 }
BETZtechnik 1:79c03ac27b72 270
BETZtechnik 1:79c03ac27b72 271 else if (c=='7'){
BETZtechnik 1:79c03ac27b72 272 Ones = 7;
BETZtechnik 1:79c03ac27b72 273 }
BETZtechnik 1:79c03ac27b72 274
BETZtechnik 1:79c03ac27b72 275 else if (c=='8'){
BETZtechnik 1:79c03ac27b72 276 Ones = 8;
BETZtechnik 1:79c03ac27b72 277 }
BETZtechnik 1:79c03ac27b72 278
BETZtechnik 1:79c03ac27b72 279 else if (c=='9'){
BETZtechnik 1:79c03ac27b72 280 Ones = 9;
BETZtechnik 1:79c03ac27b72 281 }
BETZtechnik 1:79c03ac27b72 282
BETZtechnik 1:79c03ac27b72 283 else if (c=='0'){
BETZtechnik 1:79c03ac27b72 284 Ones = 0;
BETZtechnik 1:79c03ac27b72 285 }
BETZtechnik 1:79c03ac27b72 286
BETZtechnik 1:79c03ac27b72 287
BETZtechnik 1:79c03ac27b72 288
BETZtechnik 4:18c6ff1370d0 289 n1Pos = ((Tens * 10) + Ones);
BETZtechnik 1:79c03ac27b72 290
BETZtechnik 4:18c6ff1370d0 291 if ((n1Pos == 45) && (currentNozzle==1)){
BETZtechnik 4:18c6ff1370d0 292 // servo2=1;
BETZtechnik 4:18c6ff1370d0 293 }
BETZtechnik 1:79c03ac27b72 294
BETZtechnik 4:18c6ff1370d0 295 servo1Pos = servo1Scale.from(n1Pos);
BETZtechnik 0:09419d572e90 296
BETZtechnik 4:18c6ff1370d0 297 servo1.pulsewidth_us(servo1Pos);
BETZtechnik 1:79c03ac27b72 298
BETZtechnik 4:18c6ff1370d0 299 index=0;
BETZtechnik 1:79c03ac27b72 300
BETZtechnik 1:79c03ac27b72 301
BETZtechnik 1:79c03ac27b72 302 }
BETZtechnik 0:09419d572e90 303 }
BETZtechnik 8:8aebc19d9d1d 304 */
BETZtechnik 8:8aebc19d9d1d 305
BETZtechnik 8:8aebc19d9d1d 306
BETZtechnik 8:8aebc19d9d1d 307 //********************** Display code NEW with W **********************************
BETZtechnik 8:8aebc19d9d1d 308
BETZtechnik 8:8aebc19d9d1d 309 while (display.readable()) {
BETZtechnik 8:8aebc19d9d1d 310
BETZtechnik 8:8aebc19d9d1d 311 c = display.getc();
BETZtechnik 8:8aebc19d9d1d 312
BETZtechnik 8:8aebc19d9d1d 313 if (c == 'N') {
BETZtechnik 8:8aebc19d9d1d 314
BETZtechnik 8:8aebc19d9d1d 315 index = 1;
BETZtechnik 8:8aebc19d9d1d 316
BETZtechnik 8:8aebc19d9d1d 317 }
BETZtechnik 8:8aebc19d9d1d 318
BETZtechnik 8:8aebc19d9d1d 319 if (c == 'W') { // wiggle setting
BETZtechnik 8:8aebc19d9d1d 320 index = 5;
BETZtechnik 8:8aebc19d9d1d 321 }
BETZtechnik 8:8aebc19d9d1d 322 if (index == 5) {
BETZtechnik 8:8aebc19d9d1d 323 c = display.getc();
BETZtechnik 8:8aebc19d9d1d 324 if (c == '0') {
BETZtechnik 8:8aebc19d9d1d 325 twitch = 0;
BETZtechnik 8:8aebc19d9d1d 326 index = 0;
BETZtechnik 8:8aebc19d9d1d 327 }
BETZtechnik 8:8aebc19d9d1d 328 if (c == '1') {
BETZtechnik 8:8aebc19d9d1d 329 twitch = 1;
BETZtechnik 8:8aebc19d9d1d 330 }
BETZtechnik 8:8aebc19d9d1d 331 if (c == '2') {
BETZtechnik 8:8aebc19d9d1d 332 twitch = 2;
BETZtechnik 8:8aebc19d9d1d 333 index = 0;
BETZtechnik 8:8aebc19d9d1d 334 }
BETZtechnik 8:8aebc19d9d1d 335 if (c == '3') {
BETZtechnik 8:8aebc19d9d1d 336 twitch = 3;
BETZtechnik 8:8aebc19d9d1d 337 index = 0;
BETZtechnik 8:8aebc19d9d1d 338 }
BETZtechnik 8:8aebc19d9d1d 339 }
BETZtechnik 8:8aebc19d9d1d 340
BETZtechnik 8:8aebc19d9d1d 341
BETZtechnik 8:8aebc19d9d1d 342
BETZtechnik 8:8aebc19d9d1d 343
BETZtechnik 8:8aebc19d9d1d 344 if (index == 1) { //Display is sending -90>+90 and adding 190 for N1 so would send 100 to 280 for -90 to +90
BETZtechnik 8:8aebc19d9d1d 345 c = display.getc();
BETZtechnik 8:8aebc19d9d1d 346 if (c == '1') { // N1
BETZtechnik 8:8aebc19d9d1d 347 currentNozzle = 1;
BETZtechnik 8:8aebc19d9d1d 348 Hundreds = 0;
BETZtechnik 8:8aebc19d9d1d 349 index = 3;
BETZtechnik 8:8aebc19d9d1d 350
BETZtechnik 8:8aebc19d9d1d 351
BETZtechnik 8:8aebc19d9d1d 352 } else if (c == '2') { //N2
BETZtechnik 8:8aebc19d9d1d 353 currentNozzle = 1;
BETZtechnik 8:8aebc19d9d1d 354 Hundreds = 1;
BETZtechnik 8:8aebc19d9d1d 355 index = 3;
BETZtechnik 8:8aebc19d9d1d 356 }
BETZtechnik 8:8aebc19d9d1d 357
BETZtechnik 8:8aebc19d9d1d 358 if (c == '3') { //N2 // Display adding 390 for N2 so 300 to 480 would be -90 to +90
BETZtechnik 8:8aebc19d9d1d 359 currentNozzle = 2;
BETZtechnik 8:8aebc19d9d1d 360 Hundreds = 0;
BETZtechnik 8:8aebc19d9d1d 361 index = 3;
BETZtechnik 8:8aebc19d9d1d 362 }
BETZtechnik 8:8aebc19d9d1d 363
BETZtechnik 8:8aebc19d9d1d 364 if (c == '4') { //N2
BETZtechnik 8:8aebc19d9d1d 365 currentNozzle = 2;
BETZtechnik 8:8aebc19d9d1d 366 Hundreds = 1;
BETZtechnik 8:8aebc19d9d1d 367 index = 3;
BETZtechnik 8:8aebc19d9d1d 368 }
BETZtechnik 8:8aebc19d9d1d 369
BETZtechnik 8:8aebc19d9d1d 370
BETZtechnik 8:8aebc19d9d1d 371 }
BETZtechnik 8:8aebc19d9d1d 372
BETZtechnik 8:8aebc19d9d1d 373
BETZtechnik 8:8aebc19d9d1d 374
BETZtechnik 8:8aebc19d9d1d 375 if (index == 3) {
BETZtechnik 8:8aebc19d9d1d 376
BETZtechnik 8:8aebc19d9d1d 377 c = display.getc();
BETZtechnik 8:8aebc19d9d1d 378
BETZtechnik 8:8aebc19d9d1d 379 if (c=='0') {
BETZtechnik 8:8aebc19d9d1d 380 Tens = 0;
BETZtechnik 8:8aebc19d9d1d 381 index = 4;
BETZtechnik 8:8aebc19d9d1d 382
BETZtechnik 8:8aebc19d9d1d 383 }
BETZtechnik 8:8aebc19d9d1d 384
BETZtechnik 8:8aebc19d9d1d 385 else if (c=='1') {
BETZtechnik 8:8aebc19d9d1d 386 Tens = 1;
BETZtechnik 8:8aebc19d9d1d 387 index = 4;
BETZtechnik 8:8aebc19d9d1d 388
BETZtechnik 8:8aebc19d9d1d 389 }
BETZtechnik 8:8aebc19d9d1d 390
BETZtechnik 8:8aebc19d9d1d 391 else if (c=='2') {
BETZtechnik 8:8aebc19d9d1d 392 Tens = 2;
BETZtechnik 8:8aebc19d9d1d 393 index = 4;
BETZtechnik 8:8aebc19d9d1d 394
BETZtechnik 8:8aebc19d9d1d 395 }
BETZtechnik 8:8aebc19d9d1d 396
BETZtechnik 8:8aebc19d9d1d 397 else if (c=='3') {
BETZtechnik 8:8aebc19d9d1d 398 Tens = 3;
BETZtechnik 8:8aebc19d9d1d 399 index = 4;
BETZtechnik 8:8aebc19d9d1d 400
BETZtechnik 8:8aebc19d9d1d 401 }
BETZtechnik 8:8aebc19d9d1d 402
BETZtechnik 8:8aebc19d9d1d 403 else if (c=='4') {
BETZtechnik 8:8aebc19d9d1d 404 Tens = 4;
BETZtechnik 8:8aebc19d9d1d 405 index = 4;
BETZtechnik 8:8aebc19d9d1d 406 }
BETZtechnik 8:8aebc19d9d1d 407
BETZtechnik 8:8aebc19d9d1d 408 else if (c=='5') {
BETZtechnik 8:8aebc19d9d1d 409 Tens = 5;
BETZtechnik 8:8aebc19d9d1d 410 index = 4;
BETZtechnik 8:8aebc19d9d1d 411 }
BETZtechnik 8:8aebc19d9d1d 412
BETZtechnik 8:8aebc19d9d1d 413 else if (c=='6') {
BETZtechnik 8:8aebc19d9d1d 414 Tens = 6;
BETZtechnik 8:8aebc19d9d1d 415 index = 4;
BETZtechnik 8:8aebc19d9d1d 416 }
BETZtechnik 8:8aebc19d9d1d 417
BETZtechnik 8:8aebc19d9d1d 418 else if (c=='7') {
BETZtechnik 8:8aebc19d9d1d 419 Tens = 7;
BETZtechnik 8:8aebc19d9d1d 420 index = 4;
BETZtechnik 8:8aebc19d9d1d 421 }
BETZtechnik 8:8aebc19d9d1d 422
BETZtechnik 8:8aebc19d9d1d 423 else if (c=='8') {
BETZtechnik 8:8aebc19d9d1d 424 Tens = 8;
BETZtechnik 8:8aebc19d9d1d 425 index = 4;
BETZtechnik 8:8aebc19d9d1d 426 }
BETZtechnik 8:8aebc19d9d1d 427
BETZtechnik 8:8aebc19d9d1d 428 else if (c=='9') {
BETZtechnik 8:8aebc19d9d1d 429 Tens = 9;
BETZtechnik 8:8aebc19d9d1d 430 index = 4;
BETZtechnik 8:8aebc19d9d1d 431 }
BETZtechnik 8:8aebc19d9d1d 432
BETZtechnik 8:8aebc19d9d1d 433
BETZtechnik 8:8aebc19d9d1d 434 }
BETZtechnik 8:8aebc19d9d1d 435
BETZtechnik 8:8aebc19d9d1d 436 if (index == 4) {
BETZtechnik 8:8aebc19d9d1d 437
BETZtechnik 8:8aebc19d9d1d 438 c = display.getc();
BETZtechnik 8:8aebc19d9d1d 439
BETZtechnik 8:8aebc19d9d1d 440 if (c=='0') {
BETZtechnik 8:8aebc19d9d1d 441 Ones = 0;
BETZtechnik 8:8aebc19d9d1d 442 }
BETZtechnik 8:8aebc19d9d1d 443
BETZtechnik 8:8aebc19d9d1d 444 else if (c=='1') {
BETZtechnik 8:8aebc19d9d1d 445 Ones = 1;
BETZtechnik 8:8aebc19d9d1d 446 }
BETZtechnik 8:8aebc19d9d1d 447
BETZtechnik 8:8aebc19d9d1d 448 else if (c=='2') {
BETZtechnik 8:8aebc19d9d1d 449 Ones = 2;
BETZtechnik 8:8aebc19d9d1d 450 }
BETZtechnik 8:8aebc19d9d1d 451
BETZtechnik 8:8aebc19d9d1d 452 else if (c=='3') {
BETZtechnik 8:8aebc19d9d1d 453 Ones = 3;
BETZtechnik 8:8aebc19d9d1d 454 }
BETZtechnik 8:8aebc19d9d1d 455
BETZtechnik 8:8aebc19d9d1d 456 else if (c=='4') {
BETZtechnik 8:8aebc19d9d1d 457 Ones = 4;
BETZtechnik 8:8aebc19d9d1d 458 }
BETZtechnik 8:8aebc19d9d1d 459
BETZtechnik 8:8aebc19d9d1d 460 else if (c=='5') {
BETZtechnik 8:8aebc19d9d1d 461 Ones = 5;
BETZtechnik 8:8aebc19d9d1d 462 }
BETZtechnik 8:8aebc19d9d1d 463
BETZtechnik 8:8aebc19d9d1d 464 else if (c=='6') {
BETZtechnik 8:8aebc19d9d1d 465 Ones = 6;
BETZtechnik 8:8aebc19d9d1d 466 }
BETZtechnik 8:8aebc19d9d1d 467
BETZtechnik 8:8aebc19d9d1d 468 else if (c=='7') {
BETZtechnik 8:8aebc19d9d1d 469 Ones = 7;
BETZtechnik 8:8aebc19d9d1d 470 }
BETZtechnik 8:8aebc19d9d1d 471
BETZtechnik 8:8aebc19d9d1d 472 else if (c=='8') {
BETZtechnik 8:8aebc19d9d1d 473 Ones = 8;
BETZtechnik 8:8aebc19d9d1d 474 }
BETZtechnik 8:8aebc19d9d1d 475
BETZtechnik 8:8aebc19d9d1d 476 else if (c=='9') {
BETZtechnik 8:8aebc19d9d1d 477 Ones = 9;
BETZtechnik 8:8aebc19d9d1d 478 }
BETZtechnik 8:8aebc19d9d1d 479
BETZtechnik 8:8aebc19d9d1d 480 n1Pos = ((Tens * 10) + Ones);
BETZtechnik 8:8aebc19d9d1d 481
BETZtechnik 8:8aebc19d9d1d 482 if ((n1Pos == 45) && (currentNozzle==1)) {
BETZtechnik 8:8aebc19d9d1d 483 // servo2=1;
BETZtechnik 8:8aebc19d9d1d 484 }
BETZtechnik 8:8aebc19d9d1d 485
BETZtechnik 8:8aebc19d9d1d 486 servo1Pos = servo1Scale.from(n1Pos);
BETZtechnik 8:8aebc19d9d1d 487
BETZtechnik 8:8aebc19d9d1d 488 servo1.pulsewidth_us(servo1Pos);
BETZtechnik 8:8aebc19d9d1d 489
BETZtechnik 8:8aebc19d9d1d 490 index=0;
BETZtechnik 8:8aebc19d9d1d 491 }
BETZtechnik 8:8aebc19d9d1d 492 }
BETZtechnik 8:8aebc19d9d1d 493
BETZtechnik 8:8aebc19d9d1d 494
BETZtechnik 8:8aebc19d9d1d 495
BETZtechnik 0:09419d572e90 496
BETZtechnik 0:09419d572e90 497
BETZtechnik 5:6bb07a893f53 498 //********************************* Inputs serial *******************************
BETZtechnik 5:6bb07a893f53 499
BETZtechnik 5:6bb07a893f53 500
BETZtechnik 5:6bb07a893f53 501 while (inputs.readable())
BETZtechnik 5:6bb07a893f53 502 {
BETZtechnik 5:6bb07a893f53 503
BETZtechnik 5:6bb07a893f53 504
BETZtechnik 5:6bb07a893f53 505 c = inputs.getc();
BETZtechnik 5:6bb07a893f53 506
BETZtechnik 5:6bb07a893f53 507 if (c == 'T'){
BETZtechnik 5:6bb07a893f53 508
BETZtechnik 5:6bb07a893f53 509 index = 1;
BETZtechnik 5:6bb07a893f53 510 servo2=1;
BETZtechnik 5:6bb07a893f53 511 }
BETZtechnik 5:6bb07a893f53 512
BETZtechnik 5:6bb07a893f53 513
BETZtechnik 5:6bb07a893f53 514 if (index == 1){
BETZtechnik 5:6bb07a893f53 515 c = inputs.getc();
BETZtechnik 5:6bb07a893f53 516
BETZtechnik 5:6bb07a893f53 517
BETZtechnik 5:6bb07a893f53 518 if (c=='0'){
BETZtechnik 5:6bb07a893f53 519 Tens = 0;
BETZtechnik 5:6bb07a893f53 520 servo2=1;
BETZtechnik 5:6bb07a893f53 521 }
BETZtechnik 5:6bb07a893f53 522
BETZtechnik 5:6bb07a893f53 523 else if (c=='1'){
BETZtechnik 5:6bb07a893f53 524 Tens = 1;
BETZtechnik 5:6bb07a893f53 525
BETZtechnik 5:6bb07a893f53 526
BETZtechnik 5:6bb07a893f53 527 }
BETZtechnik 5:6bb07a893f53 528
BETZtechnik 5:6bb07a893f53 529 else if (c=='2'){
BETZtechnik 5:6bb07a893f53 530 Tens = 2;
BETZtechnik 5:6bb07a893f53 531
BETZtechnik 5:6bb07a893f53 532 }
BETZtechnik 5:6bb07a893f53 533
BETZtechnik 5:6bb07a893f53 534 else if (c=='3'){
BETZtechnik 5:6bb07a893f53 535 Tens = 3;
BETZtechnik 5:6bb07a893f53 536
BETZtechnik 5:6bb07a893f53 537 }
BETZtechnik 5:6bb07a893f53 538
BETZtechnik 5:6bb07a893f53 539 else if (c=='4'){
BETZtechnik 5:6bb07a893f53 540 Tens = 4;
BETZtechnik 5:6bb07a893f53 541 }
BETZtechnik 5:6bb07a893f53 542
BETZtechnik 5:6bb07a893f53 543 else if (c=='5'){
BETZtechnik 5:6bb07a893f53 544 Tens = 5;
BETZtechnik 5:6bb07a893f53 545 }
BETZtechnik 5:6bb07a893f53 546
BETZtechnik 5:6bb07a893f53 547 else if (c=='6'){
BETZtechnik 5:6bb07a893f53 548 Tens = 6;
BETZtechnik 5:6bb07a893f53 549 }
BETZtechnik 5:6bb07a893f53 550
BETZtechnik 5:6bb07a893f53 551 else if (c=='7'){
BETZtechnik 5:6bb07a893f53 552 Tens = 7;
BETZtechnik 5:6bb07a893f53 553 }
BETZtechnik 5:6bb07a893f53 554
BETZtechnik 5:6bb07a893f53 555 else if (c=='8'){
BETZtechnik 5:6bb07a893f53 556 Tens = 8;
BETZtechnik 5:6bb07a893f53 557 }
BETZtechnik 5:6bb07a893f53 558
BETZtechnik 5:6bb07a893f53 559 else if (c=='9'){
BETZtechnik 5:6bb07a893f53 560 Tens = 9;
BETZtechnik 5:6bb07a893f53 561 }
BETZtechnik 5:6bb07a893f53 562
BETZtechnik 5:6bb07a893f53 563 else if (c=='0'){
BETZtechnik 5:6bb07a893f53 564 Tens = 0;
BETZtechnik 5:6bb07a893f53 565 }
BETZtechnik 5:6bb07a893f53 566 index = 2;
BETZtechnik 5:6bb07a893f53 567 }
BETZtechnik 5:6bb07a893f53 568
BETZtechnik 5:6bb07a893f53 569
BETZtechnik 5:6bb07a893f53 570 if (index == 2){
BETZtechnik 5:6bb07a893f53 571 c = inputs.getc();
BETZtechnik 5:6bb07a893f53 572 if (c=='0'){
BETZtechnik 5:6bb07a893f53 573 Ones = 0;
BETZtechnik 5:6bb07a893f53 574
BETZtechnik 5:6bb07a893f53 575 }
BETZtechnik 5:6bb07a893f53 576
BETZtechnik 5:6bb07a893f53 577 else if (c=='1'){
BETZtechnik 5:6bb07a893f53 578 Ones = 1;
BETZtechnik 5:6bb07a893f53 579
BETZtechnik 5:6bb07a893f53 580
BETZtechnik 5:6bb07a893f53 581 }
BETZtechnik 5:6bb07a893f53 582
BETZtechnik 5:6bb07a893f53 583 else if (c=='2'){
BETZtechnik 5:6bb07a893f53 584 Ones = 2;
BETZtechnik 5:6bb07a893f53 585
BETZtechnik 5:6bb07a893f53 586 }
BETZtechnik 5:6bb07a893f53 587
BETZtechnik 5:6bb07a893f53 588 else if (c=='3'){
BETZtechnik 5:6bb07a893f53 589 Ones = 3;
BETZtechnik 5:6bb07a893f53 590
BETZtechnik 5:6bb07a893f53 591 }
BETZtechnik 5:6bb07a893f53 592
BETZtechnik 5:6bb07a893f53 593 else if (c=='4'){
BETZtechnik 5:6bb07a893f53 594 Ones = 4;
BETZtechnik 5:6bb07a893f53 595 }
BETZtechnik 5:6bb07a893f53 596
BETZtechnik 5:6bb07a893f53 597 else if (c=='5'){
BETZtechnik 5:6bb07a893f53 598 Ones = 5;
BETZtechnik 5:6bb07a893f53 599 }
BETZtechnik 5:6bb07a893f53 600
BETZtechnik 5:6bb07a893f53 601 else if (c=='6'){
BETZtechnik 5:6bb07a893f53 602 Ones = 6;
BETZtechnik 5:6bb07a893f53 603 }
BETZtechnik 5:6bb07a893f53 604
BETZtechnik 5:6bb07a893f53 605 else if (c=='7'){
BETZtechnik 5:6bb07a893f53 606 Ones = 7;
BETZtechnik 5:6bb07a893f53 607 }
BETZtechnik 5:6bb07a893f53 608
BETZtechnik 5:6bb07a893f53 609 else if (c=='8'){
BETZtechnik 5:6bb07a893f53 610 Ones = 8;
BETZtechnik 5:6bb07a893f53 611 }
BETZtechnik 5:6bb07a893f53 612
BETZtechnik 5:6bb07a893f53 613 else if (c=='9'){
BETZtechnik 5:6bb07a893f53 614 Ones = 9;
BETZtechnik 5:6bb07a893f53 615 }
BETZtechnik 5:6bb07a893f53 616
BETZtechnik 5:6bb07a893f53 617 else if (c=='0'){
BETZtechnik 5:6bb07a893f53 618 Ones = 0;
BETZtechnik 5:6bb07a893f53 619 }
BETZtechnik 5:6bb07a893f53 620 int tempToolNo = (Tens*10)+100+Ones;
BETZtechnik 5:6bb07a893f53 621 dir=1;
BETZtechnik 5:6bb07a893f53 622 display.printf("T");
BETZtechnik 5:6bb07a893f53 623 wait(0.05);
BETZtechnik 5:6bb07a893f53 624 display.printf("%d", tempToolNo);
BETZtechnik 5:6bb07a893f53 625 wait(0.001);
BETZtechnik 5:6bb07a893f53 626 dir=0;
BETZtechnik 5:6bb07a893f53 627 index = 0;
BETZtechnik 5:6bb07a893f53 628 tempToolNo=0;
BETZtechnik 5:6bb07a893f53 629
BETZtechnik 5:6bb07a893f53 630 }
BETZtechnik 5:6bb07a893f53 631
BETZtechnik 5:6bb07a893f53 632
BETZtechnik 5:6bb07a893f53 633 }
BETZtechnik 5:6bb07a893f53 634
BETZtechnik 5:6bb07a893f53 635
BETZtechnik 5:6bb07a893f53 636 // *****************************************************************************
BETZtechnik 4:18c6ff1370d0 637
BETZtechnik 0:09419d572e90 638
BETZtechnik 1:79c03ac27b72 639
BETZtechnik 1:79c03ac27b72 640 }
BETZtechnik 1:79c03ac27b72 641 }