From f24b74e0881818c8b7ddf7bb786363fa9b142f67 Mon Sep 17 00:00:00 2001 From: Luke Hoersten Date: Fri, 12 Mar 2021 12:05:39 -0600 Subject: Broke out LED identify service. --- main/src/led.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 main/src/led.c (limited to 'main/src/led.c') diff --git a/main/src/led.c b/main/src/led.c new file mode 100644 index 0000000..37f225a --- /dev/null +++ b/main/src/led.c @@ -0,0 +1,48 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include + +#include +#include + +#include +#include + +int intercom_led_identify(hap_acc_t *ha) +{ + ESP_LOGI(TAG, "Accessory identified"); + + for (int i = 0; i < 3; i++) + { + gpio_set_level(CONFIG_HOMEKIT_INTERCOM_LED_GPIO_PIN, 1); + vTaskDelay(pdMS_TO_TICKS(500)); + gpio_set_level(CONFIG_HOMEKIT_INTERCOM_LED_GPIO_PIN, 0); + vTaskDelay(pdMS_TO_TICKS(500)); + } + + return HAP_SUCCESS; +} + +void intercom_led_init(uint32_t key_gpio_pin) +{ + gpio_config_t io_conf; + + io_conf.intr_type = GPIO_INTR_DISABLE; /* Interrupt for falling edge */ + io_conf.pin_bit_mask = 1 << key_gpio_pin; /* Bit mask of the pins */ + io_conf.mode = GPIO_MODE_OUTPUT; /* Set as input mode */ + io_conf.pull_up_en = GPIO_PULLUP_DISABLE; /* Disable internal pull-up */ + io_conf.pull_down_en = GPIO_PULLDOWN_ENABLE; /* Enable internal pull-down */ + + gpio_config(&io_conf); /* Set the GPIO configuration */ +} \ No newline at end of file -- cgit v1.2.3