Toto je má konečná verze maturitního projektu
Dependencies: mbed mbed-rtos UTouch_vyrobek UniGraphic
display.cpp
- Committer:
- smejky
- Date:
- 2021-12-08
- Revision:
- 2:0629f1ddaa92
- Parent:
- 1:4dd546219e30
- Child:
- 3:dadb214885c1
File content as of revision 2:0629f1ddaa92:
#include "mbed.h" #include "ILI9341.h" #include "UTouch.h" ILI9341 spi(SPI_8,320000000,PTD2,PTD3,PTD1,PTC12, PTC3, PTC2, "TFT",240,320);// mosi, miso, sclk, chip_select, reset, dc UTouch touch(D4,D9,D3,D2,D5);//clk,chip_select,MOSI,miso,irq(pripojeno je ale nevim co to dela) /* v ILI9341.cpp zmeneny framerate ze 70 na 100, toto pomohlo problemu blikání displeje */ void grafika(unsigned short int press = 0){ switch(press) { case 1: spi.fillrect(0,0,180,70,Blue);// pravy break; case 2 : spi.fillrect(0,320,180,250,Blue);// levy break; default : spi.fillrect(0,0,180,70,Blue); //pravy spi.fillrect(0,140,180,71,Black); //stred spi.fillrect(0,320,180,250,Blue); //levy } } void malovani(){ while(1==1) { if (touch.DataAvailable()) { if(touch.Read()) { unsigned short int touch_y = touch.GetX(); unsigned short int touch_x = touch.GetY(); touch_x = touch_x - 10; touch_y = touch_y + 10; spi.pixel(touch_x,touch_y,Blue); } } } } void Button(unsigned short int x0, unsigned short int y0,unsigned short int x1, unsigned short int y1,int color){ spi.fillrect(x0,y0,x1,y1,color); int is_pressed = 0; while(1==1) { if (touch.DataAvailable()) { if(touch.Read()) { unsigned short int touch_y = touch.GetX(); unsigned short int touch_x = touch.GetY(); touch_x = touch_x - 10; touch_y = touch_y + 10; spi.pixel(touch_x,touch_y,Blue); if ((touch_x >= x0 && touch_x <= x1)&&(touch_y >= y0 && touch_y <= y1) && is_pressed == 1){ spi.fillrect(x0,y0,x1,y1,Black); is_pressed = 0; wait(0.1); }else if ((touch_x >= x0 && touch_x <= x1)&&(touch_y >= y0 && touch_y <= y1)){ is_pressed = 1; grafika(is_pressed); wait(0.1); } } } } } main(){ spi.background(White); spi.cls(); spi.circle(240, 320, 20, Black); touch.InitTouch(); touch.SetPrecision(PREC_EXTREME); grafika(); Button(0,0,180,70,Blue); }