kh
Dependencies: mbed PinDetect Servo
open.cpp@1:2c365f6da61d, 2018-11-10 (annotated)
- Committer:
- Sayak97
- Date:
- Sat Nov 10 20:08:46 2018 +0000
- Revision:
- 1:2c365f6da61d
- Parent:
- 0:28e05e1a3d1e
- Child:
- 2:04bbd14722bd
hjughj'; \; \;
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 the OPEN state of the machine |
Sayak97 | 0:28e05e1a3d1e | 4 | * Language: C |
Sayak97 | 0:28e05e1a3d1e | 5 | */ |
Sayak97 | 0:28e05e1a3d1e | 6 | #include "open.h" |
Sayak97 | 0:28e05e1a3d1e | 7 | #include "authentication.h" |
Sayak97 | 0:28e05e1a3d1e | 8 | #include "actuators.h" |
Sayak97 | 0:28e05e1a3d1e | 9 | #include "parameters.h" |
Sayak97 | 0:28e05e1a3d1e | 10 | |
Sayak97 | 0:28e05e1a3d1e | 11 | /* |
Sayak97 | 0:28e05e1a3d1e | 12 | * Function: OPEN |
Sayak97 | 0:28e05e1a3d1e | 13 | * -------------------- |
Sayak97 | 0:28e05e1a3d1e | 14 | * Calls the functions needed to for the open state |
Sayak97 | 0:28e05e1a3d1e | 15 | * |
Sayak97 | 0:28e05e1a3d1e | 16 | * |
Sayak97 | 0:28e05e1a3d1e | 17 | * returns: the next state in the state machine |
Sayak97 | 0:28e05e1a3d1e | 18 | * LOCK: if closed properly |
Sayak97 | 0:28e05e1a3d1e | 19 | * ALARM: if cup is not found after searching in a full circle |
Sayak97 | 0:28e05e1a3d1e | 20 | * |
Sayak97 | 0:28e05e1a3d1e | 21 | */ |
Sayak97 | 0:28e05e1a3d1e | 22 | enum states open() { |
Sayak97 | 1:2c365f6da61d | 23 | if (authenticateOpen()) { |
Sayak97 | 0:28e05e1a3d1e | 24 | return OPEN; |
Sayak97 | 0:28e05e1a3d1e | 25 | } else { |
Sayak97 | 0:28e05e1a3d1e | 26 | lockSafe(); |
Sayak97 | 0:28e05e1a3d1e | 27 | wait(5000); |
Sayak97 | 0:28e05e1a3d1e | 28 | return LOCK; |
Sayak97 | 0:28e05e1a3d1e | 29 | } |
Sayak97 | 0:28e05e1a3d1e | 30 | } |
Sayak97 | 0:28e05e1a3d1e | 31 | |
Sayak97 | 0:28e05e1a3d1e | 32 | /* |
Sayak97 | 0:28e05e1a3d1e | 33 | * Function: authenticate |
Sayak97 | 0:28e05e1a3d1e | 34 | * ---------------------------- |
Sayak97 | 0:28e05e1a3d1e | 35 | * Checks whether a cup was found through the sonar sensor |
Sayak97 | 0:28e05e1a3d1e | 36 | * |
Sayak97 | 0:28e05e1a3d1e | 37 | * returns: true if cup found else false |
Sayak97 | 0:28e05e1a3d1e | 38 | */ |
Sayak97 | 1:2c365f6da61d | 39 | bool authenticateOpen() { |
Sayak97 | 0:28e05e1a3d1e | 40 | return CorrectEntrySequenceAttempt(); |
Sayak97 | 0:28e05e1a3d1e | 41 | } |
Sayak97 | 0:28e05e1a3d1e | 42 |