Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: model.cpp
- 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) {