Remote inc coolant nozzle control program
Dependencies: mbed reScale USBDevice
Dependents: Nozzle_inputs Nozzle_display
main.cpp@7:d3c19705042b, 2019-02-19 (annotated)
- Committer:
- BETZtechnik
- Date:
- Tue Feb 19 05:56:39 2019 +0000
- Revision:
- 7:d3c19705042b
- Parent:
- 6:5f3bb4ab449a
- Child:
- 9:69155b34efd6
232 working;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
BETZtechnik | 0:09419d572e90 | 1 | #include "mbed.h" |
BETZtechnik | 0:09419d572e90 | 2 | #include "Adafruit_ST7735.h" |
BETZtechnik | 1:e8452b75301e | 3 | #include "RPG.h" |
BETZtechnik | 0:09419d572e90 | 4 | #include "reScale.h" |
BETZtechnik | 0:09419d572e90 | 5 | #include "Ee24xx08.h" |
BETZtechnik | 0:09419d572e90 | 6 | |
BETZtechnik | 0:09419d572e90 | 7 | |
BETZtechnik | 0:09419d572e90 | 8 | // DISPLAY INIT: |
BETZtechnik | 0:09419d572e90 | 9 | |
BETZtechnik | 0:09419d572e90 | 10 | #define BLACK 0x0000 |
BETZtechnik | 0:09419d572e90 | 11 | #define BLUE 0x001F |
BETZtechnik | 0:09419d572e90 | 12 | #define RED 0xF800 |
BETZtechnik | 0:09419d572e90 | 13 | #define GREEN 0x07E0 |
BETZtechnik | 0:09419d572e90 | 14 | #define CYAN 0x07FF |
BETZtechnik | 0:09419d572e90 | 15 | #define MAGENTA 0xF81F |
BETZtechnik | 0:09419d572e90 | 16 | #define YELLOW 0xFFE0 |
BETZtechnik | 0:09419d572e90 | 17 | #define WHITE 0xFFFF |
BETZtechnik | 0:09419d572e90 | 18 | |
BETZtechnik | 1:e8452b75301e | 19 | #define currentToolAddress 51 |
BETZtechnik | 1:e8452b75301e | 20 | #define numToolsAddress 52 |
BETZtechnik | 1:e8452b75301e | 21 | #define numNozAddress 53 |
BETZtechnik | 0:09419d572e90 | 22 | |
BETZtechnik | 0:09419d572e90 | 23 | |
BETZtechnik | 1:e8452b75301e | 24 | //DigitalOut myled(P1_13); |
BETZtechnik | 1:e8452b75301e | 25 | |
BETZtechnik | 0:09419d572e90 | 26 | |
BETZtechnik | 0:09419d572e90 | 27 | I2C iic(P0_5, P0_4); |
BETZtechnik | 6:5f3bb4ab449a | 28 | Serial device(P0_14, P0_13, 19200); // RS 485 TX RX? |
BETZtechnik | 1:e8452b75301e | 29 | |
BETZtechnik | 1:e8452b75301e | 30 | DigitalOut dir(P0_21); |
BETZtechnik | 1:e8452b75301e | 31 | |
BETZtechnik | 0:09419d572e90 | 32 | |
BETZtechnik | 0:09419d572e90 | 33 | Ee24xx08 eeprom(&iic); |
BETZtechnik | 0:09419d572e90 | 34 | |
BETZtechnik | 1:e8452b75301e | 35 | Adafruit_ST7735 tft(P0_9, P0_8, P0_6, P0_2, P0_22, P0_7); // MOSI, MISO, SCLK, SSEL, TFT_DC, TFT_RST |
BETZtechnik | 0:09419d572e90 | 36 | |
BETZtechnik | 0:09419d572e90 | 37 | reScale servo1Scale(-45,0,750,1800); //19850 is 1.0v from voltage divider at 10k. |
BETZtechnik | 0:09419d572e90 | 38 | |
BETZtechnik | 1:e8452b75301e | 39 | PwmOut myServo(P1_13); //display board |
BETZtechnik | 1:e8452b75301e | 40 | //PwmOut myServo(D4); |
BETZtechnik | 0:09419d572e90 | 41 | |
BETZtechnik | 1:e8452b75301e | 42 | //DigitalIn tUpButton(P2_11); |
BETZtechnik | 1:e8452b75301e | 43 | //DigitalIn tDownButton(P2_12); |
BETZtechnik | 1:e8452b75301e | 44 | DigitalIn encoderFalseButton(P0_23); // FALSE!!! push button of knob |
BETZtechnik | 1:e8452b75301e | 45 | DigitalIn encoderButton(P0_20); // push button of knob |
BETZtechnik | 1:e8452b75301e | 46 | DigitalIn backButton(P0_15); // back button |
BETZtechnik | 0:09419d572e90 | 47 | |
BETZtechnik | 1:e8452b75301e | 48 | Timer t; |
BETZtechnik | 1:e8452b75301e | 49 | int lastBackButton; |
BETZtechnik | 1:e8452b75301e | 50 | int lastDownButton; |
BETZtechnik | 1:e8452b75301e | 51 | int lastEncoderButton; |
BETZtechnik | 1:e8452b75301e | 52 | |
BETZtechnik | 1:e8452b75301e | 53 | int dirt = 0; |
BETZtechnik | 0:09419d572e90 | 54 | |
BETZtechnik | 0:09419d572e90 | 55 | int main() { |
BETZtechnik | 1:e8452b75301e | 56 | |
BETZtechnik | 1:e8452b75301e | 57 | // ************************************** SCREEN INIT ************************************************* |
BETZtechnik | 1:e8452b75301e | 58 | |
BETZtechnik | 1:e8452b75301e | 59 | tft.initR(INITR_GREENTAB); // initialize a ST7735S chip, black tab |
BETZtechnik | 1:e8452b75301e | 60 | |
BETZtechnik | 1:e8452b75301e | 61 | tft.setRotation(3); |
BETZtechnik | 1:e8452b75301e | 62 | tft.fillScreen(BLACK); |
BETZtechnik | 1:e8452b75301e | 63 | tft.setCursor(30,120); |
BETZtechnik | 1:e8452b75301e | 64 | tft.setTextColor(WHITE); |
BETZtechnik | 1:e8452b75301e | 65 | tft.setTextWrap(false); |
BETZtechnik | 1:e8452b75301e | 66 | tft.printf("AccuBlast v0"); |
BETZtechnik | 1:e8452b75301e | 67 | |
BETZtechnik | 1:e8452b75301e | 68 | tft.setCursor(4, 4); |
BETZtechnik | 1:e8452b75301e | 69 | tft.setTextColor(WHITE); |
BETZtechnik | 1:e8452b75301e | 70 | tft.setTextSize(2); |
BETZtechnik | 1:e8452b75301e | 71 | tft.printf("N1"); |
BETZtechnik | 1:e8452b75301e | 72 | |
BETZtechnik | 1:e8452b75301e | 73 | tft.setCursor(80, 4); |
BETZtechnik | 1:e8452b75301e | 74 | tft.setTextColor(WHITE); |
BETZtechnik | 1:e8452b75301e | 75 | tft.setTextSize(2); |
BETZtechnik | 1:e8452b75301e | 76 | tft.printf("N2"); |
BETZtechnik | 1:e8452b75301e | 77 | |
BETZtechnik | 1:e8452b75301e | 78 | tft.setCursor(4, 28); |
BETZtechnik | 1:e8452b75301e | 79 | tft.setTextColor(WHITE); |
BETZtechnik | 1:e8452b75301e | 80 | tft.setTextSize(2); |
BETZtechnik | 1:e8452b75301e | 81 | tft.printf("T"); |
BETZtechnik | 1:e8452b75301e | 82 | |
BETZtechnik | 1:e8452b75301e | 83 | tft.setCursor(4, 50); |
BETZtechnik | 1:e8452b75301e | 84 | tft.setTextColor(WHITE); |
BETZtechnik | 1:e8452b75301e | 85 | tft.setTextSize(1); |
BETZtechnik | 1:e8452b75301e | 86 | tft.printf("Nozzle"); |
BETZtechnik | 1:e8452b75301e | 87 | |
BETZtechnik | 1:e8452b75301e | 88 | tft.setCursor(4, 65); |
BETZtechnik | 1:e8452b75301e | 89 | tft.setTextColor(WHITE); |
BETZtechnik | 1:e8452b75301e | 90 | tft.setTextSize(1); |
BETZtechnik | 1:e8452b75301e | 91 | tft.printf("Res."); |
BETZtechnik | 1:e8452b75301e | 92 | |
BETZtechnik | 1:e8452b75301e | 93 | tft.setCursor(4, 80); |
BETZtechnik | 1:e8452b75301e | 94 | tft.setTextColor(WHITE); |
BETZtechnik | 1:e8452b75301e | 95 | tft.setTextSize(1); |
BETZtechnik | 1:e8452b75301e | 96 | tft.printf("Res."); |
BETZtechnik | 1:e8452b75301e | 97 | |
BETZtechnik | 1:e8452b75301e | 98 | tft.setCursor(4, 95); |
BETZtechnik | 1:e8452b75301e | 99 | tft.setTextColor(WHITE); |
BETZtechnik | 1:e8452b75301e | 100 | tft.setTextSize(1); |
BETZtechnik | 1:e8452b75301e | 101 | tft.printf("Num Tls"); |
BETZtechnik | 1:e8452b75301e | 102 | |
BETZtechnik | 1:e8452b75301e | 103 | tft.setCursor(4, 110); |
BETZtechnik | 1:e8452b75301e | 104 | tft.setTextColor(WHITE); |
BETZtechnik | 1:e8452b75301e | 105 | tft.setTextSize(1); |
BETZtechnik | 1:e8452b75301e | 106 | tft.printf("Num Noz"); |
BETZtechnik | 1:e8452b75301e | 107 | |
BETZtechnik | 1:e8452b75301e | 108 | // ************************************************************************************************************** |
BETZtechnik | 1:e8452b75301e | 109 | |
BETZtechnik | 1:e8452b75301e | 110 | int received = 9; |
BETZtechnik | 3:bbbacfd62773 | 111 | int serialCounter = 0; |
BETZtechnik | 7:d3c19705042b | 112 | int index = 0; |
BETZtechnik | 1:e8452b75301e | 113 | |
BETZtechnik | 1:e8452b75301e | 114 | int count = 0; |
BETZtechnik | 1:e8452b75301e | 115 | int maxCount = 7; //max number of menu items |
BETZtechnik | 1:e8452b75301e | 116 | int lastCount = 99; |
BETZtechnik | 1:e8452b75301e | 117 | |
BETZtechnik | 1:e8452b75301e | 118 | //************* Pull previous setting from eeprom ******************* |
BETZtechnik | 1:e8452b75301e | 119 | |
BETZtechnik | 1:e8452b75301e | 120 | char tempToolNo = 0; // last tool in spindle |
BETZtechnik | 1:e8452b75301e | 121 | eeprom.read(currentToolAddress, &tempToolNo); |
BETZtechnik | 1:e8452b75301e | 122 | int currentToolNo = (int)tempToolNo; |
BETZtechnik | 1:e8452b75301e | 123 | |
BETZtechnik | 1:e8452b75301e | 124 | char tempNumTools = 0; // number of tools in ATC |
BETZtechnik | 1:e8452b75301e | 125 | eeprom.read(numToolsAddress, &tempNumTools); |
BETZtechnik | 1:e8452b75301e | 126 | int numTools = (int)tempNumTools; |
BETZtechnik | 1:e8452b75301e | 127 | |
BETZtechnik | 1:e8452b75301e | 128 | char tempNumNoz = 0; // number of nozzles installed |
BETZtechnik | 1:e8452b75301e | 129 | eeprom.read(numNozAddress, &tempNumNoz); |
BETZtechnik | 1:e8452b75301e | 130 | int numNoz = (int)tempNumNoz; |
BETZtechnik | 1:e8452b75301e | 131 | |
BETZtechnik | 1:e8452b75301e | 132 | char tempLastAngle = 0; // last angle of last tool in spindle |
BETZtechnik | 1:e8452b75301e | 133 | eeprom.read(currentToolNo, &tempLastAngle); |
BETZtechnik | 1:e8452b75301e | 134 | int lastAngle = (int)tempLastAngle; |
BETZtechnik | 1:e8452b75301e | 135 | lastAngle = lastAngle - 45; // Not storing signed int, so signed value is 45 less than what was stored to memory. |
BETZtechnik | 1:e8452b75301e | 136 | |
BETZtechnik | 1:e8452b75301e | 137 | //******************** Button debounce ********************************* |
BETZtechnik | 0:09419d572e90 | 138 | |
BETZtechnik | 0:09419d572e90 | 139 | |
BETZtechnik | 1:e8452b75301e | 140 | |
BETZtechnik | 1:e8452b75301e | 141 | backButton.mode(PullUp); // button pull up |
BETZtechnik | 1:e8452b75301e | 142 | //tDownButton.mode(PullUp); // button pull up |
BETZtechnik | 1:e8452b75301e | 143 | encoderButton.mode(PullUp); |
BETZtechnik | 1:e8452b75301e | 144 | encoderFalseButton.mode(PullUp); |
BETZtechnik | 0:09419d572e90 | 145 | |
BETZtechnik | 1:e8452b75301e | 146 | t.start(); // starts timer |
BETZtechnik | 1:e8452b75301e | 147 | lastBackButton = t.read_ms(); |
BETZtechnik | 1:e8452b75301e | 148 | lastDownButton = t.read_ms(); |
BETZtechnik | 1:e8452b75301e | 149 | lastEncoderButton = t.read_ms(); |
BETZtechnik | 1:e8452b75301e | 150 | |
BETZtechnik | 1:e8452b75301e | 151 | //**************************************************************************** |
BETZtechnik | 0:09419d572e90 | 152 | |
BETZtechnik | 1:e8452b75301e | 153 | int lastToolNo = 99; |
BETZtechnik | 1:e8452b75301e | 154 | int lastNumTools = -1; // trigger to write eeprom value for number of tools |
BETZtechnik | 0:09419d572e90 | 155 | |
BETZtechnik | 1:e8452b75301e | 156 | int lastNumNoz = 0; //trigger display for number of nozzles after startup |
BETZtechnik | 0:09419d572e90 | 157 | |
BETZtechnik | 1:e8452b75301e | 158 | int n1Pos = lastAngle; //Set servo to last known postition prior to power off |
BETZtechnik | 0:09419d572e90 | 159 | int lastN1Pos = 150; |
BETZtechnik | 0:09419d572e90 | 160 | |
BETZtechnik | 0:09419d572e90 | 161 | int servo1Pos = 0; |
BETZtechnik | 0:09419d572e90 | 162 | |
BETZtechnik | 1:e8452b75301e | 163 | RPG rpg1(P2_2,P1_20,P0_23); // RPG (PinName pA, PinName pB, PinName pPB)P0_23 is unconnected!! ; |
BETZtechnik | 1:e8452b75301e | 164 | |
BETZtechnik | 1:e8452b75301e | 165 | myServo.period_ms(20); |
BETZtechnik | 0:09419d572e90 | 166 | |
BETZtechnik | 1:e8452b75301e | 167 | /* |
BETZtechnik | 1:e8452b75301e | 168 | char t1Ang = 200; |
BETZtechnik | 1:e8452b75301e | 169 | char t1Read = 0; |
BETZtechnik | 1:e8452b75301e | 170 | |
BETZtechnik | 1:e8452b75301e | 171 | eeprom.write(1, t1Ang); |
BETZtechnik | 1:e8452b75301e | 172 | wait(1); |
BETZtechnik | 1:e8452b75301e | 173 | eeprom.read(1, &t1Read); |
BETZtechnik | 0:09419d572e90 | 174 | |
BETZtechnik | 0:09419d572e90 | 175 | |
BETZtechnik | 0:09419d572e90 | 176 | tft.setCursor(30,110); |
BETZtechnik | 0:09419d572e90 | 177 | tft.setTextColor(WHITE); |
BETZtechnik | 0:09419d572e90 | 178 | tft.setTextWrap(true); |
BETZtechnik | 1:e8452b75301e | 179 | // tft.printf("%s\r\n",t1Read); |
BETZtechnik | 1:e8452b75301e | 180 | tft.printf("%d", currentTool); |
BETZtechnik | 1:e8452b75301e | 181 | */ |
BETZtechnik | 1:e8452b75301e | 182 | |
BETZtechnik | 1:e8452b75301e | 183 | uint8_t c = 0; // for 485 link |
BETZtechnik | 3:bbbacfd62773 | 184 | |
BETZtechnik | 3:bbbacfd62773 | 185 | |
BETZtechnik | 3:bbbacfd62773 | 186 | int serialToolNumber = 0; |
BETZtechnik | 3:bbbacfd62773 | 187 | int stage = 0; // for serial parsing |
BETZtechnik | 3:bbbacfd62773 | 188 | int Tens = 0; |
BETZtechnik | 3:bbbacfd62773 | 189 | int Ones = 0; |
BETZtechnik | 3:bbbacfd62773 | 190 | |
BETZtechnik | 3:bbbacfd62773 | 191 | dir = 0; |
BETZtechnik | 0:09419d572e90 | 192 | |
BETZtechnik | 0:09419d572e90 | 193 | while(1) { |
BETZtechnik | 0:09419d572e90 | 194 | |
BETZtechnik | 3:bbbacfd62773 | 195 | /* |
BETZtechnik | 3:bbbacfd62773 | 196 | while (device.readable()) |
BETZtechnik | 3:bbbacfd62773 | 197 | { |
BETZtechnik | 3:bbbacfd62773 | 198 | c = device.getc(); |
BETZtechnik | 3:bbbacfd62773 | 199 | |
BETZtechnik | 3:bbbacfd62773 | 200 | |
BETZtechnik | 3:bbbacfd62773 | 201 | if (c == '+'){ |
BETZtechnik | 3:bbbacfd62773 | 202 | currentToolNo = currentToolNo +1; |
BETZtechnik | 3:bbbacfd62773 | 203 | if (currentToolNo > numTools){ |
BETZtechnik | 3:bbbacfd62773 | 204 | currentToolNo = 1; |
BETZtechnik | 3:bbbacfd62773 | 205 | } |
BETZtechnik | 3:bbbacfd62773 | 206 | } |
BETZtechnik | 3:bbbacfd62773 | 207 | |
BETZtechnik | 3:bbbacfd62773 | 208 | else if (c == '-'){ |
BETZtechnik | 3:bbbacfd62773 | 209 | currentToolNo = currentToolNo - 1; |
BETZtechnik | 3:bbbacfd62773 | 210 | if (currentToolNo > 1){ |
BETZtechnik | 3:bbbacfd62773 | 211 | currentToolNo = numTools; |
BETZtechnik | 3:bbbacfd62773 | 212 | } |
BETZtechnik | 3:bbbacfd62773 | 213 | } |
BETZtechnik | 3:bbbacfd62773 | 214 | } |
BETZtechnik | 3:bbbacfd62773 | 215 | */ |
BETZtechnik | 7:d3c19705042b | 216 | |
BETZtechnik | 7:d3c19705042b | 217 | /* |
BETZtechnik | 3:bbbacfd62773 | 218 | while (device.readable()) |
BETZtechnik | 3:bbbacfd62773 | 219 | { |
BETZtechnik | 3:bbbacfd62773 | 220 | |
BETZtechnik | 3:bbbacfd62773 | 221 | |
BETZtechnik | 3:bbbacfd62773 | 222 | c = device.getc(); |
BETZtechnik | 3:bbbacfd62773 | 223 | |
BETZtechnik | 3:bbbacfd62773 | 224 | if (c == 'M'){ |
BETZtechnik | 3:bbbacfd62773 | 225 | // stage = 1; |
BETZtechnik | 3:bbbacfd62773 | 226 | |
BETZtechnik | 3:bbbacfd62773 | 227 | c = device.getc(); |
BETZtechnik | 3:bbbacfd62773 | 228 | if (c == '+'){ |
BETZtechnik | 3:bbbacfd62773 | 229 | |
BETZtechnik | 3:bbbacfd62773 | 230 | // tft.setTextColor(WHITE); |
BETZtechnik | 3:bbbacfd62773 | 231 | // tft.setCursor(100, 100); |
BETZtechnik | 3:bbbacfd62773 | 232 | // tft.printf("%d", c); |
BETZtechnik | 3:bbbacfd62773 | 233 | currentToolNo = currentToolNo +1; |
BETZtechnik | 3:bbbacfd62773 | 234 | if (currentToolNo > numTools){ |
BETZtechnik | 3:bbbacfd62773 | 235 | currentToolNo = 1; |
BETZtechnik | 3:bbbacfd62773 | 236 | } |
BETZtechnik | 3:bbbacfd62773 | 237 | } |
BETZtechnik | 3:bbbacfd62773 | 238 | |
BETZtechnik | 3:bbbacfd62773 | 239 | else if (c == '-'){ |
BETZtechnik | 3:bbbacfd62773 | 240 | currentToolNo = currentToolNo - 1; |
BETZtechnik | 3:bbbacfd62773 | 241 | if (currentToolNo < 1){ |
BETZtechnik | 3:bbbacfd62773 | 242 | currentToolNo = numTools; |
BETZtechnik | 3:bbbacfd62773 | 243 | } |
BETZtechnik | 3:bbbacfd62773 | 244 | } |
BETZtechnik | 3:bbbacfd62773 | 245 | |
BETZtechnik | 3:bbbacfd62773 | 246 | } |
BETZtechnik | 3:bbbacfd62773 | 247 | } |
BETZtechnik | 3:bbbacfd62773 | 248 | |
BETZtechnik | 7:d3c19705042b | 249 | */ |
BETZtechnik | 3:bbbacfd62773 | 250 | |
BETZtechnik | 3:bbbacfd62773 | 251 | |
BETZtechnik | 3:bbbacfd62773 | 252 | |
BETZtechnik | 1:e8452b75301e | 253 | //myled = 1; |
BETZtechnik | 1:e8452b75301e | 254 | |
BETZtechnik | 1:e8452b75301e | 255 | if (t.read() > 1200){ // timer can only hold 30 min, so reset after 20 |
BETZtechnik | 1:e8452b75301e | 256 | t.reset(); |
BETZtechnik | 1:e8452b75301e | 257 | lastBackButton = t.read_ms(); |
BETZtechnik | 1:e8452b75301e | 258 | lastDownButton = t.read_ms(); |
BETZtechnik | 1:e8452b75301e | 259 | lastEncoderButton = t.read_ms(); |
BETZtechnik | 1:e8452b75301e | 260 | } |
BETZtechnik | 1:e8452b75301e | 261 | |
BETZtechnik | 1:e8452b75301e | 262 | if (backButton == 0){ //Back button was pressed so back to default selection |
BETZtechnik | 1:e8452b75301e | 263 | count = 0; |
BETZtechnik | 1:e8452b75301e | 264 | } |
BETZtechnik | 1:e8452b75301e | 265 | |
BETZtechnik | 1:e8452b75301e | 266 | if (encoderButton == 0){ |
BETZtechnik | 1:e8452b75301e | 267 | if (t.read_ms() > (lastEncoderButton + 200)){ |
BETZtechnik | 1:e8452b75301e | 268 | count = count + 1; //Reset count if PB pressed |
BETZtechnik | 1:e8452b75301e | 269 | } |
BETZtechnik | 1:e8452b75301e | 270 | if (count > maxCount){ |
BETZtechnik | 1:e8452b75301e | 271 | count = 0; |
BETZtechnik | 1:e8452b75301e | 272 | } |
BETZtechnik | 1:e8452b75301e | 273 | lastEncoderButton = t.read_ms(); |
BETZtechnik | 1:e8452b75301e | 274 | |
BETZtechnik | 1:e8452b75301e | 275 | if (count > maxCount){ |
BETZtechnik | 1:e8452b75301e | 276 | count = 0; |
BETZtechnik | 1:e8452b75301e | 277 | } |
BETZtechnik | 1:e8452b75301e | 278 | } |
BETZtechnik | 0:09419d572e90 | 279 | |
BETZtechnik | 1:e8452b75301e | 280 | //****************** ENCODER ACTIONS ************************************************ |
BETZtechnik | 1:e8452b75301e | 281 | if (count == 0){ // knob controls servo value |
BETZtechnik | 1:e8452b75301e | 282 | dirt = rpg1.dir(); //Get Dir |
BETZtechnik | 1:e8452b75301e | 283 | n1Pos = n1Pos + dirt; //Ad Dirt to n1pos |
BETZtechnik | 1:e8452b75301e | 284 | if (n1Pos > 0){ |
BETZtechnik | 1:e8452b75301e | 285 | n1Pos = 0; |
BETZtechnik | 1:e8452b75301e | 286 | } |
BETZtechnik | 1:e8452b75301e | 287 | if (n1Pos < -45){ |
BETZtechnik | 1:e8452b75301e | 288 | n1Pos = -45; |
BETZtechnik | 1:e8452b75301e | 289 | } |
BETZtechnik | 1:e8452b75301e | 290 | } |
BETZtechnik | 1:e8452b75301e | 291 | |
BETZtechnik | 1:e8452b75301e | 292 | if (count == 2){ //knob controls tool number |
BETZtechnik | 1:e8452b75301e | 293 | dirt = rpg1.dir(); //Get Dir |
BETZtechnik | 1:e8452b75301e | 294 | currentToolNo = currentToolNo + dirt; //Ad Dirt to n1pos |
BETZtechnik | 1:e8452b75301e | 295 | if (currentToolNo > numTools){ |
BETZtechnik | 1:e8452b75301e | 296 | currentToolNo = numTools; |
BETZtechnik | 1:e8452b75301e | 297 | } |
BETZtechnik | 1:e8452b75301e | 298 | if (currentToolNo < 1){ |
BETZtechnik | 1:e8452b75301e | 299 | currentToolNo = 1; |
BETZtechnik | 1:e8452b75301e | 300 | } |
BETZtechnik | 1:e8452b75301e | 301 | } |
BETZtechnik | 1:e8452b75301e | 302 | |
BETZtechnik | 1:e8452b75301e | 303 | if (count == 6){ //knob controls tool number |
BETZtechnik | 1:e8452b75301e | 304 | dirt = rpg1.dir(); //Get Dir |
BETZtechnik | 1:e8452b75301e | 305 | numTools = numTools + dirt; //Ad Dirt to n1pos |
BETZtechnik | 1:e8452b75301e | 306 | if (numTools > 50){ |
BETZtechnik | 1:e8452b75301e | 307 | numTools = 50; |
BETZtechnik | 1:e8452b75301e | 308 | } |
BETZtechnik | 1:e8452b75301e | 309 | if (numTools < 1){ |
BETZtechnik | 1:e8452b75301e | 310 | numTools = 1; |
BETZtechnik | 1:e8452b75301e | 311 | } |
BETZtechnik | 1:e8452b75301e | 312 | } |
BETZtechnik | 1:e8452b75301e | 313 | |
BETZtechnik | 1:e8452b75301e | 314 | if (count == 7){ //knob controls tool number |
BETZtechnik | 1:e8452b75301e | 315 | dirt = rpg1.dir(); //Get Dir |
BETZtechnik | 1:e8452b75301e | 316 | numNoz = numNoz + dirt; //Ad Dirt to n1pos |
BETZtechnik | 1:e8452b75301e | 317 | if (numNoz> 2){ |
BETZtechnik | 1:e8452b75301e | 318 | numNoz = 2; |
BETZtechnik | 1:e8452b75301e | 319 | } |
BETZtechnik | 1:e8452b75301e | 320 | if (numNoz < 1){ |
BETZtechnik | 1:e8452b75301e | 321 | numNoz = 1; |
BETZtechnik | 1:e8452b75301e | 322 | } |
BETZtechnik | 1:e8452b75301e | 323 | } |
BETZtechnik | 1:e8452b75301e | 324 | |
BETZtechnik | 1:e8452b75301e | 325 | |
BETZtechnik | 1:e8452b75301e | 326 | // ************* Rectangles for identifying active selection ***************************** |
BETZtechnik | 1:e8452b75301e | 327 | |
BETZtechnik | 1:e8452b75301e | 328 | if (count == 0){ // N1 adjust |
BETZtechnik | 1:e8452b75301e | 329 | tft.drawRect(2,2,74,18,GREEN); |
BETZtechnik | 1:e8452b75301e | 330 | } |
BETZtechnik | 1:e8452b75301e | 331 | else{ |
BETZtechnik | 1:e8452b75301e | 332 | tft.drawRect(2,2,74,18,WHITE); |
BETZtechnik | 1:e8452b75301e | 333 | } |
BETZtechnik | 1:e8452b75301e | 334 | |
BETZtechnik | 1:e8452b75301e | 335 | if ((count == 1) && (numNoz == 2)){ // N2 adjust |
BETZtechnik | 1:e8452b75301e | 336 | tft.drawRect(78,2,74,18,GREEN); |
BETZtechnik | 1:e8452b75301e | 337 | } |
BETZtechnik | 1:e8452b75301e | 338 | |
BETZtechnik | 1:e8452b75301e | 339 | if ((count != 1) && (numNoz == 2)){ // N2 adjust |
BETZtechnik | 1:e8452b75301e | 340 | tft.drawRect(78,2,74,18,WHITE); |
BETZtechnik | 1:e8452b75301e | 341 | } |
BETZtechnik | 1:e8452b75301e | 342 | |
BETZtechnik | 1:e8452b75301e | 343 | |
BETZtechnik | 1:e8452b75301e | 344 | if (count == 2){ |
BETZtechnik | 1:e8452b75301e | 345 | tft.drawRect(20,26,28,18,GREEN); |
BETZtechnik | 1:e8452b75301e | 346 | } |
BETZtechnik | 1:e8452b75301e | 347 | else{ |
BETZtechnik | 1:e8452b75301e | 348 | tft.drawRect(20,26,28,18,BLACK); |
BETZtechnik | 1:e8452b75301e | 349 | } |
BETZtechnik | 1:e8452b75301e | 350 | |
BETZtechnik | 1:e8452b75301e | 351 | if (count == 3){ |
BETZtechnik | 1:e8452b75301e | 352 | tft.drawRect(53,48,20,12,GREEN); |
BETZtechnik | 1:e8452b75301e | 353 | } |
BETZtechnik | 1:e8452b75301e | 354 | else{ |
BETZtechnik | 1:e8452b75301e | 355 | tft.drawRect(53,48,20,12,BLACK); |
BETZtechnik | 1:e8452b75301e | 356 | } |
BETZtechnik | 1:e8452b75301e | 357 | |
BETZtechnik | 1:e8452b75301e | 358 | if (count == 4){ |
BETZtechnik | 1:e8452b75301e | 359 | tft.drawRect(53,63,20,12,GREEN); |
BETZtechnik | 1:e8452b75301e | 360 | } |
BETZtechnik | 1:e8452b75301e | 361 | else{ |
BETZtechnik | 1:e8452b75301e | 362 | tft.drawRect(53,63,20,12,BLACK); |
BETZtechnik | 1:e8452b75301e | 363 | } |
BETZtechnik | 1:e8452b75301e | 364 | |
BETZtechnik | 1:e8452b75301e | 365 | if (count == 5){ |
BETZtechnik | 1:e8452b75301e | 366 | tft.drawRect(53,78,20,12,GREEN); |
BETZtechnik | 1:e8452b75301e | 367 | } |
BETZtechnik | 1:e8452b75301e | 368 | else{ |
BETZtechnik | 1:e8452b75301e | 369 | tft.drawRect(53,78,20,12,BLACK); |
BETZtechnik | 1:e8452b75301e | 370 | } |
BETZtechnik | 1:e8452b75301e | 371 | |
BETZtechnik | 1:e8452b75301e | 372 | if (count == 6){ |
BETZtechnik | 1:e8452b75301e | 373 | tft.drawRect(53,93,20,12,GREEN); |
BETZtechnik | 1:e8452b75301e | 374 | } |
BETZtechnik | 1:e8452b75301e | 375 | else{ |
BETZtechnik | 1:e8452b75301e | 376 | tft.drawRect(53,93,20,12,BLACK); |
BETZtechnik | 1:e8452b75301e | 377 | } |
BETZtechnik | 1:e8452b75301e | 378 | |
BETZtechnik | 1:e8452b75301e | 379 | if (count == 7){ |
BETZtechnik | 1:e8452b75301e | 380 | tft.drawRect(53,108,20,12,GREEN); |
BETZtechnik | 1:e8452b75301e | 381 | } |
BETZtechnik | 1:e8452b75301e | 382 | else{ |
BETZtechnik | 1:e8452b75301e | 383 | tft.drawRect(53,108,20,12,BLACK); |
BETZtechnik | 1:e8452b75301e | 384 | } |
BETZtechnik | 1:e8452b75301e | 385 | |
BETZtechnik | 1:e8452b75301e | 386 | //**************************************************************************************** |
BETZtechnik | 1:e8452b75301e | 387 | |
BETZtechnik | 1:e8452b75301e | 388 | servo1Pos = servo1Scale.from(n1Pos); |
BETZtechnik | 0:09419d572e90 | 389 | |
BETZtechnik | 0:09419d572e90 | 390 | myServo.pulsewidth_us(servo1Pos); |
BETZtechnik | 0:09419d572e90 | 391 | |
BETZtechnik | 1:e8452b75301e | 392 | //********************** update display values ********************************************** |
BETZtechnik | 1:e8452b75301e | 393 | |
BETZtechnik | 1:e8452b75301e | 394 | |
BETZtechnik | 1:e8452b75301e | 395 | if (currentToolNo != lastToolNo){ |
BETZtechnik | 1:e8452b75301e | 396 | /* |
BETZtechnik | 1:e8452b75301e | 397 | tft.fillRect(103, 2, 55,25, BLACK); |
BETZtechnik | 1:e8452b75301e | 398 | tft.setCursor(105, 4); |
BETZtechnik | 1:e8452b75301e | 399 | */ |
BETZtechnik | 1:e8452b75301e | 400 | tft.setCursor(22, 28); |
BETZtechnik | 0:09419d572e90 | 401 | tft.setTextColor(BLACK); |
BETZtechnik | 1:e8452b75301e | 402 | tft.setTextSize(2); |
BETZtechnik | 1:e8452b75301e | 403 | tft.printf("%d", lastToolNo); |
BETZtechnik | 1:e8452b75301e | 404 | tft.setTextColor(WHITE); |
BETZtechnik | 1:e8452b75301e | 405 | //tft.setTextSize(2); |
BETZtechnik | 1:e8452b75301e | 406 | // tft.printf("T"); |
BETZtechnik | 1:e8452b75301e | 407 | tft.setCursor(22,28); |
BETZtechnik | 1:e8452b75301e | 408 | tft.printf("%d", currentToolNo); |
BETZtechnik | 1:e8452b75301e | 409 | tempLastAngle = 0; |
BETZtechnik | 1:e8452b75301e | 410 | eeprom.read(currentToolNo, &tempLastAngle); |
BETZtechnik | 1:e8452b75301e | 411 | lastAngle = (int)tempLastAngle; |
BETZtechnik | 1:e8452b75301e | 412 | lastAngle = lastAngle - 45; // Not storing signed int, so signed value is 45 less than what was stored to memory. |
BETZtechnik | 1:e8452b75301e | 413 | //RotaryEncoder knob1(D2, D3, -45, 45, lastAngle); // RotaryEncoder(PinName pin1_name, PinName pin2_name, int min = 0, int max = 100, int val = 50); |
BETZtechnik | 1:e8452b75301e | 414 | //knob1.val = lastAngle; |
BETZtechnik | 1:e8452b75301e | 415 | n1Pos = lastAngle; |
BETZtechnik | 1:e8452b75301e | 416 | eeprom.write(currentToolAddress, currentToolNo); |
BETZtechnik | 1:e8452b75301e | 417 | //wait(0.1); |
BETZtechnik | 1:e8452b75301e | 418 | lastToolNo = currentToolNo; |
BETZtechnik | 0:09419d572e90 | 419 | } |
BETZtechnik | 0:09419d572e90 | 420 | |
BETZtechnik | 0:09419d572e90 | 421 | |
BETZtechnik | 0:09419d572e90 | 422 | if (n1Pos != lastN1Pos){ |
BETZtechnik | 1:e8452b75301e | 423 | tft.setCursor(40, 4); |
BETZtechnik | 0:09419d572e90 | 424 | tft.setTextColor(BLACK); |
BETZtechnik | 0:09419d572e90 | 425 | tft.setTextSize(2); |
BETZtechnik | 0:09419d572e90 | 426 | tft.printf("%d", lastN1Pos); |
BETZtechnik | 1:e8452b75301e | 427 | tft.setCursor(40,4); |
BETZtechnik | 1:e8452b75301e | 428 | tft.setTextColor(GREEN); |
BETZtechnik | 0:09419d572e90 | 429 | tft.setTextSize(2); |
BETZtechnik | 0:09419d572e90 | 430 | tft.printf("%d", n1Pos); |
BETZtechnik | 1:e8452b75301e | 431 | eeprom.write(currentToolNo, n1Pos + 45); // store new angle in eeprom, add 45 because its an unsigned value. |
BETZtechnik | 1:e8452b75301e | 432 | //wait(0.1); // adjusted from 1 |
BETZtechnik | 1:e8452b75301e | 433 | dir=1; |
BETZtechnik | 1:e8452b75301e | 434 | device.printf("N"); |
BETZtechnik | 1:e8452b75301e | 435 | device.printf("%d", n1Pos + 145); //send over RS485 add 145 so no negative values and always 3 digits. 1xx for N1, 2xx for nozzle 2 |
BETZtechnik | 1:e8452b75301e | 436 | //device.printf("N245"); // TEST!!! |
BETZtechnik | 1:e8452b75301e | 437 | tft.setCursor(100, 50); |
BETZtechnik | 1:e8452b75301e | 438 | tft.setTextSize(2); |
BETZtechnik | 1:e8452b75301e | 439 | tft.printf("%d", n1Pos + 145); |
BETZtechnik | 1:e8452b75301e | 440 | //wait(0.05); |
BETZtechnik | 1:e8452b75301e | 441 | dir=0; |
BETZtechnik | 0:09419d572e90 | 442 | lastN1Pos = n1Pos; |
BETZtechnik | 0:09419d572e90 | 443 | } |
BETZtechnik | 1:e8452b75301e | 444 | |
BETZtechnik | 1:e8452b75301e | 445 | if (numTools != lastNumTools){ |
BETZtechnik | 1:e8452b75301e | 446 | tft.setCursor(55, 95); |
BETZtechnik | 1:e8452b75301e | 447 | tft.setTextColor(BLACK); |
BETZtechnik | 1:e8452b75301e | 448 | tft.setTextSize(1); |
BETZtechnik | 1:e8452b75301e | 449 | tft.printf("%d", lastNumTools); |
BETZtechnik | 1:e8452b75301e | 450 | tft.setCursor(55,95); |
BETZtechnik | 1:e8452b75301e | 451 | tft.setTextColor(WHITE); |
BETZtechnik | 1:e8452b75301e | 452 | tft.setTextSize(1); |
BETZtechnik | 1:e8452b75301e | 453 | tft.printf("%d", numTools); |
BETZtechnik | 1:e8452b75301e | 454 | eeprom.write(numToolsAddress, numTools); // store new angle in eeprom, add 45 because its an unsigned value. |
BETZtechnik | 1:e8452b75301e | 455 | //wait(0.1); // adjusted from 1 |
BETZtechnik | 1:e8452b75301e | 456 | lastNumTools = numTools; |
BETZtechnik | 1:e8452b75301e | 457 | } |
BETZtechnik | 0:09419d572e90 | 458 | |
BETZtechnik | 1:e8452b75301e | 459 | if (numNoz != lastNumNoz){ |
BETZtechnik | 1:e8452b75301e | 460 | tft.setCursor(55, 110); |
BETZtechnik | 1:e8452b75301e | 461 | tft.setTextColor(BLACK); |
BETZtechnik | 1:e8452b75301e | 462 | tft.setTextSize(1); |
BETZtechnik | 1:e8452b75301e | 463 | tft.printf("%d", lastNumNoz); |
BETZtechnik | 1:e8452b75301e | 464 | tft.setCursor(55,110); |
BETZtechnik | 1:e8452b75301e | 465 | tft.setTextColor(WHITE); |
BETZtechnik | 1:e8452b75301e | 466 | tft.setTextSize(1); |
BETZtechnik | 1:e8452b75301e | 467 | tft.printf("%d", numNoz); |
BETZtechnik | 1:e8452b75301e | 468 | eeprom.write(numNozAddress, numNoz); // store new angle in eeprom, add 45 because its an unsigned value. |
BETZtechnik | 1:e8452b75301e | 469 | //wait(0.1); // adjusted from 1 |
BETZtechnik | 1:e8452b75301e | 470 | |
BETZtechnik | 1:e8452b75301e | 471 | if (numNoz == 2){ |
BETZtechnik | 1:e8452b75301e | 472 | tft.setCursor(80, 4); |
BETZtechnik | 1:e8452b75301e | 473 | tft.setTextColor(WHITE); |
BETZtechnik | 1:e8452b75301e | 474 | tft.setTextSize(2); |
BETZtechnik | 1:e8452b75301e | 475 | tft.printf("N2"); |
BETZtechnik | 1:e8452b75301e | 476 | tft.drawRect(78,2,74,18,WHITE); |
BETZtechnik | 1:e8452b75301e | 477 | } |
BETZtechnik | 1:e8452b75301e | 478 | if (numNoz == 1){ |
BETZtechnik | 1:e8452b75301e | 479 | tft.setCursor(80, 4); |
BETZtechnik | 1:e8452b75301e | 480 | tft.setTextColor(BLACK); |
BETZtechnik | 1:e8452b75301e | 481 | tft.setTextSize(2); |
BETZtechnik | 1:e8452b75301e | 482 | tft.printf("N2"); |
BETZtechnik | 1:e8452b75301e | 483 | tft.drawRect(78,2,74,18,BLACK); |
BETZtechnik | 1:e8452b75301e | 484 | } |
BETZtechnik | 1:e8452b75301e | 485 | lastNumNoz = numNoz; |
BETZtechnik | 1:e8452b75301e | 486 | } |
BETZtechnik | 0:09419d572e90 | 487 | |
BETZtechnik | 0:09419d572e90 | 488 | |
BETZtechnik | 0:09419d572e90 | 489 | |
BETZtechnik | 1:e8452b75301e | 490 | |
BETZtechnik | 1:e8452b75301e | 491 | if (count != lastCount){ |
BETZtechnik | 1:e8452b75301e | 492 | tft.setCursor(150, 100); |
BETZtechnik | 1:e8452b75301e | 493 | tft.setTextColor(BLACK); |
BETZtechnik | 1:e8452b75301e | 494 | tft.setTextSize(1); |
BETZtechnik | 1:e8452b75301e | 495 | tft.printf("%d", lastCount); |
BETZtechnik | 1:e8452b75301e | 496 | tft.setCursor(150,100); |
BETZtechnik | 1:e8452b75301e | 497 | tft.setTextColor(RED); |
BETZtechnik | 1:e8452b75301e | 498 | tft.setTextSize(1); |
BETZtechnik | 1:e8452b75301e | 499 | tft.printf("%d", count); |
BETZtechnik | 1:e8452b75301e | 500 | lastCount = count; |
BETZtechnik | 1:e8452b75301e | 501 | } |
BETZtechnik | 1:e8452b75301e | 502 | |
BETZtechnik | 1:e8452b75301e | 503 | //**************************** RS485 link *************************************** |
BETZtechnik | 1:e8452b75301e | 504 | |
BETZtechnik | 1:e8452b75301e | 505 | //dir =0; // receiver enable |
BETZtechnik | 3:bbbacfd62773 | 506 | /* |
BETZtechnik | 1:e8452b75301e | 507 | if (device.readable()) |
BETZtechnik | 1:e8452b75301e | 508 | { |
BETZtechnik | 1:e8452b75301e | 509 | c = device.getc(); |
BETZtechnik | 1:e8452b75301e | 510 | if(c=='B'){ |
BETZtechnik | 1:e8452b75301e | 511 | received = 1; |
BETZtechnik | 1:e8452b75301e | 512 | } |
BETZtechnik | 1:e8452b75301e | 513 | } |
BETZtechnik | 1:e8452b75301e | 514 | |
BETZtechnik | 1:e8452b75301e | 515 | if (received == 1){ |
BETZtechnik | 1:e8452b75301e | 516 | tft.setCursor(150, 80); |
BETZtechnik | 1:e8452b75301e | 517 | tft.setTextColor(WHITE); |
BETZtechnik | 1:e8452b75301e | 518 | tft.setTextSize(1); |
BETZtechnik | 1:e8452b75301e | 519 | tft.printf("1"); |
BETZtechnik | 1:e8452b75301e | 520 | } |
BETZtechnik | 1:e8452b75301e | 521 | |
BETZtechnik | 3:bbbacfd62773 | 522 | */ |
BETZtechnik | 3:bbbacfd62773 | 523 | |
BETZtechnik | 7:d3c19705042b | 524 | |
BETZtechnik | 3:bbbacfd62773 | 525 | while (device.readable()) |
BETZtechnik | 3:bbbacfd62773 | 526 | { |
BETZtechnik | 3:bbbacfd62773 | 527 | c = device.getc(); |
BETZtechnik | 3:bbbacfd62773 | 528 | |
BETZtechnik | 3:bbbacfd62773 | 529 | if (c == 'T'){ // Actual tool number sent over serial |
BETZtechnik | 3:bbbacfd62773 | 530 | |
BETZtechnik | 3:bbbacfd62773 | 531 | index = 1; |
BETZtechnik | 3:bbbacfd62773 | 532 | |
BETZtechnik | 3:bbbacfd62773 | 533 | } |
BETZtechnik | 3:bbbacfd62773 | 534 | |
BETZtechnik | 3:bbbacfd62773 | 535 | |
BETZtechnik | 3:bbbacfd62773 | 536 | if (c == 'M'){ // magazine + or - sent over serial |
BETZtechnik | 3:bbbacfd62773 | 537 | index = 5; |
BETZtechnik | 3:bbbacfd62773 | 538 | } |
BETZtechnik | 3:bbbacfd62773 | 539 | |
BETZtechnik | 3:bbbacfd62773 | 540 | if (index == 1){ |
BETZtechnik | 3:bbbacfd62773 | 541 | c = device.getc(); |
BETZtechnik | 3:bbbacfd62773 | 542 | if (c == '1'){ // hundreds place to know we are sending 3 digits |
BETZtechnik | 3:bbbacfd62773 | 543 | index = 2; |
BETZtechnik | 3:bbbacfd62773 | 544 | } |
BETZtechnik | 3:bbbacfd62773 | 545 | } |
BETZtechnik | 3:bbbacfd62773 | 546 | |
BETZtechnik | 3:bbbacfd62773 | 547 | |
BETZtechnik | 3:bbbacfd62773 | 548 | |
BETZtechnik | 3:bbbacfd62773 | 549 | if (index == 2){ // tool number 10's column |
BETZtechnik | 3:bbbacfd62773 | 550 | |
BETZtechnik | 3:bbbacfd62773 | 551 | c = device.getc(); |
BETZtechnik | 3:bbbacfd62773 | 552 | |
BETZtechnik | 3:bbbacfd62773 | 553 | if (c=='0'){ |
BETZtechnik | 3:bbbacfd62773 | 554 | Tens = 0; |
BETZtechnik | 3:bbbacfd62773 | 555 | index = 4; |
BETZtechnik | 3:bbbacfd62773 | 556 | |
BETZtechnik | 3:bbbacfd62773 | 557 | } |
BETZtechnik | 3:bbbacfd62773 | 558 | |
BETZtechnik | 3:bbbacfd62773 | 559 | else if (c=='1'){ |
BETZtechnik | 3:bbbacfd62773 | 560 | Tens = 1; |
BETZtechnik | 3:bbbacfd62773 | 561 | index = 4; |
BETZtechnik | 3:bbbacfd62773 | 562 | |
BETZtechnik | 3:bbbacfd62773 | 563 | } |
BETZtechnik | 3:bbbacfd62773 | 564 | |
BETZtechnik | 3:bbbacfd62773 | 565 | else if (c=='2'){ |
BETZtechnik | 3:bbbacfd62773 | 566 | Tens = 2; |
BETZtechnik | 3:bbbacfd62773 | 567 | index = 4; |
BETZtechnik | 3:bbbacfd62773 | 568 | |
BETZtechnik | 3:bbbacfd62773 | 569 | } |
BETZtechnik | 3:bbbacfd62773 | 570 | |
BETZtechnik | 3:bbbacfd62773 | 571 | else if (c=='3'){ |
BETZtechnik | 3:bbbacfd62773 | 572 | Tens = 3; |
BETZtechnik | 3:bbbacfd62773 | 573 | index = 4; |
BETZtechnik | 3:bbbacfd62773 | 574 | |
BETZtechnik | 3:bbbacfd62773 | 575 | } |
BETZtechnik | 3:bbbacfd62773 | 576 | |
BETZtechnik | 3:bbbacfd62773 | 577 | else if (c=='4'){ |
BETZtechnik | 3:bbbacfd62773 | 578 | Tens = 4; |
BETZtechnik | 3:bbbacfd62773 | 579 | index = 4; |
BETZtechnik | 3:bbbacfd62773 | 580 | } |
BETZtechnik | 3:bbbacfd62773 | 581 | |
BETZtechnik | 3:bbbacfd62773 | 582 | else if (c=='5'){ //max number of tools is 50 |
BETZtechnik | 3:bbbacfd62773 | 583 | Tens = 5; |
BETZtechnik | 3:bbbacfd62773 | 584 | index = 4; |
BETZtechnik | 3:bbbacfd62773 | 585 | } |
BETZtechnik | 3:bbbacfd62773 | 586 | |
BETZtechnik | 3:bbbacfd62773 | 587 | } |
BETZtechnik | 3:bbbacfd62773 | 588 | |
BETZtechnik | 3:bbbacfd62773 | 589 | if (index == 4){ // tool number ones column |
BETZtechnik | 3:bbbacfd62773 | 590 | |
BETZtechnik | 3:bbbacfd62773 | 591 | c = device.getc(); |
BETZtechnik | 3:bbbacfd62773 | 592 | |
BETZtechnik | 3:bbbacfd62773 | 593 | if (c=='0'){ |
BETZtechnik | 3:bbbacfd62773 | 594 | Ones = 0; |
BETZtechnik | 3:bbbacfd62773 | 595 | |
BETZtechnik | 3:bbbacfd62773 | 596 | } |
BETZtechnik | 3:bbbacfd62773 | 597 | |
BETZtechnik | 3:bbbacfd62773 | 598 | else if (c=='1'){ |
BETZtechnik | 3:bbbacfd62773 | 599 | Ones = 1; |
BETZtechnik | 3:bbbacfd62773 | 600 | |
BETZtechnik | 3:bbbacfd62773 | 601 | |
BETZtechnik | 3:bbbacfd62773 | 602 | } |
BETZtechnik | 3:bbbacfd62773 | 603 | |
BETZtechnik | 3:bbbacfd62773 | 604 | else if (c=='2'){ |
BETZtechnik | 3:bbbacfd62773 | 605 | Ones = 2; |
BETZtechnik | 3:bbbacfd62773 | 606 | |
BETZtechnik | 3:bbbacfd62773 | 607 | } |
BETZtechnik | 3:bbbacfd62773 | 608 | |
BETZtechnik | 3:bbbacfd62773 | 609 | else if (c=='3'){ |
BETZtechnik | 3:bbbacfd62773 | 610 | Ones = 3; |
BETZtechnik | 3:bbbacfd62773 | 611 | |
BETZtechnik | 3:bbbacfd62773 | 612 | } |
BETZtechnik | 3:bbbacfd62773 | 613 | |
BETZtechnik | 3:bbbacfd62773 | 614 | else if (c=='4'){ |
BETZtechnik | 3:bbbacfd62773 | 615 | Ones = 4; |
BETZtechnik | 3:bbbacfd62773 | 616 | } |
BETZtechnik | 3:bbbacfd62773 | 617 | |
BETZtechnik | 3:bbbacfd62773 | 618 | else if (c=='5'){ |
BETZtechnik | 3:bbbacfd62773 | 619 | Ones = 5; |
BETZtechnik | 3:bbbacfd62773 | 620 | } |
BETZtechnik | 3:bbbacfd62773 | 621 | |
BETZtechnik | 3:bbbacfd62773 | 622 | else if (c=='6'){ |
BETZtechnik | 3:bbbacfd62773 | 623 | Ones = 6; |
BETZtechnik | 3:bbbacfd62773 | 624 | } |
BETZtechnik | 3:bbbacfd62773 | 625 | |
BETZtechnik | 3:bbbacfd62773 | 626 | else if (c=='7'){ |
BETZtechnik | 3:bbbacfd62773 | 627 | Ones = 7; |
BETZtechnik | 3:bbbacfd62773 | 628 | } |
BETZtechnik | 3:bbbacfd62773 | 629 | |
BETZtechnik | 3:bbbacfd62773 | 630 | else if (c=='8'){ |
BETZtechnik | 3:bbbacfd62773 | 631 | Ones = 8; |
BETZtechnik | 3:bbbacfd62773 | 632 | } |
BETZtechnik | 3:bbbacfd62773 | 633 | |
BETZtechnik | 3:bbbacfd62773 | 634 | else if (c=='9'){ |
BETZtechnik | 3:bbbacfd62773 | 635 | Ones = 9; |
BETZtechnik | 3:bbbacfd62773 | 636 | } |
BETZtechnik | 3:bbbacfd62773 | 637 | |
BETZtechnik | 3:bbbacfd62773 | 638 | else if (c=='0'){ |
BETZtechnik | 3:bbbacfd62773 | 639 | Ones = 0; |
BETZtechnik | 3:bbbacfd62773 | 640 | } |
BETZtechnik | 3:bbbacfd62773 | 641 | |
BETZtechnik | 3:bbbacfd62773 | 642 | |
BETZtechnik | 3:bbbacfd62773 | 643 | |
BETZtechnik | 3:bbbacfd62773 | 644 | serialToolNumber = ((Tens * 10) + Ones); |
BETZtechnik | 3:bbbacfd62773 | 645 | |
BETZtechnik | 3:bbbacfd62773 | 646 | currentToolNo = serialToolNumber; // update tool number |
BETZtechnik | 3:bbbacfd62773 | 647 | |
BETZtechnik | 3:bbbacfd62773 | 648 | index=0; |
BETZtechnik | 3:bbbacfd62773 | 649 | |
BETZtechnik | 3:bbbacfd62773 | 650 | } |
BETZtechnik | 3:bbbacfd62773 | 651 | |
BETZtechnik | 3:bbbacfd62773 | 652 | if (index == 5){ // magazine monitoring |
BETZtechnik | 3:bbbacfd62773 | 653 | |
BETZtechnik | 3:bbbacfd62773 | 654 | |
BETZtechnik | 3:bbbacfd62773 | 655 | |
BETZtechnik | 3:bbbacfd62773 | 656 | c = device.getc(); |
BETZtechnik | 3:bbbacfd62773 | 657 | |
BETZtechnik | 7:d3c19705042b | 658 | if (c == '+'){ |
BETZtechnik | 3:bbbacfd62773 | 659 | |
BETZtechnik | 3:bbbacfd62773 | 660 | |
BETZtechnik | 3:bbbacfd62773 | 661 | currentToolNo = (currentToolNo +1); |
BETZtechnik | 3:bbbacfd62773 | 662 | if (currentToolNo > numTools){ |
BETZtechnik | 3:bbbacfd62773 | 663 | currentToolNo = 1; |
BETZtechnik | 3:bbbacfd62773 | 664 | } |
BETZtechnik | 3:bbbacfd62773 | 665 | index = 0; |
BETZtechnik | 3:bbbacfd62773 | 666 | } |
BETZtechnik | 7:d3c19705042b | 667 | else if (c == '-'){ |
BETZtechnik | 3:bbbacfd62773 | 668 | |
BETZtechnik | 3:bbbacfd62773 | 669 | tft.setTextColor(WHITE); |
BETZtechnik | 3:bbbacfd62773 | 670 | tft.setCursor(100, 100); |
BETZtechnik | 3:bbbacfd62773 | 671 | tft.printf("1"); |
BETZtechnik | 3:bbbacfd62773 | 672 | |
BETZtechnik | 3:bbbacfd62773 | 673 | currentToolNo = (currentToolNo -1); |
BETZtechnik | 3:bbbacfd62773 | 674 | if (currentToolNo < 1){ |
BETZtechnik | 3:bbbacfd62773 | 675 | currentToolNo = numTools; |
BETZtechnik | 3:bbbacfd62773 | 676 | } |
BETZtechnik | 3:bbbacfd62773 | 677 | index = 0; |
BETZtechnik | 3:bbbacfd62773 | 678 | } |
BETZtechnik | 3:bbbacfd62773 | 679 | |
BETZtechnik | 3:bbbacfd62773 | 680 | } |
BETZtechnik | 3:bbbacfd62773 | 681 | } |
BETZtechnik | 7:d3c19705042b | 682 | |
BETZtechnik | 3:bbbacfd62773 | 683 | |
BETZtechnik | 3:bbbacfd62773 | 684 | |
BETZtechnik | 3:bbbacfd62773 | 685 | |
BETZtechnik | 3:bbbacfd62773 | 686 | |
BETZtechnik | 3:bbbacfd62773 | 687 | |
BETZtechnik | 1:e8452b75301e | 688 | |
BETZtechnik | 1:e8452b75301e | 689 | } |
BETZtechnik | 1:e8452b75301e | 690 | } |
BETZtechnik | 3:bbbacfd62773 | 691 |