Updated display blanking/unblanking

master
Mark Qvist 5 months ago
parent 0b9f19916e
commit 423098ff30
  1. 3
      Display.h
  2. 6
      RNode_Firmware.ino

@ -67,6 +67,7 @@ uint32_t last_disp_update = 0;
uint32_t last_unblank_event = 0; uint32_t last_unblank_event = 0;
uint32_t display_blanking_timeout = DISPLAY_BLANKING_TIMEOUT; uint32_t display_blanking_timeout = DISPLAY_BLANKING_TIMEOUT;
uint8_t display_unblank_intensity = display_intensity; uint8_t display_unblank_intensity = display_intensity;
bool display_blanked = false;
uint8_t disp_target_fps = 7; uint8_t disp_target_fps = 7;
int disp_update_interval = 1000/disp_target_fps; int disp_update_interval = 1000/disp_target_fps;
uint32_t last_page_flip = 0; uint32_t last_page_flip = 0;
@ -597,11 +598,13 @@ void update_disp_area() {
void update_display(bool blank = false) { void update_display(bool blank = false) {
if (display_blanking_enabled && millis()-last_unblank_event >= display_blanking_timeout) { if (display_blanking_enabled && millis()-last_unblank_event >= display_blanking_timeout) {
blank = true; blank = true;
display_blanked = true;
if (display_intensity != 0) { if (display_intensity != 0) {
display_unblank_intensity = display_intensity; display_unblank_intensity = display_intensity;
} }
display_intensity = 0; display_intensity = 0;
} else { } else {
display_blanked = false;
if (display_unblank_intensity != 0x00) { if (display_unblank_intensity != 0x00) {
display_intensity = display_unblank_intensity; display_intensity = display_unblank_intensity;
display_unblank_intensity = 0x00; display_unblank_intensity = 0x00;

@ -427,7 +427,6 @@ void flushQueue(void) {
if (!queue_flushing) { if (!queue_flushing) {
queue_flushing = true; queue_flushing = true;
display_unblank();
led_tx_on(); led_tx_on();
uint16_t processed = 0; uint16_t processed = 0;
@ -588,7 +587,6 @@ void serialCallback(uint8_t sbyte) {
fifo16_push(&packet_lengths, l); fifo16_push(&packet_lengths, l);
current_packet_start = queue_cursor; current_packet_start = queue_cursor;
display_unblank();
} }
} }
@ -604,7 +602,6 @@ void serialCallback(uint8_t sbyte) {
} else if (command == CMD_DATA) { } else if (command == CMD_DATA) {
if (bt_state != BT_STATE_CONNECTED) { if (bt_state != BT_STATE_CONNECTED) {
cable_state = CABLE_STATE_CONNECTED; cable_state = CABLE_STATE_CONNECTED;
display_unblank();
} }
if (sbyte == FESC) { if (sbyte == FESC) {
ESCAPE = true; ESCAPE = true;
@ -1378,7 +1375,9 @@ void sleep_now() {
void button_event(uint8_t event, unsigned long duration) { void button_event(uint8_t event, unsigned long duration) {
#if MCU_VARIANT == MCU_ESP32 #if MCU_VARIANT == MCU_ESP32
if (display_blanked) {
display_unblank(); display_unblank();
} else {
if (duration > 10000) { if (duration > 10000) {
#if HAS_CONSOLE #if HAS_CONSOLE
#if HAS_BLUETOOTH || HAS_BLE #if HAS_BLUETOOTH || HAS_BLE
@ -1408,6 +1407,7 @@ void button_event(uint8_t event, unsigned long duration) {
} }
#endif #endif
} }
}
#endif #endif
} }

Loading…
Cancel
Save