Toto je má konečná verze maturitního projektu

Dependencies:   mbed mbed-rtos UTouch_vyrobek UniGraphic

display.cpp

Committer:
smejky
Date:
2021-12-06
Revision:
1:4dd546219e30
Parent:
0:6abf63b83992
Child:
2:0629f1ddaa92

File content as of revision 1:4dd546219e30:

#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 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);
    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;            
           if ((touch_x >= x0 && touch_x <= x1)&&(touch_y >= y0 && touch_y <= y1)){
            spi.fillrect(x0,y0,x1,y1,Black);  
               wait(0.5);   
             spi.fillrect(x0,y0,x1,y1,color);  
            }
          
          
          
          
        }
      }
    }    
}



main(){
    spi.background(White);
    spi.cls(); 
    spi.circle(240, 320, 20, Black);
    touch.InitTouch();
    touch.SetPrecision(PREC_EXTREME);
    
    
    Button(0,0,180,70,Blue);
    Button(0,320,180,250,Blue);     
}