M module-bsp/board/linux/eink/ED028TC1.c => module-bsp/board/linux/eink/ED028TC1.c +1 -1
@@ 161,7 161,7 @@ EinkStatus_e EinkUpdateFrame(
EinkStatus_e EinkFillScreenWithColor(EinkDisplayColorFilling_e colorFill)
{
if (shared_buffer && shared_header) {
- memset(shared_buffer, colorFill, shared_header->width * shared_header->height);
+ memset(shared_buffer, colorFill, shared_buffer_size);
return EinkOK;
}
M module-services/service-eink/EinkDisplay.cpp => module-services/service-eink/EinkDisplay.cpp +5 -0
@@ 87,6 87,11 @@ namespace service::eink
EinkPowerDown();
}
+ void EinkDisplay::wipeOut()
+ {
+ EinkFillScreenWithColor(EinkDisplayColorFilling_e::EinkDisplayColorWhite);
+ }
+
EinkStatus_e EinkDisplay::update(std::uint8_t *displayBuffer)
{
return EinkUpdateFrame(pointTopLeft.x,
M module-services/service-eink/EinkDisplay.hpp => module-services/service-eink/EinkDisplay.hpp +1 -0
@@ 32,6 32,7 @@ namespace service::eink
void powerOn();
void powerOff();
void shutdown();
+ void wipeOut();
EinkStatus_e setWaveform(EinkWaveforms_e mode, std::int32_t temperature);
void setMode(EinkDisplayColorMode_e mode) noexcept;
M module-services/service-eink/ServiceEink.cpp => module-services/service-eink/ServiceEink.cpp +1 -0
@@ 76,6 76,7 @@ namespace service::eink
sys::ReturnCodes ServiceEink::DeinitHandler()
{
+ display.wipeOut();
display.shutdown();
return sys::ReturnCodes::Success;
}