Skip to content

Commit

Permalink
Fixed resetting interrupt
Browse files Browse the repository at this point in the history
  • Loading branch information
StefanKrupop committed Jul 26, 2024
1 parent a2351ba commit 672aca8
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions components/services/gpio_exp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -818,4 +820,4 @@ static uint32_t spi_read(spi_device_handle_t handle, uint8_t addr, uint8_t reg,
free(transaction);

return data;
}
}

0 comments on commit 672aca8

Please sign in to comment.