update
This commit is contained in:
@@ -5,12 +5,32 @@
|
||||
HardwareSerial Serial1(UART_ID_1);
|
||||
NtpClient ntpClient("at.pool.ntp.org", 3600);
|
||||
|
||||
void IRAM_ATTR OnFingerInterrupt()
|
||||
void IRAM_ATTR OnFingerISR()
|
||||
{
|
||||
detachInterrupt(FINGER_DETECT_PIN);
|
||||
// LOW = FINGER, HIGH = NO FINGER
|
||||
bool status = digitalRead(FINGER_DETECT_PIN);
|
||||
const bool finger = !digitalRead(FINGER_DETECT_PIN);
|
||||
|
||||
g_Main.OnFingerInterrupt(!status);
|
||||
// TODO: disable interrupt and start timer
|
||||
g_Main.OnFinger(finger);
|
||||
}
|
||||
|
||||
void IRAM_ATTR OnLockISR()
|
||||
{
|
||||
detachInterrupt(SAFELOCK_DETECT_PIN);
|
||||
// LOW = UNLOCKED, HIGH = LOCKED
|
||||
const bool unlocked = !digitalRead(SAFELOCK_DETECT_PIN);
|
||||
|
||||
g_Main.OnLock(unlocked);
|
||||
}
|
||||
|
||||
void IRAM_ATTR OnDoorISR()
|
||||
{
|
||||
detachInterrupt(DOOR_DETECT_PIN);
|
||||
// LOW = OPEN, HIGH = CLOSED
|
||||
const bool opened = digitalRead(DOOR_DETECT_PIN);
|
||||
|
||||
g_Main.OnDoor(opened);
|
||||
}
|
||||
|
||||
void ready()
|
||||
@@ -18,10 +38,14 @@ void ready()
|
||||
debugf("READY!");
|
||||
|
||||
gpio_pin_wakeup_enable(GPIO_ID_PIN(FINGER_DETECT_PIN), GPIO_PIN_INTR_LOLEVEL);
|
||||
gpio_pin_wakeup_enable(GPIO_ID_PIN(SAFELOCK_DETECT_PIN), GPIO_PIN_INTR_LOLEVEL);
|
||||
gpio_pin_wakeup_enable(GPIO_ID_PIN(DOOR_DETECT_PIN), GPIO_PIN_INTR_LOLEVEL);
|
||||
|
||||
g_Main.Init(Serial);
|
||||
|
||||
attachInterrupt(FINGER_DETECT_PIN, OnFingerInterrupt, CHANGE);
|
||||
attachInterrupt(FINGER_DETECT_PIN, OnFingerISR, CHANGE);
|
||||
attachInterrupt(SAFELOCK_DETECT_PIN, OnLockISR, CHANGE);
|
||||
attachInterrupt(DOOR_DETECT_PIN, OnDoorISR, CHANGE);
|
||||
}
|
||||
|
||||
void init()
|
||||
@@ -45,7 +69,7 @@ void init()
|
||||
|
||||
pinMode(FINGER_DETECT_PIN, INPUT);
|
||||
pinMode(SAFELOCK_DETECT_PIN, INPUT);
|
||||
pinMode(DOOR_DETECT_PIN, INPUT);
|
||||
pinMode(DOOR_DETECT_PIN, INPUT_PULLUP);
|
||||
|
||||
// mount spiffs
|
||||
spiffs_mount();
|
||||
|
||||
Reference in New Issue
Block a user