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/config.h | 29 ---------------- keyboards/satt/comet46/keymaps/default/keymap.c | 45 ++++++------------------- keyboards/satt/comet46/keymaps/default/rules.mk | 5 +-- 3 files changed, 13 insertions(+), 66 deletions(-) delete mode 100644 keyboards/satt/comet46/keymaps/default/config.h (limited to 'keyboards/satt/comet46/keymaps/default') diff --git a/keyboards/satt/comet46/keymaps/default/config.h b/keyboards/satt/comet46/keymaps/default/config.h deleted file mode 100644 index ee02a94b7e..0000000000 --- a/keyboards/satt/comet46/keymaps/default/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -// place overrides here - - -/* Use I2C or Serial */ - -#define USE_I2C -#define SSD1306OLED 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); } diff --git a/keyboards/satt/comet46/keymaps/default/rules.mk b/keyboards/satt/comet46/keymaps/default/rules.mk index 3fa01f96af..3ceffe90ec 100644 --- a/keyboards/satt/comet46/keymaps/default/rules.mk +++ b/keyboards/satt/comet46/keymaps/default/rules.mk @@ -1,5 +1,6 @@ # If you want to change display settings of the OLED, you need to change the following lines -SRC += ./lib/glcdfont.c \ - ./lib/keylogger.c \ +SRC += ./lib/keylogger.c \ ./lib/modifier_state_reader.c \ ./lib/host_led_state_reader.c + +OLED_ENABLE = yes -- cgit v1.2.3