mirror of
https://github.com/meshtastic/firmware.git
synced 2025-10-03 13:55:45 +00:00
Optimiz code for refresh border during full update.
This commit is contained in:
parent
69c41afb14
commit
2093e0bf52
@ -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
|
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user