When FastEPD's initPanel fails (e.g. NO_MEMORY because the board's PSRAM
build keys are wrong), the firmware keeps running: BLE up, commands
ACKed, transfers accepted — but nothing ever renders and nothing is
logged above debug. This cost us a full false-lead cycle during PaperS3
bring-up (e-paper retention masked it: the old image stayed up).
Proposal: surface init failure as (a) a WARN log with the FastEPD rc and
(b) an error response / NACK on transfer or refresh commands while the
panel is uninitialized, so senders see a verdict instead of a success
that never displays.
When FastEPD's initPanel fails (e.g. NO_MEMORY because the board's PSRAM
build keys are wrong), the firmware keeps running: BLE up, commands
ACKed, transfers accepted — but nothing ever renders and nothing is
logged above debug. This cost us a full false-lead cycle during PaperS3
bring-up (e-paper retention masked it: the old image stayed up).
Proposal: surface init failure as (a) a WARN log with the FastEPD rc and
(b) an error response / NACK on transfer or refresh commands while the
panel is uninitialized, so senders see a verdict instead of a success
that never displays.