kh

Dependencies:   mbed PinDetect Servo

Committer:
Sayak97
Date:
Sat Nov 10 19:30:54 2018 +0000
Revision:
0:28e05e1a3d1e
Child:
1:2c365f6da61d
k'k

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 the LOCK state of the machine
Sayak97 0:28e05e1a3d1e 4 * Language: C
Sayak97 0:28e05e1a3d1e 5 */
Sayak97 0:28e05e1a3d1e 6 #include "lock.h"
Sayak97 0:28e05e1a3d1e 7 #include "actuators.h"
Sayak97 0:28e05e1a3d1e 8 #include "powerManagement.h"
Sayak97 0:28e05e1a3d1e 9 #include "parameters.h"
Sayak97 0:28e05e1a3d1e 10
Sayak97 0:28e05e1a3d1e 11 /*
Sayak97 0:28e05e1a3d1e 12 * Function: lock
Sayak97 0:28e05e1a3d1e 13 * --------------------
Sayak97 0:28e05e1a3d1e 14 * Locks safe
Sayak97 0:28e05e1a3d1e 15 *
Sayak97 0:28e05e1a3d1e 16 * returns: the next state in the state machine
Sayak97 0:28e05e1a3d1e 17 * Open: After it has been locked
Sayak97 0:28e05e1a3d1e 18 *
Sayak97 0:28e05e1a3d1e 19 */
Sayak97 0:28e05e1a3d1e 20 enum states lock() {
Sayak97 0:28e05e1a3d1e 21 if(authenticate()) {
Sayak97 0:28e05e1a3d1e 22 openSafe();
Sayak97 0:28e05e1a3d1e 23 wait(5000);
Sayak97 0:28e05e1a3d1e 24 return OPEN;
Sayak97 0:28e05e1a3d1e 25 } else {
Sayak97 0:28e05e1a3d1e 26 return LOCK:
Sayak97 0:28e05e1a3d1e 27 }
Sayak97 0:28e05e1a3d1e 28 }
Sayak97 0:28e05e1a3d1e 29
Sayak97 0:28e05e1a3d1e 30 /*
Sayak97 0:28e05e1a3d1e 31 * Function: authenticate
Sayak97 0:28e05e1a3d1e 32 * ----------------------------
Sayak97 0:28e05e1a3d1e 33 * Checks whether a cup was found through the sonar sensor
Sayak97 0:28e05e1a3d1e 34 *
Sayak97 0:28e05e1a3d1e 35 * returns: true if cup found else false
Sayak97 0:28e05e1a3d1e 36 */
Sayak97 0:28e05e1a3d1e 37 bool authenticate() {
Sayak97 0:28e05e1a3d1e 38 return CorrectEntrySequenceAttempt();
Sayak97 0:28e05e1a3d1e 39 }