pong game added to the main sketch
Dependencies: RTC-DS1307 SPI_TFT_ILI9341 TFT_fonts mbed tsi_sensor
Fork of MainSketch by
Diff: render.h
- Revision:
- 10:9d9b3b9b28b8
- Parent:
- 9:eee503060d69
- Child:
- 11:1da15361a35b
--- a/render.h Wed May 24 03:11:29 2017 +0000 +++ b/render.h Wed May 24 11:21:37 2017 +0000 @@ -1,50 +1,70 @@ -#include "stdio.h" -#include "SPI_TFT_ILI9341.h" + #include "string" #include "Arial12x12.h" #include "Arial24x23.h" #include "Arial28x28.h" #include "font_big.h" -// example to test the TFT Display from Mikroelectronika - - - - - - - - -// the display has a backlight switch on board -//DigitalOut LCD_LED(PTA4); // may not be needed on mikroelectronika board -//DigitalOut pwr(PTD7); // ditto - -// the TFT is connected to SPI pin 5-7 -//SPI_TFT_ILI9341 TFT(p5, p6, p7, p8, p9, p10,"TFT"); // mosi, miso, sclk, cs, reset, dc for lpc1768 -SPI_TFT_ILI9341 TFT(PTD6, PTD7, PTD5, PTD2, PTD4, PTA13,"TFT"); // mosi, miso, sclk, cs, reset, dc for frdmkl25z -//NB better combination to use a coherent 2x4 block for lcd -// SPI_TFT_ILI9341 TFT(PTD2, PTD3, PTD1, PTA16, PTA17, PTC16,"TFT"); // mosi, miso, sclk, cs, reset, dc for frdmkl25z -// DigitalOut LCD_LED(PTC17); -int touching=0; - -// Subroutine to read the x location of the touch point -// need to set x+ to 3V and ground x- then read analogue voltage on ym -//nb need to add a check for actual touch as opposed to random crap - - void drawbuttons() { - TFT.fillrect(0,0,50,50,Red); - TFT.fillrect(0,50,50,100,Green); - TFT.fillrect(0,100,50,150,Blue); - TFT.fillrect(0,150,50,200,White); - TFT.fillrect(0,200,50,250,Black); + TFT.fillrect(0, 0, 50, 50, Red); + TFT.fillrect(0, 50, 50, 100, Green); + TFT.fillrect(0, 100, 50, 150, Blue); + TFT.fillrect(0, 150, 50, 200, White); + TFT.fillrect(0, 200, 50, 250, Black); + + TFT.rect(0, 0, 50, 50, White); + TFT.rect(0, 50, 50, 100, White); + TFT.rect(0, 100, 50, 150, White); + TFT.rect(0, 150, 50, 200, White); + TFT.rect(0, 200, 50, 250, White); +} +void whiteboard(){ + int color = 0; + int xpos = 0,ypos = 0,xp = 0,yp = 0,sw = 0;; + drawbuttons(); + bool running = true; + while(running) { + + xp = readX(); + yp = readY(); + // top chunk of the screen is the button area // + // 0<y<50 is palette area // - TFT.rect(0,0,50,50,White); - TFT.rect(0,50,50,100,White); - TFT.rect(0,100,50,150,White); - TFT.rect(0,150,50,200,White); - TFT.rect(0,200,50,250,White); + //pc.printf("xpos=%d\t,\typo=%d",xpos,ypos); + // xp=(240*(xpos-5800))/51200; + // yp=320-(320*(ypos-3000))/58300; + if(touching == 1) pc.printf("\txp=%d\t,\typo=%d\n\r", xp, yp); + if(xp > 5 && yp > 50 && touching == 1) TFT.fillcircle(yp, xp, 2, color); + if(yp < 50) { // color buttons + sw = (int)xp / 50; + switch(sw) { + case 0: + color = 0xf800; + break; + case 1: + color = 0x07e0; + break; + case 2: + color = 0x001f; + break; + case 3: + color = 0xffff; + break; + case 4: + running = false; + color = 0x0000; + TFT.cls(); + break; + } + // if(xp<50) color=0xF800; + // if(50<xp && xp<100) color=0x07e0; + // if(xp>100 && xp<150) color=0x001f; + } + + wait(0.01); + + } } \ No newline at end of file