Mobile Security System - Revision 1.0
Dependencies: FXOS8700Q N5110 SDFileSystem SRF02 mbed
Diff: main.h
- Revision:
- 5:41cb88f47f42
- Parent:
- 4:9cac024c057c
- Child:
- 6:dc1229224d8e
--- a/main.h Sun Apr 17 14:23:00 2016 +0000 +++ b/main.h Sun May 01 16:53:56 2016 +0000 @@ -64,8 +64,11 @@ InterruptIn sw3(SW3); Ticker setting_distance; Ticker intruder_distance; -Ticker led; +Ticker alerts; +Ticker pin_timeout; +Ticker setting_screen; Timeout transition; +Timeout buzz; DigitalOut r_led(LED_RED); DigitalOut g_led(LED_GREEN); DigitalOut b_led(LED_BLUE); @@ -77,11 +80,11 @@ STyp fsm[9] = { {0,0,0,0}, // 0 - initialisation (title screen) - {2,1,3,3}, // 1 - main menu (Set alarm or set new password) + {2,3,1,1}, // 1 - main menu (Set alarm or set new password) {2,2,4,1}, // 2 - set alarm (enter password) {3,3,1,1}, // 3 - set new password (enter new password) {4,4,4,4}, // 4 - setting calibration - {7,5,6,6}, // 5 - alarm activated + {5,5,6,6}, // 5 - alarm activated {6,6,1,5}, // 6 - deactivate without triggering (enter password) {7,7,1,8}, // 7 - alarm triggered (enter password) {8,8,1,1} // 8 - display time when alarm was triggered @@ -106,10 +109,16 @@ int setting_distance_counter; int intruder_distance_counter; +int pin_timeout_counter; + +int setting_alarm_counter; +int seconds_till_timeout; volatile int g_setting_distance_flag; /*!< Flag in setting_distance_isr */ volatile int g_intruder_distance_flag; /*!< Flag in intruder_distance_isr */ -volatile int g_led_flag; /*!< Flag in led_isr */ +volatile int g_led_buzzer_flag; /*!< Flag in led_buzzer_isr */ +volatile int g_pin_timeout_flag; +volatile int g_setting_screen_flag; volatile int g_button_0_flag; /*!< Flag in button_0_isr */ volatile int g_button_1_flag; /*!< Flag in button_1_isr */ volatile int g_button_c_flag; /*!< Flag in button_c_isr */ @@ -129,6 +138,8 @@ void init_buttons(); /*!< Set-up the three external buttons */ +void init_variables(); + void setting_distance_isr(); /*!< Interrupt that triggers when setting_distance ticker fires */ void intruder_distance_isr(); /*!< Interrupt that triggers when intruder_distance ticker fires */ @@ -139,7 +150,13 @@ void button_c_isr(); /*!< Interrupt that triggers when button_c is pressed by the user */ -void led_isr(); +void led_buzzer_isr(); + +void pin_timeout_isr(); + +void setting_screen_isr(); + +void loading_bar(); void button_0_protocol(); @@ -147,11 +164,13 @@ void button_c_protocol(); +void timeout_protocol(); + void state_0_screen(); void state_1_screen(); -void state_2_6_7_screen(); +void state_2_screen(); void state_3_screen(); @@ -159,6 +178,10 @@ void state_5_screen(); +void state_6_screen(); + +void state_7_screen(); + void state_8_screen(); void screen_selection(); @@ -175,8 +198,16 @@ void screen_progression(); +void alarm_setting_buzz(); + +void lcd_border(); + +void pin_text_box(); + void enter_pin(); +void reset_entered_pin(); + void check_pin(); void change_pin();