Fix OLED timeout on satisfaction75 after migration from QWIIC (#14780)

The custom OLED_OFF mode implemented on satisfaction75 is incompatible
with the OLED_TIMEOUT feature (the OLED_TIMEOUT code assumes that any
key or encoder action should turn the OLED display on, and does not
provide any way to disable that behavior).  To keep the OLED_OFF mode
functioning as before while still having a working OLED idle timeout, a
custom implementation of the OLED idle timeout code is added.
This commit is contained in:
Sergey Vlasov 2021-10-10 19:01:29 +03:00 committed by GitHub
parent 0ea72af8b7
commit 2d3bd7cfcf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 87 additions and 8 deletions

View file

@ -72,6 +72,9 @@ extern uint8_t layer;
// OLED Behavior
extern uint8_t oled_mode;
extern bool oled_repaint_requested;
extern bool oled_wakeup_requested;
extern uint32_t oled_sleep_timer;
// Encoder Behavior
extern uint8_t encoder_value;
@ -107,6 +110,10 @@ void set_custom_encoder_config(uint8_t encoder_idx, uint8_t behavior, uint16_t n
void update_time_config(int8_t increment);
void oled_request_wakeup(void);
void oled_request_repaint(void);
bool oled_task_needs_to_repaint(void);
void backlight_init_ports(void);
void backlight_set(uint8_t level);
bool is_breathing(void);