Simon Hladek / Mbed 2 deprecated elevator1

Dependencies:   MMA8451Q mbed

Revision:
4:81e67828acf9
Parent:
3:9ee509852c9a
--- a/model.cpp	Sat Dec 10 00:15:53 2016 +0000
+++ b/model.cpp	Sat Dec 10 12:46:49 2016 +0000
@@ -41,7 +41,8 @@
                 sendPacket(0xa0,0x24,0x00,cmd->LedOn,1);
                 if(poschodie<4) { //chod nahor
                     if(mapPoschodie.find("p3")->second==false || mapPoschodie.find("p2")->second==false || mapPoschodie.find("p1")->second==false || mapPoschodie.find("p0")->second==false) {
-                        sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
+//                        sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);    
+                    upMotor();
                     }
                 }
             }
@@ -54,48 +55,55 @@
                 mapPoschodie.find("p3")->second=true;
                 if(poschodie<3) { //chod nahor
                     if( mapPoschodie.find("p2")->second==false || mapPoschodie.find("p1")->second==false || mapPoschodie.find("p0")->second==false) {
-                        sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
+//                        sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
+                           upMotor();             
                     }
 
-                } else
-                    {      if(mapPoschodie.find("p4")->second==false ) {
-                        sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
-                    }}
+                } else {
+                    if(mapPoschodie.find("p4")->second==false ) {
+//                        sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
+downMotor();
+                    }
+                }
             }
             break;
         case 0xb2:
         case 0xc2://tlacidlo vonkajsie 2. poschodie
             if( mapPoschodie.find("p2")->second==false) {
-                 mapPoschodie.find("p2")->second=true;
+                mapPoschodie.find("p2")->second=true;
                 sendPacket(0xa0,0x12,0x00,cmd->LedOn,1);
                 sendPacket(0xa0,0x22,0x00,cmd->LedOn,1);
-               
+
                 if(poschodie<2) { //chod nahor
                     if( mapPoschodie.find("p1")->second==false || mapPoschodie.find("p0")->second==false) {
-                        sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
+//                        sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
+upMotor();
                     }
-                } else
-                    {      if(mapPoschodie.find("p4")->second==false || mapPoschodie.find("p3")->second==false) {
-                        sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
-                    }}
+                } else {
+                    if(mapPoschodie.find("p4")->second==false || mapPoschodie.find("p3")->second==false) {
+//                        sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
+downMotor();
+                    }
+                }
             }
             break;
         case 0xb1:
         case 0xc1://tlacidlo vonkajsie 1. poschodie
             if( mapPoschodie.find("p1")->second==false) {
-                                mapPoschodie.find("p1")->second=true;
+                mapPoschodie.find("p1")->second=true;
                 sendPacket(0xa0,0x11,0x00,cmd->LedOn,1);
                 sendPacket(0xa0,0x21,0x00,cmd->LedOn,1);
                 if(poschodie<1) { //chod nahor
-                     if(mapPoschodie.find("p0")->second==false) {
-                        sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
+                    if(mapPoschodie.find("p0")->second==false) {
+//                        sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
+upMotor();
                     }
-                } else
-                {
-                        if(mapPoschodie.find("p4")->second==false || mapPoschodie.find("p3")->second==false || mapPoschodie.find("p2")->second==false ) {
-                        sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
+                } else {
+                    if(mapPoschodie.find("p4")->second==false || mapPoschodie.find("p3")->second==false || mapPoschodie.find("p2")->second==false ) {
+//                        sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
+downMotor();
                     }
-                   }
+                }
             }
             break;
         case 0xc0://tlacidlo vonkajsie prizemie
@@ -104,20 +112,21 @@
                 sendPacket(0xa0,0x20,0x00,cmd->LedOn,1);
                 mapPoschodie.find("p0")->second=true;
                 if(mapPoschodie.find("p4")->second==false || mapPoschodie.find("p3")->second==false || mapPoschodie.find("p2")->second==false|| mapPoschodie.find("p1")->second==false  ) {
-                        sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
-                    }
+downMotor();
+//                    sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
+                }
             }
             break;
         case 0xe4:
             poschodie=4;
 
             if( mapPoschodie.find("p4")->second==true) {
-                mapPoschodie.find("p4")->second=false;
+
                 sendPacket(0xa0,0x24,0x00,cmd->LedOff,1);
                 sendPacket(0xa0,0x14,0x00,cmd->LedOff,1);
-
                 sendPacket(0xa0,0xf1,0x00,cmd->MotorStop,1);
                 wait(3);
+                mapPoschodie.find("p4")->second=false;
                 if(mapPoschodie.find("p3")->second==true||mapPoschodie.find("p2")->second==true||mapPoschodie.find("p1")->second==true||mapPoschodie.find("p0")->second==true) {
                     sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
 
@@ -127,11 +136,12 @@
         case 0xe3:
             poschodie=3;
             if( mapPoschodie.find("p3")->second==true) {
-                mapPoschodie.find("p3")->second=false;
+
                 sendPacket(0xa0,0x13,0x00,cmd->LedOff,1);
                 sendPacket(0xa0,0x23,0x00,cmd->LedOff,1);
                 sendPacket(0xa0,0xf1,0x00,cmd->MotorStop,1);
                 wait(3);
+                mapPoschodie.find("p3")->second=false;
                 if(mapPoschodie.find("p2")->second==true||mapPoschodie.find("p1")->second==true||mapPoschodie.find("p0")->second==true) {
                     sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
                 } else if(mapPoschodie.find("p4")->second==true) {
@@ -142,15 +152,14 @@
         case 0xe2:
             poschodie=2;
             if( mapPoschodie.find("p2")->second==true) {
-                mapPoschodie.find("p2")->second=false;
                 sendPacket(0xa0,0x12,0x00,cmd->LedOff,1);
                 sendPacket(0xa0,0x22,0x00,cmd->LedOff,1);
                 sendPacket(0xa0,0xf1,0x00,cmd->MotorStop,1);
                 wait(3);
+                mapPoschodie.find("p2")->second=false;
                 if(mapPoschodie.find("p2")->second==true||mapPoschodie.find("p1")->second==true||mapPoschodie.find("p0")->second==true) {
                     sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
                 } else if(mapPoschodie.find("p3")->second==true||mapPoschodie.find("p4")->second==true) {
-
                     sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
                 }
             }
@@ -159,15 +168,15 @@
         case 0xe1:
             poschodie=1;
             if( mapPoschodie.find("p1")->second==true) {
-                mapPoschodie.find("p1")->second=false;
                 sendPacket(0xa0,0x11,0x00,cmd->LedOff,1);
                 sendPacket(0xa0,0x21,0x00,cmd->LedOff,1);
                 sendPacket(0xa0,0xf1,0x00,cmd->MotorStop,1);
                 wait(3);
+                mapPoschodie.find("p1")->second=false;
                 if(mapPoschodie.find("p0")->second==true) {
                     sendPacket(0xa0,0x30,0x00,cmd->ArrowDown,2);
                 } else if(mapPoschodie.find("p2")->second==true||mapPoschodie.find("p3")->second==true||mapPoschodie.find("p4")->second==true) {
-                    sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
+                      upMotor();
                 }
             }
             break;
@@ -179,22 +188,18 @@
                 sendPacket(0xa0,0x20,0x00,cmd->LedOff,1);
                 sendPacket(0xa0,0xf1,0x00,cmd->MotorStop,1);
             } else if(mapPoschodie.find("p1")->second==true||mapPoschodie.find("p2")->second==true||mapPoschodie.find("p3")->second==true||mapPoschodie.find("p4")->second==true) {
-
                 sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
             }
-           
+
             break;
         default:
             ;
 
-
+            sourceAdd=0xff;
     }
 
 }
-void Model::direction(int actualFloor)
-{
 
-}
 void Model::setDoorStatus(bool mValue)
 {
     if(mValue==true) {
@@ -204,7 +209,18 @@
     }
     sendPacket(0xa0,0xf0,0x0, cmd->Lock,1);
 }
-
+void Model::stopMotor()
+{
+    sendPacket(0xa0,0xf1,0x00,cmd->MotorStop,1);
+};
+void Model::downMotor()
+{
+    sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
+};
+void Model::upMotor()
+{
+    sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
+};
 unsigned char Model::crcArray[]= {
     0, 94, 188, 226, 97, 63, 221, 131, 194, 156, 126, 32, 163, 253, 31, 65,
     157, 195, 33, 127, 252, 162, 64, 30, 95, 1, 227, 189, 62, 96, 130, 220,