kh

Dependencies:   mbed PinDetect Servo

Committer:
Sayak97
Date:
Tue Nov 13 03:19:06 2018 +0000
Revision:
3:2f7a7e2cd49e
Parent:
2:04bbd14722bd
DSFDS; ;

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 3:2f7a7e2cd49e 21 AnalogIn pot1(p15);
Sayak97 3:2f7a7e2cd49e 22 AnalogIn pot2(p16);
Sayak97 3:2f7a7e2cd49e 23 AnalogIn pot3(p18);
Sayak97 3:2f7a7e2cd49e 24 AnalogIn pot4(p19);
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 3:2f7a7e2cd49e 29 Serial pc(USBTX, USBRX);
Sayak97 2:04bbd14722bd 30
Sayak97 0:28e05e1a3d1e 31 /*
Sayak97 0:28e05e1a3d1e 32 * Function: setEntrySequence
Sayak97 0:28e05e1a3d1e 33 * --------------------
Sayak97 0:28e05e1a3d1e 34 * Reads in user's entry sequence attempt
Sayak97 0:28e05e1a3d1e 35 */
Sayak97 0:28e05e1a3d1e 36 void setEntrySequenceAttempt() {
Sayak97 3:2f7a7e2cd49e 37 entryNum1 = float(pot1) * 6;
Sayak97 3:2f7a7e2cd49e 38 entryNum2 = float(pot2) * 6;
Sayak97 3:2f7a7e2cd49e 39 entryNum3 = float(pot3) * 6;
Sayak97 3:2f7a7e2cd49e 40 entryNum4 = float(pot4) * 6;
Sayak97 0:28e05e1a3d1e 41 }
Sayak97 0:28e05e1a3d1e 42
Sayak97 0:28e05e1a3d1e 43 /*
Sayak97 0:28e05e1a3d1e 44 * Function: CorrectEntrySequenceAttempt
Sayak97 0:28e05e1a3d1e 45 * --------------------
Sayak97 0:28e05e1a3d1e 46 * Checks whether the user's entry sequence attempt is correct
Sayak97 0:28e05e1a3d1e 47 *
Sayak97 0:28e05e1a3d1e 48 * returns: true if the entry sequence attempt from the user matches
Sayak97 0:28e05e1a3d1e 49 * the set entry sequence otherwise false
Sayak97 0:28e05e1a3d1e 50 *
Sayak97 0:28e05e1a3d1e 51 */
Sayak97 0:28e05e1a3d1e 52 bool CorrectEntrySequenceAttempt() {
Sayak97 2:04bbd14722bd 53 if (bluetoothCode) {
Sayak97 2:04bbd14722bd 54 return true;
Sayak97 2:04bbd14722bd 55
Sayak97 2:04bbd14722bd 56 }
Sayak97 2:04bbd14722bd 57 p1 = float(pot1) * 6;
Sayak97 2:04bbd14722bd 58 p2 = float(pot2) * 6;
Sayak97 2:04bbd14722bd 59 p3 = float(pot3) * 6;
Sayak97 2:04bbd14722bd 60 p4 = float(pot4) * 6;
Sayak97 0:28e05e1a3d1e 61
Sayak97 1:2c365f6da61d 62 return (checkPot(p1,entryNum1) && checkPot(p2,entryNum2) && checkPot(p3,entryNum3) && checkPot(p3,entryNum3));
Sayak97 0:28e05e1a3d1e 63 }
Sayak97 0:28e05e1a3d1e 64
Sayak97 3:2f7a7e2cd49e 65 void printPotValues() {
Sayak97 3:2f7a7e2cd49e 66 pc.printf("pot1 is %f", pot1);
Sayak97 3:2f7a7e2cd49e 67
Sayak97 3:2f7a7e2cd49e 68 }
Sayak97 3:2f7a7e2cd49e 69
Sayak97 0:28e05e1a3d1e 70 bool checkPot(int p1, int p2) {
Sayak97 0:28e05e1a3d1e 71 return (p2 - p1) < 2 && (p1 - p2) > -2;
Sayak97 0:28e05e1a3d1e 72
Sayak97 0:28e05e1a3d1e 73 }
Sayak97 0:28e05e1a3d1e 74
Sayak97 2:04bbd14722bd 75 bool checkBluetooth() {
Sayak97 2:04bbd14722bd 76 if (bluetoothSetup) {
Sayak97 2:04bbd14722bd 77 bluetoothSetup = false;
Sayak97 2:04bbd14722bd 78 return true;
Sayak97 2:04bbd14722bd 79 }
Sayak97 2:04bbd14722bd 80 return false;
Sayak97 2:04bbd14722bd 81 }
Sayak97 2:04bbd14722bd 82
Sayak97 0:28e05e1a3d1e 83
Sayak97 0:28e05e1a3d1e 84
Sayak97 0:28e05e1a3d1e 85 /*
Sayak97 2:04bbd14722bd 86 * Function: parse_bluetooth
Sayak97 0:28e05e1a3d1e 87 * --------------------
Sayak97 0:28e05e1a3d1e 88 * bluetooth stuff EDIT LATER
Sayak97 0:28e05e1a3d1e 89 *
Sayak97 0:28e05e1a3d1e 90 * returns:
Sayak97 0:28e05e1a3d1e 91 *
Sayak97 0:28e05e1a3d1e 92 */
Sayak97 2:04bbd14722bd 93 void parse_bluetooth()
Sayak97 2:04bbd14722bd 94 {
Sayak97 2:04bbd14722bd 95 switch (blue.getc()) {
Sayak97 2:04bbd14722bd 96 case 'o':
Sayak97 2:04bbd14722bd 97 bluetoothCode = true;
Sayak97 2:04bbd14722bd 98 break;
Sayak97 2:04bbd14722bd 99 case 'l':
Sayak97 2:04bbd14722bd 100 bluetoothCode = false;
Sayak97 2:04bbd14722bd 101 break;
Sayak97 2:04bbd14722bd 102 case 's':
Sayak97 2:04bbd14722bd 103 bluetoothSetup = true;
Sayak97 2:04bbd14722bd 104 break;
Sayak97 2:04bbd14722bd 105 }
Sayak97 2:04bbd14722bd 106
Sayak97 0:28e05e1a3d1e 107 }
Sayak97 0:28e05e1a3d1e 108
Sayak97 2:04bbd14722bd 109 void start_bluetooth() {
Sayak97 2:04bbd14722bd 110 blue.attach(&parse_bluetooth, Serial::RxIrq);
Sayak97 2:04bbd14722bd 111 }
Sayak97 0:28e05e1a3d1e 112
Sayak97 0:28e05e1a3d1e 113 /*
Sayak97 0:28e05e1a3d1e 114 * Function: sdCard
Sayak97 0:28e05e1a3d1e 115 * --------------------
Sayak97 0:28e05e1a3d1e 116 * sdCard stuff EDIT LATER
Sayak97 0:28e05e1a3d1e 117 *
Sayak97 0:28e05e1a3d1e 118 * returns:
Sayak97 0:28e05e1a3d1e 119 *
Sayak97 0:28e05e1a3d1e 120 */
Sayak97 0:28e05e1a3d1e 121 void sdCard() {
Sayak97 0:28e05e1a3d1e 122
Sayak97 0:28e05e1a3d1e 123 }
Sayak97 0:28e05e1a3d1e 124
Sayak97 2:04bbd14722bd 125