mirror of
https://github.com/esphome/esphome.git
synced 2026-09-26 22:40:21 +00:00
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>
56 lines
1.6 KiB
YAML
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
|