mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-06 03:27:01 +03:00
Fixed resetting interrupt
This commit is contained in:
@@ -689,7 +689,9 @@ static void aw9523_set_direction(gpio_exp_t* self) {
|
||||
}
|
||||
|
||||
static uint32_t aw9523_read(gpio_exp_t* self) {
|
||||
return i2c_read(self->phy.port, self->phy.addr, 0x00, 2);
|
||||
// Reading both registers in one go does not seem to reset IRQ correctly
|
||||
uint8_t port1 = i2c_read(self->phy.port, self->phy.addr, 0x00, 1);
|
||||
return (i2c_read(self->phy.port, self->phy.addr, 0x01, 1) << 8) | port1;
|
||||
}
|
||||
|
||||
static void aw9523_write(gpio_exp_t* self) {
|
||||
@@ -818,4 +820,4 @@ static uint32_t spi_read(spi_device_handle_t handle, uint8_t addr, uint8_t reg,
|
||||
free(transaction);
|
||||
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user