Dependencies:   MMA8451Q mbed

Revision:
3:ac8b2de52239
Parent:
2:84b5e49b4549
Child:
4:f2b6a3558671
--- a/main.cpp	Mon Dec 11 23:22:34 2017 +0000
+++ b/main.cpp	Tue Dec 12 15:20:29 2017 +0000
@@ -83,113 +83,20 @@
 while(true)
 {
     pc.attach(&prijmemSpravu);
+    rozhodni();
     
     
-    switch(prijemSpravy[2])
-    {
-        case 0xb4: /* vytah tla4idlo 4 poschodie   */
-        poslemSpravu(VYTAH_DIODA_4,0xCC,0x01, &diode_DATA[1]);
-        diode_cislo[4]=1;
-        dole();
-            
-        break;
-        
-        case 0xb3: /* vytah tla4idlo 3 poschodie   */
-        poslemSpravu(VYTAH_DIODA_3,0xCC,0x01, &diode_DATA[1]);
-            
-        break;
-        
-        case 0xb2: /* vytah tla4idlo 2 poschodie   */
-        poslemSpravu(VYTAH_DIODA_2,0xCC,0x01, &diode_DATA[1]);
-        diode_cislo[2]=1;
-            
-        break;
-        
-        case 0xb1: /* vytah tla4idlo 1 poschodie   */
-        poslemSpravu(VYTAH_DIODA_1,0xCC,0x01, &diode_DATA[1]);
-            
-        break;
-        
-        case 0xb0: /* vytah tla4idlo pr9zemie   */
-        poslemSpravu(VYTAH_DIODA_P,0xCC,0x01, &diode_DATA[1]);
-            
-        break;
-        
-        case 0xc4: /* chodba tla4idlo 4 poschodie   */
-        poslemSpravu(POSCHODIE_DIODA_4,0xCC,0x01, &diode_DATA[1]);
-            
-        break;
-        
-        case 0xc3: /* chodba tla4idlo 3 poschodie   */
-        poslemSpravu(POSCHODIE_DIODA_3,0xCC,0x01, &diode_DATA[1]);
-            
-        break;
-        
-        case 0xc2: /* chodba tla4idlo 2 poschodie   */
-        poslemSpravu(POSCHODIE_DIODA_2,0xCC,0x01, &diode_DATA[1]);
-            
-        break;
-        
-        case 0xc1: /* chodba tla4idlo 1 poschodie   */
-        poslemSpravu(POSCHODIE_DIODA_1,0xCC,0x01, &diode_DATA[1]);
-            
-        break;
-        
-        case 0xc0: /* chodba tla4idlo pr9zemie   */
-        poslemSpravu(POSCHODIE_DIODA_P,0xCC,0x01, &diode_DATA[1]);
-            
-        break;
-        
-        
-        
-        
-        case 0xe4: /* info pre odomknutie 4 poschodie   */
-            if(prijemSpravy[4]==0x01&&diode_cislo[4]==1){stop();
-            poslemSpravu(VYTAH_DIODA_4,0xCC,0x01, &diode_DATA[0]);
-            poslemSpravu(POSCHODIE_DIODA_4,0xCC,0x01, &diode_DATA[0]);}
-        break;
-        
-        case 0xe3: /* info pre odomknutie 3 poschodie   */
-            if(prijemSpravy[4]==0x01){stop();
-            poslemSpravu(VYTAH_DIODA_3,0xCC,0x01, &diode_DATA[0]);
-            poslemSpravu(POSCHODIE_DIODA_3,0xCC,0x01, &diode_DATA[0]);}
-        break;
-        
-        case 0xe2: /* info pre odomknutie 2 poschodie   */
-            if(prijemSpravy[4]==0x01&&diode_cislo[2]==1){stop();
-            poslemSpravu(VYTAH_DIODA_2,0xCC,0x01, &diode_DATA[0]);
-            poslemSpravu(POSCHODIE_DIODA_2,0xCC,0x01, &diode_DATA[0]);}
-        break;
-        
-        case 0xe1: /* info pre odomknutie 1 poschodie   */
-            if(prijemSpravy[4]==0x01){stop();
-            poslemSpravu(VYTAH_DIODA_1,0xCC,0x01, &diode_DATA[0]);
-            poslemSpravu(POSCHODIE_DIODA_1,0xCC,0x01, &diode_DATA[0]);}
-        break;
-        
-        case 0xe0: /* info pre odomknutie pr9zemie   */
-            if(prijemSpravy[4]==0x01){stop();
-            poslemSpravu(VYTAH_DIODA_P,0xCC,0x01, &diode_DATA[0]);
-            poslemSpravu(POSCHODIE_DIODA_P,0xCC,0x01, &diode_DATA[0]);}
-        break;
-        
-        
-        
-        
-        
-        case 0xf: /* zachranna brzda */
-            
-        break;
-        
-        case 0xfe: /* watchdog */
-            
-        break;
-    }
     /*stop();
     wait(1);
     hore();*/
 }   
 }
+void pohyb()
+{
+    
+}
+
+
 void zamkni()
 {
     char DATA[]= {0x01};
@@ -251,6 +158,116 @@
    pc.attach(&prijmemSpravu);
 }
 
