Roman Ciesarík
/
Semestralna_praca_Roman_Ciesarik
Diff: main.cpp
- Revision:
- 3:ac8b2de52239
- Parent:
- 2:84b5e49b4549
- Child:
- 4:f2b6a3558671
--- a/main.cpp Mon Dec 11 23:22:34 2017 +0000 +++ b/main.cpp Tue Dec 12 15:20:29 2017 +0000 @@ -83,113 +83,20 @@ while(true) { pc.attach(&prijmemSpravu); + rozhodni(); - switch(prijemSpravy[2]) - { - case 0xb4: /* vytah tla4idlo 4 poschodie */ - poslemSpravu(VYTAH_DIODA_4,0xCC,0x01, &diode_DATA[1]); - diode_cislo[4]=1; - dole(); - - break; - - case 0xb3: /* vytah tla4idlo 3 poschodie */ - poslemSpravu(VYTAH_DIODA_3,0xCC,0x01, &diode_DATA[1]); - - break; - - case 0xb2: /* vytah tla4idlo 2 poschodie */ - poslemSpravu(VYTAH_DIODA_2,0xCC,0x01, &diode_DATA[1]); - diode_cislo[2]=1; - - break; - - case 0xb1: /* vytah tla4idlo 1 poschodie */ - poslemSpravu(VYTAH_DIODA_1,0xCC,0x01, &diode_DATA[1]); - - break; - - case 0xb0: /* vytah tla4idlo pr9zemie */ - poslemSpravu(VYTAH_DIODA_P,0xCC,0x01, &diode_DATA[1]); - - break; - - case 0xc4: /* chodba tla4idlo 4 poschodie */ - poslemSpravu(POSCHODIE_DIODA_4,0xCC,0x01, &diode_DATA[1]); - - break; - - case 0xc3: /* chodba tla4idlo 3 poschodie */ - poslemSpravu(POSCHODIE_DIODA_3,0xCC,0x01, &diode_DATA[1]); - - break; - - case 0xc2: /* chodba tla4idlo 2 poschodie */ - poslemSpravu(POSCHODIE_DIODA_2,0xCC,0x01, &diode_DATA[1]); - - break; - - case 0xc1: /* chodba tla4idlo 1 poschodie */ - poslemSpravu(POSCHODIE_DIODA_1,0xCC,0x01, &diode_DATA[1]); - - break; - - case 0xc0: /* chodba tla4idlo pr9zemie */ - poslemSpravu(POSCHODIE_DIODA_P,0xCC,0x01, &diode_DATA[1]); - - break; - - - - - case 0xe4: /* info pre odomknutie 4 poschodie */ - if(prijemSpravy[4]==0x01&&diode_cislo[4]==1){stop(); - poslemSpravu(VYTAH_DIODA_4,0xCC,0x01, &diode_DATA[0]); - poslemSpravu(POSCHODIE_DIODA_4,0xCC,0x01, &diode_DATA[0]);} - break; - - case 0xe3: /* info pre odomknutie 3 poschodie */ - if(prijemSpravy[4]==0x01){stop(); - poslemSpravu(VYTAH_DIODA_3,0xCC,0x01, &diode_DATA[0]); - poslemSpravu(POSCHODIE_DIODA_3,0xCC,0x01, &diode_DATA[0]);} - break; - - case 0xe2: /* info pre odomknutie 2 poschodie */ - if(prijemSpravy[4]==0x01&&diode_cislo[2]==1){stop(); - poslemSpravu(VYTAH_DIODA_2,0xCC,0x01, &diode_DATA[0]); - poslemSpravu(POSCHODIE_DIODA_2,0xCC,0x01, &diode_DATA[0]);} - break; - - case 0xe1: /* info pre odomknutie 1 poschodie */ - if(prijemSpravy[4]==0x01){stop(); - poslemSpravu(VYTAH_DIODA_1,0xCC,0x01, &diode_DATA[0]); - poslemSpravu(POSCHODIE_DIODA_1,0xCC,0x01, &diode_DATA[0]);} - break; - - case 0xe0: /* info pre odomknutie pr9zemie */ - if(prijemSpravy[4]==0x01){stop(); - poslemSpravu(VYTAH_DIODA_P,0xCC,0x01, &diode_DATA[0]); - poslemSpravu(POSCHODIE_DIODA_P,0xCC,0x01, &diode_DATA[0]);} - break; - - - - - - case 0xf: /* zachranna brzda */ - - break; - - case 0xfe: /* watchdog */ - - break; - } /*stop(); wait(1); hore();*/ } } +void pohyb() +{ + +} + + void zamkni() { char DATA[]= {0x01}; @@ -251,6 +158,116 @@ pc.attach(&prijmemSpravu); } +void rozhodni() +{ + switch(prijemSpravy[2]) + { + case 0xb4: /* vytah tla4idlo 4 poschodie */ + poslemSpravu(VYTAH_DIODA_4,0xCC,0x01, &diode_DATA[1]); + diode_cislo[4]=1; + //dole(); + + break; + + case 0xb3: /* vytah tla4idlo 3 poschodie */ + poslemSpravu(VYTAH_DIODA_3,0xCC,0x01, &diode_DATA[1]); + diode_cislo[3]=1; + break; + + case 0xb2: /* vytah tla4idlo 2 poschodie */ + poslemSpravu(VYTAH_DIODA_2,0xCC,0x01, &diode_DATA[1]); + diode_cislo[2]=1; + + break; + + case 0xb1: /* vytah tla4idlo 1 poschodie */ + poslemSpravu(VYTAH_DIODA_1,0xCC,0x01, &diode_DATA[1]); + diode_cislo[1]=1; + break; + + case 0xb0: /* vytah tla4idlo pr9zemie */ + poslemSpravu(VYTAH_DIODA_P,0xCC,0x01, &diode_DATA[1]); + diode_cislo[0]=1; + break; + + case 0xc4: /* chodba tla4idlo 4 poschodie */ + poslemSpravu(POSCHODIE_DIODA_4,0xCC,0x01, &diode_DATA[1]); + diode_cislo[4]=1; + break; + + case 0xc3: /* chodba tla4idlo 3 poschodie */ + poslemSpravu(POSCHODIE_DIODA_3,0xCC,0x01, &diode_DATA[1]); + diode_cislo[3]=1; + break; + + case 0xc2: /* chodba tla4idlo 2 poschodie */ + poslemSpravu(POSCHODIE_DIODA_2,0xCC,0x01, &diode_DATA[1]); + diode_cislo[2]=1; + break; + + case 0xc1: /* chodba tla4idlo 1 poschodie */ + poslemSpravu(POSCHODIE_DIODA_1,0xCC,0x01, &diode_DATA[1]); + diode_cislo[1]=1; + break; + + case 0xc0: /* chodba tla4idlo pr9zemie */ + poslemSpravu(POSCHODIE_DIODA_P,0xCC,0x01, &diode_DATA[1]); + diode_cislo[0]=1; + //hore(); + break; + + + + + case 0xe4: /* info pre odomknutie 4 poschodie */ + if(prijemSpravy[4]==0x01&&diode_cislo[4]==1){stop(); + poslemSpravu(VYTAH_DIODA_4,0xCC,0x01, &diode_DATA[0]); + poslemSpravu(POSCHODIE_DIODA_4,0xCC,0x01, &diode_DATA[0]); + diode_cislo[4]=0;} + break; + + case 0xe3: /* info pre odomknutie 3 poschodie */ + if(prijemSpravy[4]==0x01&&diode_cislo[3]==1){stop(); + poslemSpravu(VYTAH_DIODA_3,0xCC,0x01, &diode_DATA[0]); + poslemSpravu(POSCHODIE_DIODA_3,0xCC,0x01, &diode_DATA[0]); + diode_cislo[3]=0;} + break; + + case 0xe2: /* info pre odomknutie 2 poschodie */ + if(prijemSpravy[4]==0x01&&diode_cislo[2]==1){stop(); + poslemSpravu(VYTAH_DIODA_2,0xCC,0x01, &diode_DATA[0]); + poslemSpravu(POSCHODIE_DIODA_2,0xCC,0x01, &diode_DATA[0]); + diode_cislo[2]=0;} + break; + + case 0xe1: /* info pre odomknutie 1 poschodie */ + if(prijemSpravy[4]==0x01&&diode_cislo[1]==1){stop(); + poslemSpravu(VYTAH_DIODA_1,0xCC,0x01, &diode_DATA[0]); + poslemSpravu(POSCHODIE_DIODA_1,0xCC,0x01, &diode_DATA[0]); + diode_cislo[1]=0;} + break; + + case 0xe0: /* info pre odomknutie prízemie */ + if(prijemSpravy[4]==0x01&&diode_cislo[0]==1){stop(); + poslemSpravu(VYTAH_DIODA_P,0xCC,0x01, &diode_DATA[0]); + poslemSpravu(POSCHODIE_DIODA_P,0xCC,0x01, &diode_DATA[0]); + diode_cislo[0]=0;} + break; + + + + + + case 0xf: /* zachranna brzda */ + + break; + + case 0xfe: /* watchdog */ + + break; + } +} + void poslemSpravu(char adrRX, char adrTX, int velkost, char DATA[] ) { crc=0x00;