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

Dependencies:   mbed mbed-rtos UTouch_vyrobek UniGraphic

Revision:
2:0629f1ddaa92
Parent:
1:4dd546219e30
Child:
3:dadb214885c1
--- a/display.cpp	Mon Dec 06 22:21:09 2021 +0000
+++ b/display.cpp	Wed Dec 08 16:08:32 2021 +0000
@@ -12,8 +12,24 @@
 
 */
 
-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);
+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())
@@ -23,16 +39,39 @@
          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);  
-            }
-          
-          
-          
-          
+         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);   
+             
+              
+            }           
         }
       }
     }    
@@ -40,14 +79,15 @@
 
 
 
+
 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);
-    Button(0,320,180,250,Blue);     
+    
 }