src.nth.io/

summaryrefslogtreecommitdiff
path: root/main/src/bell.c
diff options
context:
space:
mode:
authorLuke Hoersten <[email protected]>2021-03-12 15:38:35 -0600
committerLuke Hoersten <[email protected]>2021-03-12 15:38:35 -0600
commit1592ae8caa11c304c6800978fd801f52b45e8714 (patch)
tree3d604ab97ddfd02f95a8c76c5ad66b12413fbc87 /main/src/bell.c
parent6848c47dd9046e6ed927167adb9185205755c4de (diff)
Misc updates.
Diffstat (limited to 'main/src/bell.c')
-rw-r--r--main/src/bell.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/main/src/bell.c b/main/src/bell.c
index 5952c1f..228179e 100644
--- a/main/src/bell.c
+++ b/main/src/bell.c
@@ -25,19 +25,26 @@ bool is_bell_ringing(int val)
void IRAM_ATTR intercom_bell_isr(void *arg)
{
- if (!is_intercom_bell_blocked && is_bell_ringing(adc1_get_raw(CONFIG_HOMEKIT_INTERCOM_BELL_ADC1_CHANNEL)))
+ if (is_intercom_bell_blocked)
+ return;
+
+ int val = adc1_get_raw(CONFIG_HOMEKIT_INTERCOM_BELL_ADC1_CHANNEL);
+ if (is_bell_ringing(val))
{
+ ESP_LOGI(TAG, "Intercom bell ring value in range [%d]", val);
intercom_event_queue_bell_ring();
is_intercom_bell_blocked = true;
}
+ else
+ {
+ ESP_LOGI(TAG, "Intercom bell ring value out of range [%d]", val);
+ }
}
void intercom_bell_ring()
{
ESP_LOGI(TAG, "Intercom bell ring event processed");
-
hap_char_update_val(intercom_bell_current_state, &HAP_PROGRAMMABLE_SWITCH_EVENT_SINGLE_PRESS);
-
xTimerReset(intercom_bell_timer, 10);
}