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 functions of the safe
Sayak97 0:28e05e1a3d1e 4 * Language: C
Sayak97 0:28e05e1a3d1e 5 */
Sayak97 0:28e05e1a3d1e 6 #include "open.h"
Sayak97 0:28e05e1a3d1e 7 #include "lock.h"
Sayak97 0:28e05e1a3d1e 8 #include "setup.h"
Sayak97 0:28e05e1a3d1e 9 #include "sleep.h"
Sayak97 0:28e05e1a3d1e 10 #include "parameters.h"
Sayak97 0:28e05e1a3d1e 11
Sayak97 0:28e05e1a3d1e 12 task main() {
Sayak97 0:28e05e1a3d1e 13 SafeStateMachine();
Sayak97 0:28e05e1a3d1e 14 }
Sayak97 0:28e05e1a3d1e 15
Sayak97 0:28e05e1a3d1e 16 /*
Sayak97 0:28e05e1a3d1e 17 * Function: SafeStateMachine
Sayak97 0:28e05e1a3d1e 18 * --------------------
Sayak97 0:28e05e1a3d1e 19 * Routine for the safe's basic functions.
Sayak97 0:28e05e1a3d1e 20 *
Sayak97 0:28e05e1a3d1e 21 *
Sayak97 0:28e05e1a3d1e 22 *
Sayak97 0:28e05e1a3d1e 23 */
Sayak97 0:28e05e1a3d1e 24 void SafeStateMachine() {
Sayak97 0:28e05e1a3d1e 25
Sayak97 0:28e05e1a3d1e 26
Sayak97 0:28e05e1a3d1e 27 enum states state = SETUP;
Sayak97 0:28e05e1a3d1e 28
Sayak97 0:28e05e1a3d1e 29 while (1) {
Sayak97 0:28e05e1a3d1e 30 switch (state) {
Sayak97 0:28e05e1a3d1e 31 case OPEN:/*state in which the the case is open*/
Sayak97 0:28e05e1a3d1e 32 state = open();
Sayak97 0:28e05e1a3d1e 33 break;
Sayak97 0:28e05e1a3d1e 34 case LOCK:/*state in which the case us closed*/
Sayak97 0:28e05e1a3d1e 35 state = lock();
Sayak97 0:28e05e1a3d1e 36 break;
Sayak97 0:28e05e1a3d1e 37 case SETUP:/*state in which the the case is changing its settings*/
Sayak97 0:28e05e1a3d1e 38 state = setup();
Sayak97 0:28e05e1a3d1e 39 break;
Sayak97 0:28e05e1a3d1e 40 default:
Sayak97 0:28e05e1a3d1e 41 state = locked();
Sayak97 0:28e05e1a3d1e 42 }
Sayak97 0:28e05e1a3d1e 43 }
Sayak97 0:28e05e1a3d1e 44 }
Sayak97 0:28e05e1a3d1e 45
Sayak97 0:28e05e1a3d1e 46
Sayak97 0:28e05e1a3d1e 47