Benedikt Kičin
/
kicin2vytah
Benedikt Kicin, vytah semestralka
riadenie.cpp
- Committer:
- kicin2
- Date:
- 2018-01-24
- Revision:
- 0:2574b54351ed
- Child:
- 1:5e6b55099364
File content as of revision 0:2574b54351ed:
/*! * \file riadenie.cpp * \author Benedikt Kicin *Subor riadenie.cpp sluzi na obsluhu vytahu na zaklade prijatych poziadaviek*/ #include "riadenie.h" unsigned char poschodie = 0xff; unsigned char ledka = 0xff; bool spravnePoschodie = true; bool ostan = false; unsigned char aktualizujDisplej = 0xff; /** *Funkcia sluzi na vykonanie prislusnych poziadaviek podla adresy odosielatela a prijateho bajtu *@param adresaOdos - adresa odosielatela *@param bajt - prijaty bajt */ void vykonaj(unsigned char adresaOdos,unsigned char bajt) { if(bajt == 0xff && zamknute == false){ switch (adresaOdos) { case 0xb4: //vnutri vytahu poschodie = 4; ledka = 0x24; break; case 0xc4: //pred vytahom poschodie = 4; ledka = 0x14; break; case 0xb3: poschodie = 3; ledka = 0x23; break; case 0xc3: poschodie = 3; ledka = 0x13; break; case 0xb2: poschodie = 2; ledka= 0x22; break; case 0xc2: poschodie= 2; ledka = 0x12; break; case 0xb1: poschodie = 1; ledka = 0x21; break; case 0xc1: poschodie = 1; ledka = 0x11; break; case 0xb0: poschodie= 0; ledka = 0x20; break; case 0xc0: poschodie = 0; ledka = 0x10; break; /*case 0xb4: poschodie = 4; if (0xb4) ledka = 0x24; else case 0xc4: ledka = 0x14; break; case 0xb3: poschodie = 3; if (0xb3) ledka = 0x23; else case 0xc3: ledka = 0x13; break; case 0xb2: poschodie = 2; if (0xb2) ledka= 0x22; else case 0xc2: ledka = 0x12; break; case 0xb1: poschodie = 1; if (0xb1) ledka = 0x21; else case 0xc1: ledka = 0x11; break; case 0xb0: poschodie= 0; if (0xb0) ledka = 0x20; else case 0xc0: ledka = 0x10; break;*/ } } //sprava senzorov pri vytahu else if (bajt == 0x01) { //0x01 - vytah sa priblizuje k senzoru; 0x02 - je pri senzore switch (adresaOdos) { case 0xe4: //limit switch 0xe4 - snimaci senzor na 4.poschodi if(poschodie == 4){ spravnePoschodie = true; ostan = true;} else aktualizujDisplej = 0x34; //0x3y - zobrazovanie poschodia displayiu (y - cislo poschodia) break; case 0xe3: if(poschodie == 3){ spravnePoschodie = true; ostan = true;} else aktualizujDisplej = 0x33; break; case 0xe2: if(poschodie == 2){ spravnePoschodie = true; ostan = true;} else aktualizujDisplej = 0x32; break; case 0xe1: if(poschodie == 1){ spravnePoschodie = true; ostan = true;} else aktualizujDisplej = 0x31; break; case 0xe0: if(poschodie == 0){ spravnePoschodie = true; ostan = true;} else aktualizujDisplej = 0x30; break; } } }