semestralna praca

Dependencies:   FRDM_MMA8451Q

Revision:
2:0c88bf3817fe
Parent:
1:dbb18c6be96a
Child:
3:d473fb175cec
diff -r dbb18c6be96a -r 0c88bf3817fe main.cpp
--- a/main.cpp	Mon Dec 04 15:49:38 2017 +0000
+++ b/main.cpp	Wed Dec 06 08:51:19 2017 +0000
@@ -63,16 +63,38 @@
 }
 
 
-void dajPoschodie()
+int dajPoschodie()
 {
     int poschodie;
-    if(adresa[2] == 0xE3)
-    {
-        int aDataIn[] = {0x1E};
-        int dataSize1 = ARRAY_SIZE(aDataIn);
-        posliSpravu(0xD0,0xAA,dataSize1,aDataIn);
+    switch(adresa[2]){
+        case SWITCH_P:{
+            poschodie = SWITCH_P;
+           cisloPochodia_dislpej = 0;
+            break;
+        }
+        case SWITCH_1:{
+            poschodie = SWITCH_1;
+           cisloPochodia_dislpej = 1;
+            break;
         }
-    }
+        case SWITCH_2:{
+            poschodie = SWITCH_2;
+           cisloPochodia_dislpej = 2;
+            break;
+        }
+        case SWITCH_3:{
+            poschodie = SWITCH_3;
+           cisloPochodia_dislpej = 3;
+            break;
+        }
+        case SWITCH_4:{
+            poschodie = SWITCH_4;
+           cisloPochodia_dislpej = 4;
+            break;
+        }
+    }  
+    return poschodie;  
+}
 
 
 int main() {
@@ -90,20 +112,29 @@
      wait(1);
      zamkniVytah();
      wait(1);
-     smerDole();
-     wait(2);
-     dajPoschodie();
+     smerHore();disp_Vyt();
+     //wait(2);
+     //dajPoschodie();
+     //stop();
+     //int aDataIn[] = {dajPoschodie()};
+     //int dataSize1 = ARRAY_SIZE(aDataIn);
+     //posliSpravu(0xD0,0xAA,dataSize1,aDataIn);
      
-     if (term.getc() ==  SWITCH_3)
-     {
-         stop();
-         }
      
     
     
 }
 
 
+void tlac_vytah()
+{
+    if (prijmi == 1)
+    {
+        
+        }
+    }
+
+
 void stop()
 {
     int aDataIn[] = {0x1};
@@ -113,9 +144,29 @@
 
 void smerHore()
 {
-    int aDataIn[] = {0x2, 0x64, 0x00, 0x00, 0x00};
-     int dataSize1 = ARRAY_SIZE(aDataIn);
-     posliSpravu(MOTOR,0xAA,dataSize1,aDataIn);
+    //int aDataIn[] = {0x2, 0x64, 0x00, 0x00, 0x00};
+     //int dataSize1 = ARRAY_SIZE(aDataIn);
+     //posliSpravu(MOTOR,0xAA,dataSize1,aDataIn);
+     
+      pohyb++;
+        if(pohyb_flag == 0){
+            pohyb_flag = 1;
+            zamkniVytah();
+            int aDataIn[] = {0x2, 0x64, 0x00, 0x00, 0x00};
+            int dataSize = ARRAY_SIZE(aDataIn);
+            posliSpravu(MOTOR,0x00,dataSize, aDataIn); 
+            smerJazdy = 1;
+        }
+        if(pohyb > 2){
+            pohyb = 0;
+            pohyb_flag = 1;
+            zamkniVytah();
+            int aDataIn[] = {0x2, 0x64, 0x00, 0x00, 0x00};
+            int dataSize = ARRAY_SIZE(aDataIn);
+            posliSpravu(MOTOR,0x00,dataSize, aDataIn); 
+            smerJazdy = 1;    
+        } 
+     
 }
 
 
@@ -124,6 +175,25 @@
     int aDataIn[] = {0x2, 0x9C, 0xff, 0xff, 0xff};
     int dataSize1 = ARRAY_SIZE(aDataIn);
      posliSpravu(MOTOR,0xAA,dataSize1,aDataIn);
+     
+     pohyb++;
+        if(pohyb_flag == 0){
+            pohyb_flag = -1;
+            zamkniVytah();
+            int aDataIn[] = {0x2, 0x9C, 0xff, 0xff, 0xff};
+            int dataSize = ARRAY_SIZE(aDataIn);
+            posliSpravu(MOTOR,0x00,dataSize, aDataIn); 
+            smerJazdy = -1;
+        }
+        if(pohyb > 2){
+            pohyb = 0;
+            pohyb_flag = -1;
+            zamkniVytah();
+            int aDataIn[] = {0x2, 0x9C, 0xff, 0xff, 0xff};
+            int dataSize = ARRAY_SIZE(aDataIn);
+            posliSpravu(MOTOR,0x00,dataSize, aDataIn); 
+            smerJazdy = -1;   
+        }
     
 }
 
@@ -143,4 +213,53 @@
     int adata[1] = {0x00};
     int dataSize = ARRAY_SIZE(adata);
      posliSpravu(0xF0,0xAA,dataSize,adata);
-    }
\ No newline at end of file
+    }
+    
+void disp_Vyt()
+{
+        int aDataIn[2];
+    int dataSize = ARRAY_SIZE(aDataIn);  
+    switch(pohyb_flag){
+        case 0:{
+            aDataIn[0] = 0x03;
+            break;    
+        }
+        case 1:{
+            aDataIn[0] = 0x01;
+            break;    
+        } 
+        case -1:{
+            aDataIn[0] = 0x02; 
+            break;   
+        }     
+    }
+    switch(cisloPochodia_dislpej){
+        case 0:{
+            aDataIn[1] = 0x50;   
+            break; 
+        } 
+        case 1:{
+            aDataIn[1] = 0x31;   
+            break; 
+        }
+        case 2:{
+            aDataIn[1] = 0x32;   
+            break; 
+        }
+        case 3:{
+            aDataIn[1] = 0x33;   
+            break; 
+        }
+        case 4:{
+            aDataIn[1] = 0x34;   
+            break; 
+        }   
+    }
+    if(cisloPochodia_dislpej != disp_poschodie){
+        posliSpravu(C_LCD,0x00,dataSize, aDataIn); 
+    }else if(pohyb_flag != display_smer){
+        posliSpravu(C_LCD,0x00,dataSize, aDataIn);     
+    }
+    disp_poschodie = cisloPochodia_dislpej; 
+    display_smer = pohyb_flag; 
+        }
\ No newline at end of file