Benedikt Kicin, vytah semestralka

Dependencies:   mbed

Committer:
kicin2
Date:
Wed Jan 24 07:55:50 2018 +0000
Revision:
0:2574b54351ed
Child:
1:5e6b55099364
kicin2 vytah

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kicin2 0:2574b54351ed 1 /*!
kicin2 0:2574b54351ed 2 * \file riadenie.cpp
kicin2 0:2574b54351ed 3 * \author Benedikt Kicin
kicin2 0:2574b54351ed 4 *Subor riadenie.cpp sluzi na obsluhu vytahu na zaklade prijatych poziadaviek*/
kicin2 0:2574b54351ed 5
kicin2 0:2574b54351ed 6 #include "riadenie.h"
kicin2 0:2574b54351ed 7
kicin2 0:2574b54351ed 8 unsigned char poschodie = 0xff;
kicin2 0:2574b54351ed 9 unsigned char ledka = 0xff;
kicin2 0:2574b54351ed 10 bool spravnePoschodie = true;
kicin2 0:2574b54351ed 11 bool ostan = false;
kicin2 0:2574b54351ed 12 unsigned char aktualizujDisplej = 0xff;
kicin2 0:2574b54351ed 13
kicin2 0:2574b54351ed 14 /**
kicin2 0:2574b54351ed 15 *Funkcia sluzi na vykonanie prislusnych poziadaviek podla adresy odosielatela a prijateho bajtu
kicin2 0:2574b54351ed 16 *@param adresaOdos - adresa odosielatela
kicin2 0:2574b54351ed 17 *@param bajt - prijaty bajt
kicin2 0:2574b54351ed 18 */
kicin2 0:2574b54351ed 19 void vykonaj(unsigned char adresaOdos,unsigned char bajt)
kicin2 0:2574b54351ed 20 {
kicin2 0:2574b54351ed 21 if(bajt == 0xff && zamknute == false){
kicin2 0:2574b54351ed 22 switch (adresaOdos) {
kicin2 0:2574b54351ed 23 case 0xb4: //vnutri vytahu
kicin2 0:2574b54351ed 24 poschodie = 4;
kicin2 0:2574b54351ed 25 ledka = 0x24;
kicin2 0:2574b54351ed 26 break;
kicin2 0:2574b54351ed 27 case 0xc4: //pred vytahom
kicin2 0:2574b54351ed 28 poschodie = 4;
kicin2 0:2574b54351ed 29 ledka = 0x14;
kicin2 0:2574b54351ed 30 break;
kicin2 0:2574b54351ed 31 case 0xb3:
kicin2 0:2574b54351ed 32 poschodie = 3;
kicin2 0:2574b54351ed 33 ledka = 0x23;
kicin2 0:2574b54351ed 34 break;
kicin2 0:2574b54351ed 35 case 0xc3:
kicin2 0:2574b54351ed 36 poschodie = 3;
kicin2 0:2574b54351ed 37 ledka = 0x13;
kicin2 0:2574b54351ed 38 break;
kicin2 0:2574b54351ed 39 case 0xb2:
kicin2 0:2574b54351ed 40 poschodie = 2;
kicin2 0:2574b54351ed 41 ledka= 0x22;
kicin2 0:2574b54351ed 42 break;
kicin2 0:2574b54351ed 43 case 0xc2:
kicin2 0:2574b54351ed 44 poschodie= 2;
kicin2 0:2574b54351ed 45 ledka = 0x12;
kicin2 0:2574b54351ed 46 break;
kicin2 0:2574b54351ed 47 case 0xb1:
kicin2 0:2574b54351ed 48 poschodie = 1;
kicin2 0:2574b54351ed 49 ledka = 0x21;
kicin2 0:2574b54351ed 50 break;
kicin2 0:2574b54351ed 51 case 0xc1:
kicin2 0:2574b54351ed 52 poschodie = 1;
kicin2 0:2574b54351ed 53 ledka = 0x11;
kicin2 0:2574b54351ed 54 break;
kicin2 0:2574b54351ed 55 case 0xb0:
kicin2 0:2574b54351ed 56 poschodie= 0;
kicin2 0:2574b54351ed 57 ledka = 0x20;
kicin2 0:2574b54351ed 58 break;
kicin2 0:2574b54351ed 59 case 0xc0:
kicin2 0:2574b54351ed 60 poschodie = 0;
kicin2 0:2574b54351ed 61 ledka = 0x10;
kicin2 0:2574b54351ed 62 break;
kicin2 0:2574b54351ed 63 /*case 0xb4:
kicin2 0:2574b54351ed 64 poschodie = 4;
kicin2 0:2574b54351ed 65 if (0xb4)
kicin2 0:2574b54351ed 66 ledka = 0x24;
kicin2 0:2574b54351ed 67 else
kicin2 0:2574b54351ed 68 case 0xc4:
kicin2 0:2574b54351ed 69 ledka = 0x14;
kicin2 0:2574b54351ed 70 break;
kicin2 0:2574b54351ed 71 case 0xb3:
kicin2 0:2574b54351ed 72 poschodie = 3;
kicin2 0:2574b54351ed 73 if (0xb3)
kicin2 0:2574b54351ed 74 ledka = 0x23;
kicin2 0:2574b54351ed 75 else
kicin2 0:2574b54351ed 76 case 0xc3:
kicin2 0:2574b54351ed 77 ledka = 0x13;
kicin2 0:2574b54351ed 78 break;
kicin2 0:2574b54351ed 79 case 0xb2:
kicin2 0:2574b54351ed 80 poschodie = 2;
kicin2 0:2574b54351ed 81 if (0xb2)
kicin2 0:2574b54351ed 82 ledka= 0x22;
kicin2 0:2574b54351ed 83 else
kicin2 0:2574b54351ed 84 case 0xc2:
kicin2 0:2574b54351ed 85 ledka = 0x12;
kicin2 0:2574b54351ed 86 break;
kicin2 0:2574b54351ed 87 case 0xb1:
kicin2 0:2574b54351ed 88 poschodie = 1;
kicin2 0:2574b54351ed 89 if (0xb1)
kicin2 0:2574b54351ed 90 ledka = 0x21;
kicin2 0:2574b54351ed 91 else
kicin2 0:2574b54351ed 92 case 0xc1:
kicin2 0:2574b54351ed 93 ledka = 0x11;
kicin2 0:2574b54351ed 94 break;
kicin2 0:2574b54351ed 95 case 0xb0:
kicin2 0:2574b54351ed 96 poschodie= 0;
kicin2 0:2574b54351ed 97 if (0xb0)
kicin2 0:2574b54351ed 98 ledka = 0x20;
kicin2 0:2574b54351ed 99 else
kicin2 0:2574b54351ed 100 case 0xc0:
kicin2 0:2574b54351ed 101 ledka = 0x10;
kicin2 0:2574b54351ed 102 break;*/
kicin2 0:2574b54351ed 103 }
kicin2 0:2574b54351ed 104 }
kicin2 0:2574b54351ed 105 //sprava senzorov pri vytahu
kicin2 0:2574b54351ed 106 else if (bajt == 0x01) { //0x01 - vytah sa priblizuje k senzoru; 0x02 - je pri senzore
kicin2 0:2574b54351ed 107 switch (adresaOdos) {
kicin2 0:2574b54351ed 108 case 0xe4: //limit switch 0xe4 - snimaci senzor na 4.poschodi
kicin2 0:2574b54351ed 109 if(poschodie == 4){
kicin2 0:2574b54351ed 110 spravnePoschodie = true;
kicin2 0:2574b54351ed 111 ostan = true;}
kicin2 0:2574b54351ed 112 else
kicin2 0:2574b54351ed 113 aktualizujDisplej = 0x34; //0x3y - zobrazovanie poschodia displayiu (y - cislo poschodia)
kicin2 0:2574b54351ed 114 break;
kicin2 0:2574b54351ed 115 case 0xe3:
kicin2 0:2574b54351ed 116 if(poschodie == 3){
kicin2 0:2574b54351ed 117 spravnePoschodie = true;
kicin2 0:2574b54351ed 118 ostan = true;}
kicin2 0:2574b54351ed 119 else
kicin2 0:2574b54351ed 120 aktualizujDisplej = 0x33;
kicin2 0:2574b54351ed 121 break;
kicin2 0:2574b54351ed 122 case 0xe2:
kicin2 0:2574b54351ed 123 if(poschodie == 2){
kicin2 0:2574b54351ed 124 spravnePoschodie = true;
kicin2 0:2574b54351ed 125 ostan = true;}
kicin2 0:2574b54351ed 126 else
kicin2 0:2574b54351ed 127 aktualizujDisplej = 0x32;
kicin2 0:2574b54351ed 128 break;
kicin2 0:2574b54351ed 129 case 0xe1:
kicin2 0:2574b54351ed 130 if(poschodie == 1){
kicin2 0:2574b54351ed 131 spravnePoschodie = true;
kicin2 0:2574b54351ed 132 ostan = true;}
kicin2 0:2574b54351ed 133 else
kicin2 0:2574b54351ed 134 aktualizujDisplej = 0x31;
kicin2 0:2574b54351ed 135 break;
kicin2 0:2574b54351ed 136 case 0xe0:
kicin2 0:2574b54351ed 137 if(poschodie == 0){
kicin2 0:2574b54351ed 138 spravnePoschodie = true;
kicin2 0:2574b54351ed 139 ostan = true;}
kicin2 0:2574b54351ed 140 else
kicin2 0:2574b54351ed 141 aktualizujDisplej = 0x30;
kicin2 0:2574b54351ed 142 break;
kicin2 0:2574b54351ed 143 }
kicin2 0:2574b54351ed 144 }
kicin2 0:2574b54351ed 145 }