
Benedikt Kicin, vytah semestralka
riadenie.cpp@1:5e6b55099364, 2018-01-24 (annotated)
- Committer:
- kicin2
- Date:
- Wed Jan 24 08:31:19 2018 +0000
- Revision:
- 1:5e6b55099364
- Parent:
- 0:2574b54351ed
kicin2 vytah
Who changed what in which revision?
User | Revision | Line number | New 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 | 1:5e6b55099364 | 25 | ledka = 0x24; //stlacenie buttonu 0xb4 rozsvieti led 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 | } |