Browse Source

Fix low power consumption issues

pull/1608/head
Quency-D 4 months ago
parent
commit
e15503d50d
  1. 12
      src/helpers/ui/SSD1306Display.cpp
  2. 1
      variants/heltec_v4/platformio.ini

12
src/helpers/ui/SSD1306Display.cpp

@ -18,17 +18,23 @@ bool SSD1306Display::begin() {
} }
void SSD1306Display::turnOn() { void SSD1306Display::turnOn() {
display.ssd1306_command(SSD1306_DISPLAYON);
if (!_isOn) { if (!_isOn) {
if (_peripher_power) _peripher_power->claim(); if (_peripher_power) {
_peripher_power->claim();
begin();
}
_isOn = true; _isOn = true;
} }
display.ssd1306_command(SSD1306_DISPLAYON);
} }
void SSD1306Display::turnOff() { void SSD1306Display::turnOff() {
display.ssd1306_command(SSD1306_DISPLAYOFF); display.ssd1306_command(SSD1306_DISPLAYOFF);
if (_isOn) { if (_isOn) {
if (_peripher_power) _peripher_power->release(); if (_peripher_power) {
if (PIN_OLED_RESET >= 0) digitalWrite(PIN_OLED_RESET, LOW);
_peripher_power->release();
}
_isOn = false; _isOn = false;
} }
} }

1
variants/heltec_v4/platformio.ini

@ -52,6 +52,7 @@ build_flags =
-D HELTEC_LORA_V4_OLED -D HELTEC_LORA_V4_OLED
-D PIN_BOARD_SDA=17 -D PIN_BOARD_SDA=17
-D PIN_BOARD_SCL=18 -D PIN_BOARD_SCL=18
-D PIN_OLED_RESET=21
-D ENV_PIN_SDA=4 -D ENV_PIN_SDA=4
-D ENV_PIN_SCL=3 -D ENV_PIN_SCL=3
build_src_filter= ${Heltec_lora32_v4.build_src_filter} build_src_filter= ${Heltec_lora32_v4.build_src_filter}

Loading…
Cancel
Save