From 1a936b84f284f370c71888e24e4a80596f588ba6 Mon Sep 17 00:00:00 2001 From: "Ben V. Brown" Date: Fri, 21 Jul 2023 19:02:14 +1000 Subject: [PATCH] Update OLED.cpp --- source/Core/Drivers/OLED.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/source/Core/Drivers/OLED.cpp b/source/Core/Drivers/OLED.cpp index c97dd35b..d4116638 100644 --- a/source/Core/Drivers/OLED.cpp +++ b/source/Core/Drivers/OLED.cpp @@ -431,14 +431,18 @@ void OLED::setRotation(bool leftHanded) { } void OLED::setBrightness(uint8_t contrast) { - OLED_Setup_Array[15].val = contrast; - I2C_CLASS::writeRegistersBulk(DEVICEADDR_OLED, &OLED_Setup_Array[14], 2); + if (OLED_Setup_Array[15].val != contrast) { + OLED_Setup_Array[15].val = contrast; + I2C_CLASS::writeRegistersBulk(DEVICEADDR_OLED, &OLED_Setup_Array[14], 2); + } } void OLED::setInverseDisplay(bool inverse) { uint8_t normalInverseCmd = inverse ? 0xA7 : 0xA6; - OLED_Setup_Array[21].val = normalInverseCmd; - I2C_CLASS::I2C_RegisterWrite(DEVICEADDR_OLED, 0x80, normalInverseCmd); + if (OLED_Setup_Array[21].val != normalInverseCmd) { + OLED_Setup_Array[21].val = normalInverseCmd; + I2C_CLASS::I2C_RegisterWrite(DEVICEADDR_OLED, 0x80, normalInverseCmd); + } } // print a string to the current cursor location, len chars MAX