|
|
@ -1,3 +1,4 @@ |
|
|
|
|
|
|
|
#ifdef SSD1306OLED |
|
|
|
|
|
|
|
#include "ssd1306.h" |
|
|
@ -27,12 +28,17 @@ |
|
|
|
//static uint16_t last_battery_update; |
|
|
|
//static uint32_t vbat; |
|
|
|
//#define BatteryUpdateInterval 10000 /* milliseconds */ |
|
|
|
#define ScreenOffInterval 300000 /* milliseconds */ |
|
|
|
|
|
|
|
// 'last_flush' is declared as uint16_t, |
|
|
|
// so this must be less than 65535 |
|
|
|
#define ScreenOffInterval 60000 /* milliseconds */ |
|
|
|
#if DEBUG_TO_SCREEN |
|
|
|
static uint8_t displaying; |
|
|
|
#endif |
|
|
|
static uint16_t last_flush; |
|
|
|
|
|
|
|
static bool force_dirty = true; |
|
|
|
|
|
|
|
// Write command sequence. |
|
|
|
// Returns true on success. |
|
|
|
static inline bool _send_cmd1(uint8_t cmd) { |
|
|
@ -318,12 +324,19 @@ void iota_gfx_task_user(void) { |
|
|
|
void iota_gfx_task(void) { |
|
|
|
iota_gfx_task_user(); |
|
|
|
|
|
|
|
if (display.dirty) { |
|
|
|
if (display.dirty|| force_dirty) { |
|
|
|
iota_gfx_flush(); |
|
|
|
force_dirty = false; |
|
|
|
} |
|
|
|
|
|
|
|
if (timer_elapsed(last_flush) > ScreenOffInterval) { |
|
|
|
iota_gfx_off(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
bool process_record_gfx(uint16_t keycode, keyrecord_t *record) { |
|
|
|
force_dirty = true; |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
#endif |