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 2:04bbd14722bd 1 /*
Sayak97 2:04bbd14722bd 2 * Authors: Group 4 Adam Elghor, Brian Kaplan, Sayak Chatterjee, Moraa Onwonga
Sayak97 2:04bbd14722bd 3 * Purpose: Controls the OPEN state of the machine
Sayak97 2:04bbd14722bd 4 * Language: C
Sayak97 2:04bbd14722bd 5 */
Sayak97 2:04bbd14722bd 6 #include "open.h"
Sayak97 2:04bbd14722bd 7 #include "authentication.h"
Sayak97 2:04bbd14722bd 8 #include "actuators.h"
Sayak97 2:04bbd14722bd 9 #include "parameters.h"
Sayak97 2:04bbd14722bd 10
Sayak97 2:04bbd14722bd 11 /*
Sayak97 2:04bbd14722bd 12 * Function: OPEN
Sayak97 2:04bbd14722bd 13 * --------------------
Sayak97 2:04bbd14722bd 14 * Calls the functions needed to for the open state
Sayak97 2:04bbd14722bd 15 *
Sayak97 2:04bbd14722bd 16 *
Sayak97 2:04bbd14722bd 17 * returns: the next state in the state machine
Sayak97 2:04bbd14722bd 18 * LOCK: if closed properly
Sayak97 2:04bbd14722bd 19 * ALARM: if cup is not found after searching in a full circle
Sayak97 2:04bbd14722bd 20 *
Sayak97 2:04bbd14722bd 21 */
Sayak97 2:04bbd14722bd 22 enum states open() {
Sayak97 2:04bbd14722bd 23 if (authenticateOpen()) {
Sayak97 2:04bbd14722bd 24 return OPEN;
Sayak97 2:04bbd14722bd 25 } else {
Sayak97 2:04bbd14722bd 26 lockSafe();
Sayak97 2:04bbd14722bd 27 wait(5);
Sayak97 2:04bbd14722bd 28 return LOCK;
Sayak97 2:04bbd14722bd 29 }
Sayak97 2:04bbd14722bd 30 }
Sayak97 2:04bbd14722bd 31
Sayak97 2:04bbd14722bd 32 /*
Sayak97 2:04bbd14722bd 33 * Function: authenticate
Sayak97 2:04bbd14722bd 34 * ----------------------------
Sayak97 2:04bbd14722bd 35 * Checks whether a cup was found through the sonar sensor
Sayak97 2:04bbd14722bd 36 *
Sayak97 2:04bbd14722bd 37 * returns: true if cup found else false
Sayak97 2:04bbd14722bd 38 */
Sayak97 2:04bbd14722bd 39 bool authenticateOpen() {
Sayak97 2:04bbd14722bd 40 return CorrectEntrySequenceAttempt();
Sayak97 2:04bbd14722bd 41 }
Sayak97 2:04bbd14722bd 42
Sayak97 0:28e05e1a3d1e 43