diff --git a/esphome/core/progmem.h b/esphome/core/progmem.h index a7b4a65adc..08949751a5 100644 --- a/esphome/core/progmem.h +++ b/esphome/core/progmem.h @@ -73,8 +73,9 @@ template struct ProgmemStringTable { return result; } - /// Generate offset table at compile time + /// Generate offset table at compile time (uint8_t limits blob to 255 bytes) static constexpr auto make_offsets() { + static_assert(BLOB_SIZE <= 255, "PROGMEM_STRING_TABLE blob exceeds 255 bytes; use fewer/shorter strings"); std::array result{}; size_t pos = 0, idx = 0; ((result[idx++] = pos, pos += Strs.size() + 1), ...);