1
0
mirror of https://github.com/esphome/esphome.git synced 2025-10-29 14:13:51 +00:00

[esp8266] Store GPIO initialization arrays in PROGMEM to save RAM (#10560)

This commit is contained in:
J. Nick Koston
2025-09-04 02:44:12 -05:00
committed by GitHub
parent c03d978b46
commit 8fb6420b1c
2 changed files with 4 additions and 4 deletions

View File

@@ -58,8 +58,8 @@ extern "C" void resetPins() { // NOLINT
#ifdef USE_ESP8266_EARLY_PIN_INIT #ifdef USE_ESP8266_EARLY_PIN_INIT
for (int i = 0; i < 16; i++) { for (int i = 0; i < 16; i++) {
uint8_t mode = ESPHOME_ESP8266_GPIO_INITIAL_MODE[i]; uint8_t mode = progmem_read_byte(&ESPHOME_ESP8266_GPIO_INITIAL_MODE[i]);
uint8_t level = ESPHOME_ESP8266_GPIO_INITIAL_LEVEL[i]; uint8_t level = progmem_read_byte(&ESPHOME_ESP8266_GPIO_INITIAL_LEVEL[i]);
if (mode != 255) if (mode != 255)
pinMode(i, mode); // NOLINT pinMode(i, mode); // NOLINT
if (level != 255) if (level != 255)

View File

@@ -199,11 +199,11 @@ async def add_pin_initial_states_array():
cg.add_global( cg.add_global(
cg.RawExpression( cg.RawExpression(
f"const uint8_t ESPHOME_ESP8266_GPIO_INITIAL_MODE[16] = {{{initial_modes_s}}}" f"const uint8_t ESPHOME_ESP8266_GPIO_INITIAL_MODE[16] PROGMEM = {{{initial_modes_s}}}"
) )
) )
cg.add_global( cg.add_global(
cg.RawExpression( cg.RawExpression(
f"const uint8_t ESPHOME_ESP8266_GPIO_INITIAL_LEVEL[16] = {{{initial_levels_s}}}" f"const uint8_t ESPHOME_ESP8266_GPIO_INITIAL_LEVEL[16] PROGMEM = {{{initial_levels_s}}}"
) )
) )