Browse Source

stop OLED powering on every message if connected to phone

pull/1057/head
liquidraver 7 months ago
parent
commit
397d280c3b
  1. 9
      examples/companion_radio/ui-new/UITask.cpp
  2. 9
      examples/companion_radio/ui-orig/UITask.cpp

9
examples/companion_radio/ui-new/UITask.cpp

@ -596,9 +596,16 @@ void UITask::newMsg(uint8_t path_len, const char* from_name, const char* text, i
setCurrScreen(msg_preview);
if (_display != NULL) {
if (!_display->isOn()) _display->turnOn();
// Only turn on display if it's off AND not connected to phone via BLE
// If connected to phone, user will see messages there, so don't wake the OLED
if (!_display->isOn() && !hasConnection()) {
_display->turnOn();
}
// Always extend auto-off timer and trigger refresh if display is on
if (_display->isOn()) {
_auto_off = millis() + AUTO_OFF_MILLIS; // extend the auto-off timer
_next_refresh = 100; // trigger refresh
}
}
}

9
examples/companion_radio/ui-orig/UITask.cpp

@ -136,9 +136,16 @@ void UITask::newMsg(uint8_t path_len, const char* from_name, const char* text, i
StrHelper::strncpy(_msg, text, sizeof(_msg));
if (_display != NULL) {
if (!_display->isOn()) _display->turnOn();
// Only turn on display if it's off AND not connected to phone via BLE
// If connected to phone, user will see messages there, so don't wake the OLED
if (!_display->isOn() && !hasConnection()) {
_display->turnOn();
}
// Always extend auto-off timer and trigger refresh if display is on
if (_display->isOn()) {
_auto_off = millis() + AUTO_OFF_MILLIS; // extend the auto-off timer
_need_refresh = true;
}
}
}

Loading…
Cancel
Save