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