+void rozhodni()
+{
+  switch(prijemSpravy[2])
+    {
+        case 0xb4: /* vytah tla4idlo 4 poschodie   */
+        poslemSpravu(VYTAH_DIODA_4,0xCC,0x01, &diode_DATA[1]);
+        diode_cislo[4]=1;
+        //dole();
+            
+        break;
+        
+        case 0xb3: /* vytah tla4idlo 3 poschodie   */
+        poslemSpravu(VYTAH_DIODA_3,0xCC,0x01, &diode_DATA[1]);
+            diode_cislo[3]=1;
+        break;
+        
+        case 0xb2: /* vytah tla4idlo 2 poschodie   */
+        poslemSpravu(VYTAH_DIODA_2,0xCC,0x01, &diode_DATA[1]);
+        diode_cislo[2]=1;
+            
+        break;
+        
+        case 0xb1: /* vytah tla4idlo 1 poschodie   */
+        poslemSpravu(VYTAH_DIODA_1,0xCC,0x01, &diode_DATA[1]);
+            diode_cislo[1]=1;
+        break;
+        
+        case 0xb0: /* vytah tla4idlo pr9zemie   */
+        poslemSpravu(VYTAH_DIODA_P,0xCC,0x01, &diode_DATA[1]);
+            diode_cislo[0]=1;
+        break;
+        
+        case 0xc4: /* chodba tla4idlo 4 poschodie   */
+        poslemSpravu(POSCHODIE_DIODA_4,0xCC,0x01, &diode_DATA[1]);
+            diode_cislo[4]=1;
+        break;
+        
+        case 0xc3: /* chodba tla4idlo 3 poschodie   */
+        poslemSpravu(POSCHODIE_DIODA_3,0xCC,0x01, &diode_DATA[1]);
+            diode_cislo[3]=1;
+        break;
+        
+        case 0xc2: /* chodba tla4idlo 2 poschodie   */
+        poslemSpravu(POSCHODIE_DIODA_2,0xCC,0x01, &diode_DATA[1]);
+            diode_cislo[2]=1;
+        break;
+        
+        case 0xc1: /* chodba tla4idlo 1 poschodie   */
+        poslemSpravu(POSCHODIE_DIODA_1,0xCC,0x01, &diode_DATA[1]);
+            diode_cislo[1]=1;
+        break;
+        
+        case 0xc0: /* chodba tla4idlo pr9zemie   */
+        poslemSpravu(POSCHODIE_DIODA_P,0xCC,0x01, &diode_DATA[1]);
+            diode_cislo[0]=1;
+            //hore();
+        break;
+        
+        
+        
+        
+        case 0xe4: /* info pre odomknutie 4 poschodie   */
+            if(prijemSpravy[4]==0x01&&diode_cislo[4]==1){stop();
+            poslemSpravu(VYTAH_DIODA_4,0xCC,0x01, &diode_DATA[0]);
+            poslemSpravu(POSCHODIE_DIODA_4,0xCC,0x01, &diode_DATA[0]);
+            diode_cislo[4]=0;}
+        break;
+        
+        case 0xe3: /* info pre odomknutie 3 poschodie   */
+            if(prijemSpravy[4]==0x01&&diode_cislo[3]==1){stop();
+            poslemSpravu(VYTAH_DIODA_3,0xCC,0x01, &diode_DATA[0]);
+            poslemSpravu(POSCHODIE_DIODA_3,0xCC,0x01, &diode_DATA[0]);
+            diode_cislo[3]=0;}
+        break;
+        
+        case 0xe2: /* info pre odomknutie 2 poschodie   */
+            if(prijemSpravy[4]==0x01&&diode_cislo[2]==1){stop();
+            poslemSpravu(VYTAH_DIODA_2,0xCC,0x01, &diode_DATA[0]);
+            poslemSpravu(POSCHODIE_DIODA_2,0xCC,0x01, &diode_DATA[0]);
+            diode_cislo[2]=0;}
+        break;
+        
+        case 0xe1: /* info pre odomknutie 1 poschodie   */
+            if(prijemSpravy[4]==0x01&&diode_cislo[1]==1){stop();
+            poslemSpravu(VYTAH_DIODA_1,0xCC,0x01, &diode_DATA[0]);
+            poslemSpravu(POSCHODIE_DIODA_1,0xCC,0x01, &diode_DATA[0]);
+            diode_cislo[1]=0;}
+        break;
+        
+        case 0xe0: /* info pre odomknutie prízemie   */
+            if(prijemSpravy[4]==0x01&&diode_cislo[0]==1){stop();
+            poslemSpravu(VYTAH_DIODA_P,0xCC,0x01, &diode_DATA[0]);
+            poslemSpravu(POSCHODIE_DIODA_P,0xCC,0x01, &diode_DATA[0]);
+            diode_cislo[0]=0;}
+        break;
+        
+        
+        
+        
+        
+        case 0xf: /* zachranna brzda */
+            
+        break;
+        
+        case 0xfe: /* watchdog */
+            
+        break;
+    }  
+}
+
 void poslemSpravu(char adrRX, char adrTX, int velkost, char DATA[] )
 {
     crc=0x00;