Simon Hladek / Mbed 2 deprecated elevator1

Dependencies:   MMA8451Q mbed

Revision:
5:8ab8a587e609
Parent:
3:9ee509852c9a
Child:
6:5c4bd6bb6c3c
diff -r 9ee509852c9a -r 8ab8a587e609 model.cpp
--- a/model.cpp	Sat Dec 10 00:15:53 2016 +0000
+++ b/model.cpp	Sat Dec 10 13:49:46 2016 +0000
@@ -31,7 +31,6 @@
 }
 void Model::doSomething(char data)
 {
-
     switch(data) {
         case 0xb4:
         case 0xc4:
@@ -40,10 +39,8 @@
                 sendPacket(0xa0,0x14,0x00,cmd->LedOn,1);
                 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);
-                    }
-                }
+                    upMotor();
+               }
             }
             break;
         case 0xb3:
@@ -53,59 +50,47 @@
                 sendPacket(0xa0,0x23,0x00,cmd->LedOn,1);
                 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);
-                    }
-
-                } else
-                    {      if(mapPoschodie.find("p4")->second==false ) {
-                        sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
-                    }}
+                    upMotor();
+                } else {
+                    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);
-                    }
-                } else
-                    {      if(mapPoschodie.find("p4")->second==false || mapPoschodie.find("p3")->second==false) {
-                        sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
-                    }}
+                    upMotor();
+                } else {
+                    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);
-                    }
-                } else
-                {
-                        if(mapPoschodie.find("p4")->second==false || mapPoschodie.find("p3")->second==false || mapPoschodie.find("p2")->second==false ) {
-                        sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
-                    }
-                   }
+                    upMotor();
+                } else {
+                    downMotor();
+                }
             }
             break;
+        case 0xb0:
         case 0xc0://tlacidlo vonkajsie prizemie
             if( mapPoschodie.find("p0")->second==false) {
                 sendPacket(0xa0,0x10,0x00,cmd->LedOn,1);
                 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();
+                }
             }
             break;
         case 0xe4:
@@ -115,12 +100,10 @@
                 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);
+                stopMotor();
                 wait(3);
                 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);
-
+                    downMotor();
                 }
             }
             break;
@@ -133,9 +116,9 @@
                 sendPacket(0xa0,0xf1,0x00,cmd->MotorStop,1);
                 wait(3);
                 if(mapPoschodie.find("p2")->second==true||mapPoschodie.find("p1")->second==true||mapPoschodie.find("p0")->second==true) {
-                    sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
+                    downMotor();
                 } else if(mapPoschodie.find("p4")->second==true) {
-                    sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
+                    upMotor();
                 }
             }
             break;
@@ -148,10 +131,9 @@
                 sendPacket(0xa0,0xf1,0x00,cmd->MotorStop,1);
                 wait(3);
                 if(mapPoschodie.find("p2")->second==true||mapPoschodie.find("p1")->second==true||mapPoschodie.find("p0")->second==true) {
-                    sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
+                    downMotor();
                 } else if(mapPoschodie.find("p3")->second==true||mapPoschodie.find("p4")->second==true) {
-
-                    sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
+                    upMotor();
                 }
             }
 
@@ -162,12 +144,12 @@
                 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);
+                stopMotor();
                 wait(3);
                 if(mapPoschodie.find("p0")->second==true) {
-                    sendPacket(0xa0,0x30,0x00,cmd->ArrowDown,2);
+                    downMotor();
                 } 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;
@@ -177,12 +159,11 @@
                 mapPoschodie.find("p0")->second=false;
                 sendPacket(0xa0,0x10,0x00,cmd->LedOff,1);
                 sendPacket(0xa0,0x20,0x00,cmd->LedOff,1);
-                sendPacket(0xa0,0xf1,0x00,cmd->MotorStop,1);
+                stopMotor();
             } else if(mapPoschodie.find("p1")->second==true||mapPoschodie.find("p2")->second==true||mapPoschodie.find("p3")->second==true||mapPoschodie.find("p4")->second==true) {
+                upMotor();
+            }
 
-                sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
-            }
-           
             break;
         default:
             ;
@@ -191,10 +172,7 @@
     }
 
 }
-void Model::direction(int actualFloor)
-{
 
-}
 void Model::setDoorStatus(bool mValue)
 {
     if(mValue==true) {
@@ -204,7 +182,21 @@
     }
     sendPacket(0xa0,0xf0,0x0, cmd->Lock,1);
 }
-
+void Model::stopMotor()
+{
+    direction=0;
+    sendPacket(0xa0,0xf1,0x00,cmd->MotorStop,1);
+};
+void Model::downMotor()
+{
+    direction=-1;
+    sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
+};
+void Model::upMotor()
+{
+    direction=1;
+    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,