Lukas Seyfrid
/
SeyfridLukas
semestralna praca
main.cpp@8:3edf2e10899d, 2018-01-09 (annotated)
- Committer:
- seyfrid_L
- Date:
- Tue Jan 09 15:04:40 2018 +0000
- Revision:
- 8:3edf2e10899d
- Parent:
- 7:f906eb062d36
dokoncena semestralnma praca
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
seyfrid_L | 0:ce8ad4f285d3 | 1 | #include "mbed.h" |
seyfrid_L | 0:ce8ad4f285d3 | 2 | #include "Adresar.h" |
seyfrid_L | 1:dbb18c6be96a | 3 | #include "main.h" |
seyfrid_L | 0:ce8ad4f285d3 | 4 | #define ARRAY_SIZE(array) sizeof(array)/sizeof(*array) |
seyfrid_L | 0:ce8ad4f285d3 | 5 | |
seyfrid_L | 0:ce8ad4f285d3 | 6 | Serial term(USBTX, USBRX); |
seyfrid_L | 4:dee1ebc51d2e | 7 | DigitalOut led1(LED2); |
seyfrid_L | 0:ce8ad4f285d3 | 8 | |
seyfrid_L | 8:3edf2e10899d | 9 | /*********************hlavna cas programu*****************************************/ |
seyfrid_L | 8:3edf2e10899d | 10 | |
seyfrid_L | 7:f906eb062d36 | 11 | int main() { |
seyfrid_L | 7:f906eb062d36 | 12 | |
seyfrid_L | 7:f906eb062d36 | 13 | term.baud(57600); |
seyfrid_L | 7:f906eb062d36 | 14 | term.attach(&prijmiSpravu, Serial::RxIrq); |
seyfrid_L | 7:f906eb062d36 | 15 | |
seyfrid_L | 7:f906eb062d36 | 16 | disp.attach(&disp_Vyt, 0.5); |
seyfrid_L | 7:f906eb062d36 | 17 | sleduj_cas.attach(&watchdog, 1.4); |
seyfrid_L | 7:f906eb062d36 | 18 | acc.MotionDetection(&EM); |
seyfrid_L | 7:f906eb062d36 | 19 | init(); |
seyfrid_L | 7:f906eb062d36 | 20 | |
seyfrid_L | 7:f906eb062d36 | 21 | //int aDataIn[] = {*prerusVysielanie()}; |
seyfrid_L | 7:f906eb062d36 | 22 | // int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 7:f906eb062d36 | 23 | // posliSpravu(0xD0,0xAA,dataSize1,aDataIn); |
seyfrid_L | 7:f906eb062d36 | 24 | |
seyfrid_L | 7:f906eb062d36 | 25 | |
seyfrid_L | 7:f906eb062d36 | 26 | while(1){ |
seyfrid_L | 7:f906eb062d36 | 27 | tlacitka(); |
seyfrid_L | 7:f906eb062d36 | 28 | } |
seyfrid_L | 7:f906eb062d36 | 29 | } |
seyfrid_L | 8:3edf2e10899d | 30 | /*********************riadneie komunikacie*****************************************/ |
seyfrid_L | 1:dbb18c6be96a | 31 | |
seyfrid_L | 8:3edf2e10899d | 32 | /* |
seyfrid_L | 8:3edf2e10899d | 33 | vypocet CRC |
seyfrid_L | 5:8c5c19be2126 | 34 | |
seyfrid_L | 8:3edf2e10899d | 35 | */ |
seyfrid_L | 0:ce8ad4f285d3 | 36 | |
seyfrid_L | 0:ce8ad4f285d3 | 37 | int getCrc(int addrRx, int addrTx, int dataSize, int aData[]) |
seyfrid_L | 0:ce8ad4f285d3 | 38 | { |
seyfrid_L | 0:ce8ad4f285d3 | 39 | int aCRC[] = {0, 94, 188, 226, 97, 63, 221, 131, 194, 156, 126, 32, 163, 253, 31, 65, |
seyfrid_L | 0:ce8ad4f285d3 | 40 | 157, 195, 33, 127, 252, 162, 64, 30, 95, 1, 227, 189, 62, 96, 130, 220, |
seyfrid_L | 0:ce8ad4f285d3 | 41 | 35, 125, 159, 193, 66, 28, 254, 160, 225, 191, 93, 3, 128, 222, 60, 98, |
seyfrid_L | 0:ce8ad4f285d3 | 42 | 190, 224, 2, 92, 223, 129, 99, 61, 124, 34, 192, 158, 29, 67, 161, 255, |
seyfrid_L | 0:ce8ad4f285d3 | 43 | 70, 24, 250, 164, 39, 121, 155, 197, 132, 218, 56, 102, 229, 187, 89, 7, |
seyfrid_L | 0:ce8ad4f285d3 | 44 | 219, 133, 103, 57, 186, 228, 6, 88, 25, 71, 165, 251, 120, 38, 196, 154, |
seyfrid_L | 0:ce8ad4f285d3 | 45 | 101, 59, 217, 135, 4, 90, 184, 230, 167, 249, 27, 69, 198, 152, 122, 36, |
seyfrid_L | 0:ce8ad4f285d3 | 46 | 248, 166, 68, 26, 153, 199, 37, 123, 58, 100, 134, 216, 91, 5, 231, 185, |
seyfrid_L | 0:ce8ad4f285d3 | 47 | 140, 210, 48, 110, 237, 179, 81, 15, 78, 16, 242, 172, 47, 113, 147, 205, |
seyfrid_L | 0:ce8ad4f285d3 | 48 | 17, 79, 173, 243, 112, 46, 204, 146, 211, 141, 111, 49, 178, 236, 14, 80, |
seyfrid_L | 0:ce8ad4f285d3 | 49 | 175, 241, 19, 77, 206, 144, 114, 44, 109, 51, 209, 143, 12, 82, 176, 238, |
seyfrid_L | 0:ce8ad4f285d3 | 50 | 50, 108, 142, 208, 83, 13, 239, 177, 240, 174, 76, 18, 145, 207, 45, 115, |
seyfrid_L | 0:ce8ad4f285d3 | 51 | 202, 148, 118, 40, 171, 245, 23, 73, 8, 86, 180, 234, 105, 55, 213, 139, |
seyfrid_L | 0:ce8ad4f285d3 | 52 | 87, 9, 235, 181, 54, 104, 138, 212, 149, 203, 41, 119, 244, 170, 72, 22, |
seyfrid_L | 0:ce8ad4f285d3 | 53 | 233, 183, 85, 11, 136, 214, 52, 106, 43, 117, 151, 201, 74, 20, 246, 168, |
seyfrid_L | 0:ce8ad4f285d3 | 54 | 116, 42, 200, 150, 21, 75, 169, 247, 182, 232, 10, 84, 215, 137, 107, 53 |
seyfrid_L | 0:ce8ad4f285d3 | 55 | }; |
seyfrid_L | 0:ce8ad4f285d3 | 56 | int crc = 0; |
seyfrid_L | 0:ce8ad4f285d3 | 57 | crc = aCRC[crc ^ addrRx]; |
seyfrid_L | 0:ce8ad4f285d3 | 58 | crc = aCRC[crc ^ addrTx]; |
seyfrid_L | 0:ce8ad4f285d3 | 59 | for(int i = 0; i < dataSize; i++){ |
seyfrid_L | 0:ce8ad4f285d3 | 60 | crc = aCRC[crc ^ aData[i]]; |
seyfrid_L | 0:ce8ad4f285d3 | 61 | } |
seyfrid_L | 0:ce8ad4f285d3 | 62 | return crc; |
seyfrid_L | 0:ce8ad4f285d3 | 63 | } |
seyfrid_L | 0:ce8ad4f285d3 | 64 | |
seyfrid_L | 8:3edf2e10899d | 65 | /* |
seyfrid_L | 8:3edf2e10899d | 66 | odoslanie spravy |
seyfrid_L | 8:3edf2e10899d | 67 | */ |
seyfrid_L | 8:3edf2e10899d | 68 | |
seyfrid_L | 0:ce8ad4f285d3 | 69 | void posliSpravu(int addrRx, int addrTx,int dataSize, int aData[]) |
seyfrid_L | 0:ce8ad4f285d3 | 70 | { |
seyfrid_L | 0:ce8ad4f285d3 | 71 | |
seyfrid_L | 0:ce8ad4f285d3 | 72 | int aPacket[5+dataSize]; |
seyfrid_L | 0:ce8ad4f285d3 | 73 | aPacket[0] = 0xA0; |
seyfrid_L | 0:ce8ad4f285d3 | 74 | aPacket[1] = addrRx; |
seyfrid_L | 0:ce8ad4f285d3 | 75 | aPacket[2] = addrTx; |
seyfrid_L | 0:ce8ad4f285d3 | 76 | aPacket[3] = dataSize; |
seyfrid_L | 0:ce8ad4f285d3 | 77 | |
seyfrid_L | 0:ce8ad4f285d3 | 78 | for(int i = 0; i < dataSize; i++){ |
seyfrid_L | 0:ce8ad4f285d3 | 79 | aPacket[4+i] = aData[i]; |
seyfrid_L | 0:ce8ad4f285d3 | 80 | } |
seyfrid_L | 0:ce8ad4f285d3 | 81 | |
seyfrid_L | 0:ce8ad4f285d3 | 82 | int crc = getCrc(addrRx, addrTx, dataSize, aData); |
seyfrid_L | 0:ce8ad4f285d3 | 83 | aPacket[4+dataSize] = crc; |
seyfrid_L | 0:ce8ad4f285d3 | 84 | |
seyfrid_L | 0:ce8ad4f285d3 | 85 | |
seyfrid_L | 0:ce8ad4f285d3 | 86 | prijmi = 0; |
seyfrid_L | 0:ce8ad4f285d3 | 87 | |
seyfrid_L | 0:ce8ad4f285d3 | 88 | for(int i = 0; i < ARRAY_SIZE(aPacket); i++){ |
seyfrid_L | 0:ce8ad4f285d3 | 89 | term.putc(aPacket[i]); |
seyfrid_L | 0:ce8ad4f285d3 | 90 | } |
seyfrid_L | 0:ce8ad4f285d3 | 91 | } |
seyfrid_L | 8:3edf2e10899d | 92 | /* |
seyfrid_L | 8:3edf2e10899d | 93 | prijatie spavy |
seyfrid_L | 8:3edf2e10899d | 94 | */ |
seyfrid_L | 5:8c5c19be2126 | 95 | void prijmiSpravu() |
seyfrid_L | 3:d473fb175cec | 96 | { |
seyfrid_L | 3:d473fb175cec | 97 | |
seyfrid_L | 3:d473fb175cec | 98 | |
seyfrid_L | 3:d473fb175cec | 99 | prijmi = 1; |
seyfrid_L | 3:d473fb175cec | 100 | for(int i = 0; i < 4; i++) { |
seyfrid_L | 3:d473fb175cec | 101 | adresa[i] = term.getc(); |
seyfrid_L | 3:d473fb175cec | 102 | } |
seyfrid_L | 3:d473fb175cec | 103 | |
seyfrid_L | 3:d473fb175cec | 104 | |
seyfrid_L | 3:d473fb175cec | 105 | if(adresa[3] == 0x00) { |
seyfrid_L | 3:d473fb175cec | 106 | sprava[0] = term.getc(); |
seyfrid_L | 3:d473fb175cec | 107 | }else{ |
seyfrid_L | 3:d473fb175cec | 108 | for(int i = 0; i < adresa[3]; i++){ |
seyfrid_L | 3:d473fb175cec | 109 | sprava[i]=term.getc(); |
seyfrid_L | 3:d473fb175cec | 110 | } |
seyfrid_L | 3:d473fb175cec | 111 | adresa[4]=term.getc(); |
seyfrid_L | 3:d473fb175cec | 112 | if(adresa[4] == getCrc(adresa[1], adresa[2],adresa[3],sprava)){ |
seyfrid_L | 5:8c5c19be2126 | 113 | |
seyfrid_L | 3:d473fb175cec | 114 | } |
seyfrid_L | 3:d473fb175cec | 115 | } |
seyfrid_L | 5:8c5c19be2126 | 116 | |
seyfrid_L | 7:f906eb062d36 | 117 | logikaRiadenia(); |
seyfrid_L | 3:d473fb175cec | 118 | |
seyfrid_L | 3:d473fb175cec | 119 | } |
seyfrid_L | 8:3edf2e10899d | 120 | /*********************bezpecnost*****************************************/ |
seyfrid_L | 3:d473fb175cec | 121 | |
seyfrid_L | 8:3edf2e10899d | 122 | /* |
seyfrid_L | 8:3edf2e10899d | 123 | uvolnenie EM |
seyfrid_L | 8:3edf2e10899d | 124 | */ |
seyfrid_L | 6:8c336acc90f9 | 125 | void uvolniEM() |
seyfrid_L | 6:8c336acc90f9 | 126 | { |
seyfrid_L | 6:8c336acc90f9 | 127 | int aDataIn[] = {0x00}; |
seyfrid_L | 6:8c336acc90f9 | 128 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 6:8c336acc90f9 | 129 | posliSpravu(EM_BRAKE,0xAA,dataSize1,aDataIn); |
seyfrid_L | 6:8c336acc90f9 | 130 | |
seyfrid_L | 6:8c336acc90f9 | 131 | } |
seyfrid_L | 6:8c336acc90f9 | 132 | |
seyfrid_L | 8:3edf2e10899d | 133 | /* |
seyfrid_L | 8:3edf2e10899d | 134 | spustenie EM |
seyfrid_L | 8:3edf2e10899d | 135 | */ |
seyfrid_L | 7:f906eb062d36 | 136 | void EM() |
seyfrid_L | 7:f906eb062d36 | 137 | { |
seyfrid_L | 7:f906eb062d36 | 138 | |
seyfrid_L | 7:f906eb062d36 | 139 | int aDataIn[] = {0x01}; |
seyfrid_L | 7:f906eb062d36 | 140 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 7:f906eb062d36 | 141 | posliSpravu(EM_BRAKE,0xAA,dataSize1,aDataIn); |
seyfrid_L | 7:f906eb062d36 | 142 | } |
seyfrid_L | 8:3edf2e10899d | 143 | |
seyfrid_L | 8:3edf2e10899d | 144 | /* |
seyfrid_L | 8:3edf2e10899d | 145 | resetovanie watchdog pri spusteny programu |
seyfrid_L | 8:3edf2e10899d | 146 | */ |
seyfrid_L | 7:f906eb062d36 | 147 | |
seyfrid_L | 6:8c336acc90f9 | 148 | void resWatch() |
seyfrid_L | 6:8c336acc90f9 | 149 | { |
seyfrid_L | 6:8c336acc90f9 | 150 | int aDataIn[] = {0x01}; |
seyfrid_L | 6:8c336acc90f9 | 151 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 6:8c336acc90f9 | 152 | posliSpravu(WATCHDOG,0xAA,dataSize1,aDataIn); |
seyfrid_L | 6:8c336acc90f9 | 153 | |
seyfrid_L | 6:8c336acc90f9 | 154 | } |
seyfrid_L | 8:3edf2e10899d | 155 | |
seyfrid_L | 8:3edf2e10899d | 156 | /* |
seyfrid_L | 8:3edf2e10899d | 157 | celkova logika riadenia vytahu |
seyfrid_L | 8:3edf2e10899d | 158 | */ |
seyfrid_L | 8:3edf2e10899d | 159 | /*********************riadneie obsluhy vytahu*****************************************/ |
seyfrid_L | 7:f906eb062d36 | 160 | void logikaRiadenia(){ |
seyfrid_L | 5:8c5c19be2126 | 161 | |
seyfrid_L | 6:8c336acc90f9 | 162 | if(init_flag == 1){ |
seyfrid_L | 6:8c336acc90f9 | 163 | if (dajPoschodie() == SWITCH_P){ |
seyfrid_L | 6:8c336acc90f9 | 164 | stop(); |
seyfrid_L | 6:8c336acc90f9 | 165 | init_flag = 0; |
seyfrid_L | 6:8c336acc90f9 | 166 | poschodie = 0; |
seyfrid_L | 6:8c336acc90f9 | 167 | } |
seyfrid_L | 6:8c336acc90f9 | 168 | } else { |
seyfrid_L | 5:8c5c19be2126 | 169 | |
seyfrid_L | 5:8c5c19be2126 | 170 | if(p_0 == 1) |
seyfrid_L | 5:8c5c19be2126 | 171 | { |
seyfrid_L | 5:8c5c19be2126 | 172 | if (dajPoschodie() == SWITCH_P){ |
seyfrid_L | 5:8c5c19be2126 | 173 | ledPoff(); |
seyfrid_L | 5:8c5c19be2126 | 174 | ledPoffC(); |
seyfrid_L | 5:8c5c19be2126 | 175 | stop(); |
seyfrid_L | 5:8c5c19be2126 | 176 | odomkniVytah() ; |
seyfrid_L | 7:f906eb062d36 | 177 | poschodie = 0; |
seyfrid_L | 5:8c5c19be2126 | 178 | p_0 = 0; |
seyfrid_L | 5:8c5c19be2126 | 179 | } |
seyfrid_L | 5:8c5c19be2126 | 180 | |
seyfrid_L | 5:8c5c19be2126 | 181 | } |
seyfrid_L | 5:8c5c19be2126 | 182 | |
seyfrid_L | 5:8c5c19be2126 | 183 | |
seyfrid_L | 5:8c5c19be2126 | 184 | if(p_1 == 1) |
seyfrid_L | 5:8c5c19be2126 | 185 | { |
seyfrid_L | 5:8c5c19be2126 | 186 | if (dajPoschodie() == SWITCH_1){ |
seyfrid_L | 5:8c5c19be2126 | 187 | led1off(); |
seyfrid_L | 5:8c5c19be2126 | 188 | led1offC(); |
seyfrid_L | 5:8c5c19be2126 | 189 | stop(); |
seyfrid_L | 5:8c5c19be2126 | 190 | odomkniVytah() ; |
seyfrid_L | 7:f906eb062d36 | 191 | poschodie = 1; |
seyfrid_L | 5:8c5c19be2126 | 192 | p_1 = 0; |
seyfrid_L | 5:8c5c19be2126 | 193 | } |
seyfrid_L | 5:8c5c19be2126 | 194 | |
seyfrid_L | 5:8c5c19be2126 | 195 | } |
seyfrid_L | 5:8c5c19be2126 | 196 | |
seyfrid_L | 5:8c5c19be2126 | 197 | if(p_2 == 1) |
seyfrid_L | 5:8c5c19be2126 | 198 | { |
seyfrid_L | 5:8c5c19be2126 | 199 | if (dajPoschodie() == SWITCH_2){ |
seyfrid_L | 5:8c5c19be2126 | 200 | led2off(); |
seyfrid_L | 5:8c5c19be2126 | 201 | led2offC(); |
seyfrid_L | 5:8c5c19be2126 | 202 | stop(); |
seyfrid_L | 5:8c5c19be2126 | 203 | odomkniVytah() ; |
seyfrid_L | 7:f906eb062d36 | 204 | poschodie = 2; |
seyfrid_L | 5:8c5c19be2126 | 205 | p_2 = 0; |
seyfrid_L | 5:8c5c19be2126 | 206 | } |
seyfrid_L | 5:8c5c19be2126 | 207 | |
seyfrid_L | 5:8c5c19be2126 | 208 | } |
seyfrid_L | 5:8c5c19be2126 | 209 | |
seyfrid_L | 5:8c5c19be2126 | 210 | if (p_3 == 1){ |
seyfrid_L | 5:8c5c19be2126 | 211 | |
seyfrid_L | 5:8c5c19be2126 | 212 | if (dajPoschodie() == SWITCH_3){ |
seyfrid_L | 5:8c5c19be2126 | 213 | led3off(); |
seyfrid_L | 5:8c5c19be2126 | 214 | led3offC(); |
seyfrid_L | 5:8c5c19be2126 | 215 | stop(); |
seyfrid_L | 5:8c5c19be2126 | 216 | odomkniVytah() ; |
seyfrid_L | 7:f906eb062d36 | 217 | poschodie = 3; |
seyfrid_L | 5:8c5c19be2126 | 218 | p_3 = 0; |
seyfrid_L | 5:8c5c19be2126 | 219 | } |
seyfrid_L | 5:8c5c19be2126 | 220 | } |
seyfrid_L | 5:8c5c19be2126 | 221 | |
seyfrid_L | 5:8c5c19be2126 | 222 | if(p_4 == 1) |
seyfrid_L | 5:8c5c19be2126 | 223 | { |
seyfrid_L | 5:8c5c19be2126 | 224 | if (dajPoschodie() == SWITCH_4){ |
seyfrid_L | 5:8c5c19be2126 | 225 | led4off(); |
seyfrid_L | 5:8c5c19be2126 | 226 | led4off(); |
seyfrid_L | 5:8c5c19be2126 | 227 | stop(); |
seyfrid_L | 5:8c5c19be2126 | 228 | odomkniVytah() ; |
seyfrid_L | 7:f906eb062d36 | 229 | poschodie = 4; |
seyfrid_L | 5:8c5c19be2126 | 230 | p_4 = 0; |
seyfrid_L | 5:8c5c19be2126 | 231 | } |
seyfrid_L | 5:8c5c19be2126 | 232 | |
seyfrid_L | 5:8c5c19be2126 | 233 | } |
seyfrid_L | 6:8c336acc90f9 | 234 | } |
seyfrid_L | 5:8c5c19be2126 | 235 | |
seyfrid_L | 5:8c5c19be2126 | 236 | } |
seyfrid_L | 0:ce8ad4f285d3 | 237 | |
seyfrid_L | 4:dee1ebc51d2e | 238 | |
seyfrid_L | 8:3edf2e10899d | 239 | /* |
seyfrid_L | 8:3edf2e10899d | 240 | obsluha tlacitok vo vytahu a na stene poschodia |
seyfrid_L | 8:3edf2e10899d | 241 | */ |
seyfrid_L | 7:f906eb062d36 | 242 | |
seyfrid_L | 5:8c5c19be2126 | 243 | void tlacitka() |
seyfrid_L | 5:8c5c19be2126 | 244 | { |
seyfrid_L | 6:8c336acc90f9 | 245 | |
seyfrid_L | 5:8c5c19be2126 | 246 | switch(adresa[2]) |
seyfrid_L | 5:8c5c19be2126 | 247 | { |
seyfrid_L | 5:8c5c19be2126 | 248 | case W_P_BUTTON: |
seyfrid_L | 5:8c5c19be2126 | 249 | { |
seyfrid_L | 5:8c5c19be2126 | 250 | p_0 = 1; |
seyfrid_L | 5:8c5c19be2126 | 251 | ledPon(); |
seyfrid_L | 5:8c5c19be2126 | 252 | |
seyfrid_L | 7:f906eb062d36 | 253 | if (poschodie > 0) |
seyfrid_L | 7:f906eb062d36 | 254 | { |
seyfrid_L | 7:f906eb062d36 | 255 | smerDole(); |
seyfrid_L | 7:f906eb062d36 | 256 | } else if (poschodie < 0) |
seyfrid_L | 7:f906eb062d36 | 257 | { |
seyfrid_L | 7:f906eb062d36 | 258 | smerHore(); |
seyfrid_L | 7:f906eb062d36 | 259 | } |
seyfrid_L | 7:f906eb062d36 | 260 | else |
seyfrid_L | 7:f906eb062d36 | 261 | { |
seyfrid_L | 7:f906eb062d36 | 262 | p_0 = 0; |
seyfrid_L | 7:f906eb062d36 | 263 | ledPoff(); |
seyfrid_L | 7:f906eb062d36 | 264 | } |
seyfrid_L | 7:f906eb062d36 | 265 | |
seyfrid_L | 5:8c5c19be2126 | 266 | break; |
seyfrid_L | 5:8c5c19be2126 | 267 | } |
seyfrid_L | 5:8c5c19be2126 | 268 | |
seyfrid_L | 5:8c5c19be2126 | 269 | case W_1_BUTTON: |
seyfrid_L | 5:8c5c19be2126 | 270 | { |
seyfrid_L | 5:8c5c19be2126 | 271 | p_1 = 1; |
seyfrid_L | 5:8c5c19be2126 | 272 | led1on(); |
seyfrid_L | 7:f906eb062d36 | 273 | if (poschodie > 1) |
seyfrid_L | 7:f906eb062d36 | 274 | { |
seyfrid_L | 7:f906eb062d36 | 275 | smerDole(); |
seyfrid_L | 7:f906eb062d36 | 276 | } else if (poschodie < 1) |
seyfrid_L | 7:f906eb062d36 | 277 | { |
seyfrid_L | 7:f906eb062d36 | 278 | smerHore(); |
seyfrid_L | 7:f906eb062d36 | 279 | } else |
seyfrid_L | 7:f906eb062d36 | 280 | { |
seyfrid_L | 7:f906eb062d36 | 281 | p_1 = 0; |
seyfrid_L | 7:f906eb062d36 | 282 | led1off(); |
seyfrid_L | 7:f906eb062d36 | 283 | } |
seyfrid_L | 7:f906eb062d36 | 284 | |
seyfrid_L | 5:8c5c19be2126 | 285 | break; |
seyfrid_L | 5:8c5c19be2126 | 286 | } |
seyfrid_L | 5:8c5c19be2126 | 287 | |
seyfrid_L | 5:8c5c19be2126 | 288 | case W_2_BUTTON: |
seyfrid_L | 5:8c5c19be2126 | 289 | { |
seyfrid_L | 5:8c5c19be2126 | 290 | p_2 = 1; |
seyfrid_L | 5:8c5c19be2126 | 291 | led2on(); |
seyfrid_L | 7:f906eb062d36 | 292 | if (poschodie > 2) |
seyfrid_L | 7:f906eb062d36 | 293 | { |
seyfrid_L | 7:f906eb062d36 | 294 | smerDole(); |
seyfrid_L | 7:f906eb062d36 | 295 | } else if (poschodie < 2) |
seyfrid_L | 7:f906eb062d36 | 296 | { |
seyfrid_L | 7:f906eb062d36 | 297 | smerHore(); |
seyfrid_L | 7:f906eb062d36 | 298 | } |
seyfrid_L | 7:f906eb062d36 | 299 | else |
seyfrid_L | 7:f906eb062d36 | 300 | { |
seyfrid_L | 7:f906eb062d36 | 301 | p_2 = 0; |
seyfrid_L | 7:f906eb062d36 | 302 | led2off(); |
seyfrid_L | 7:f906eb062d36 | 303 | } |
seyfrid_L | 5:8c5c19be2126 | 304 | break; |
seyfrid_L | 5:8c5c19be2126 | 305 | } |
seyfrid_L | 5:8c5c19be2126 | 306 | |
seyfrid_L | 5:8c5c19be2126 | 307 | case W_3_BUTTON: |
seyfrid_L | 5:8c5c19be2126 | 308 | { |
seyfrid_L | 5:8c5c19be2126 | 309 | p_3 = 1; |
seyfrid_L | 5:8c5c19be2126 | 310 | led3on(); |
seyfrid_L | 7:f906eb062d36 | 311 | if (poschodie > 3) |
seyfrid_L | 7:f906eb062d36 | 312 | { |
seyfrid_L | 7:f906eb062d36 | 313 | smerDole(); |
seyfrid_L | 7:f906eb062d36 | 314 | } else if (poschodie < 3) |
seyfrid_L | 7:f906eb062d36 | 315 | { |
seyfrid_L | 7:f906eb062d36 | 316 | smerHore(); |
seyfrid_L | 7:f906eb062d36 | 317 | } |
seyfrid_L | 7:f906eb062d36 | 318 | else |
seyfrid_L | 7:f906eb062d36 | 319 | { |
seyfrid_L | 7:f906eb062d36 | 320 | p_3 = 0; |
seyfrid_L | 7:f906eb062d36 | 321 | led3off(); |
seyfrid_L | 7:f906eb062d36 | 322 | } |
seyfrid_L | 5:8c5c19be2126 | 323 | |
seyfrid_L | 5:8c5c19be2126 | 324 | break; |
seyfrid_L | 5:8c5c19be2126 | 325 | } |
seyfrid_L | 5:8c5c19be2126 | 326 | |
seyfrid_L | 5:8c5c19be2126 | 327 | case W_4_BUTTON: |
seyfrid_L | 5:8c5c19be2126 | 328 | { |
seyfrid_L | 5:8c5c19be2126 | 329 | p_4 = 1; |
seyfrid_L | 5:8c5c19be2126 | 330 | led4on(); |
seyfrid_L | 7:f906eb062d36 | 331 | if (poschodie > 4) |
seyfrid_L | 7:f906eb062d36 | 332 | { |
seyfrid_L | 7:f906eb062d36 | 333 | smerDole(); |
seyfrid_L | 7:f906eb062d36 | 334 | } else if (poschodie < 4) |
seyfrid_L | 7:f906eb062d36 | 335 | { |
seyfrid_L | 7:f906eb062d36 | 336 | smerHore(); |
seyfrid_L | 7:f906eb062d36 | 337 | } |
seyfrid_L | 7:f906eb062d36 | 338 | else |
seyfrid_L | 7:f906eb062d36 | 339 | { |
seyfrid_L | 7:f906eb062d36 | 340 | p_4 = 0; |
seyfrid_L | 7:f906eb062d36 | 341 | led4off(); |
seyfrid_L | 7:f906eb062d36 | 342 | } |
seyfrid_L | 5:8c5c19be2126 | 343 | break; |
seyfrid_L | 5:8c5c19be2126 | 344 | } |
seyfrid_L | 5:8c5c19be2126 | 345 | |
seyfrid_L | 6:8c336acc90f9 | 346 | case C_P_BUTTON: |
seyfrid_L | 5:8c5c19be2126 | 347 | { |
seyfrid_L | 5:8c5c19be2126 | 348 | p_0 = 1; |
seyfrid_L | 6:8c336acc90f9 | 349 | ledPonC(); |
seyfrid_L | 7:f906eb062d36 | 350 | if (poschodie > 0) |
seyfrid_L | 7:f906eb062d36 | 351 | { |
seyfrid_L | 7:f906eb062d36 | 352 | smerDole(); |
seyfrid_L | 7:f906eb062d36 | 353 | } else if (poschodie < 0) |
seyfrid_L | 7:f906eb062d36 | 354 | { |
seyfrid_L | 7:f906eb062d36 | 355 | smerHore(); |
seyfrid_L | 7:f906eb062d36 | 356 | } |
seyfrid_L | 7:f906eb062d36 | 357 | else |
seyfrid_L | 7:f906eb062d36 | 358 | { |
seyfrid_L | 7:f906eb062d36 | 359 | p_0 = 0; |
seyfrid_L | 7:f906eb062d36 | 360 | ledPoffC(); |
seyfrid_L | 7:f906eb062d36 | 361 | } |
seyfrid_L | 5:8c5c19be2126 | 362 | break; |
seyfrid_L | 5:8c5c19be2126 | 363 | } |
seyfrid_L | 5:8c5c19be2126 | 364 | |
seyfrid_L | 5:8c5c19be2126 | 365 | case C_1_BUTTON: |
seyfrid_L | 5:8c5c19be2126 | 366 | { |
seyfrid_L | 5:8c5c19be2126 | 367 | p_1 = 1; |
seyfrid_L | 6:8c336acc90f9 | 368 | led1onC(); |
seyfrid_L | 7:f906eb062d36 | 369 | if (poschodie > 1) |
seyfrid_L | 7:f906eb062d36 | 370 | { |
seyfrid_L | 7:f906eb062d36 | 371 | smerDole(); |
seyfrid_L | 7:f906eb062d36 | 372 | } else if (poschodie < 1) |
seyfrid_L | 7:f906eb062d36 | 373 | { |
seyfrid_L | 7:f906eb062d36 | 374 | smerHore(); |
seyfrid_L | 7:f906eb062d36 | 375 | } |
seyfrid_L | 7:f906eb062d36 | 376 | else |
seyfrid_L | 7:f906eb062d36 | 377 | { |
seyfrid_L | 7:f906eb062d36 | 378 | p_1 = 0; |
seyfrid_L | 7:f906eb062d36 | 379 | led1off(); |
seyfrid_L | 7:f906eb062d36 | 380 | } |
seyfrid_L | 5:8c5c19be2126 | 381 | break; |
seyfrid_L | 5:8c5c19be2126 | 382 | } |
seyfrid_L | 5:8c5c19be2126 | 383 | |
seyfrid_L | 5:8c5c19be2126 | 384 | case C_2_BUTTON: |
seyfrid_L | 5:8c5c19be2126 | 385 | { |
seyfrid_L | 5:8c5c19be2126 | 386 | p_2 = 1; |
seyfrid_L | 6:8c336acc90f9 | 387 | led2onC(); |
seyfrid_L | 7:f906eb062d36 | 388 | if (poschodie > 2) |
seyfrid_L | 7:f906eb062d36 | 389 | { |
seyfrid_L | 7:f906eb062d36 | 390 | smerDole(); |
seyfrid_L | 7:f906eb062d36 | 391 | } else if (poschodie < 2) |
seyfrid_L | 7:f906eb062d36 | 392 | { |
seyfrid_L | 7:f906eb062d36 | 393 | smerHore(); |
seyfrid_L | 7:f906eb062d36 | 394 | } |
seyfrid_L | 7:f906eb062d36 | 395 | else |
seyfrid_L | 7:f906eb062d36 | 396 | { |
seyfrid_L | 7:f906eb062d36 | 397 | p_2 = 0; |
seyfrid_L | 7:f906eb062d36 | 398 | led2offC(); |
seyfrid_L | 7:f906eb062d36 | 399 | } |
seyfrid_L | 5:8c5c19be2126 | 400 | break; |
seyfrid_L | 5:8c5c19be2126 | 401 | } |
seyfrid_L | 5:8c5c19be2126 | 402 | |
seyfrid_L | 5:8c5c19be2126 | 403 | case C_3_BUTTON: |
seyfrid_L | 5:8c5c19be2126 | 404 | { |
seyfrid_L | 5:8c5c19be2126 | 405 | p_3 = 1; |
seyfrid_L | 6:8c336acc90f9 | 406 | led3onC(); |
seyfrid_L | 7:f906eb062d36 | 407 | if (poschodie > 3) |
seyfrid_L | 7:f906eb062d36 | 408 | { |
seyfrid_L | 7:f906eb062d36 | 409 | smerDole(); |
seyfrid_L | 7:f906eb062d36 | 410 | } else if (poschodie < 3) |
seyfrid_L | 7:f906eb062d36 | 411 | { |
seyfrid_L | 7:f906eb062d36 | 412 | smerHore(); |
seyfrid_L | 7:f906eb062d36 | 413 | } |
seyfrid_L | 7:f906eb062d36 | 414 | else |
seyfrid_L | 7:f906eb062d36 | 415 | { |
seyfrid_L | 7:f906eb062d36 | 416 | p_3 = 0; |
seyfrid_L | 7:f906eb062d36 | 417 | led3offC(); |
seyfrid_L | 7:f906eb062d36 | 418 | } |
seyfrid_L | 5:8c5c19be2126 | 419 | break; |
seyfrid_L | 5:8c5c19be2126 | 420 | } |
seyfrid_L | 5:8c5c19be2126 | 421 | |
seyfrid_L | 5:8c5c19be2126 | 422 | case C_4_BUTTON: |
seyfrid_L | 5:8c5c19be2126 | 423 | { |
seyfrid_L | 5:8c5c19be2126 | 424 | p_4 = 1; |
seyfrid_L | 6:8c336acc90f9 | 425 | led4onC(); |
seyfrid_L | 7:f906eb062d36 | 426 | if (poschodie > 4) |
seyfrid_L | 7:f906eb062d36 | 427 | { |
seyfrid_L | 7:f906eb062d36 | 428 | smerDole(); |
seyfrid_L | 7:f906eb062d36 | 429 | } else if (poschodie < 4) |
seyfrid_L | 7:f906eb062d36 | 430 | { |
seyfrid_L | 7:f906eb062d36 | 431 | smerHore(); |
seyfrid_L | 7:f906eb062d36 | 432 | } |
seyfrid_L | 7:f906eb062d36 | 433 | else |
seyfrid_L | 7:f906eb062d36 | 434 | { |
seyfrid_L | 7:f906eb062d36 | 435 | p_4 = 0; |
seyfrid_L | 7:f906eb062d36 | 436 | led4offC(); |
seyfrid_L | 7:f906eb062d36 | 437 | } |
seyfrid_L | 5:8c5c19be2126 | 438 | break; |
seyfrid_L | 5:8c5c19be2126 | 439 | } |
seyfrid_L | 6:8c336acc90f9 | 440 | |
seyfrid_L | 5:8c5c19be2126 | 441 | |
seyfrid_L | 5:8c5c19be2126 | 442 | |
seyfrid_L | 5:8c5c19be2126 | 443 | |
seyfrid_L | 5:8c5c19be2126 | 444 | } |
seyfrid_L | 5:8c5c19be2126 | 445 | |
seyfrid_L | 5:8c5c19be2126 | 446 | } |
seyfrid_L | 5:8c5c19be2126 | 447 | |
seyfrid_L | 8:3edf2e10899d | 448 | |
seyfrid_L | 8:3edf2e10899d | 449 | /* |
seyfrid_L | 8:3edf2e10899d | 450 | posiela watchdogu ze zije logika |
seyfrid_L | 8:3edf2e10899d | 451 | */ |
seyfrid_L | 7:f906eb062d36 | 452 | void watchdog() |
seyfrid_L | 7:f906eb062d36 | 453 | { |
seyfrid_L | 7:f906eb062d36 | 454 | int aDataIn[] = {0x03}; |
seyfrid_L | 7:f906eb062d36 | 455 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 7:f906eb062d36 | 456 | posliSpravu(WATCHDOG,0xAA,dataSize1,aDataIn); |
seyfrid_L | 7:f906eb062d36 | 457 | } |
seyfrid_L | 5:8c5c19be2126 | 458 | |
seyfrid_L | 5:8c5c19be2126 | 459 | |
seyfrid_L | 8:3edf2e10899d | 460 | /* |
seyfrid_L | 8:3edf2e10899d | 461 | vratenie poschodia |
seyfrid_L | 8:3edf2e10899d | 462 | */ |
seyfrid_L | 8:3edf2e10899d | 463 | |
seyfrid_L | 5:8c5c19be2126 | 464 | int dajPoschodie() |
seyfrid_L | 5:8c5c19be2126 | 465 | { |
seyfrid_L | 5:8c5c19be2126 | 466 | int poschodie; |
seyfrid_L | 5:8c5c19be2126 | 467 | |
seyfrid_L | 5:8c5c19be2126 | 468 | switch(adresa[2]) |
seyfrid_L | 5:8c5c19be2126 | 469 | { |
seyfrid_L | 5:8c5c19be2126 | 470 | case SWITCH_P: |
seyfrid_L | 5:8c5c19be2126 | 471 | { |
seyfrid_L | 5:8c5c19be2126 | 472 | poschodie = SWITCH_P; |
seyfrid_L | 5:8c5c19be2126 | 473 | cisloPochodia_dislpej = 0; |
seyfrid_L | 5:8c5c19be2126 | 474 | break; |
seyfrid_L | 5:8c5c19be2126 | 475 | } |
seyfrid_L | 5:8c5c19be2126 | 476 | |
seyfrid_L | 5:8c5c19be2126 | 477 | case SWITCH_1: |
seyfrid_L | 5:8c5c19be2126 | 478 | { |
seyfrid_L | 5:8c5c19be2126 | 479 | poschodie = SWITCH_1; |
seyfrid_L | 5:8c5c19be2126 | 480 | cisloPochodia_dislpej = 1; |
seyfrid_L | 5:8c5c19be2126 | 481 | break; |
seyfrid_L | 5:8c5c19be2126 | 482 | } |
seyfrid_L | 5:8c5c19be2126 | 483 | case SWITCH_2: |
seyfrid_L | 5:8c5c19be2126 | 484 | { |
seyfrid_L | 5:8c5c19be2126 | 485 | poschodie = SWITCH_2; |
seyfrid_L | 5:8c5c19be2126 | 486 | cisloPochodia_dislpej = 2; |
seyfrid_L | 5:8c5c19be2126 | 487 | break; |
seyfrid_L | 5:8c5c19be2126 | 488 | } |
seyfrid_L | 5:8c5c19be2126 | 489 | |
seyfrid_L | 5:8c5c19be2126 | 490 | case SWITCH_3: |
seyfrid_L | 5:8c5c19be2126 | 491 | { |
seyfrid_L | 5:8c5c19be2126 | 492 | poschodie = SWITCH_3; |
seyfrid_L | 5:8c5c19be2126 | 493 | cisloPochodia_dislpej = 3; |
seyfrid_L | 5:8c5c19be2126 | 494 | break; |
seyfrid_L | 5:8c5c19be2126 | 495 | } |
seyfrid_L | 5:8c5c19be2126 | 496 | case SWITCH_4: |
seyfrid_L | 5:8c5c19be2126 | 497 | { |
seyfrid_L | 5:8c5c19be2126 | 498 | poschodie = SWITCH_4; |
seyfrid_L | 5:8c5c19be2126 | 499 | cisloPochodia_dislpej = 4; |
seyfrid_L | 5:8c5c19be2126 | 500 | break; |
seyfrid_L | 5:8c5c19be2126 | 501 | } |
seyfrid_L | 5:8c5c19be2126 | 502 | |
seyfrid_L | 5:8c5c19be2126 | 503 | |
seyfrid_L | 5:8c5c19be2126 | 504 | |
seyfrid_L | 5:8c5c19be2126 | 505 | } |
seyfrid_L | 5:8c5c19be2126 | 506 | |
seyfrid_L | 5:8c5c19be2126 | 507 | return poschodie; |
seyfrid_L | 5:8c5c19be2126 | 508 | |
seyfrid_L | 5:8c5c19be2126 | 509 | } |
seyfrid_L | 5:8c5c19be2126 | 510 | |
seyfrid_L | 0:ce8ad4f285d3 | 511 | |
seyfrid_L | 8:3edf2e10899d | 512 | /* |
seyfrid_L | 8:3edf2e10899d | 513 | inicializcia vytahu |
seyfrid_L | 8:3edf2e10899d | 514 | */ |
seyfrid_L | 3:d473fb175cec | 515 | |
seyfrid_L | 0:ce8ad4f285d3 | 516 | |
seyfrid_L | 6:8c336acc90f9 | 517 | void init(){ |
seyfrid_L | 6:8c336acc90f9 | 518 | init_flag = 1; |
seyfrid_L | 6:8c336acc90f9 | 519 | uvolniEM(); |
seyfrid_L | 6:8c336acc90f9 | 520 | resWatch(); |
seyfrid_L | 6:8c336acc90f9 | 521 | smerDole(); |
seyfrid_L | 6:8c336acc90f9 | 522 | } |
seyfrid_L | 1:dbb18c6be96a | 523 | |
seyfrid_L | 8:3edf2e10899d | 524 | |
seyfrid_L | 8:3edf2e10899d | 525 | /* |
seyfrid_L | 8:3edf2e10899d | 526 | zastavenie vytahu |
seyfrid_L | 8:3edf2e10899d | 527 | */ |
seyfrid_L | 1:dbb18c6be96a | 528 | void stop() |
seyfrid_L | 1:dbb18c6be96a | 529 | { |
seyfrid_L | 1:dbb18c6be96a | 530 | int aDataIn[] = {0x1}; |
seyfrid_L | 6:8c336acc90f9 | 531 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 1:dbb18c6be96a | 532 | posliSpravu(MOTOR,0xAA,dataSize1,aDataIn); |
seyfrid_L | 6:8c336acc90f9 | 533 | odomkniVytah(); |
seyfrid_L | 1:dbb18c6be96a | 534 | } |
seyfrid_L | 1:dbb18c6be96a | 535 | |
seyfrid_L | 8:3edf2e10899d | 536 | /* |
seyfrid_L | 8:3edf2e10899d | 537 | pohyb hore postupne pridavanie rychlosti |
seyfrid_L | 8:3edf2e10899d | 538 | */ |
seyfrid_L | 8:3edf2e10899d | 539 | |
seyfrid_L | 1:dbb18c6be96a | 540 | void smerHore() |
seyfrid_L | 1:dbb18c6be96a | 541 | { |
seyfrid_L | 6:8c336acc90f9 | 542 | zamkniVytah(); |
seyfrid_L | 2:0c88bf3817fe | 543 | pohyb++; |
seyfrid_L | 2:0c88bf3817fe | 544 | if(pohyb_flag == 0){ |
seyfrid_L | 2:0c88bf3817fe | 545 | pohyb_flag = 1; |
seyfrid_L | 2:0c88bf3817fe | 546 | zamkniVytah(); |
seyfrid_L | 2:0c88bf3817fe | 547 | int aDataIn[] = {0x2, 0x64, 0x00, 0x00, 0x00}; |
seyfrid_L | 2:0c88bf3817fe | 548 | int dataSize = ARRAY_SIZE(aDataIn); |
seyfrid_L | 2:0c88bf3817fe | 549 | posliSpravu(MOTOR,0x00,dataSize, aDataIn); |
seyfrid_L | 2:0c88bf3817fe | 550 | smerJazdy = 1; |
seyfrid_L | 3:d473fb175cec | 551 | |
seyfrid_L | 2:0c88bf3817fe | 552 | } |
seyfrid_L | 2:0c88bf3817fe | 553 | if(pohyb > 2){ |
seyfrid_L | 2:0c88bf3817fe | 554 | pohyb = 0; |
seyfrid_L | 2:0c88bf3817fe | 555 | pohyb_flag = 1; |
seyfrid_L | 2:0c88bf3817fe | 556 | zamkniVytah(); |
seyfrid_L | 2:0c88bf3817fe | 557 | int aDataIn[] = {0x2, 0x64, 0x00, 0x00, 0x00}; |
seyfrid_L | 2:0c88bf3817fe | 558 | int dataSize = ARRAY_SIZE(aDataIn); |
seyfrid_L | 2:0c88bf3817fe | 559 | posliSpravu(MOTOR,0x00,dataSize, aDataIn); |
seyfrid_L | 2:0c88bf3817fe | 560 | smerJazdy = 1; |
seyfrid_L | 3:d473fb175cec | 561 | |
seyfrid_L | 2:0c88bf3817fe | 562 | } |
seyfrid_L | 2:0c88bf3817fe | 563 | |
seyfrid_L | 1:dbb18c6be96a | 564 | } |
seyfrid_L | 1:dbb18c6be96a | 565 | |
seyfrid_L | 8:3edf2e10899d | 566 | /* |
seyfrid_L | 8:3edf2e10899d | 567 | pohyb hore postupne pridavanie rychlosti |
seyfrid_L | 8:3edf2e10899d | 568 | */ |
seyfrid_L | 1:dbb18c6be96a | 569 | |
seyfrid_L | 1:dbb18c6be96a | 570 | void smerDole() |
seyfrid_L | 1:dbb18c6be96a | 571 | { |
seyfrid_L | 8:3edf2e10899d | 572 | |
seyfrid_L | 6:8c336acc90f9 | 573 | zamkniVytah(); |
seyfrid_L | 2:0c88bf3817fe | 574 | |
seyfrid_L | 2:0c88bf3817fe | 575 | pohyb++; |
seyfrid_L | 2:0c88bf3817fe | 576 | if(pohyb_flag == 0){ |
seyfrid_L | 2:0c88bf3817fe | 577 | pohyb_flag = -1; |
seyfrid_L | 2:0c88bf3817fe | 578 | zamkniVytah(); |
seyfrid_L | 2:0c88bf3817fe | 579 | int aDataIn[] = {0x2, 0x9C, 0xff, 0xff, 0xff}; |
seyfrid_L | 2:0c88bf3817fe | 580 | int dataSize = ARRAY_SIZE(aDataIn); |
seyfrid_L | 2:0c88bf3817fe | 581 | posliSpravu(MOTOR,0x00,dataSize, aDataIn); |
seyfrid_L | 2:0c88bf3817fe | 582 | smerJazdy = -1; |
seyfrid_L | 3:d473fb175cec | 583 | |
seyfrid_L | 2:0c88bf3817fe | 584 | } |
seyfrid_L | 2:0c88bf3817fe | 585 | if(pohyb > 2){ |
seyfrid_L | 2:0c88bf3817fe | 586 | pohyb = 0; |
seyfrid_L | 2:0c88bf3817fe | 587 | pohyb_flag = -1; |
seyfrid_L | 2:0c88bf3817fe | 588 | zamkniVytah(); |
seyfrid_L | 2:0c88bf3817fe | 589 | int aDataIn[] = {0x2, 0x9C, 0xff, 0xff, 0xff}; |
seyfrid_L | 2:0c88bf3817fe | 590 | int dataSize = ARRAY_SIZE(aDataIn); |
seyfrid_L | 2:0c88bf3817fe | 591 | posliSpravu(MOTOR,0x00,dataSize, aDataIn); |
seyfrid_L | 2:0c88bf3817fe | 592 | smerJazdy = -1; |
seyfrid_L | 3:d473fb175cec | 593 | |
seyfrid_L | 2:0c88bf3817fe | 594 | } |
seyfrid_L | 1:dbb18c6be96a | 595 | |
seyfrid_L | 1:dbb18c6be96a | 596 | } |
seyfrid_L | 1:dbb18c6be96a | 597 | |
seyfrid_L | 1:dbb18c6be96a | 598 | |
seyfrid_L | 8:3edf2e10899d | 599 | /* |
seyfrid_L | 8:3edf2e10899d | 600 | uzamknutie vytahu |
seyfrid_L | 8:3edf2e10899d | 601 | */ |
seyfrid_L | 1:dbb18c6be96a | 602 | void zamkniVytah() |
seyfrid_L | 1:dbb18c6be96a | 603 | { |
seyfrid_L | 1:dbb18c6be96a | 604 | int adata[1] = {0x01}; |
seyfrid_L | 1:dbb18c6be96a | 605 | int dataSize = ARRAY_SIZE(adata); |
seyfrid_L | 1:dbb18c6be96a | 606 | posliSpravu(0xF0,0xAA,dataSize,adata); |
seyfrid_L | 1:dbb18c6be96a | 607 | |
seyfrid_L | 1:dbb18c6be96a | 608 | } |
seyfrid_L | 1:dbb18c6be96a | 609 | |
seyfrid_L | 8:3edf2e10899d | 610 | /* |
seyfrid_L | 8:3edf2e10899d | 611 | odomknutie vytahu |
seyfrid_L | 8:3edf2e10899d | 612 | */ |
seyfrid_L | 8:3edf2e10899d | 613 | |
seyfrid_L | 1:dbb18c6be96a | 614 | void odomkniVytah() |
seyfrid_L | 1:dbb18c6be96a | 615 | { |
seyfrid_L | 1:dbb18c6be96a | 616 | int adata[1] = {0x00}; |
seyfrid_L | 1:dbb18c6be96a | 617 | int dataSize = ARRAY_SIZE(adata); |
seyfrid_L | 1:dbb18c6be96a | 618 | posliSpravu(0xF0,0xAA,dataSize,adata); |
seyfrid_L | 2:0c88bf3817fe | 619 | } |
seyfrid_L | 2:0c88bf3817fe | 620 | |
seyfrid_L | 8:3edf2e10899d | 621 | /* |
seyfrid_L | 8:3edf2e10899d | 622 | obsluha displeja vytahu |
seyfrid_L | 8:3edf2e10899d | 623 | */ |
seyfrid_L | 8:3edf2e10899d | 624 | |
seyfrid_L | 2:0c88bf3817fe | 625 | void disp_Vyt() |
seyfrid_L | 2:0c88bf3817fe | 626 | { |
seyfrid_L | 2:0c88bf3817fe | 627 | int aDataIn[2]; |
seyfrid_L | 2:0c88bf3817fe | 628 | int dataSize = ARRAY_SIZE(aDataIn); |
seyfrid_L | 2:0c88bf3817fe | 629 | switch(pohyb_flag){ |
seyfrid_L | 2:0c88bf3817fe | 630 | case 0:{ |
seyfrid_L | 2:0c88bf3817fe | 631 | aDataIn[0] = 0x03; |
seyfrid_L | 2:0c88bf3817fe | 632 | break; |
seyfrid_L | 2:0c88bf3817fe | 633 | } |
seyfrid_L | 2:0c88bf3817fe | 634 | case 1:{ |
seyfrid_L | 2:0c88bf3817fe | 635 | aDataIn[0] = 0x01; |
seyfrid_L | 2:0c88bf3817fe | 636 | break; |
seyfrid_L | 2:0c88bf3817fe | 637 | } |
seyfrid_L | 2:0c88bf3817fe | 638 | case -1:{ |
seyfrid_L | 2:0c88bf3817fe | 639 | aDataIn[0] = 0x02; |
seyfrid_L | 2:0c88bf3817fe | 640 | break; |
seyfrid_L | 2:0c88bf3817fe | 641 | } |
seyfrid_L | 2:0c88bf3817fe | 642 | } |
seyfrid_L | 2:0c88bf3817fe | 643 | switch(cisloPochodia_dislpej){ |
seyfrid_L | 2:0c88bf3817fe | 644 | case 0:{ |
seyfrid_L | 2:0c88bf3817fe | 645 | aDataIn[1] = 0x50; |
seyfrid_L | 2:0c88bf3817fe | 646 | break; |
seyfrid_L | 2:0c88bf3817fe | 647 | } |
seyfrid_L | 2:0c88bf3817fe | 648 | case 1:{ |
seyfrid_L | 2:0c88bf3817fe | 649 | aDataIn[1] = 0x31; |
seyfrid_L | 2:0c88bf3817fe | 650 | break; |
seyfrid_L | 2:0c88bf3817fe | 651 | } |
seyfrid_L | 2:0c88bf3817fe | 652 | case 2:{ |
seyfrid_L | 2:0c88bf3817fe | 653 | aDataIn[1] = 0x32; |
seyfrid_L | 2:0c88bf3817fe | 654 | break; |
seyfrid_L | 2:0c88bf3817fe | 655 | } |
seyfrid_L | 2:0c88bf3817fe | 656 | case 3:{ |
seyfrid_L | 2:0c88bf3817fe | 657 | aDataIn[1] = 0x33; |
seyfrid_L | 2:0c88bf3817fe | 658 | break; |
seyfrid_L | 2:0c88bf3817fe | 659 | } |
seyfrid_L | 2:0c88bf3817fe | 660 | case 4:{ |
seyfrid_L | 2:0c88bf3817fe | 661 | aDataIn[1] = 0x34; |
seyfrid_L | 2:0c88bf3817fe | 662 | break; |
seyfrid_L | 2:0c88bf3817fe | 663 | } |
seyfrid_L | 2:0c88bf3817fe | 664 | } |
seyfrid_L | 2:0c88bf3817fe | 665 | if(cisloPochodia_dislpej != disp_poschodie){ |
seyfrid_L | 2:0c88bf3817fe | 666 | posliSpravu(C_LCD,0x00,dataSize, aDataIn); |
seyfrid_L | 2:0c88bf3817fe | 667 | }else if(pohyb_flag != display_smer){ |
seyfrid_L | 2:0c88bf3817fe | 668 | posliSpravu(C_LCD,0x00,dataSize, aDataIn); |
seyfrid_L | 2:0c88bf3817fe | 669 | } |
seyfrid_L | 2:0c88bf3817fe | 670 | disp_poschodie = cisloPochodia_dislpej; |
seyfrid_L | 2:0c88bf3817fe | 671 | display_smer = pohyb_flag; |
seyfrid_L | 5:8c5c19be2126 | 672 | } |
seyfrid_L | 8:3edf2e10899d | 673 | /**********************raiadenie lediek vytahu*********************************/ |
seyfrid_L | 5:8c5c19be2126 | 674 | void ledPon() |
seyfrid_L | 5:8c5c19be2126 | 675 | { |
seyfrid_L | 5:8c5c19be2126 | 676 | int aDataIn[] = {0x1}; |
seyfrid_L | 5:8c5c19be2126 | 677 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 678 | posliSpravu(0x10,0xAA,dataSize1,aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 679 | } |
seyfrid_L | 5:8c5c19be2126 | 680 | |
seyfrid_L | 5:8c5c19be2126 | 681 | void led1on() |
seyfrid_L | 5:8c5c19be2126 | 682 | { |
seyfrid_L | 5:8c5c19be2126 | 683 | int aDataIn[] = {0x1}; |
seyfrid_L | 5:8c5c19be2126 | 684 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 685 | posliSpravu(0x11,0xAA,dataSize1,aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 686 | } |
seyfrid_L | 5:8c5c19be2126 | 687 | |
seyfrid_L | 5:8c5c19be2126 | 688 | void led2on() |
seyfrid_L | 5:8c5c19be2126 | 689 | { |
seyfrid_L | 5:8c5c19be2126 | 690 | int aDataIn[] = {0x1}; |
seyfrid_L | 5:8c5c19be2126 | 691 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 692 | posliSpravu(0x12,0xAA,dataSize1,aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 693 | } |
seyfrid_L | 5:8c5c19be2126 | 694 | |
seyfrid_L | 5:8c5c19be2126 | 695 | void led3on() |
seyfrid_L | 5:8c5c19be2126 | 696 | { |
seyfrid_L | 5:8c5c19be2126 | 697 | int aDataIn[] = {0x1}; |
seyfrid_L | 5:8c5c19be2126 | 698 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 699 | posliSpravu(0x13,0xAA,dataSize1,aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 700 | } |
seyfrid_L | 5:8c5c19be2126 | 701 | |
seyfrid_L | 5:8c5c19be2126 | 702 | void led4on() |
seyfrid_L | 5:8c5c19be2126 | 703 | { |
seyfrid_L | 5:8c5c19be2126 | 704 | int aDataIn[] = {0x1}; |
seyfrid_L | 5:8c5c19be2126 | 705 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 706 | posliSpravu(0x14,0xAA,dataSize1,aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 707 | } |
seyfrid_L | 5:8c5c19be2126 | 708 | |
seyfrid_L | 5:8c5c19be2126 | 709 | |
seyfrid_L | 5:8c5c19be2126 | 710 | |
seyfrid_L | 5:8c5c19be2126 | 711 | void ledPoff() |
seyfrid_L | 5:8c5c19be2126 | 712 | { |
seyfrid_L | 5:8c5c19be2126 | 713 | int aDataIn[] = {0x0}; |
seyfrid_L | 5:8c5c19be2126 | 714 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 715 | posliSpravu(0x10,0xAA,dataSize1,aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 716 | } |
seyfrid_L | 5:8c5c19be2126 | 717 | |
seyfrid_L | 5:8c5c19be2126 | 718 | void led1off() |
seyfrid_L | 5:8c5c19be2126 | 719 | { |
seyfrid_L | 5:8c5c19be2126 | 720 | int aDataIn[] = {0x0}; |
seyfrid_L | 5:8c5c19be2126 | 721 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 722 | posliSpravu(0x11,0xAA,dataSize1,aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 723 | } |
seyfrid_L | 5:8c5c19be2126 | 724 | |
seyfrid_L | 5:8c5c19be2126 | 725 | void led2off() |
seyfrid_L | 5:8c5c19be2126 | 726 | { |
seyfrid_L | 5:8c5c19be2126 | 727 | int aDataIn[] = {0x0}; |
seyfrid_L | 5:8c5c19be2126 | 728 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 729 | posliSpravu(0x12,0xAA,dataSize1,aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 730 | } |
seyfrid_L | 5:8c5c19be2126 | 731 | |
seyfrid_L | 5:8c5c19be2126 | 732 | void led3off() |
seyfrid_L | 5:8c5c19be2126 | 733 | { |
seyfrid_L | 5:8c5c19be2126 | 734 | int aDataIn[] = {0x0}; |
seyfrid_L | 5:8c5c19be2126 | 735 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 736 | posliSpravu(0x13,0xAA,dataSize1,aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 737 | } |
seyfrid_L | 5:8c5c19be2126 | 738 | |
seyfrid_L | 5:8c5c19be2126 | 739 | void led4off() |
seyfrid_L | 5:8c5c19be2126 | 740 | { |
seyfrid_L | 5:8c5c19be2126 | 741 | int aDataIn[] = {0x0}; |
seyfrid_L | 5:8c5c19be2126 | 742 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 743 | posliSpravu(0x14,0xAA,dataSize1,aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 744 | } |
seyfrid_L | 5:8c5c19be2126 | 745 | |
seyfrid_L | 5:8c5c19be2126 | 746 | |
seyfrid_L | 5:8c5c19be2126 | 747 | /************************************************************************************/ |
seyfrid_L | 5:8c5c19be2126 | 748 | |
seyfrid_L | 5:8c5c19be2126 | 749 | |
seyfrid_L | 5:8c5c19be2126 | 750 | void ledPonC() |
seyfrid_L | 5:8c5c19be2126 | 751 | { |
seyfrid_L | 5:8c5c19be2126 | 752 | int aDataIn[] = {0x1}; |
seyfrid_L | 5:8c5c19be2126 | 753 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 754 | posliSpravu(0x20,0xAA,dataSize1,aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 755 | } |
seyfrid_L | 5:8c5c19be2126 | 756 | |
seyfrid_L | 5:8c5c19be2126 | 757 | void led1onC() |
seyfrid_L | 5:8c5c19be2126 | 758 | { |
seyfrid_L | 5:8c5c19be2126 | 759 | int aDataIn[] = {0x1}; |
seyfrid_L | 5:8c5c19be2126 | 760 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 761 | posliSpravu(0x21,0xAA,dataSize1,aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 762 | } |
seyfrid_L | 5:8c5c19be2126 | 763 | |
seyfrid_L | 5:8c5c19be2126 | 764 | void led2onC() |
seyfrid_L | 5:8c5c19be2126 | 765 | { |
seyfrid_L | 5:8c5c19be2126 | 766 | int aDataIn[] = {0x1}; |
seyfrid_L | 5:8c5c19be2126 | 767 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 768 | posliSpravu(0x22,0xAA,dataSize1,aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 769 | } |
seyfrid_L | 5:8c5c19be2126 | 770 | |
seyfrid_L | 5:8c5c19be2126 | 771 | void led3onC() |
seyfrid_L | 5:8c5c19be2126 | 772 | { |
seyfrid_L | 5:8c5c19be2126 | 773 | int aDataIn[] = {0x1}; |
seyfrid_L | 5:8c5c19be2126 | 774 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 775 | posliSpravu(0x23,0xAA,dataSize1,aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 776 | } |
seyfrid_L | 5:8c5c19be2126 | 777 | |
seyfrid_L | 5:8c5c19be2126 | 778 | void led4onC() |
seyfrid_L | 5:8c5c19be2126 | 779 | { |
seyfrid_L | 5:8c5c19be2126 | 780 | int aDataIn[] = {0x1}; |
seyfrid_L | 5:8c5c19be2126 | 781 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 782 | posliSpravu(0x24,0xAA,dataSize1,aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 783 | } |
seyfrid_L | 5:8c5c19be2126 | 784 | |
seyfrid_L | 5:8c5c19be2126 | 785 | |
seyfrid_L | 5:8c5c19be2126 | 786 | |
seyfrid_L | 5:8c5c19be2126 | 787 | void ledPoffC() |
seyfrid_L | 5:8c5c19be2126 | 788 | { |
seyfrid_L | 5:8c5c19be2126 | 789 | int aDataIn[] = {0x0}; |
seyfrid_L | 5:8c5c19be2126 | 790 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 791 | posliSpravu(0x20,0xAA,dataSize1,aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 792 | } |
seyfrid_L | 5:8c5c19be2126 | 793 | |
seyfrid_L | 5:8c5c19be2126 | 794 | void led1offC() |
seyfrid_L | 5:8c5c19be2126 | 795 | { |
seyfrid_L | 5:8c5c19be2126 | 796 | int aDataIn[] = {0x0}; |
seyfrid_L | 5:8c5c19be2126 | 797 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 798 | posliSpravu(0x21,0xAA,dataSize1,aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 799 | } |
seyfrid_L | 5:8c5c19be2126 | 800 | |
seyfrid_L | 5:8c5c19be2126 | 801 | void led2offC() |
seyfrid_L | 5:8c5c19be2126 | 802 | { |
seyfrid_L | 5:8c5c19be2126 | 803 | int aDataIn[] = {0x0}; |
seyfrid_L | 5:8c5c19be2126 | 804 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 805 | posliSpravu(0x22,0xAA,dataSize1,aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 806 | } |
seyfrid_L | 5:8c5c19be2126 | 807 | |
seyfrid_L | 5:8c5c19be2126 | 808 | void led3offC() |
seyfrid_L | 5:8c5c19be2126 | 809 | { |
seyfrid_L | 5:8c5c19be2126 | 810 | int aDataIn[] = {0x0}; |
seyfrid_L | 5:8c5c19be2126 | 811 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 812 | posliSpravu(0x23,0xAA,dataSize1,aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 813 | } |
seyfrid_L | 5:8c5c19be2126 | 814 | |
seyfrid_L | 5:8c5c19be2126 | 815 | void led4offC() |
seyfrid_L | 5:8c5c19be2126 | 816 | { |
seyfrid_L | 5:8c5c19be2126 | 817 | int aDataIn[] = {0x0}; |
seyfrid_L | 5:8c5c19be2126 | 818 | int dataSize1 = ARRAY_SIZE(aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 819 | posliSpravu(0x24,0xAA,dataSize1,aDataIn); |
seyfrid_L | 5:8c5c19be2126 | 820 | } |
seyfrid_L | 5:8c5c19be2126 | 821 |