kh
Dependencies: mbed PinDetect Servo
setup.cpp@2:04bbd14722bd, 2018-11-12 (annotated)
- Committer:
- Sayak97
- Date:
- Mon Nov 12 23:36:11 2018 +0000
- Revision:
- 2:04bbd14722bd
- Parent:
- 1:2c365f6da61d
ss
Who changed what in which revision?
User | Revision | Line number | New 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 |