semestralka

Dependencies:   FRDM_MMA8451Q mbed

Committer:
seyfrid_L
Date:
Mon Feb 06 16:21:00 2017 +0000
Revision:
0:6f3a386422fa
hotovo

Who changed what in which revision?

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