Nathan Schwartz
/
Final_Home_Base
Home Base for the home security system
Fork of rtos_basic by
main.cpp@11:e28ffa142a7b, 2018-04-30 (annotated)
- Committer:
- natschwa
- Date:
- Mon Apr 30 17:12:34 2018 +0000
- Revision:
- 11:e28ffa142a7b
- Parent:
- 10:dc33cd3f4eb9
Working Home Base
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
natschwa | 11:e28ffa142a7b | 1 | //Final_Home_Base |
natschwa | 11:e28ffa142a7b | 2 | |
emilmont | 1:491820ee784d | 3 | #include "mbed.h" |
natschwa | 11:e28ffa142a7b | 4 | #include "rtos.h" |
natschwa | 11:e28ffa142a7b | 5 | |
natschwa | 11:e28ffa142a7b | 6 | #define RX_MC PTC14 |
natschwa | 11:e28ffa142a7b | 7 | #define TX_MC PTC15 |
natschwa | 11:e28ffa142a7b | 8 | |
natschwa | 11:e28ffa142a7b | 9 | #define RX_HS PTB10 |
natschwa | 11:e28ffa142a7b | 10 | #define TX_HS PTB11 |
natschwa | 11:e28ffa142a7b | 11 | |
natschwa | 11:e28ffa142a7b | 12 | Serial BlueTooth_MC(TX_MC, RX_MC); // bluetooth serial port |
natschwa | 11:e28ffa142a7b | 13 | Serial BlueTooth_HS(TX_HS, RX_HS); // bluetooth serial port |
natschwa | 11:e28ffa142a7b | 14 | |
natschwa | 11:e28ffa142a7b | 15 | |
natschwa | 11:e28ffa142a7b | 16 | Timeout response; // Timer |
natschwa | 11:e28ffa142a7b | 17 | |
natschwa | 11:e28ffa142a7b | 18 | /*GPIO declaration*/ |
natschwa | 11:e28ffa142a7b | 19 | DigitalOut Green(LED_GREEN); |
natschwa | 11:e28ffa142a7b | 20 | DigitalOut Red(LED_RED); |
natschwa | 11:e28ffa142a7b | 21 | DigitalOut Blue(LED_BLUE); |
natschwa | 11:e28ffa142a7b | 22 | |
natschwa | 11:e28ffa142a7b | 23 | DigitalIn sw2(SW2); |
natschwa | 11:e28ffa142a7b | 24 | DigitalIn sw3(SW3); |
natschwa | 11:e28ffa142a7b | 25 | //DigitalIn motion(D8); |
natschwa | 11:e28ffa142a7b | 26 | |
natschwa | 11:e28ffa142a7b | 27 | /*GPIO for keypad*/ |
natschwa | 11:e28ffa142a7b | 28 | DigitalOut col4(D0); |
natschwa | 11:e28ffa142a7b | 29 | DigitalOut col3(D1); |
natschwa | 11:e28ffa142a7b | 30 | DigitalOut col2(D2); |
natschwa | 11:e28ffa142a7b | 31 | DigitalOut col1(D3); |
natschwa | 11:e28ffa142a7b | 32 | DigitalIn row4(D4); |
natschwa | 11:e28ffa142a7b | 33 | DigitalIn row3(D5); |
natschwa | 11:e28ffa142a7b | 34 | DigitalIn row2(D6); |
natschwa | 11:e28ffa142a7b | 35 | DigitalIn row1(D7); |
natschwa | 11:e28ffa142a7b | 36 | |
natschwa | 11:e28ffa142a7b | 37 | //keypad Lookup Table |
natschwa | 11:e28ffa142a7b | 38 | char pad[4][4] = {{'1', '2', '3', 'A'}, |
natschwa | 11:e28ffa142a7b | 39 | {'4', '5', '6', 'B'}, |
natschwa | 11:e28ffa142a7b | 40 | {'7', '8', '9', 'C'}, |
natschwa | 11:e28ffa142a7b | 41 | {'*', '0', '#', 'D'}}; |
natschwa | 11:e28ffa142a7b | 42 | |
natschwa | 11:e28ffa142a7b | 43 | |
natschwa | 11:e28ffa142a7b | 44 | |
natschwa | 11:e28ffa142a7b | 45 | Thread thread1; |
natschwa | 11:e28ffa142a7b | 46 | Thread thread2; |
natschwa | 11:e28ffa142a7b | 47 | |
natschwa | 11:e28ffa142a7b | 48 | void LED_Color(char color,int blink); |
natschwa | 11:e28ffa142a7b | 49 | void read_BlueTooth(); |
natschwa | 11:e28ffa142a7b | 50 | void Timer_thread(); |
natschwa | 11:e28ffa142a7b | 51 | void sendMsg(char msg,int time,char addr); |
natschwa | 11:e28ffa142a7b | 52 | int CheckPass(void); |
natschwa | 11:e28ffa142a7b | 53 | char getkey(void); |
natschwa | 11:e28ffa142a7b | 54 | |
natschwa | 11:e28ffa142a7b | 55 | |
natschwa | 11:e28ffa142a7b | 56 | char correct = 'C'; |
natschwa | 11:e28ffa142a7b | 57 | char alert = 'A'; |
natschwa | 11:e28ffa142a7b | 58 | char MC_ConnectREQ = 'M'; // connect Request |
natschwa | 11:e28ffa142a7b | 59 | char MC_ConnectACK = 'M'; |
natschwa | 11:e28ffa142a7b | 60 | char HS_ConnectREQ = 'H'; // connect Request |
natschwa | 11:e28ffa142a7b | 61 | char HS_ConnectACK = 'H'; |
natschwa | 11:e28ffa142a7b | 62 | char ReconnectREQ = 'R'; |
natschwa | 11:e28ffa142a7b | 63 | char IntruderAlert = 'I'; |
natschwa | 11:e28ffa142a7b | 64 | char Fail = 'F'; |
natschwa | 11:e28ffa142a7b | 65 | char key = 0; |
natschwa | 11:e28ffa142a7b | 66 | |
natschwa | 11:e28ffa142a7b | 67 | char MonitorCenter = 'M'; |
natschwa | 11:e28ffa142a7b | 68 | char HomeSystem = 'H'; |
natschwa | 11:e28ffa142a7b | 69 | |
natschwa | 11:e28ffa142a7b | 70 | char DefaultPass[4] = {'1','2','3','4'}; |
natschwa | 11:e28ffa142a7b | 71 | char Password[4] = {0}; |
natschwa | 11:e28ffa142a7b | 72 | |
natschwa | 11:e28ffa142a7b | 73 | int timer = 0; |
natschwa | 11:e28ffa142a7b | 74 | int entryCount = 0; |
natschwa | 11:e28ffa142a7b | 75 | |
natschwa | 11:e28ffa142a7b | 76 | bool motionFlg = false; |
natschwa | 11:e28ffa142a7b | 77 | bool Connect_MC_Flg = false; //connect to monitoring center |
natschwa | 11:e28ffa142a7b | 78 | bool Connect_HS_Flg = false; //connect to Home System |
natschwa | 11:e28ffa142a7b | 79 | bool ReconnectFlg = true; |
natschwa | 11:e28ffa142a7b | 80 | bool intruderFlg = false; |
natschwa | 11:e28ffa142a7b | 81 | bool readyFlg = false; |
natschwa | 11:e28ffa142a7b | 82 | bool motion = false; |
natschwa | 11:e28ffa142a7b | 83 | |
natschwa | 11:e28ffa142a7b | 84 | int main() |
natschwa | 11:e28ffa142a7b | 85 | { |
natschwa | 11:e28ffa142a7b | 86 | |
natschwa | 11:e28ffa142a7b | 87 | BlueTooth_MC.baud(9600); |
natschwa | 11:e28ffa142a7b | 88 | BlueTooth_HS.baud(9600); |
natschwa | 11:e28ffa142a7b | 89 | |
natschwa | 11:e28ffa142a7b | 90 | LED_Color('P',0); |
natschwa | 11:e28ffa142a7b | 91 | |
natschwa | 11:e28ffa142a7b | 92 | thread1.start(read_BlueTooth); |
natschwa | 11:e28ffa142a7b | 93 | //thread2.start(motion_thread); |
natschwa | 11:e28ffa142a7b | 94 | |
natschwa | 11:e28ffa142a7b | 95 | while(true) // detecting motion |
natschwa | 11:e28ffa142a7b | 96 | { |
natschwa | 11:e28ffa142a7b | 97 | if(ReconnectFlg){ |
natschwa | 11:e28ffa142a7b | 98 | /* |
natschwa | 11:e28ffa142a7b | 99 | printf("\n\rMaster Connecting to MS:\n\r"); |
natschwa | 11:e28ffa142a7b | 100 | while (!Connect_MC_Flg){ |
natschwa | 11:e28ffa142a7b | 101 | sendMsg(MC_ConnectREQ,1,MonitorCenter); |
natschwa | 11:e28ffa142a7b | 102 | wait(0.2f); // wait a small period of time |
natschwa | 11:e28ffa142a7b | 103 | } |
natschwa | 11:e28ffa142a7b | 104 | |
natschwa | 11:e28ffa142a7b | 105 | printf(">Connected\n\rMaster Connecting to HS:\n\r"); |
natschwa | 11:e28ffa142a7b | 106 | while (!Connect_HS_Flg){ |
natschwa | 11:e28ffa142a7b | 107 | sendMsg(HS_ConnectREQ,1,HomeSystem); |
natschwa | 11:e28ffa142a7b | 108 | wait(0.2f); // wait a small period of time |
natschwa | 11:e28ffa142a7b | 109 | } |
natschwa | 11:e28ffa142a7b | 110 | */ |
natschwa | 11:e28ffa142a7b | 111 | |
natschwa | 11:e28ffa142a7b | 112 | //Connect_MC_Flg = false; // reset status incase of reconnect request |
natschwa | 11:e28ffa142a7b | 113 | printf(">Connected\n\rAck Recieved from Slaves!\n\rSystem Ready\n\r"); |
natschwa | 11:e28ffa142a7b | 114 | ReconnectFlg = false; |
natschwa | 11:e28ffa142a7b | 115 | LED_Color('B',0); |
natschwa | 11:e28ffa142a7b | 116 | //thread2.start(motion_thread); |
natschwa | 11:e28ffa142a7b | 117 | } |
natschwa | 11:e28ffa142a7b | 118 | |
natschwa | 11:e28ffa142a7b | 119 | if(motion){ |
natschwa | 11:e28ffa142a7b | 120 | printf("Motion Detected\n\r Alert Sent!\n\r"); |
natschwa | 11:e28ffa142a7b | 121 | thread1.terminate(); //stop reading bluetooth |
natschwa | 11:e28ffa142a7b | 122 | motionFlg = true; |
natschwa | 11:e28ffa142a7b | 123 | |
natschwa | 11:e28ffa142a7b | 124 | while(key != 'D' && motionFlg){ |
natschwa | 11:e28ffa142a7b | 125 | key = getkey(); //ready keypad |
natschwa | 11:e28ffa142a7b | 126 | wait(0.15f); //wait for button debounce |
natschwa | 11:e28ffa142a7b | 127 | |
natschwa | 11:e28ffa142a7b | 128 | if ( key != '!' ){ // use has 10 second window to enter password after motion dection |
natschwa | 11:e28ffa142a7b | 129 | Password[entryCount++] = key; |
natschwa | 11:e28ffa142a7b | 130 | printf(" key: %c\n",key); |
natschwa | 11:e28ffa142a7b | 131 | if(entryCount > 4 ) |
natschwa | 11:e28ffa142a7b | 132 | entryCount = 0; |
natschwa | 11:e28ffa142a7b | 133 | } |
natschwa | 11:e28ffa142a7b | 134 | sendMsg(alert,1,MonitorCenter); // send alert to MS |
natschwa | 11:e28ffa142a7b | 135 | LED_Color('Y',0); |
natschwa | 11:e28ffa142a7b | 136 | printf( "\rTimer: %d", timer/10); |
natschwa | 11:e28ffa142a7b | 137 | |
natschwa | 11:e28ffa142a7b | 138 | if(timer++ >= 100) |
natschwa | 11:e28ffa142a7b | 139 | { |
natschwa | 11:e28ffa142a7b | 140 | printf("\n\rTimeOut!\n\r"); |
natschwa | 11:e28ffa142a7b | 141 | LED_Color('R',0); |
natschwa | 11:e28ffa142a7b | 142 | sendMsg(Fail,200,MonitorCenter); //send Fail to MS |
natschwa | 11:e28ffa142a7b | 143 | sendMsg(Fail,200,HomeSystem); //send Fail to MS |
natschwa | 11:e28ffa142a7b | 144 | motionFlg = false; //end of motion session |
natschwa | 11:e28ffa142a7b | 145 | } |
natschwa | 11:e28ffa142a7b | 146 | |
natschwa | 11:e28ffa142a7b | 147 | }//end while |
natschwa | 11:e28ffa142a7b | 148 | |
natschwa | 11:e28ffa142a7b | 149 | if( CheckPass() ){ |
natschwa | 11:e28ffa142a7b | 150 | printf("\n\rCorrect Password!\n\r"); |
natschwa | 11:e28ffa142a7b | 151 | sendMsg(correct,200,MonitorCenter); // send correct password msg to MC |
natschwa | 11:e28ffa142a7b | 152 | sendMsg(correct,200,HomeSystem); // send correct password msg to HS |
natschwa | 11:e28ffa142a7b | 153 | LED_Color('G',0); |
natschwa | 11:e28ffa142a7b | 154 | } |
natschwa | 11:e28ffa142a7b | 155 | else |
natschwa | 11:e28ffa142a7b | 156 | { |
natschwa | 11:e28ffa142a7b | 157 | printf("\n\rWrong Password!\n\r"); |
natschwa | 11:e28ffa142a7b | 158 | LED_Color('R',0); |
natschwa | 11:e28ffa142a7b | 159 | sendMsg(Fail,200,MonitorCenter); //send Fail to MC |
natschwa | 11:e28ffa142a7b | 160 | sendMsg(Fail,200,HomeSystem); // send Fail msg to HS |
natschwa | 11:e28ffa142a7b | 161 | } |
natschwa | 11:e28ffa142a7b | 162 | motion = false; |
natschwa | 11:e28ffa142a7b | 163 | motionFlg = false; |
natschwa | 11:e28ffa142a7b | 164 | Password[3] = 0; |
natschwa | 11:e28ffa142a7b | 165 | timer = 0; |
natschwa | 11:e28ffa142a7b | 166 | entryCount = 0; |
natschwa | 11:e28ffa142a7b | 167 | key = '!'; |
natschwa | 11:e28ffa142a7b | 168 | thread1.start(read_BlueTooth); |
natschwa | 11:e28ffa142a7b | 169 | wait(2); |
natschwa | 11:e28ffa142a7b | 170 | LED_Color('B',0); |
natschwa | 11:e28ffa142a7b | 171 | printf("Checking for motion!\n\r"); |
natschwa | 11:e28ffa142a7b | 172 | |
natschwa | 11:e28ffa142a7b | 173 | }// end if(motion) |
natschwa | 11:e28ffa142a7b | 174 | |
natschwa | 11:e28ffa142a7b | 175 | }// while(true) |
natschwa | 11:e28ffa142a7b | 176 | |
natschwa | 11:e28ffa142a7b | 177 | }//end Main -------------------------------- |
natschwa | 11:e28ffa142a7b | 178 | |
natschwa | 11:e28ffa142a7b | 179 | |
natschwa | 11:e28ffa142a7b | 180 | void read_BlueTooth(){ |
natschwa | 11:e28ffa142a7b | 181 | char data = 0; |
natschwa | 11:e28ffa142a7b | 182 | while(true) |
natschwa | 11:e28ffa142a7b | 183 | { |
natschwa | 11:e28ffa142a7b | 184 | if(BlueTooth_MC.readable()) // read data from the bluetooth serial port |
natschwa | 11:e28ffa142a7b | 185 | { |
natschwa | 11:e28ffa142a7b | 186 | data = BlueTooth_MC.getc(); |
natschwa | 11:e28ffa142a7b | 187 | //printf("recieved:%c\n\r",data); |
natschwa | 11:e28ffa142a7b | 188 | if( data == MC_ConnectACK ) |
natschwa | 11:e28ffa142a7b | 189 | { |
natschwa | 11:e28ffa142a7b | 190 | Connect_MC_Flg = true; //System Ready |
natschwa | 11:e28ffa142a7b | 191 | } |
natschwa | 11:e28ffa142a7b | 192 | else if( data == ReconnectREQ ) |
natschwa | 11:e28ffa142a7b | 193 | { |
natschwa | 11:e28ffa142a7b | 194 | printf("\n\rMC loss power\n\r"); |
natschwa | 11:e28ffa142a7b | 195 | ReconnectFlg = true; |
natschwa | 11:e28ffa142a7b | 196 | //Connect_MC_Flg = false; |
natschwa | 11:e28ffa142a7b | 197 | //Connect_MC_Flg = false; |
natschwa | 11:e28ffa142a7b | 198 | } |
natschwa | 11:e28ffa142a7b | 199 | |
natschwa | 11:e28ffa142a7b | 200 | }//end if(readable) |
natschwa | 11:e28ffa142a7b | 201 | |
natschwa | 11:e28ffa142a7b | 202 | if(BlueTooth_HS.readable()) // read data from the bluetooth serial port |
natschwa | 11:e28ffa142a7b | 203 | { |
natschwa | 11:e28ffa142a7b | 204 | data = BlueTooth_HS.getc(); |
natschwa | 11:e28ffa142a7b | 205 | printf("recieved:%c\n\r",data); |
natschwa | 11:e28ffa142a7b | 206 | if( data == HS_ConnectACK ) |
natschwa | 11:e28ffa142a7b | 207 | { |
natschwa | 11:e28ffa142a7b | 208 | Connect_HS_Flg = true; //System Ready |
natschwa | 11:e28ffa142a7b | 209 | } |
natschwa | 11:e28ffa142a7b | 210 | else if( data == ReconnectREQ ) |
natschwa | 11:e28ffa142a7b | 211 | { |
natschwa | 11:e28ffa142a7b | 212 | printf("\n\rHS loss power\n\r"); |
natschwa | 11:e28ffa142a7b | 213 | ReconnectFlg = true; |
natschwa | 11:e28ffa142a7b | 214 | //Connect_MC_Flg = false; |
natschwa | 11:e28ffa142a7b | 215 | //Connect_MC_Flg = false; |
natschwa | 11:e28ffa142a7b | 216 | } |
natschwa | 11:e28ffa142a7b | 217 | else if( data == IntruderAlert ) |
natschwa | 11:e28ffa142a7b | 218 | { |
natschwa | 11:e28ffa142a7b | 219 | motion = true; |
natschwa | 11:e28ffa142a7b | 220 | } |
natschwa | 11:e28ffa142a7b | 221 | |
natschwa | 11:e28ffa142a7b | 222 | }//end if(readable) |
natschwa | 11:e28ffa142a7b | 223 | |
natschwa | 11:e28ffa142a7b | 224 | }//end while |
natschwa | 11:e28ffa142a7b | 225 | |
natschwa | 11:e28ffa142a7b | 226 | }// read_BlueTooth |
natschwa | 11:e28ffa142a7b | 227 | |
natschwa | 11:e28ffa142a7b | 228 | void sendMsg(char msg,int time, char Addrs){ |
natschwa | 11:e28ffa142a7b | 229 | |
natschwa | 11:e28ffa142a7b | 230 | //printf("send %c\n\r",Addrs); |
natschwa | 11:e28ffa142a7b | 231 | if(Addrs == MonitorCenter){ |
natschwa | 11:e28ffa142a7b | 232 | while(time--) |
natschwa | 11:e28ffa142a7b | 233 | BlueTooth_MC.putc(msg); |
natschwa | 11:e28ffa142a7b | 234 | }else{ |
natschwa | 11:e28ffa142a7b | 235 | while(time--) |
natschwa | 11:e28ffa142a7b | 236 | BlueTooth_HS.putc(msg); |
emilmont | 1:491820ee784d | 237 | } |
natschwa | 11:e28ffa142a7b | 238 | |
natschwa | 11:e28ffa142a7b | 239 | }//end sendMSg |
natschwa | 11:e28ffa142a7b | 240 | |
natschwa | 11:e28ffa142a7b | 241 | void LED_Color(char color,int blink){ |
natschwa | 11:e28ffa142a7b | 242 | |
natschwa | 11:e28ffa142a7b | 243 | /*LedsOFF (active low)*/ |
natschwa | 11:e28ffa142a7b | 244 | Red = 1; |
natschwa | 11:e28ffa142a7b | 245 | Green = 1; |
natschwa | 11:e28ffa142a7b | 246 | Blue = 1; |
natschwa | 11:e28ffa142a7b | 247 | if (color == 'C') |
natschwa | 11:e28ffa142a7b | 248 | return; |
natschwa | 11:e28ffa142a7b | 249 | else if(color == 'G') |
natschwa | 11:e28ffa142a7b | 250 | Green = 0; |
natschwa | 11:e28ffa142a7b | 251 | else if(color == 'R') |
natschwa | 11:e28ffa142a7b | 252 | Red = 0; |
natschwa | 11:e28ffa142a7b | 253 | else if(color == 'B') |
natschwa | 11:e28ffa142a7b | 254 | Blue = 0; |
natschwa | 11:e28ffa142a7b | 255 | else if(color == 'Y'){ |
natschwa | 11:e28ffa142a7b | 256 | Red = 0; |
natschwa | 11:e28ffa142a7b | 257 | Green = 0; |
natschwa | 11:e28ffa142a7b | 258 | } |
natschwa | 11:e28ffa142a7b | 259 | else if(color == 'P'){ |
natschwa | 11:e28ffa142a7b | 260 | Blue = 0; |
natschwa | 11:e28ffa142a7b | 261 | Red = 0; |
natschwa | 11:e28ffa142a7b | 262 | } |
natschwa | 11:e28ffa142a7b | 263 | else if(color == 'W'){ |
natschwa | 11:e28ffa142a7b | 264 | Blue = 0; |
natschwa | 11:e28ffa142a7b | 265 | Red = 0; |
natschwa | 11:e28ffa142a7b | 266 | Green = 0; |
natschwa | 11:e28ffa142a7b | 267 | } |
natschwa | 11:e28ffa142a7b | 268 | else{} // do nothing |
emilmont | 1:491820ee784d | 269 | |
natschwa | 11:e28ffa142a7b | 270 | if(blink){ |
natschwa | 11:e28ffa142a7b | 271 | wait(0.1f); // wait a small period of time |
natschwa | 11:e28ffa142a7b | 272 | Red = 1; |
natschwa | 11:e28ffa142a7b | 273 | Green = 1; |
natschwa | 11:e28ffa142a7b | 274 | Blue = 1; |
natschwa | 11:e28ffa142a7b | 275 | wait(0.1f); |
natschwa | 11:e28ffa142a7b | 276 | } |
natschwa | 11:e28ffa142a7b | 277 | }//end LED_Color |
natschwa | 11:e28ffa142a7b | 278 | |
natschwa | 11:e28ffa142a7b | 279 | char getkey(void) |
natschwa | 11:e28ffa142a7b | 280 | { |
natschwa | 11:e28ffa142a7b | 281 | DigitalOut col[4] = {col1, col2, col3, col4}; |
natschwa | 11:e28ffa142a7b | 282 | |
natschwa | 11:e28ffa142a7b | 283 | for(int i = 0; i<4; i++) |
natschwa | 11:e28ffa142a7b | 284 | col[i] = 1; |
natschwa | 11:e28ffa142a7b | 285 | |
natschwa | 11:e28ffa142a7b | 286 | |
natschwa | 11:e28ffa142a7b | 287 | for(int i = 0; i<4; i++) |
natschwa | 11:e28ffa142a7b | 288 | { |
natschwa | 11:e28ffa142a7b | 289 | col[i] = 0; |
natschwa | 11:e28ffa142a7b | 290 | //printf("\n\rhere\n\r"); |
natschwa | 11:e28ffa142a7b | 291 | if(!row1) |
natschwa | 11:e28ffa142a7b | 292 | { |
natschwa | 11:e28ffa142a7b | 293 | col[i]=1; |
natschwa | 11:e28ffa142a7b | 294 | return pad[0][i];//printf("in: %d %c\n\r", i, pad[0][i]); |
natschwa | 11:e28ffa142a7b | 295 | } |
natschwa | 11:e28ffa142a7b | 296 | else if(!row2) |
natschwa | 11:e28ffa142a7b | 297 | { |
natschwa | 11:e28ffa142a7b | 298 | col[i]=1; |
natschwa | 11:e28ffa142a7b | 299 | return pad[1][i];//printf("in: %d %c\n\r", i, pad[1][i]); |
natschwa | 11:e28ffa142a7b | 300 | } |
natschwa | 11:e28ffa142a7b | 301 | else if(!row3) |
natschwa | 11:e28ffa142a7b | 302 | { |
natschwa | 11:e28ffa142a7b | 303 | col[i]=1; |
natschwa | 11:e28ffa142a7b | 304 | return pad[2][i];//printf("in: %d %c\n\r", i, pad[2][i]); |
natschwa | 11:e28ffa142a7b | 305 | } |
natschwa | 11:e28ffa142a7b | 306 | else if(!row4) |
natschwa | 11:e28ffa142a7b | 307 | { |
natschwa | 11:e28ffa142a7b | 308 | col[i]=1; |
natschwa | 11:e28ffa142a7b | 309 | return pad[3][i];//printf("in: %d %c\n\r", i, pad[3][i]); |
natschwa | 11:e28ffa142a7b | 310 | } |
natschwa | 11:e28ffa142a7b | 311 | else |
natschwa | 11:e28ffa142a7b | 312 | { |
natschwa | 11:e28ffa142a7b | 313 | //printf("no press\n\r"); |
natschwa | 11:e28ffa142a7b | 314 | } |
natschwa | 11:e28ffa142a7b | 315 | col[i]=1; |
natschwa | 11:e28ffa142a7b | 316 | } |
natschwa | 11:e28ffa142a7b | 317 | return '!'; |
natschwa | 11:e28ffa142a7b | 318 | }//end getKey |
natschwa | 11:e28ffa142a7b | 319 | |
natschwa | 11:e28ffa142a7b | 320 | int CheckPass(void) |
natschwa | 11:e28ffa142a7b | 321 | { |
natschwa | 11:e28ffa142a7b | 322 | for(int i = 0; i < 4; i++){ |
natschwa | 11:e28ffa142a7b | 323 | if( DefaultPass[i] != Password[i] ) |
natschwa | 11:e28ffa142a7b | 324 | return 0; |
emilmont | 1:491820ee784d | 325 | } |
natschwa | 11:e28ffa142a7b | 326 | return 1; |
natschwa | 11:e28ffa142a7b | 327 | |
natschwa | 11:e28ffa142a7b | 328 | }//end CheckPass |
natschwa | 11:e28ffa142a7b | 329 | |
natschwa | 11:e28ffa142a7b | 330 |