Simon Hladek / Mbed 2 deprecated elevator1

Dependencies:   MMA8451Q mbed

Revision:
3:9ee509852c9a
Parent:
2:3cb49ae40d02
Child:
4:81e67828acf9
Child:
5:8ab8a587e609
--- a/model.cpp	Fri Dec 09 21:45:17 2016 +0000
+++ b/model.cpp	Sat Dec 10 00:15:53 2016 +0000
@@ -31,15 +31,18 @@
 }
 void Model::doSomething(char data)
 {
+
     switch(data) {
         case 0xb4:
         case 0xc4:
             if( mapPoschodie.find("p4")->second==false) {
                 mapPoschodie.find("p4")->second=true;
+                sendPacket(0xa0,0x14,0x00,cmd->LedOn,1);
+                sendPacket(0xa0,0x24,0x00,cmd->LedOn,1);
                 if(poschodie<4) { //chod nahor
-                    sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
-                    sendPacket(0xa0,0x14,0x00,cmd->LedOn,1);
-                    sendPacket(0xa0,0x24,0x00,cmd->LedOn,1);
+                    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);
+                    }
                 }
             }
             break;
@@ -50,33 +53,49 @@
                 sendPacket(0xa0,0x23,0x00,cmd->LedOn,1);
                 mapPoschodie.find("p3")->second=true;
                 if(poschodie<3) { //chod nahor
-                    sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
+                    if( mapPoschodie.find("p2")->second==false || mapPoschodie.find("p1")->second==false || mapPoschodie.find("p0")->second==false) {
+                        sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
+                    }
+
                 } else
-                    sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
+                    {      if(mapPoschodie.find("p4")->second==false ) {
+                        sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
+                    }}
             }
             break;
         case 0xb2:
         case 0xc2://tlacidlo vonkajsie 2. poschodie
             if( mapPoschodie.find("p2")->second==false) {
+                 mapPoschodie.find("p2")->second=true;
                 sendPacket(0xa0,0x12,0x00,cmd->LedOn,1);
                 sendPacket(0xa0,0x22,0x00,cmd->LedOn,1);
-                mapPoschodie.find("p2")->second=true;
+               
                 if(poschodie<2) { //chod nahor
-                    sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
+                    if( mapPoschodie.find("p1")->second==false || mapPoschodie.find("p0")->second==false) {
+                        sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
+                    }
                 } else
-                    sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
+                    {      if(mapPoschodie.find("p4")->second==false || mapPoschodie.find("p3")->second==false) {
+                        sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
+                    }}
             }
             break;
         case 0xb1:
         case 0xc1://tlacidlo vonkajsie 1. poschodie
             if( mapPoschodie.find("p1")->second==false) {
+                                mapPoschodie.find("p1")->second=true;
                 sendPacket(0xa0,0x11,0x00,cmd->LedOn,1);
                 sendPacket(0xa0,0x21,0x00,cmd->LedOn,1);
-                mapPoschodie.find("p1")->second=true;
                 if(poschodie<1) { //chod nahor
-                    sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
+                     if(mapPoschodie.find("p0")->second==false) {
+                        sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
+                    }
                 } else
-                    sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
+                {
+                        if(mapPoschodie.find("p4")->second==false || mapPoschodie.find("p3")->second==false || mapPoschodie.find("p2")->second==false ) {
+                        sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
+                    }
+                   }
             }
             break;
         case 0xc0://tlacidlo vonkajsie prizemie
@@ -84,20 +103,24 @@
                 sendPacket(0xa0,0x10,0x00,cmd->LedOn,1);
                 sendPacket(0xa0,0x20,0x00,cmd->LedOn,1);
                 mapPoschodie.find("p0")->second=true;
-                sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
+                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);
+                    }
             }
             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,0x14,0x00,cmd->LedOff,1);
+
                 sendPacket(0xa0,0xf1,0x00,cmd->MotorStop,1);
                 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);
+
                 }
             }
             break;
@@ -142,7 +165,7 @@
                 sendPacket(0xa0,0xf1,0x00,cmd->MotorStop,1);
                 wait(3);
                 if(mapPoschodie.find("p0")->second==true) {
-                    sendPacket(0xa0,0xf1,0x00,cmd->MotorDown,5);
+                    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);
                 }
@@ -155,17 +178,22 @@
                 sendPacket(0xa0,0x10,0x00,cmd->LedOff,1);
                 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) {
+            } 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);
-                }
+                sendPacket(0xa0,0xf1,0x00,cmd->MotorUp,5);
+            }
+           
             break;
         default:
             ;
 
 
     }
+
+}
+void Model::direction(int actualFloor)
+{
+
 }
 void Model::setDoorStatus(bool mValue)
 {