J. Nick Koston 00d34e9fe8 [gpio] Remove redundant last_state_ and pack GPIOBinarySensor fields
Remove last_state_ from GPIOBinarySensorStore — it was always set to
the same value as state_ in the ISR and never written elsewhere, making
the comparison `new_state != last_state_` equivalent to
`new_state != state_`.

Move use_interrupt_ and interrupt_type_ into the store to fill the
padding freed by removing last_state_, eliminating all internal padding.

Store layout (12B, zero padding):
  isr_pin_.arg_*   4B
  component_*      4B
  state_           1B (volatile)
  changed_         1B (volatile)
  use_interrupt_   1B
  interrupt_type_  1B

Saves 4 bytes per GPIOBinarySensor instance (64B → 60B).
2026-03-23 01:35:24 -10:00
2023-06-12 17:00:34 +12:00
2022-09-06 15:48:01 +12:00
2025-12-21 09:26:03 -05:00
2024-03-28 10:20:51 +13:00
2025-07-17 22:40:28 +12:00
2025-12-08 14:37:45 -05:00
2026-03-12 07:34:53 +13:00
2025-07-17 22:40:28 +12:00
S
Description
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Readme Multiple Licenses 529 MiB
Languages
C++ 60.1%
Python 39.3%
C 0.3%
JavaScript 0.2%