Optimiz code for refresh border during full update.

This commit is contained in:
Heltec-Aaron-Lee 2025-04-10 17:13:43 +08:00
parent 69c41afb14
commit 2093e0bf52
2 changed files with 11 additions and 35 deletions

View File

@ -22,11 +22,17 @@ void LCMEN2R13ECC1::configScanning()
// the controller IC's OTP memory, when the update procedure begins. // the controller IC's OTP memory, when the update procedure begins.
void LCMEN2R13ECC1::configWaveform() void LCMEN2R13ECC1::configWaveform()
{ {
sendCommand(0x3C); // Border waveform: switch (updateType) {
sendData(0x85); case FAST:
sendCommand(0x3C); // Border waveform:
sendCommand(0x18); // Temperature sensor: sendData(0x85);
sendData(0x80); // Use internal temperature sensor to select an appropriate refresh waveform break;
case FULL:
default:
// From OTP memory
break;
}
} }
void LCMEN2R13ECC1::configUpdateSequence() void LCMEN2R13ECC1::configUpdateSequence()
@ -59,33 +65,4 @@ void LCMEN2R13ECC1::detachFromUpdate()
} }
} }
void LCMEN2R13ECC1::update(uint8_t *imageData, UpdateTypes type)
{
this->updateType = type;
this->buffer = imageData;
reset();
configFullscreen();
configScanning(); // Virtual, unused by base class
wait();
if (updateType == FULL) {
writeNewImage();
writeOldImage();
} else {
configVoltages(); // Virtual, unused by base class
configWaveform(); // Virtual, unused by base class
wait();
writeNewImage();
}
configUpdateSequence();
sendCommand(0x20); // Begin executing the update
// Let the update run async, on display hardware. Base class will poll completion, then finalize.
// For a blocking update, call await after update
detachFromUpdate();
}
#endif // MESHTASTIC_INCLUDE_NICHE_GRAPHICS #endif // MESHTASTIC_INCLUDE_NICHE_GRAPHICS

View File

@ -31,7 +31,6 @@ class LCMEN2R13ECC1 : public SSD16XX
LCMEN2R13ECC1() : SSD16XX(width, height, supported, 1) {} // Note: left edge of this display is offset by 1 byte LCMEN2R13ECC1() : SSD16XX(width, height, supported, 1) {} // Note: left edge of this display is offset by 1 byte
protected: protected:
virtual void update(uint8_t *imageData, UpdateTypes type) override;
virtual void configScanning() override; virtual void configScanning() override;
virtual void configWaveform() override; virtual void configWaveform() override;
virtual void configUpdateSequence() override; virtual void configUpdateSequence() override;