From 1592ae8caa11c304c6800978fd801f52b45e8714 Mon Sep 17 00:00:00 2001 From: Luke Hoersten Date: Fri, 12 Mar 2021 15:38:35 -0600 Subject: Misc updates. --- main/src/bell.c | 13 ++++++++++--- main/src/event_queue.c | 2 +- main/src/lock.c | 5 ----- 3 files changed, 11 insertions(+), 9 deletions(-) (limited to 'main/src') 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); } diff --git a/main/src/event_queue.c b/main/src/event_queue.c index 9e73315..2f4a93d 100644 --- a/main/src/event_queue.c +++ b/main/src/event_queue.c @@ -66,7 +66,7 @@ void intercom_event_queue_run() bool intercom_event_queue_init() { - int queue_len = 4; + int queue_len = 8; int queue_item_size = sizeof(uint8_t); intercom_event_queue = xQueueCreate(queue_len, queue_item_size); return intercom_event_queue != NULL; diff --git a/main/src/lock.c b/main/src/lock.c index dea3c20..a088d03 100644 --- a/main/src/lock.c +++ b/main/src/lock.c @@ -26,17 +26,14 @@ static hap_char_t *intercom_lock_target_state; void intercom_lock_unsecure() { ESP_LOGI(TAG, "Intercom unlock event processed"); - gpio_set_level(CONFIG_HOMEKIT_INTERCOM_LOCK_GPIO_PIN, INTERCOM_LOCK_GPIO_UNLOCKED); hap_char_update_val(intercom_lock_current_state, &HAP_LOCK_CURRENT_STATE_UNSECURED); - xTimerReset(intercom_lock_timer, 10); } void intercom_lock_secure() { ESP_LOGI(TAG, "Intercom lock event processed"); - gpio_set_level(CONFIG_HOMEKIT_INTERCOM_LOCK_GPIO_PIN, INTERCOM_LOCK_GPIO_LOCKED); hap_char_update_val(intercom_lock_current_state, &HAP_LOCK_CURRENT_STATE_SECURED); } @@ -44,7 +41,6 @@ void intercom_lock_secure() void intercom_lock_timeout() { ESP_LOGI(TAG, "Intercom lock timeout event processed"); - intercom_event_queue_lock_secure(); hap_val_t target_lock_secured = {.u = HAP_LOCK_TARGET_STATE_SECURED}; hap_char_update_val(intercom_lock_target_state, &target_lock_secured); @@ -86,7 +82,6 @@ int intercom_lock_write_cb(hap_write_data_t write_data[], int count, void *serv_ void intercom_lock_timer_cb(TimerHandle_t timer) { ESP_LOGI(TAG, "Intercom lock timer fired - event queued"); - intercom_event_queue_lock_timeout(); } -- cgit v1.2.3