wip:
This commit is contained in:
parent
fff4013b40
commit
ce831b324a
@ -224,8 +224,8 @@ static void IRAM_ATTR _zh_pcf8574_isr_processing_task(void *pvParameter)
|
|||||||
event.i2c_address = handle->i2c_address;
|
event.i2c_address = handle->i2c_address;
|
||||||
event.gpio_number = 0xFF;
|
event.gpio_number = 0xFF;
|
||||||
uint8_t old_reg = handle->gpio_status;
|
uint8_t old_reg = handle->gpio_status;
|
||||||
uint8_t reg_temp = 0;
|
uint8_t new_reg = 0;
|
||||||
esp_err_t err = _zh_pcf8574_read_register(handle, ®_temp);
|
esp_err_t err = _zh_pcf8574_read_register(handle, &new_reg);
|
||||||
if (err != ESP_OK)
|
if (err != ESP_OK)
|
||||||
{
|
{
|
||||||
ZH_PCF8574_LOGE_ERR("PCF8574 isr processing failed. Failed to read expander register.", err);
|
ZH_PCF8574_LOGE_ERR("PCF8574 isr processing failed. Failed to read expander register.", err);
|
||||||
@ -235,10 +235,10 @@ static void IRAM_ATTR _zh_pcf8574_isr_processing_task(void *pvParameter)
|
|||||||
{
|
{
|
||||||
if ((handle->gpio_work_mode & _gpio_matrix[j]) != 0)
|
if ((handle->gpio_work_mode & _gpio_matrix[j]) != 0)
|
||||||
{
|
{
|
||||||
if ((old_reg & _gpio_matrix[j]) != (reg_temp & _gpio_matrix[j]))
|
if ((old_reg & _gpio_matrix[j]) != (new_reg & _gpio_matrix[j]))
|
||||||
{
|
{
|
||||||
event.gpio_number = j;
|
event.gpio_number = j;
|
||||||
event.gpio_level = reg_temp & _gpio_matrix[j];
|
event.gpio_level = new_reg & _gpio_matrix[j];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user