ESPHome 2026.1.5
Loading...
Searching...
No Matches
progmem.h
Go to the documentation of this file.
1#pragma once
2
3// Platform-agnostic macros for PROGMEM string handling
4// On ESP8266/Arduino: Use Arduino's F() macro for PROGMEM strings
5// On other platforms: Use plain strings (no PROGMEM)
6
7#ifdef USE_ESP8266
8// ESP8266 uses Arduino macros
9#define ESPHOME_F(string_literal) F(string_literal)
10#define ESPHOME_PGM_P PGM_P
11#define ESPHOME_PSTR(s) PSTR(s)
12#define ESPHOME_strncpy_P strncpy_P
13#define ESPHOME_strncat_P strncat_P
14#define ESPHOME_snprintf_P snprintf_P
15#else
16#define ESPHOME_F(string_literal) (string_literal)
17#define ESPHOME_PGM_P const char *
18#define ESPHOME_PSTR(s) (s)
19#define ESPHOME_strncpy_P strncpy
20#define ESPHOME_strncat_P strncat
21#define ESPHOME_snprintf_P snprintf
22#endif