kh
Dependencies: mbed PinDetect Servo
authentication.cpp@2:04bbd14722bd, 2018-11-12 (annotated)
- Committer:
- Sayak97
- Date:
- Mon Nov 12 23:36:11 2018 +0000
- Revision:
- 2:04bbd14722bd
- Parent:
- 1:2c365f6da61d
- Child:
- 3:2f7a7e2cd49e
ss
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Sayak97 | 0:28e05e1a3d1e | 1 | /* |
Sayak97 | 0:28e05e1a3d1e | 2 | * Authors: Group 4 Adam Elghor, Brian Kaplan, Sayak Chatterjee, Moraa Onwonga |
Sayak97 | 0:28e05e1a3d1e | 3 | * Purpose: Controls Input and Output Data |
Sayak97 | 0:28e05e1a3d1e | 4 | * Language: C |
Sayak97 | 0:28e05e1a3d1e | 5 | */ |
Sayak97 | 1:2c365f6da61d | 6 | #include "authentication.h" |
Sayak97 | 0:28e05e1a3d1e | 7 | #include "powerManagement.h" |
Sayak97 | 0:28e05e1a3d1e | 8 | #include "parameters.h" |
Sayak97 | 0:28e05e1a3d1e | 9 | |
Sayak97 | 0:28e05e1a3d1e | 10 | int p1; |
Sayak97 | 0:28e05e1a3d1e | 11 | int p2; |
Sayak97 | 0:28e05e1a3d1e | 12 | int p3; |
Sayak97 | 0:28e05e1a3d1e | 13 | int p4; |
Sayak97 | 0:28e05e1a3d1e | 14 | |
Sayak97 | 0:28e05e1a3d1e | 15 | int entryNum1; |
Sayak97 | 0:28e05e1a3d1e | 16 | int entryNum2; |
Sayak97 | 0:28e05e1a3d1e | 17 | int entryNum3; |
Sayak97 | 0:28e05e1a3d1e | 18 | int entryNum4; |
Sayak97 | 0:28e05e1a3d1e | 19 | |
Sayak97 | 1:2c365f6da61d | 20 | |
Sayak97 | 1:2c365f6da61d | 21 | AnalogIn pot1(p18); |
Sayak97 | 1:2c365f6da61d | 22 | AnalogIn pot2(p18); |
Sayak97 | 1:2c365f6da61d | 23 | AnalogIn pot3(p20); |
Sayak97 | 1:2c365f6da61d | 24 | AnalogIn pot4(p20); |
Sayak97 | 1:2c365f6da61d | 25 | |
Sayak97 | 2:04bbd14722bd | 26 | bool bluetoothCode = false; |
Sayak97 | 2:04bbd14722bd | 27 | bool bluetoothSetup = false; |
Sayak97 | 2:04bbd14722bd | 28 | Serial blue(p28,p27); |
Sayak97 | 2:04bbd14722bd | 29 | |
Sayak97 | 0:28e05e1a3d1e | 30 | /* |
Sayak97 | 0:28e05e1a3d1e | 31 | * Function: setEntrySequence |
Sayak97 | 0:28e05e1a3d1e | 32 | * -------------------- |
Sayak97 | 0:28e05e1a3d1e | 33 | * Reads in user's entry sequence attempt |
Sayak97 | 0:28e05e1a3d1e | 34 | */ |
Sayak97 | 0:28e05e1a3d1e | 35 | void setEntrySequenceAttempt() { |
Sayak97 | 0:28e05e1a3d1e | 36 | entryNum1 = float(pot1) * 10; |
Sayak97 | 0:28e05e1a3d1e | 37 | entryNum2 = float(pot2) * 10; |
Sayak97 | 0:28e05e1a3d1e | 38 | entryNum3 = float(pot3) * 10; |
Sayak97 | 0:28e05e1a3d1e | 39 | entryNum4 = float(pot4) * 10; |
Sayak97 | 0:28e05e1a3d1e | 40 | } |
Sayak97 | 0:28e05e1a3d1e | 41 | |
Sayak97 | 0:28e05e1a3d1e | 42 | /* |
Sayak97 | 0:28e05e1a3d1e | 43 | * Function: CorrectEntrySequenceAttempt |
Sayak97 | 0:28e05e1a3d1e | 44 | * -------------------- |
Sayak97 | 0:28e05e1a3d1e | 45 | * Checks whether the user's entry sequence attempt is correct |
Sayak97 | 0:28e05e1a3d1e | 46 | * |
Sayak97 | 0:28e05e1a3d1e | 47 | * returns: true if the entry sequence attempt from the user matches |
Sayak97 | 0:28e05e1a3d1e | 48 | * the set entry sequence otherwise false |
Sayak97 | 0:28e05e1a3d1e | 49 | * |
Sayak97 | 0:28e05e1a3d1e | 50 | */ |
Sayak97 | 0:28e05e1a3d1e | 51 | bool CorrectEntrySequenceAttempt() { |
Sayak97 | 2:04bbd14722bd | 52 | if (bluetoothCode) { |
Sayak97 | 2:04bbd14722bd | 53 | return true; |
Sayak97 | 2:04bbd14722bd | 54 | |
Sayak97 | 2:04bbd14722bd | 55 | } |
Sayak97 | 2:04bbd14722bd | 56 | p1 = float(pot1) * 6; |
Sayak97 | 2:04bbd14722bd | 57 | p2 = float(pot2) * 6; |
Sayak97 | 2:04bbd14722bd | 58 | p3 = float(pot3) * 6; |
Sayak97 | 2:04bbd14722bd | 59 | p4 = float(pot4) * 6; |
Sayak97 | 0:28e05e1a3d1e | 60 | |
Sayak97 | 1:2c365f6da61d | 61 | return (checkPot(p1,entryNum1) && checkPot(p2,entryNum2) && checkPot(p3,entryNum3) && checkPot(p3,entryNum3)); |
Sayak97 | 0:28e05e1a3d1e | 62 | } |
Sayak97 | 0:28e05e1a3d1e | 63 | |
Sayak97 | 0:28e05e1a3d1e | 64 | bool checkPot(int p1, int p2) { |
Sayak97 | 0:28e05e1a3d1e | 65 | return (p2 - p1) < 2 && (p1 - p2) > -2; |
Sayak97 | 0:28e05e1a3d1e | 66 | |
Sayak97 | 0:28e05e1a3d1e | 67 | } |
Sayak97 | 0:28e05e1a3d1e | 68 | |
Sayak97 | 2:04bbd14722bd | 69 | bool checkBluetooth() { |
Sayak97 | 2:04bbd14722bd | 70 | if (bluetoothSetup) { |
Sayak97 | 2:04bbd14722bd | 71 | bluetoothSetup = false; |
Sayak97 | 2:04bbd14722bd | 72 | return true; |
Sayak97 | 2:04bbd14722bd | 73 | } |
Sayak97 | 2:04bbd14722bd | 74 | return false; |
Sayak97 | 2:04bbd14722bd | 75 | } |
Sayak97 | 2:04bbd14722bd | 76 | |
Sayak97 | 0:28e05e1a3d1e | 77 | |
Sayak97 | 0:28e05e1a3d1e | 78 | |
Sayak97 | 0:28e05e1a3d1e | 79 | /* |
Sayak97 | 2:04bbd14722bd | 80 | * Function: parse_bluetooth |
Sayak97 | 0:28e05e1a3d1e | 81 | * -------------------- |
Sayak97 | 0:28e05e1a3d1e | 82 | * bluetooth stuff EDIT LATER |
Sayak97 | 0:28e05e1a3d1e | 83 | * |
Sayak97 | 0:28e05e1a3d1e | 84 | * returns: |
Sayak97 | 0:28e05e1a3d1e | 85 | * |
Sayak97 | 0:28e05e1a3d1e | 86 | */ |
Sayak97 | 2:04bbd14722bd | 87 | void parse_bluetooth() |
Sayak97 | 2:04bbd14722bd | 88 | { |
Sayak97 | 2:04bbd14722bd | 89 | switch (blue.getc()) { |
Sayak97 | 2:04bbd14722bd | 90 | case 'o': |
Sayak97 | 2:04bbd14722bd | 91 | bluetoothCode = true; |
Sayak97 | 2:04bbd14722bd | 92 | break; |
Sayak97 | 2:04bbd14722bd | 93 | case 'l': |
Sayak97 | 2:04bbd14722bd | 94 | bluetoothCode = false; |
Sayak97 | 2:04bbd14722bd | 95 | break; |
Sayak97 | 2:04bbd14722bd | 96 | case 's': |
Sayak97 | 2:04bbd14722bd | 97 | bluetoothSetup = true; |
Sayak97 | 2:04bbd14722bd | 98 | break; |
Sayak97 | 2:04bbd14722bd | 99 | } |
Sayak97 | 2:04bbd14722bd | 100 | |
Sayak97 | 0:28e05e1a3d1e | 101 | } |
Sayak97 | 0:28e05e1a3d1e | 102 | |
Sayak97 | 2:04bbd14722bd | 103 | void start_bluetooth() { |
Sayak97 | 2:04bbd14722bd | 104 | blue.attach(&parse_bluetooth, Serial::RxIrq); |
Sayak97 | 2:04bbd14722bd | 105 | } |
Sayak97 | 0:28e05e1a3d1e | 106 | |
Sayak97 | 0:28e05e1a3d1e | 107 | /* |
Sayak97 | 0:28e05e1a3d1e | 108 | * Function: sdCard |
Sayak97 | 0:28e05e1a3d1e | 109 | * -------------------- |
Sayak97 | 0:28e05e1a3d1e | 110 | * sdCard stuff EDIT LATER |
Sayak97 | 0:28e05e1a3d1e | 111 | * |
Sayak97 | 0:28e05e1a3d1e | 112 | * returns: |
Sayak97 | 0:28e05e1a3d1e | 113 | * |
Sayak97 | 0:28e05e1a3d1e | 114 | */ |
Sayak97 | 0:28e05e1a3d1e | 115 | void sdCard() { |
Sayak97 | 0:28e05e1a3d1e | 116 | |
Sayak97 | 0:28e05e1a3d1e | 117 | } |
Sayak97 | 0:28e05e1a3d1e | 118 | |
Sayak97 | 2:04bbd14722bd | 119 |