From 0da6562c4df570729889690e21061229c5648b73 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sat, 18 Jun 2022 14:37:51 -0700 Subject: Make default layer size 16-bit (#15286) Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> --- keyboards/satt/comet46/keymaps/default/keymap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'keyboards/satt/comet46/keymaps/default/keymap.c') diff --git a/keyboards/satt/comet46/keymaps/default/keymap.c b/keyboards/satt/comet46/keymaps/default/keymap.c index cf2c911d4c..bccca0a091 100644 --- a/keyboards/satt/comet46/keymaps/default/keymap.c +++ b/keyboards/satt/comet46/keymaps/default/keymap.c @@ -176,8 +176,8 @@ void render_status(struct CharacterMatrix *matrix) { // Layer state char layer_str[22]; matrix_write(matrix, "Layer: "); - uint8_t layer = biton32(layer_state); - uint8_t default_layer = biton32(eeconfig_read_default_layer()); + uint8_t layer = get_highest_layer(layer_state); + uint8_t default_layer = get_highest_layer(eeconfig_read_default_layer()); switch (layer) { case _QWERTY: switch (default_layer) { -- cgit v1.2.3 From 409790457cdc509c0bf783745f27335ec6806b5d Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 31 Jul 2022 15:35:42 +0100 Subject: Refactor satt/comet46 to use core OLED driver (#17856) --- keyboards/satt/comet46/keymaps/default/keymap.c | 45 ++++++------------------- 1 file changed, 10 insertions(+), 35 deletions(-) (limited to 'keyboards/satt/comet46/keymaps/default/keymap.c') diff --git a/keyboards/satt/comet46/keymaps/default/keymap.c b/keyboards/satt/comet46/keymaps/default/keymap.c index bccca0a091..3e6f9045ff 100644 --- a/keyboards/satt/comet46/keymaps/default/keymap.c +++ b/keyboards/satt/comet46/keymaps/default/keymap.c @@ -2,9 +2,6 @@ // This is the canonical layout file for the Quantum project. If you want to add another keyboard, #include QMK_KEYBOARD_H -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif // Each layer gets a name for readability, which is then used in the keymap matrix below. @@ -148,8 +145,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); } -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED +#ifdef OLED_ENABLE // You need to add source files to SRC in rules.mk when using OLED display functions void set_keylog(uint16_t keycode); @@ -157,25 +153,10 @@ const char *read_keylog(void); const char *read_modifier_state(void); const char *read_host_led_state(void); -void matrix_init_user(void) { - iota_gfx_init(false); // turns on the display -} - -void matrix_scan_user(void) { - iota_gfx_task(); // this is what updates the display continuously -} - -void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -void render_status(struct CharacterMatrix *matrix) { +bool oled_task_user(void) { // Layer state char layer_str[22]; - matrix_write(matrix, "Layer: "); + oled_write_P(PSTR("Layer: "), false); uint8_t layer = get_highest_layer(layer_state); uint8_t default_layer = get_highest_layer(eeconfig_read_default_layer()); switch (layer) { @@ -207,27 +188,21 @@ void render_status(struct CharacterMatrix *matrix) { default: snprintf(layer_str, sizeof(layer_str), "Undef-%d", layer); } - matrix_write_ln(matrix, layer_str); + oled_write_ln(layer_str, false); // Last entered keycode - matrix_write_ln(matrix, read_keylog()); + oled_write_ln(read_keylog(), false); // Modifier state - matrix_write_ln(matrix, read_modifier_state()); + oled_write_ln(read_modifier_state(), false); // Host Keyboard LED Status - matrix_write(matrix, read_host_led_state()); -} + oled_write(read_host_led_state(), false); - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - matrix_clear(&matrix); - render_status(&matrix); - matrix_update(&display, &matrix); + return false; } -#endif//SSD1306OLED +#endif bool process_record_user(uint16_t keycode, keyrecord_t *record) { - #ifdef SSD1306OLED + #ifdef OLED_ENABLE if (record->event.pressed) { set_keylog(keycode); } -- cgit v1.2.3