aboutsummaryrefslogtreecommitdiff
path: root/keyboards/cannonkeys/satisfaction75/satisfaction75.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/cannonkeys/satisfaction75/satisfaction75.c')
-rw-r--r--keyboards/cannonkeys/satisfaction75/satisfaction75.c33
1 files changed, 5 insertions, 28 deletions
diff --git a/keyboards/cannonkeys/satisfaction75/satisfaction75.c b/keyboards/cannonkeys/satisfaction75/satisfaction75.c
index 682805f32..304df3325 100644
--- a/keyboards/cannonkeys/satisfaction75/satisfaction75.c
+++ b/keyboards/cannonkeys/satisfaction75/satisfaction75.c
@@ -5,11 +5,6 @@
5#include <ch.h> 5#include <ch.h>
6#include <hal.h> 6#include <hal.h>
7 7
8#ifdef QWIIC_MICRO_OLED_ENABLE
9#include "micro_oled.h"
10#include "qwiic.h"
11#endif
12
13#include "timer.h" 8#include "timer.h"
14 9
15#include "raw_hid.h" 10#include "raw_hid.h"
@@ -20,18 +15,14 @@
20/* Artificial delay added to get media keys to work in the encoder*/ 15/* Artificial delay added to get media keys to work in the encoder*/
21#define MEDIA_KEY_DELAY 10 16#define MEDIA_KEY_DELAY 10
22 17
23uint16_t last_flush;
24
25volatile uint8_t led_numlock = false; 18volatile uint8_t led_numlock = false;
26volatile uint8_t led_capslock = false; 19volatile uint8_t led_capslock = false;
27volatile uint8_t led_scrolllock = false; 20volatile uint8_t led_scrolllock = false;
28 21
29uint8_t layer; 22uint8_t layer;
30 23
31bool queue_for_send = false;
32bool clock_set_mode = false; 24bool clock_set_mode = false;
33uint8_t oled_mode = OLED_DEFAULT; 25uint8_t oled_mode = OLED_DEFAULT;
34bool oled_sleeping = false;
35 26
36uint8_t encoder_value = 32; 27uint8_t encoder_value = 32;
37uint8_t encoder_mode = ENC_MODE_VOLUME; 28uint8_t encoder_mode = ENC_MODE_VOLUME;
@@ -167,7 +158,6 @@ void raw_hid_receive_kb( uint8_t *data, uint8_t length )
167 case id_oled_mode: 158 case id_oled_mode:
168 { 159 {
169 oled_mode = command_data[1]; 160 oled_mode = command_data[1];
170 draw_ui();
171 break; 161 break;
172 } 162 }
173 case id_encoder_modes: 163 case id_encoder_modes:
@@ -247,18 +237,15 @@ void read_host_led_state(void) {
247layer_state_t layer_state_set_kb(layer_state_t state) { 237layer_state_t layer_state_set_kb(layer_state_t state) {
248 state = layer_state_set_user(state); 238 state = layer_state_set_user(state);
249 layer = biton32(state); 239 layer = biton32(state);
250 queue_for_send = true;
251 return state; 240 return state;
252} 241}
253 242
254bool process_record_kb(uint16_t keycode, keyrecord_t *record) { 243bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
255 queue_for_send = true;
256 switch (keycode) { 244 switch (keycode) {
257 case OLED_TOGG: 245 case OLED_TOGG:
258 if(!clock_set_mode){ 246 if(!clock_set_mode){
259 if (record->event.pressed) { 247 if (record->event.pressed) {
260 oled_mode = (oled_mode + 1) % _NUM_OLED_MODES; 248 oled_mode = (oled_mode + 1) % _NUM_OLED_MODES;
261 draw_ui();
262 } 249 }
263 } 250 }
264 return false; 251 return false;
@@ -303,7 +290,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
303bool encoder_update_kb(uint8_t index, bool clockwise) { 290bool encoder_update_kb(uint8_t index, bool clockwise) {
304 if (!encoder_update_user(index, clockwise)) return false; 291 if (!encoder_update_user(index, clockwise)) return false;
305 encoder_value = (encoder_value + (clockwise ? 1 : -1)) % 64; 292 encoder_value = (encoder_value + (clockwise ? 1 : -1)) % 64;
306 queue_for_send = true;
307 if (index == 0) { 293 if (index == 0) {
308 if (layer == 0){ 294 if (layer == 0){
309 uint16_t mapped_code = 0; 295 uint16_t mapped_code = 0;
@@ -376,7 +362,6 @@ void matrix_init_kb(void)
376#endif // VIA_ENABLE 362#endif // VIA_ENABLE
377 363
378 rtcGetTime(&RTCD1, &last_timespec); 364 rtcGetTime(&RTCD1, &last_timespec);
379 queue_for_send = true;
380 backlight_init_ports(); 365 backlight_init_ports();
381 matrix_init_user(); 366 matrix_init_user();
382} 367}
@@ -388,22 +373,14 @@ void housekeeping_task_kb(void) {
388 373
389 if (minutes_since_midnight != last_minute){ 374 if (minutes_since_midnight != last_minute){
390 last_minute = minutes_since_midnight; 375 last_minute = minutes_since_midnight;
391 if(!oled_sleeping){
392 queue_for_send = true;
393 }
394 } 376 }
395#ifdef QWIIC_MICRO_OLED_ENABLE 377
396 if (queue_for_send && oled_mode != OLED_OFF) { 378 if((oled_mode == OLED_OFF) && is_oled_on()){
397 oled_sleeping = false; 379 oled_off();
398 read_host_led_state();
399 draw_ui();
400 queue_for_send = false;
401 } 380 }
402 if (timer_elapsed(last_flush) > ScreenOffInterval && !oled_sleeping) { 381 if((oled_mode != OLED_OFF) && !is_oled_on()){
403 send_command(DISPLAYOFF); /* 0xAE */ 382 oled_on();
404 oled_sleeping = true;
405 } 383 }
406#endif
407} 384}
408 385
409// 386//