Mobile Security System - Revision 1.0

Dependencies:   FXOS8700Q N5110 SDFileSystem SRF02 mbed

Revision:
4:9cac024c057c
Parent:
3:70a7b64fbd98
Child:
5:41cb88f47f42
--- a/main.h	Fri Apr 15 07:45:23 2016 +0000
+++ b/main.h	Sun Apr 17 14:23:00 2016 +0000
@@ -64,6 +64,7 @@
 InterruptIn sw3(SW3);
 Ticker setting_distance;
 Ticker intruder_distance;
+Ticker led;
 Timeout transition;
 DigitalOut r_led(LED_RED);
 DigitalOut g_led(LED_GREEN);
@@ -77,8 +78,8 @@
 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,2,4,1}, // 2 - set alarm
-    {3,3,1,1}, // 3 - 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
     {6,6,1,5}, // 6 - deactivate without triggering (enter password)
@@ -93,6 +94,7 @@
 int index_array[4];
 
 int pin_counter;
+int incorrect_pin_flag;
 
 int g_current_state;
 int g_next_state;
@@ -107,12 +109,12 @@
 
 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_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 */
 
 int setting_distance_ticker_status;
-int intruder_distance_ticker_status;
 
 char buffer[14]; /*!< Stores any string that is going to be displayed on the LCD */
 int length; /*!< Stores the length of any string that is going to be displayed on the LCD  */
@@ -137,6 +139,8 @@
 
 void button_c_isr(); /*!< Interrupt that triggers when button_c is pressed by the user */
 
+void led_isr();
+
 void button_0_protocol();
 
 void button_1_protocol();
@@ -169,6 +173,12 @@
 
 void screen_5_transition();
 
+void screen_progression();
+
+void enter_pin();
+
+void check_pin();
+
 void change_pin();
 
 void read_pin();