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:
- 5:8ab8a587e609
- Parent:
- 3:9ee509852c9a
- Child:
- 6:5c4bd6bb6c3c
--- 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,