[sx1509] Extract clear_interrupt_ inline helper

This commit is contained in:
J. Nick Koston
2026-04-09 17:01:51 -10:00
parent 37796887f0
commit 32f05f50f5
2 changed files with 5 additions and 2 deletions

View File

@@ -59,8 +59,7 @@ void SX1509Component::loop() {
this->interrupt_pending_ = false;
// Clear interrupt source before resetting cache to avoid losing
// pin changes that occur between cache reset and interrupt clear
uint16_t interrupt_source = 0;
this->read_byte_16(REG_INTERRUPT_SOURCE_B, &interrupt_source);
this->clear_interrupt_();
this->reset_pin_cache_();
if (!this->has_keypad_) {
this->disable_loop();

View File

@@ -94,6 +94,10 @@ class SX1509Component : public Component,
const uint32_t min_loop_period_ = 15; // ms
void enable_pin_interrupt_(uint8_t pin);
void clear_interrupt_() {
uint16_t interrupt_source = 0;
this->read_byte_16(REG_INTERRUPT_SOURCE_B, &interrupt_source);
}
void setup_keypad_();
void set_debounce_config_(uint8_t config_value);
void set_debounce_time_(uint8_t time);