]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboards/helix/ssd1306.c
Add support for Clueboard 66% rev4
[qmk_firmware.git] / keyboards / helix / ssd1306.c
index b3e55a67c201f45385da4142a1755941fbea36fc..dd3290ba0cc813ebb7b65208191877cb5a5f59ee 100644 (file)
@@ -1,3 +1,4 @@
+
 #ifdef SSD1306OLED
 
 #include "ssd1306.h"
 //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