Roman Ciesarík
/
Semestralna_praca_Roman_Ciesarik
Semestrálna práca VÝTAH Roman Ciesarík
Diff: main.cpp
- Revision:
- 2:84b5e49b4549
- Parent:
- 1:6c18e74f3ff4
- Child:
- 3:ac8b2de52239
--- a/main.cpp Mon Dec 11 14:24:45 2017 +0000 +++ b/main.cpp Mon Dec 11 23:22:34 2017 +0000 @@ -71,76 +71,72 @@ char demo[]= {1,2,3,4,5,6}; char prijemSpravy[15]; +char diode_DATA[]={0x00,0x01}; +int diode_cislo[]={0,0,0,0,0}; +int stav=5; int main() { - for (int j=0;j<4;j++) - { - while(true) - { - if(pc.readable()==1) - { - prijemSpravy[j]=pc.getc; - break; - } - } - } + //dole(); +while(true) +{ + pc.attach(&prijmemSpravu); - int pom= prijemSpravy[3] + 1; - - for (int j=0;j<pom;j++) - { - while(true) - { - if(pc.readable()==1) - { - prijemSpravy[j+4]=pc.getc; - break; - } - } - } 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; @@ -148,23 +144,33 @@ 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; @@ -179,31 +185,10 @@ break; } - - //poslemSpravu(TERMINAL,0xCC, 6, demo); - /* zamkni(); - wait(1); - odomkni(); - wait(1); - zamkni(); - wait(1); - dole(); + /*stop(); wait(1); - dole(); - dole(); - wait(2); - stop(); - - wait(5); - odomkni(); - wait(1); - zamkni(); - hore(); - wait(2); - stop(); - wait(5); - odomkni(); */ - + hore();*/ +} } void zamkni() { @@ -235,7 +220,36 @@ poslemSpravu(MOTOR,0xcc,sizeof(DATA),DATA); } - +void prijmemSpravu() +{ + //pc.attach(&prijmemSpravu); + for (int j=0;j<4;j++) + { + while(true) + { + if(pc.readable()==1) + { + prijemSpravy[j]=pc.getc(); + break; + } + } + } + + int pom= prijemSpravy[3] + 1; + + for (int j=0;j<pom;j++) + { + while(true) + { + if(pc.readable()==1) + { + prijemSpravy[j+4]=pc.getc(); + break; + } + } + } + pc.attach(&prijmemSpravu); +} void poslemSpravu(char adrRX, char adrTX, int velkost, char DATA[] ) { @@ -267,7 +281,7 @@ void kontrola() { - char kontrola[4]; + char kontrola[5]={0,0,0,0,0}; for(int i=0;i<5;i++) { @@ -275,7 +289,7 @@ { if(pc.readable()==1) { - kontola[i]=pc.getc(); + kontrola[i]=pc.getc(); break; } } @@ -283,6 +297,6 @@ if(kontrola[0]!=0xA0&&kontrola[1]!=0x00&&kontrola[2]!=0x00&&kontrola[3]!=0x00&&kontrola[4]!=0x00) { - poslemSpravu(); + // poslemSpravu(); } } \ No newline at end of file