feat: added gpio interrupt time
This commit is contained in:
@@ -1 +1 @@
|
|||||||
idf_component_register(SRCS "zh_pcf8574.c" INCLUDE_DIRS "include" REQUIRES driver esp_event zh_vector)
|
idf_component_register(SRCS "zh_pcf8574.c" INCLUDE_DIRS "include" REQUIRES driver esp_timer esp_event zh_vector)
|
||||||
@@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
#include "esp_log.h"
|
#include "esp_log.h"
|
||||||
#include "driver/gpio.h"
|
#include "driver/gpio.h"
|
||||||
|
#include "esp_timer.h"
|
||||||
#include "driver/i2c_master.h"
|
#include "driver/i2c_master.h"
|
||||||
#include "freertos/FreeRTOS.h"
|
#include "freertos/FreeRTOS.h"
|
||||||
#include "freertos/task.h"
|
#include "freertos/task.h"
|
||||||
@@ -112,6 +113,7 @@ extern "C"
|
|||||||
*/
|
*/
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
uint64_t interrupt_time; /*!< Interrupt time. */
|
||||||
zh_pcf8574_gpio_num_t gpio_number; /*!< The GPIO that caused the interrupt. */
|
zh_pcf8574_gpio_num_t gpio_number; /*!< The GPIO that caused the interrupt. */
|
||||||
uint8_t i2c_address; /*!< The i2c address of PCF8574 expander that caused the interrupt. */
|
uint8_t i2c_address; /*!< The i2c address of PCF8574 expander that caused the interrupt. */
|
||||||
bool gpio_level; /*!< The GPIO level that caused the interrupt. */
|
bool gpio_level; /*!< The GPIO level that caused the interrupt. */
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
2.5.1
|
2.6.0
|
||||||
@@ -328,6 +328,7 @@ static void IRAM_ATTR _zh_pcf8574_isr_processing_task(void *pvParameter)
|
|||||||
{
|
{
|
||||||
event.gpio_number = j;
|
event.gpio_number = j;
|
||||||
event.gpio_level = new_reg & _gpio_matrix[j];
|
event.gpio_level = new_reg & _gpio_matrix[j];
|
||||||
|
event.interrupt_time = esp_timer_get_time();
|
||||||
err = esp_event_post(ZH_PCF8574, 0, &event, sizeof(event), 1000 / portTICK_PERIOD_MS);
|
err = esp_event_post(ZH_PCF8574, 0, &event, sizeof(event), 1000 / portTICK_PERIOD_MS);
|
||||||
if (err != ESP_OK)
|
if (err != ESP_OK)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user