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 SETUP state of the machine
Sayak97 2:04bbd14722bd 4 * Language: C
Sayak97 2:04bbd14722bd 5 */
Sayak97 2:04bbd14722bd 6 #include "setup.h"
Sayak97 2:04bbd14722bd 7 #include "authentication.h"
Sayak97 2:04bbd14722bd 8 #include "parameters.h"
Sayak97 2:04bbd14722bd 9 #include "actuators.h"
Sayak97 2:04bbd14722bd 10 #include "PinDetect.h"
Sayak97 2:04bbd14722bd 11
Sayak97 2:04bbd14722bd 12
Sayak97 2:04bbd14722bd 13 PinDetect button(p8);
Sayak97 2:04bbd14722bd 14
Sayak97 2:04bbd14722bd 15 volatile bool buttonHit = false;
Sayak97 2:04bbd14722bd 16 bool firstTime = true;
Sayak97 2:04bbd14722bd 17 void button_hit_callback (void)
Sayak97 2:04bbd14722bd 18 {
Sayak97 2:04bbd14722bd 19 buttonHit = !buttonHit;
Sayak97 2:04bbd14722bd 20 }
Sayak97 2:04bbd14722bd 21 /*
Sayak97 2:04bbd14722bd 22 * Function: setup
Sayak97 2:04bbd14722bd 23 * --------------------
Sayak97 2:04bbd14722bd 24 * Calls the functions needed to setup the entry sequence for the safe.
Sayak97 2:04bbd14722bd 25 *
Sayak97 2:04bbd14722bd 26 * returns: the next state in the state machine
Sayak97 2:04bbd14722bd 27 * LOCK: after entry sequence has been entered
Sayak97 2:04bbd14722bd 28 *
Sayak97 2:04bbd14722bd 29 */
Sayak97 2:04bbd14722bd 30
Sayak97 2:04bbd14722bd 31
Sayak97 2:04bbd14722bd 32 enum states setup()
Sayak97 2:04bbd14722bd 33 {
Sayak97 2:04bbd14722bd 34 printf("%d",buttonHit);
Sayak97 2:04bbd14722bd 35 if (firstTime) {
Sayak97 2:04bbd14722bd 36 button.mode(PullUp);
Sayak97 2:04bbd14722bd 37 button.attach_deasserted(&button_hit_callback);
Sayak97 2:04bbd14722bd 38 button.setSampleFrequency();
Sayak97 2:04bbd14722bd 39 firstTime = false;
Sayak97 2:04bbd14722bd 40 }
Sayak97 2:04bbd14722bd 41 if(buttonHit || checkBluetooth()) {
Sayak97 2:04bbd14722bd 42 setEntrySequenceAttempt();
Sayak97 2:04bbd14722bd 43 wait(5);
Sayak97 2:04bbd14722bd 44 lockSafe();
Sayak97 2:04bbd14722bd 45 wait(5);
Sayak97 2:04bbd14722bd 46 return LOCK;
Sayak97 2:04bbd14722bd 47 }
Sayak97 2:04bbd14722bd 48 return SETUP;
Sayak97 2:04bbd14722bd 49 }
Sayak97 2:04bbd14722bd 50
Sayak97 2:04bbd14722bd 51
Sayak97 2:04bbd14722bd 52
Sayak97 1:2c365f6da61d 53