Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: RTC-DS1307 SPI_TFT_ILI9341 TFT_fonts mbed tsi_sensor
Fork of TFT_Mikroelectronika_IL9341_sketchpad 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
