#include #include "alarm.h" #include "doorSensor.h" #include "LedController.h" // #include AlarmStatus s = {DOOR_OPEN, false, false, false, true}; DoorSensor doorSensor(DoorSensor::DEFAULT_DOOR_SENSOR_PIN, &s); LedController led(&s); void printStatus(){ String msg = String("Door: ") + String(doorSensor.IsDoorOpen() ? "Open" : "Closed"); msg = msg + " | Is Fired: " + String(s.isFired ? "Fired": "Not Fired"); msg = msg + " | Led: " + String(s.ledOn ? "On": "Off"); Serial.println(msg); } void setup() { Serial.begin(115200); printStatus(); doorSensor.Init(); led.Init(); printStatus(); s.isArmed = doorSensor.IsDoorClosed(); Serial.println("Alarm is " + String(s.isArmed ? "Armed" : "Disarmed")); // WiFi.mode(WIFI_STA); // WiFi.disconnect(); // delay(100); Serial.println("Stp Done"); } void loop() { doorSensor.HandleDoor(); if(s.doorChanged){ DoorEvent(); } s.doorChanged=false; led.Update(); delay(1000); } void DoorEvent(){ if(doorSensor.IsDoorOpen()){ Serial.println("The door-opening"); if(!s.isArmed) { Serial.println("Alarm is dissarmed, not fireing"); return; } Serial.println("Alarm is armed, firing"); s.isFired=true; }else{ delay(500); Serial.println("The door-closing"); s.isArmed=true; } }