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:
0:6abf63b83992
Child:
1:4dd546219e30

File content as of revision 0:6abf63b83992:

#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);
    //spi.fillrect(0,320,180,315,Purple); 
    //spi.fillrect(0,250,180,245,Purple);
    //spi.fillrect(0,320,5,250,Purple);
    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;   
         printf("%d \r\n",touch_y);         
           if ((touch_x >= x0 && touch_x <= x1)&&(touch_y >= y0 && touch_y <= y1)){
            spi.fillrect(x0,y0,x1,y1,Black);  
               wait(500);
                
            }
          }
          
        }  
          
    }
      
}    





main(){
    spi.background(White);
    spi.cls(); 
    spi.circle(240, 320, 20, Black);
    touch.InitTouch();
    touch.SetPrecision(PREC_EXTREME);
    while(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;   
         printf("%d \r\n",touch_y);         
         spi.pixel(touch_x,touch_y,Blue);
          }
          
        }  
          
    }
    
}