kh

Dependencies:   mbed PinDetect Servo

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?

UserRevisionLine numberNew 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