Full layout 'HUB' with functioning navigation between all screens and active temp/state display, now with outbound signals to leds and buzzer. Final Project.

Dependencies:   ID12RFID SPI_TFT_ILI9341 TFT_fonts mbed

Fork of Welcome_Screen_TFT_2_point_oh by 'SmOuse'

Committer:
bendavis96
Date:
Fri Jun 17 12:38:37 2016 +0000
Revision:
9:0adb037a25a4
Parent:
8:95cd847648cd
wifi inbound signals and outbound signals to led etc working, all working!;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bendavis96 7:ceeced183454 1
bendavis96 7:ceeced183454 2 //%%%%%% SERVER HUB %%%%%%%
bendavis96 7:ceeced183454 3
dreschpe 0:7c3b9bfd6ead 4
bendavis96 7:ceeced183454 5
bendavis96 7:ceeced183454 6 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bendavis96 7:ceeced183454 7 //%%%%%% Initialisations %%%%%%%%
dreschpe 0:7c3b9bfd6ead 8 #include "stdio.h"
dreschpe 0:7c3b9bfd6ead 9 #include "mbed.h"
dreschpe 0:7c3b9bfd6ead 10 #include "SPI_TFT_ILI9341.h"
bendavis96 7:ceeced183454 11 #include "ID12RFID.h"
dreschpe 0:7c3b9bfd6ead 12 #include "string"
dreschpe 0:7c3b9bfd6ead 13 #include "Arial12x12.h"
dreschpe 0:7c3b9bfd6ead 14 #include "Arial24x23.h"
dreschpe 0:7c3b9bfd6ead 15 #include "Arial28x28.h"
dreschpe 0:7c3b9bfd6ead 16 #include "font_big.h"
cstevens 4:14043cafbec7 17
cstevens 6:18c7288b5e00 18
cstevens 6:18c7288b5e00 19 Serial pc (USBTX,USBRX);
bendavis96 8:95cd847648cd 20 ID12RFID rfid(PTE23);
bendavis96 9:0adb037a25a4 21 Serial dev(PTE0,PTE1); // for KL25Z... asuming one can't use the PTA1 version which is the stdio
bendavis96 7:ceeced183454 22 DigitalOut rled(LED1);
bendavis96 7:ceeced183454 23 DigitalOut gled(LED2);
bendavis96 7:ceeced183454 24 DigitalOut bled(LED3);
bendavis96 9:0adb037a25a4 25 DigitalOut rst(PTD7); // single digital pin to drive the esp8266 reset line
bendavis96 7:ceeced183454 26
bendavis96 7:ceeced183454 27 int touching = 0;
cstevens 4:14043cafbec7 28
dreschpe 0:7c3b9bfd6ead 29
dreschpe 0:7c3b9bfd6ead 30
pegcjs 3:676adf84c914 31
cstevens 6:18c7288b5e00 32 // the display has a backlight switch on board
bendavis96 7:ceeced183454 33 DigitalOut LCD_LED(PTA13); // LED Display
bendavis96 7:ceeced183454 34 DigitalOut pwr(PTD7); // Power
dreschpe 0:7c3b9bfd6ead 35
dreschpe 0:7c3b9bfd6ead 36 // the TFT is connected to SPI pin 5-7
pegcjs 1:e0479f60cd48 37 //SPI_TFT_ILI9341 TFT(p5, p6, p7, p8, p9, p10,"TFT"); // mosi, miso, sclk, cs, reset, dc for lpc1768
cstevens 5:424af4fa03ab 38 SPI_TFT_ILI9341 TFT(PTD2, PTD3, PTD1, PTD5, PTD0, PTA13,"TFT"); // mosi, miso, sclk, cs, reset, dc for frdmkl25z
cstevens 6:18c7288b5e00 39 //NB better combination to use a coherent 2x4 block for lcd
pegcjs 3:676adf84c914 40 // SPI_TFT_ILI9341 TFT(PTD2, PTD3, PTD1, PTA16, PTA17, PTC16,"TFT"); // mosi, miso, sclk, cs, reset, dc for frdmkl25z
bendavis96 7:ceeced183454 41
bendavis96 7:ceeced183454 42 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bendavis96 9:0adb037a25a4 43 //%%%%%%%%%%%%%%%%%%%%%% WIFI %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bendavis96 9:0adb037a25a4 44 // subroutine to run anytime a serial interrupt arrives from the device
bendavis96 9:0adb037a25a4 45 // this basically passes everything thatthe device produces on to the pc terminal screen
bendavis96 9:0adb037a25a4 46
bendavis96 9:0adb037a25a4 47 void dev_recv()
bendavis96 9:0adb037a25a4 48 {
bendavis96 9:0adb037a25a4 49 while(dev.readable()) {
bendavis96 9:0adb037a25a4 50 pc.putc(dev.getc());
bendavis96 9:0adb037a25a4 51 wait_us(1);
bendavis96 9:0adb037a25a4 52 }
bendavis96 9:0adb037a25a4 53 }
bendavis96 9:0adb037a25a4 54 // subroutine to service the serial interrupt on the pc connection
bendavis96 9:0adb037a25a4 55 // this is a bit more complex - it takes what the use sends on the pc and copies it on to the device
bendavis96 9:0adb037a25a4 56 // the esp should echo these straight back to the the pc if all is well
bendavis96 9:0adb037a25a4 57 // this also detects the end of command character which is ascii 13 (0x0d) adn adds a linefeed after it =asscii 10 (0x0a)
bendavis96 9:0adb037a25a4 58 void pc_recv()
bendavis96 9:0adb037a25a4 59 {
bendavis96 9:0adb037a25a4 60 char c;
bendavis96 9:0adb037a25a4 61 while(pc.readable()) {
bendavis96 9:0adb037a25a4 62 c = pc.getc();
bendavis96 9:0adb037a25a4 63 dev.putc(c);
bendavis96 9:0adb037a25a4 64 // pc.putc(c); // echo back
bendavis96 9:0adb037a25a4 65 if(c==13) {
bendavis96 9:0adb037a25a4 66 dev.putc(10); // send the linefeed to complement the carriage return generated by return key on the pc
bendavis96 9:0adb037a25a4 67 pc.putc(10);
bendavis96 9:0adb037a25a4 68 }
bendavis96 9:0adb037a25a4 69 }
bendavis96 9:0adb037a25a4 70 }
bendavis96 9:0adb037a25a4 71
bendavis96 9:0adb037a25a4 72 /*void client() {
bendavis96 9:0adb037a25a4 73
bendavis96 9:0adb037a25a4 74 i = dev.getc(); */
bendavis96 9:0adb037a25a4 75 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bendavis96 7:ceeced183454 76 //%%%%%%%%%%% Subroutine to read the x location of the touch point %%%%%%%%%%
bendavis96 7:ceeced183454 77
cstevens 6:18c7288b5e00 78
cstevens 6:18c7288b5e00 79
cstevens 6:18c7288b5e00 80 // need to set x+ to 3V and ground x- then read analogue voltage on ym
cstevens 6:18c7288b5e00 81 //nb need to add a check for actual touch as opposed to random crap
bendavis96 7:ceeced183454 82
cstevens 6:18c7288b5e00 83 int readX()
cstevens 6:18c7288b5e00 84 {
bendavis96 7:ceeced183454 85 int delta=0,xv1=0,xv2=0,k=0;
bendavis96 7:ceeced183454 86
bendavis96 7:ceeced183454 87 AnalogIn yp(PTB3);
bendavis96 7:ceeced183454 88 AnalogIn ym(PTB2);
cstevens 6:18c7288b5e00 89 DigitalOut xp(PTB0);
cstevens 6:18c7288b5e00 90 DigitalOut xm(PTB1);
cstevens 6:18c7288b5e00 91
cstevens 6:18c7288b5e00 92 xp=1; // set positive sdie of x high
cstevens 6:18c7288b5e00 93 xm=0;
cstevens 6:18c7288b5e00 94 // dont need to do anyhting to set low side as it should be fine.
cstevens 6:18c7288b5e00 95 // but do need to disconnect yp
cstevens 6:18c7288b5e00 96 //yp.PinMode(PullNone)
bendavis96 7:ceeced183454 97 for(k=0; k<10; k++) { // make 10 readings to average
bendavis96 7:ceeced183454 98 xv1+=(int)ym.read_u16(); // get value
bendavis96 7:ceeced183454 99 xv2+=(int)yp.read_u16(); // get other value
bendavis96 7:ceeced183454 100 }
bendavis96 7:ceeced183454 101 delta=abs(xv2-xv1)/10;
bendavis96 7:ceeced183454 102 if(delta<300) touching=1;
bendavis96 7:ceeced183454 103 else touching=0;
bendavis96 7:ceeced183454 104 // pc.printf("delta=%d \t %d\n\r",delta,touching);
bendavis96 7:ceeced183454 105 xp=0;
bendavis96 7:ceeced183454 106 xm=0;
bendavis96 7:ceeced183454 107 return(xv2/10); //maybe better to return the average of both....
cstevens 6:18c7288b5e00 108 }
cstevens 6:18c7288b5e00 109 // subroutine to read y values - has different pin functions ..
cstevens 6:18c7288b5e00 110 int readY()
cstevens 6:18c7288b5e00 111 {
bendavis96 7:ceeced183454 112 DigitalOut yp(PTB3);
bendavis96 7:ceeced183454 113 DigitalOut ym(PTB2);
cstevens 6:18c7288b5e00 114 AnalogIn xp(PTB0);
cstevens 6:18c7288b5e00 115 AnalogIn xm(PTB1);
cstevens 6:18c7288b5e00 116
cstevens 6:18c7288b5e00 117 yp=1; // set positive sdie of x high
cstevens 6:18c7288b5e00 118 ym=0;
cstevens 6:18c7288b5e00 119 // dont need to do anyhting to set low side as it should be fine.
cstevens 6:18c7288b5e00 120 // but do need to disconnect yp
cstevens 6:18c7288b5e00 121 //yp.PinMode(PullNone)
cstevens 6:18c7288b5e00 122 int yval=(int)xm.read_u16(); // get value
bendavis96 7:ceeced183454 123
bendavis96 7:ceeced183454 124 yp=0;
bendavis96 7:ceeced183454 125 ym=0;
cstevens 6:18c7288b5e00 126 return(yval);
cstevens 6:18c7288b5e00 127 }
bendavis96 7:ceeced183454 128 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bendavis96 7:ceeced183454 129 //%%%%%% Home Display %%%%%%%
bendavis96 7:ceeced183454 130
bendavis96 7:ceeced183454 131 void start()
bendavis96 7:ceeced183454 132 {
bendavis96 7:ceeced183454 133
bendavis96 7:ceeced183454 134 pwr=1;
bendavis96 7:ceeced183454 135 wait(0.2);
bendavis96 7:ceeced183454 136
bendavis96 7:ceeced183454 137 LCD_LED = 1; // backlight on
bendavis96 7:ceeced183454 138 rled = 1;
bendavis96 7:ceeced183454 139 bled = 1;
bendavis96 7:ceeced183454 140 gled = 1;
bendavis96 7:ceeced183454 141
bendavis96 7:ceeced183454 142 TFT.claim(stdout); // send stdout to the TFT display
bendavis96 7:ceeced183454 143 TFT.set_orientation(1);
bendavis96 7:ceeced183454 144 TFT.background(Black); // set background to black
bendavis96 7:ceeced183454 145 TFT.foreground(Cyan); // set chars to white
bendavis96 7:ceeced183454 146 TFT.locate(80,110);
bendavis96 7:ceeced183454 147 TFT.set_font((unsigned char*) Neu42x35);
bendavis96 7:ceeced183454 148 TFT.cls(); // clear the screen
bendavis96 7:ceeced183454 149 TFT.printf("SmOuse");
bendavis96 7:ceeced183454 150
bendavis96 7:ceeced183454 151 }
bendavis96 7:ceeced183454 152
bendavis96 7:ceeced183454 153 void welcome()
bendavis96 7:ceeced183454 154 {
bendavis96 7:ceeced183454 155 //Greeting
bendavis96 7:ceeced183454 156 TFT.set_font((unsigned char*) Arial24x23);
bendavis96 7:ceeced183454 157 TFT.set_orientation(1);
bendavis96 7:ceeced183454 158 TFT.locate(50,100);
bendavis96 7:ceeced183454 159 TFT.printf("W");
bendavis96 7:ceeced183454 160 wait(0.05);
bendavis96 7:ceeced183454 161 TFT.printf("e");
bendavis96 7:ceeced183454 162 wait(0.05);
bendavis96 7:ceeced183454 163 TFT.printf("l");
bendavis96 7:ceeced183454 164 wait(0.05);
bendavis96 7:ceeced183454 165 TFT.printf("c");
bendavis96 7:ceeced183454 166 wait(0.05);
bendavis96 7:ceeced183454 167 TFT.printf("o");
bendavis96 7:ceeced183454 168 wait(0.05);
bendavis96 7:ceeced183454 169 TFT.printf("m");
bendavis96 7:ceeced183454 170 wait(0.05);
bendavis96 7:ceeced183454 171 TFT.printf("e");
bendavis96 7:ceeced183454 172 wait(0.05);
bendavis96 7:ceeced183454 173 TFT.printf(",");
bendavis96 7:ceeced183454 174 wait(0.05);
bendavis96 7:ceeced183454 175 TFT.printf(" ");
bendavis96 7:ceeced183454 176 wait(0.05);
bendavis96 7:ceeced183454 177 }
bendavis96 7:ceeced183454 178
bendavis96 7:ceeced183454 179
bendavis96 7:ceeced183454 180 void home()
bendavis96 7:ceeced183454 181 {
bendavis96 7:ceeced183454 182 TFT.cls();
bendavis96 7:ceeced183454 183 //show corners
bendavis96 7:ceeced183454 184 TFT.circle(10,10,10,0xffff);
bendavis96 7:ceeced183454 185 wait(0.1);
bendavis96 7:ceeced183454 186 TFT.circle(308,10,10,0xffff);
bendavis96 7:ceeced183454 187 wait(0.1);
bendavis96 7:ceeced183454 188 TFT.circle(10,229,10,0xffff);
bendavis96 7:ceeced183454 189 wait(0.1);
bendavis96 7:ceeced183454 190 TFT.circle(308,229,10,0xffff);
bendavis96 7:ceeced183454 191 wait(0.1);
bendavis96 7:ceeced183454 192 //add menu buttons
bendavis96 8:95cd847648cd 193 TFT.rect(25,200,155,140,0xffff); //lighting
bendavis96 8:95cd847648cd 194 TFT.rect(165,200,295,140,0xffff); //AC
bendavis96 8:95cd847648cd 195 TFT.rect(25,25,93,0,Red); //auto controls
bendavis96 8:95cd847648cd 196
bendavis96 7:ceeced183454 197 //text for buttons
bendavis96 7:ceeced183454 198 TFT.set_font((unsigned char*) Arial12x12);
bendavis96 7:ceeced183454 199 TFT.locate(65,165);
bendavis96 7:ceeced183454 200 TFT.printf("Lighting");
bendavis96 7:ceeced183454 201 TFT.locate(195,165);
bendavis96 7:ceeced183454 202 TFT.printf("AC Control");
bendavis96 8:95cd847648cd 203 TFT.locate(40,10);
bendavis96 8:95cd847648cd 204 TFT.printf("AUTO");
bendavis96 7:ceeced183454 205 }
bendavis96 7:ceeced183454 206
bendavis96 7:ceeced183454 207 void lights()
bendavis96 7:ceeced183454 208 {
bendavis96 7:ceeced183454 209
bendavis96 7:ceeced183454 210 TFT.cls();
bendavis96 7:ceeced183454 211 TFT.locate(55,15);
bendavis96 7:ceeced183454 212 TFT.set_font((unsigned char*) Arial24x23);
bendavis96 7:ceeced183454 213 TFT.printf("Lighting System");
bendavis96 7:ceeced183454 214 //show corners
bendavis96 7:ceeced183454 215 TFT.circle(10,10,10,0xffff);
bendavis96 7:ceeced183454 216 wait(0.1);
bendavis96 7:ceeced183454 217 TFT.circle(308,10,10,0xffff);
bendavis96 7:ceeced183454 218 wait(0.1);
bendavis96 7:ceeced183454 219 TFT.circle(10,229,10,0xffff);
bendavis96 7:ceeced183454 220 wait(0.1);
bendavis96 7:ceeced183454 221 TFT.circle(308,229,10,0xffff);
bendavis96 7:ceeced183454 222 wait(0.1);
bendavis96 7:ceeced183454 223 //add menu buttons
bendavis96 7:ceeced183454 224 TFT.rect(25,200,155,140,0xffff);
bendavis96 8:95cd847648cd 225 TFT.rect(165,110,295,80,0xffff);
bendavis96 8:95cd847648cd 226 TFT.rect(165,155,295,125,0xffff);
bendavis96 8:95cd847648cd 227 TFT.rect(165,200,295,170,0xffff);
bendavis96 7:ceeced183454 228 //text for buttons
bendavis96 7:ceeced183454 229 TFT.set_font((unsigned char*) Arial12x12);
bendavis96 7:ceeced183454 230 TFT.locate(50,165);
bendavis96 7:ceeced183454 231 TFT.printf("LIGHTS OFF");
bendavis96 8:95cd847648cd 232 TFT.locate(230,92);
bendavis96 8:95cd847648cd 233 TFT.printf("3");
bendavis96 8:95cd847648cd 234 TFT.locate(230,137);
bendavis96 8:95cd847648cd 235 TFT.printf("2");
bendavis96 8:95cd847648cd 236 TFT.locate(230,182);
bendavis96 8:95cd847648cd 237 TFT.printf("1");
bendavis96 8:95cd847648cd 238 TFT.locate(6,6);
bendavis96 8:95cd847648cd 239 TFT.printf("X");
bendavis96 7:ceeced183454 240 }
bendavis96 7:ceeced183454 241
bendavis96 7:ceeced183454 242 void temps()
bendavis96 7:ceeced183454 243 {
bendavis96 7:ceeced183454 244
bendavis96 7:ceeced183454 245 TFT.cls();
bendavis96 7:ceeced183454 246 TFT.locate(90,15);
bendavis96 7:ceeced183454 247 TFT.set_font((unsigned char*) Arial24x23);
bendavis96 7:ceeced183454 248 TFT.printf("AC System");
bendavis96 7:ceeced183454 249 //show corners
bendavis96 7:ceeced183454 250 TFT.circle(10,10,10,0xffff);
bendavis96 7:ceeced183454 251 wait(0.1);
bendavis96 7:ceeced183454 252 TFT.circle(308,10,10,0xffff);
bendavis96 7:ceeced183454 253 wait(0.1);
bendavis96 7:ceeced183454 254 TFT.circle(10,229,10,0xffff);
bendavis96 7:ceeced183454 255 wait(0.1);
bendavis96 7:ceeced183454 256 TFT.circle(308,229,10,0xffff);
bendavis96 7:ceeced183454 257 wait(0.1);
bendavis96 7:ceeced183454 258 //add menu buttons
bendavis96 7:ceeced183454 259 TFT.rect(25,200,155,140,0xffff);
bendavis96 7:ceeced183454 260 TFT.rect(165,200,295,140,0xffff);
bendavis96 7:ceeced183454 261 //text for buttons
bendavis96 7:ceeced183454 262 TFT.set_font((unsigned char*) Arial12x12);
bendavis96 7:ceeced183454 263 TFT.locate(60,165);
bendavis96 7:ceeced183454 264 TFT.printf("FAN OFF");
bendavis96 7:ceeced183454 265 TFT.locate(200,165);
bendavis96 7:ceeced183454 266 TFT.printf("FAN ON");
bendavis96 8:95cd847648cd 267 TFT.locate(6,6);
bendavis96 8:95cd847648cd 268 TFT.printf("X");
bendavis96 8:95cd847648cd 269 }
bendavis96 8:95cd847648cd 270
bendavis96 8:95cd847648cd 271 void autos()
bendavis96 8:95cd847648cd 272 {
bendavis96 8:95cd847648cd 273
bendavis96 8:95cd847648cd 274 TFT.cls();
bendavis96 8:95cd847648cd 275 TFT.locate(30,15);
bendavis96 8:95cd847648cd 276 TFT.set_font((unsigned char*) Arial24x23);
bendavis96 8:95cd847648cd 277 TFT.printf("Automatic Control");
bendavis96 8:95cd847648cd 278 //show corners
bendavis96 8:95cd847648cd 279 TFT.circle(10,10,10,0xffff);
bendavis96 8:95cd847648cd 280 wait(0.1);
bendavis96 8:95cd847648cd 281 TFT.circle(308,10,10,0xffff);
bendavis96 8:95cd847648cd 282 wait(0.1);
bendavis96 8:95cd847648cd 283 TFT.circle(10,229,10,0xffff);
bendavis96 8:95cd847648cd 284 wait(0.1);
bendavis96 8:95cd847648cd 285 TFT.circle(308,229,10,0xffff);
bendavis96 8:95cd847648cd 286 wait(0.1);
bendavis96 8:95cd847648cd 287 //add menu buttons
bendavis96 8:95cd847648cd 288 TFT.rect(25,200,155,140,0xffff);
bendavis96 8:95cd847648cd 289 TFT.rect(165,200,295,140,0xffff);
bendavis96 8:95cd847648cd 290 //text for buttons
bendavis96 8:95cd847648cd 291 TFT.set_font((unsigned char*) Arial12x12);
bendavis96 8:95cd847648cd 292 TFT.locate(75,165);
bendavis96 8:95cd847648cd 293 TFT.printf("OFF");
bendavis96 8:95cd847648cd 294 TFT.locate(215,165);
bendavis96 8:95cd847648cd 295 TFT.printf("ON");
bendavis96 8:95cd847648cd 296 TFT.locate(6,6);
bendavis96 8:95cd847648cd 297 TFT.printf("X");
bendavis96 7:ceeced183454 298 }
bendavis96 7:ceeced183454 299
bendavis96 9:0adb037a25a4 300 //%%%%%%%%% OUTPUTS %%%%%%%%%%%%%%%
bendavis96 9:0adb037a25a4 301
bendavis96 9:0adb037a25a4 302 void alarm_off()
bendavis96 9:0adb037a25a4 303 {
bendavis96 9:0adb037a25a4 304 dev.printf("AT+CIPSEND=0,1\r\n");
bendavis96 9:0adb037a25a4 305 wait(0.1);
bendavis96 9:0adb037a25a4 306 dev.printf("x");
bendavis96 9:0adb037a25a4 307 wait(0.1);
bendavis96 9:0adb037a25a4 308 }
bendavis96 9:0adb037a25a4 309
bendavis96 9:0adb037a25a4 310 void control_start(){
bendavis96 9:0adb037a25a4 311 dev.printf("AT+CIPSEND=1,1\r\n");
bendavis96 9:0adb037a25a4 312 wait(0.1);
bendavis96 9:0adb037a25a4 313 dev.printf("G");
bendavis96 9:0adb037a25a4 314 wait(0.1);
bendavis96 9:0adb037a25a4 315 }
bendavis96 9:0adb037a25a4 316
bendavis96 9:0adb037a25a4 317 void lights_off()
bendavis96 9:0adb037a25a4 318 {
bendavis96 9:0adb037a25a4 319 dev.printf("AT+CIPSEND=1,1\r\n");
bendavis96 9:0adb037a25a4 320 wait(0.1);
bendavis96 9:0adb037a25a4 321 dev.printf("Z");
bendavis96 9:0adb037a25a4 322 wait(0.1);
bendavis96 9:0adb037a25a4 323 }
bendavis96 9:0adb037a25a4 324
bendavis96 9:0adb037a25a4 325 void lights_1()
bendavis96 9:0adb037a25a4 326 {
bendavis96 9:0adb037a25a4 327 dev.printf("AT+CIPSEND=1,1\r\n");
bendavis96 9:0adb037a25a4 328 wait(0.1);
bendavis96 9:0adb037a25a4 329 dev.printf("X");
bendavis96 9:0adb037a25a4 330 wait(0.1);
bendavis96 9:0adb037a25a4 331 }
bendavis96 9:0adb037a25a4 332
bendavis96 9:0adb037a25a4 333 void lights_2()
bendavis96 9:0adb037a25a4 334 {
bendavis96 9:0adb037a25a4 335 dev.printf("AT+CIPSEND=1,1\r\n");
bendavis96 9:0adb037a25a4 336 wait(0.1);
bendavis96 9:0adb037a25a4 337 dev.printf("Y");
bendavis96 9:0adb037a25a4 338 wait(0.1);
bendavis96 9:0adb037a25a4 339 }
bendavis96 9:0adb037a25a4 340
bendavis96 9:0adb037a25a4 341 void lights_3()
bendavis96 9:0adb037a25a4 342 {
bendavis96 9:0adb037a25a4 343 dev.printf("AT+CIPSEND=1,1\r\n");
bendavis96 9:0adb037a25a4 344 wait(0.1);
bendavis96 9:0adb037a25a4 345 dev.printf("W");
bendavis96 9:0adb037a25a4 346 wait(0.1);
bendavis96 9:0adb037a25a4 347 }
bendavis96 9:0adb037a25a4 348
bendavis96 9:0adb037a25a4 349 void fan_off()
bendavis96 9:0adb037a25a4 350 {
bendavis96 9:0adb037a25a4 351 dev.printf("AT+CIPSEND=1,1\r\n");
bendavis96 9:0adb037a25a4 352 wait(0.1);
bendavis96 9:0adb037a25a4 353 dev.printf("L");
bendavis96 9:0adb037a25a4 354 wait(0.1);
bendavis96 9:0adb037a25a4 355 }
bendavis96 9:0adb037a25a4 356
bendavis96 9:0adb037a25a4 357 void fan_on()
bendavis96 9:0adb037a25a4 358 {
bendavis96 9:0adb037a25a4 359 dev.printf("AT+CIPSEND=1,1\r\n");
bendavis96 9:0adb037a25a4 360 wait(0.1);
bendavis96 9:0adb037a25a4 361 dev.printf("K");
bendavis96 9:0adb037a25a4 362 wait(0.1);
bendavis96 9:0adb037a25a4 363 }
bendavis96 9:0adb037a25a4 364
bendavis96 9:0adb037a25a4 365 void autom_togg()
bendavis96 9:0adb037a25a4 366 {
bendavis96 9:0adb037a25a4 367 dev.printf("AT+CIPSEND=1,1\r\n");
bendavis96 9:0adb037a25a4 368 wait(0.1);
bendavis96 9:0adb037a25a4 369 dev.printf("Q");
bendavis96 9:0adb037a25a4 370 wait(0.1);
bendavis96 9:0adb037a25a4 371 }
bendavis96 7:ceeced183454 372 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bendavis96 7:ceeced183454 373 //%%%%% IDs %%%%%%
bendavis96 7:ceeced183454 374
bendavis96 7:ceeced183454 375 void ben()
bendavis96 7:ceeced183454 376 {
bendavis96 7:ceeced183454 377
bendavis96 7:ceeced183454 378 rled = 0;
bendavis96 7:ceeced183454 379 bled = 1;
bendavis96 7:ceeced183454 380 gled = 1;
bendavis96 7:ceeced183454 381
bendavis96 9:0adb037a25a4 382 alarm_off();
bendavis96 9:0adb037a25a4 383 control_start();
bendavis96 7:ceeced183454 384 TFT.printf("B");
bendavis96 7:ceeced183454 385 wait(0.05);
bendavis96 7:ceeced183454 386 TFT.printf("e");
bendavis96 7:ceeced183454 387 wait(0.05);
bendavis96 7:ceeced183454 388 TFT.printf("n");
bendavis96 9:0adb037a25a4 389
bendavis96 7:ceeced183454 390 }
bendavis96 7:ceeced183454 391
bendavis96 7:ceeced183454 392 void joe()
bendavis96 7:ceeced183454 393 {
bendavis96 7:ceeced183454 394 rled = 1;
bendavis96 7:ceeced183454 395 bled = 0;
bendavis96 7:ceeced183454 396 gled = 1;
bendavis96 7:ceeced183454 397
bendavis96 9:0adb037a25a4 398 alarm_off();
bendavis96 9:0adb037a25a4 399 control_start();
bendavis96 7:ceeced183454 400 TFT.printf("J");
bendavis96 7:ceeced183454 401 wait(0.05);
bendavis96 7:ceeced183454 402 TFT.printf("o");
bendavis96 7:ceeced183454 403 wait(0.05);
bendavis96 7:ceeced183454 404 TFT.printf("e");
bendavis96 7:ceeced183454 405
bendavis96 7:ceeced183454 406 }
bendavis96 7:ceeced183454 407
bendavis96 7:ceeced183454 408 void arthur()
bendavis96 7:ceeced183454 409 {
bendavis96 7:ceeced183454 410 rled = 1;
bendavis96 7:ceeced183454 411 bled = 0;
bendavis96 7:ceeced183454 412 gled = 1;
bendavis96 7:ceeced183454 413
bendavis96 9:0adb037a25a4 414 alarm_off();
bendavis96 9:0adb037a25a4 415 control_start();
bendavis96 7:ceeced183454 416 TFT.printf("A");
bendavis96 7:ceeced183454 417 wait(0.05);
bendavis96 7:ceeced183454 418 TFT.printf("r");
bendavis96 7:ceeced183454 419 wait(0.05);
bendavis96 7:ceeced183454 420 TFT.printf("t");
bendavis96 7:ceeced183454 421 wait(0.05);
bendavis96 7:ceeced183454 422 TFT.printf("h");
bendavis96 7:ceeced183454 423 wait(0.05);
bendavis96 7:ceeced183454 424 TFT.printf("u");
bendavis96 7:ceeced183454 425 wait(0.05);
bendavis96 7:ceeced183454 426 TFT.printf("r");
bendavis96 7:ceeced183454 427
bendavis96 7:ceeced183454 428 }
bendavis96 7:ceeced183454 429
bendavis96 7:ceeced183454 430 void intruder()
bendavis96 7:ceeced183454 431 {
bendavis96 7:ceeced183454 432 rled = 0;
bendavis96 7:ceeced183454 433 bled = 0;
bendavis96 7:ceeced183454 434 gled = 0;
bendavis96 7:ceeced183454 435 TFT.cls(); // clear the screen
bendavis96 7:ceeced183454 436 TFT.set_font((unsigned char*) Neu42x35);
bendavis96 7:ceeced183454 437 TFT.locate(45,105);
bendavis96 7:ceeced183454 438 TFT.foreground(Red);
bendavis96 7:ceeced183454 439 TFT.printf("INTRUDER!");
bendavis96 7:ceeced183454 440 wait(0.4);
bendavis96 7:ceeced183454 441 TFT.cls();
bendavis96 7:ceeced183454 442 wait(0.2);
bendavis96 7:ceeced183454 443 TFT.locate(45,105);
bendavis96 7:ceeced183454 444 TFT.printf("INTRUDER!");
bendavis96 7:ceeced183454 445 wait(0.4);
bendavis96 7:ceeced183454 446 TFT.cls();
bendavis96 7:ceeced183454 447 wait(0.2);
bendavis96 7:ceeced183454 448 TFT.locate(45,105);
bendavis96 7:ceeced183454 449 TFT.printf("INTRUDER!");
bendavis96 7:ceeced183454 450 wait(0.4);
bendavis96 7:ceeced183454 451 TFT.cls();
bendavis96 7:ceeced183454 452 wait(0.2);
bendavis96 7:ceeced183454 453 TFT.locate(45,105);
bendavis96 7:ceeced183454 454 TFT.printf("INTRUDER!");
bendavis96 7:ceeced183454 455 wait(0.4);
bendavis96 7:ceeced183454 456 TFT.cls();
bendavis96 7:ceeced183454 457 wait(0.2);
bendavis96 7:ceeced183454 458 TFT.locate(45,105);
bendavis96 7:ceeced183454 459 TFT.foreground(White);
bendavis96 7:ceeced183454 460 TFT.cls();
bendavis96 7:ceeced183454 461 rled = 1;
bendavis96 7:ceeced183454 462 bled = 1;
bendavis96 7:ceeced183454 463 gled = 1;
bendavis96 7:ceeced183454 464 }
bendavis96 7:ceeced183454 465
bendavis96 7:ceeced183454 466 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bendavis96 7:ceeced183454 467
cstevens 6:18c7288b5e00 468
cstevens 6:18c7288b5e00 469
cstevens 4:14043cafbec7 470
dreschpe 0:7c3b9bfd6ead 471 int main()
dreschpe 0:7c3b9bfd6ead 472 {
bendavis96 9:0adb037a25a4 473 //%%%%%%%%%%%%%%%% WIFI %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bendavis96 9:0adb037a25a4 474 pc.printf("start");
bendavis96 9:0adb037a25a4 475 pc.baud(115200);
bendavis96 9:0adb037a25a4 476 dev.baud(115200);
bendavis96 9:0adb037a25a4 477 rst = 0;
bendavis96 9:0adb037a25a4 478 wait(1);
bendavis96 9:0adb037a25a4 479 rst = 1; // send the esp8266 reset
bendavis96 9:0adb037a25a4 480 wait(1);
bendavis96 9:0adb037a25a4 481
bendavis96 9:0adb037a25a4 482 rled = 0, gled = 1; //Red LED indicates startup in progress
bendavis96 9:0adb037a25a4 483
bendavis96 9:0adb037a25a4 484 pc.attach(&pc_recv, Serial::RxIrq); // attach the two interrupt services
bendavis96 9:0adb037a25a4 485 dev.attach(&dev_recv, Serial::RxIrq);
bendavis96 9:0adb037a25a4 486 dev.printf("AT+RST\r\n");
bendavis96 9:0adb037a25a4 487 wait(10);
bendavis96 9:0adb037a25a4 488 dev.printf("AT+CWJAP=\"BTHub3-WXWX\",\"fdd6f7c682\"\r\n");
bendavis96 9:0adb037a25a4 489 wait(10);
bendavis96 9:0adb037a25a4 490 dev.printf("AT+CIPMUX=1\r\n");
bendavis96 9:0adb037a25a4 491 wait(2);
bendavis96 9:0adb037a25a4 492 dev.printf("AT+CIPSERVER=1,333\r\n");
bendavis96 9:0adb037a25a4 493 wait(2);
bendavis96 9:0adb037a25a4 494 dev.printf("AT+CIPSTO=3000\r\n");
bendavis96 9:0adb037a25a4 495
bendavis96 9:0adb037a25a4 496 rled = 1, gled = 0; //Green LED indicates startup complete
bendavis96 9:0adb037a25a4 497
bendavis96 9:0adb037a25a4 498 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bendavis96 9:0adb037a25a4 499
bendavis96 7:ceeced183454 500 int display = 0;
bendavis96 7:ceeced183454 501 int reading = 0;
bendavis96 7:ceeced183454 502 int id = 0;
bendavis96 7:ceeced183454 503
cstevens 6:18c7288b5e00 504 pc.baud(115200);
cstevens 6:18c7288b5e00 505
cstevens 6:18c7288b5e00 506 int xpos=0,ypos=0,xp=0,yp=0;
bendavis96 7:ceeced183454 507
bendavis96 7:ceeced183454 508 while (1) {
bendavis96 7:ceeced183454 509
bendavis96 7:ceeced183454 510 pc.printf("%d",id);
bendavis96 7:ceeced183454 511
bendavis96 7:ceeced183454 512 switch (display) {
bendavis96 7:ceeced183454 513
bendavis96 7:ceeced183454 514 case 0 : //start screen
bendavis96 7:ceeced183454 515
bendavis96 7:ceeced183454 516 start();
bendavis96 7:ceeced183454 517
bendavis96 7:ceeced183454 518 while (display == 0) {
cstevens 6:18c7288b5e00 519
bendavis96 7:ceeced183454 520 reading = rfid.readable();
bendavis96 7:ceeced183454 521 if (reading) {
bendavis96 7:ceeced183454 522 display = 1; //FOR TESTING LIGHTING, SHOULD BE 1
bendavis96 7:ceeced183454 523 id = rfid.read();
bendavis96 7:ceeced183454 524 }
bendavis96 7:ceeced183454 525
bendavis96 7:ceeced183454 526 }
bendavis96 7:ceeced183454 527 break;
bendavis96 7:ceeced183454 528
bendavis96 7:ceeced183454 529 case 1 : //welcome screen
bendavis96 7:ceeced183454 530
bendavis96 7:ceeced183454 531 home();
cstevens 6:18c7288b5e00 532
bendavis96 7:ceeced183454 533 //Personalised
bendavis96 7:ceeced183454 534 switch (id) {
bendavis96 7:ceeced183454 535
bendavis96 7:ceeced183454 536 case 22311780 : //Ben
bendavis96 7:ceeced183454 537 welcome();
bendavis96 7:ceeced183454 538 ben();
bendavis96 7:ceeced183454 539 break;
bendavis96 7:ceeced183454 540
bendavis96 7:ceeced183454 541 case 22320978 : //Joe
bendavis96 7:ceeced183454 542 welcome();
bendavis96 7:ceeced183454 543 joe();
bendavis96 7:ceeced183454 544 break;
dreschpe 0:7c3b9bfd6ead 545
bendavis96 7:ceeced183454 546 case 22352757 : //Arthur
bendavis96 7:ceeced183454 547 welcome();
bendavis96 7:ceeced183454 548 arthur();
bendavis96 7:ceeced183454 549 break;
bendavis96 7:ceeced183454 550
bendavis96 7:ceeced183454 551 default : //intruder case
bendavis96 7:ceeced183454 552 intruder();
bendavis96 7:ceeced183454 553 display = 0;
bendavis96 7:ceeced183454 554 break;
bendavis96 7:ceeced183454 555 }
bendavis96 7:ceeced183454 556 if (display == 0) { //intruder restarts system
bendavis96 7:ceeced183454 557 break;
bendavis96 7:ceeced183454 558 }
bendavis96 7:ceeced183454 559 while (display == 1) {
bendavis96 9:0adb037a25a4 560 //%%%%%% RFID Override %%%%%%%%
bendavis96 9:0adb037a25a4 561 reading = rfid.readable();
bendavis96 9:0adb037a25a4 562 if (reading) {
bendavis96 9:0adb037a25a4 563 id = rfid.read();
bendavis96 9:0adb037a25a4 564 TFT.set_orientation(1);
bendavis96 9:0adb037a25a4 565 break;
bendavis96 9:0adb037a25a4 566 }
bendavis96 8:95cd847648cd 567 //%%%%% INCOMING DATA %%%%%%
bendavis96 9:0adb037a25a4 568 /*TFT.set_orientation(1);
bendavis96 8:95cd847648cd 569 TFT.foreground(White);
bendavis96 8:95cd847648cd 570 TFT.locate(145,0);
bendavis96 8:95cd847648cd 571 TFT.set_font((unsigned char*) Arial12x12);
bendavis96 8:95cd847648cd 572 TFT.printf("Temperature: 25.0 C");
bendavis96 8:95cd847648cd 573 TFT.locate(145,15);
bendavis96 8:95cd847648cd 574 TFT.printf("Fan: On");
bendavis96 8:95cd847648cd 575 TFT.locate(145, 30);
bendavis96 8:95cd847648cd 576 TFT.printf("Lights: Low");
bendavis96 9:0adb037a25a4 577 TFT.foreground(Cyan); */
bendavis96 8:95cd847648cd 578
bendavis96 7:ceeced183454 579 //%%%%% TOUCH %%%%%%
bendavis96 7:ceeced183454 580 TFT.set_orientation(0);
bendavis96 7:ceeced183454 581 xpos= readX();
bendavis96 7:ceeced183454 582 ypos= readY();
dreschpe 0:7c3b9bfd6ead 583
bendavis96 7:ceeced183454 584 xp=(240*(xpos-5800))/51200;
bendavis96 7:ceeced183454 585 yp=320-(320*(ypos-3000))/58300;
bendavis96 7:ceeced183454 586
bendavis96 8:95cd847648cd 587 if (yp<120 && xp<120 && touching==1) { //button for lighting
bendavis96 7:ceeced183454 588
bendavis96 7:ceeced183454 589 display = 2; //jump to lights
bendavis96 7:ceeced183454 590 TFT.set_orientation(1);
bendavis96 7:ceeced183454 591 }
bendavis96 8:95cd847648cd 592
bendavis96 8:95cd847648cd 593 if (yp>230 && xp<120 && touching==1) { //button for ac system
bendavis96 7:ceeced183454 594
bendavis96 7:ceeced183454 595 display = 3; //jump to ac
bendavis96 7:ceeced183454 596 TFT.set_orientation(1);
bendavis96 7:ceeced183454 597 }
bendavis96 8:95cd847648cd 598
bendavis96 8:95cd847648cd 599 if (yp<100 && xp>120 && touching==1) { //button for auto control
bendavis96 8:95cd847648cd 600
bendavis96 8:95cd847648cd 601 display = 4; //jump to automatic control
bendavis96 8:95cd847648cd 602 TFT.set_orientation(1);
bendavis96 8:95cd847648cd 603 }
bendavis96 7:ceeced183454 604 }
bendavis96 7:ceeced183454 605 break;
bendavis96 7:ceeced183454 606
bendavis96 7:ceeced183454 607 case 2 : //lighting screen
bendavis96 7:ceeced183454 608
bendavis96 7:ceeced183454 609
bendavis96 7:ceeced183454 610 lights();
bendavis96 7:ceeced183454 611
bendavis96 7:ceeced183454 612 while (display == 2) {
bendavis96 7:ceeced183454 613
bendavis96 8:95cd847648cd 614 //%%%%% TOUCH %%%%%%
bendavis96 8:95cd847648cd 615 TFT.set_orientation(0);
bendavis96 8:95cd847648cd 616 xpos= readX();
bendavis96 8:95cd847648cd 617 ypos= readY();
bendavis96 8:95cd847648cd 618
bendavis96 8:95cd847648cd 619 xp=(240*(xpos-5800))/51200;
bendavis96 8:95cd847648cd 620 yp=320-(320*(ypos-3000))/58300;
bendavis96 8:95cd847648cd 621
bendavis96 8:95cd847648cd 622 if (yp<120 && xp<120 && touching==1) { //button for LIGHTS OFF
bendavis96 8:95cd847648cd 623
bendavis96 9:0adb037a25a4 624 lights_off();
bendavis96 8:95cd847648cd 625 }
bendavis96 8:95cd847648cd 626
bendavis96 9:0adb037a25a4 627 if (yp>250 && xp<60 && touching==1) { //button for LIGHTS 1
bendavis96 8:95cd847648cd 628
bendavis96 9:0adb037a25a4 629 lights_1();
bendavis96 8:95cd847648cd 630 }
bendavis96 8:95cd847648cd 631
bendavis96 9:0adb037a25a4 632 if (yp>250 && 70<xp<110 && touching==1) { //button for LIGHTS 2
bendavis96 8:95cd847648cd 633
bendavis96 9:0adb037a25a4 634 lights_2();
bendavis96 8:95cd847648cd 635 }
bendavis96 8:95cd847648cd 636
bendavis96 9:0adb037a25a4 637 if (yp>250 && xp>115 && touching==1) { //button for LIGHTS 3
bendavis96 8:95cd847648cd 638
bendavis96 9:0adb037a25a4 639 lights_3();
bendavis96 8:95cd847648cd 640 }
bendavis96 8:95cd847648cd 641
bendavis96 8:95cd847648cd 642 if (yp<30 && xp>210 && touching==1) { //RETURN TO MAIN SCREEN
bendavis96 8:95cd847648cd 643
bendavis96 8:95cd847648cd 644 display = 1;
bendavis96 8:95cd847648cd 645 TFT.set_orientation(1);
bendavis96 8:95cd847648cd 646 }
bendavis96 8:95cd847648cd 647
bendavis96 8:95cd847648cd 648
bendavis96 8:95cd847648cd 649 //%%%%%% RFID Override %%%%%%%%
bendavis96 8:95cd847648cd 650 reading = rfid.readable();
bendavis96 8:95cd847648cd 651 if (reading) {
bendavis96 8:95cd847648cd 652 id = rfid.read();
bendavis96 8:95cd847648cd 653 TFT.set_orientation(1);
bendavis96 8:95cd847648cd 654 display = 1;
bendavis96 8:95cd847648cd 655 }
bendavis96 7:ceeced183454 656 }
bendavis96 7:ceeced183454 657 break;
bendavis96 8:95cd847648cd 658
bendavis96 7:ceeced183454 659 case 3 : //temperature screen
bendavis96 7:ceeced183454 660
bendavis96 7:ceeced183454 661
bendavis96 7:ceeced183454 662 temps();
bendavis96 7:ceeced183454 663
bendavis96 7:ceeced183454 664 while (display == 3) {
bendavis96 7:ceeced183454 665
bendavis96 8:95cd847648cd 666 //%%%%% TOUCH %%%%%%
bendavis96 8:95cd847648cd 667 TFT.set_orientation(0);
bendavis96 8:95cd847648cd 668 xpos= readX();
bendavis96 8:95cd847648cd 669 ypos= readY();
bendavis96 8:95cd847648cd 670
bendavis96 8:95cd847648cd 671 xp=(240*(xpos-5800))/51200;
bendavis96 8:95cd847648cd 672 yp=320-(320*(ypos-3000))/58300;
bendavis96 8:95cd847648cd 673
bendavis96 8:95cd847648cd 674 if (yp<120 && xp<120 && touching==1) { //button for FAN OFF
bendavis96 8:95cd847648cd 675
bendavis96 9:0adb037a25a4 676 fan_off();
bendavis96 8:95cd847648cd 677 }
bendavis96 8:95cd847648cd 678
bendavis96 8:95cd847648cd 679 if (yp>230 && xp<120 && touching==1) { //button for FAN ON
bendavis96 8:95cd847648cd 680
bendavis96 9:0adb037a25a4 681 fan_on();
bendavis96 8:95cd847648cd 682 }
bendavis96 8:95cd847648cd 683
bendavis96 8:95cd847648cd 684 if (yp<30 && xp>210 && touching==1) { //RETURN TO MAIN SCREEN
bendavis96 8:95cd847648cd 685
bendavis96 8:95cd847648cd 686 display = 1;
bendavis96 8:95cd847648cd 687 TFT.set_orientation(1);
bendavis96 8:95cd847648cd 688 }
bendavis96 8:95cd847648cd 689
bendavis96 8:95cd847648cd 690
bendavis96 8:95cd847648cd 691 //%%%%%% RFID Override %%%%%%%%
bendavis96 8:95cd847648cd 692 reading = rfid.readable();
bendavis96 8:95cd847648cd 693 if (reading) {
bendavis96 8:95cd847648cd 694 id = rfid.read();
bendavis96 8:95cd847648cd 695 TFT.set_orientation(1);
bendavis96 8:95cd847648cd 696 display = 1;
bendavis96 8:95cd847648cd 697 }
bendavis96 7:ceeced183454 698 }
bendavis96 7:ceeced183454 699 break;
bendavis96 7:ceeced183454 700
bendavis96 8:95cd847648cd 701 case 4 : //auto controls
bendavis96 7:ceeced183454 702
bendavis96 8:95cd847648cd 703
bendavis96 8:95cd847648cd 704 autos();
bendavis96 8:95cd847648cd 705
bendavis96 8:95cd847648cd 706 while (display == 4) {
bendavis96 8:95cd847648cd 707
bendavis96 8:95cd847648cd 708 //%%%%% TOUCH %%%%%%
bendavis96 8:95cd847648cd 709 TFT.set_orientation(0);
bendavis96 8:95cd847648cd 710 xpos= readX();
bendavis96 8:95cd847648cd 711 ypos= readY();
bendavis96 8:95cd847648cd 712
bendavis96 8:95cd847648cd 713 xp=(240*(xpos-5800))/51200;
bendavis96 8:95cd847648cd 714 yp=320-(320*(ypos-3000))/58300;
bendavis96 8:95cd847648cd 715
bendavis96 8:95cd847648cd 716 if (yp<120 && xp<120 && touching==1) { //button for AUTO OFF
bendavis96 8:95cd847648cd 717
bendavis96 9:0adb037a25a4 718 autom_togg();
bendavis96 8:95cd847648cd 719 }
bendavis96 8:95cd847648cd 720
bendavis96 8:95cd847648cd 721 if (yp>230 && xp<120 && touching==1) { //button for AUTO ON
bendavis96 8:95cd847648cd 722
bendavis96 9:0adb037a25a4 723 autom_togg();
bendavis96 8:95cd847648cd 724 }
bendavis96 8:95cd847648cd 725
bendavis96 8:95cd847648cd 726 if (yp<30 && xp>210 && touching==1) { //RETURN TO MAIN SCREEN
bendavis96 8:95cd847648cd 727
bendavis96 8:95cd847648cd 728 display = 1;
bendavis96 8:95cd847648cd 729 TFT.set_orientation(1);
bendavis96 8:95cd847648cd 730 }
bendavis96 8:95cd847648cd 731
bendavis96 8:95cd847648cd 732
bendavis96 8:95cd847648cd 733 //%%%%%% RFID Override %%%%%%%%
bendavis96 8:95cd847648cd 734 reading = rfid.readable();
bendavis96 8:95cd847648cd 735 if (reading) {
bendavis96 8:95cd847648cd 736 id = rfid.read();
bendavis96 8:95cd847648cd 737 TFT.set_orientation(1);
bendavis96 8:95cd847648cd 738 display = 1;
bendavis96 8:95cd847648cd 739 }
bendavis96 8:95cd847648cd 740 }
bendavis96 8:95cd847648cd 741 break;
bendavis96 7:ceeced183454 742 }
cstevens 6:18c7288b5e00 743 }
bendavis96 7:ceeced183454 744 }