Files
esphome/tests/components/gpio/test.nrf52-adafruit.yaml
T
c3233739c5 [zephyr] Implement GPIO interrupts (ISRInternalGPIOPin) (#17077)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: tomaszduda23 <tomaszduda23@gmail.com>
2026-07-03 11:43:21 +02:00

56 lines
1.6 KiB
YAML

# P0.2, P0.4 and P0.5 all live on the same Zephyr port device (gpio0) and each
# attaches its own interrupt. This locks in shared-port behavior: every pin owns
# a separate gpio_callback initialized with its own BIT(pin) mask, so Zephyr
# dispatches to each pin independently even though the port device is shared.
binary_sensor:
- platform: gpio
pin: 2
id: gpio_binary_sensor
use_interrupt: true
interrupt_type: ANY
# Inverted pin with an edge-specific interrupt: exercises the inversion-aware
# interrupt-arming path (logical RISING must arm on the physical falling edge).
- platform: gpio
pin:
number: P0.4
inverted: true
id: gpio_binary_sensor_inverted
use_interrupt: true
interrupt_type: RISING
# Second non-inverted interrupt on the same port (gpio0) as P0.2 above: verifies
# multiple pins sharing one port device each get their own callback/pin_mask.
- platform: gpio
pin: P0.5
id: gpio_binary_sensor_shared_port
use_interrupt: true
interrupt_type: FALLING
output:
- platform: gpio
pin: P0.3
id: gpio_output
switch:
- platform: gpio
pin: P1.2
id: gpio_switch
- platform: gpio
pin: P1.3
id: gpio_switch_interlock_1
interlock: [gpio_switch_interlock_2, gpio_switch_interlock_3]
interlock_wait_time: 100ms
- platform: gpio
pin: P1.4
id: gpio_switch_interlock_2
interlock: [gpio_switch_interlock_1, gpio_switch_interlock_3]
- platform: gpio
pin: P1.5
id: gpio_switch_interlock_3
interlock: [gpio_switch_interlock_1, gpio_switch_interlock_2]
interlock_wait_time: 50ms