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