From 490641307ab30ae10dd80fde766f5988bd154ca2 Mon Sep 17 00:00:00 2001 From: Andrew Kannan Date: Mon, 26 Feb 2024 17:16:00 -0500 Subject: Cleanup Satisfaction75 Firmware and add new revisions (#22082) Co-authored-by: Ryan Co-authored-by: Nick Brassel --- .../lib/satisfaction75/satisfaction_core.h | 101 +++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h (limited to 'keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h') diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h new file mode 100644 index 0000000000..30caeadc38 --- /dev/null +++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h @@ -0,0 +1,101 @@ +// Copyright 2023 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "quantum.h" + +#include "via.h" // only for EEPROM address +#include "satisfaction_keycodes.h" + +#define EEPROM_ENABLED_ENCODER_MODES (VIA_EEPROM_CUSTOM_CONFIG_ADDR) +#define EEPROM_DEFAULT_OLED (VIA_EEPROM_CUSTOM_CONFIG_ADDR+1) +#define EEPROM_CUSTOM_ENCODER (VIA_EEPROM_CUSTOM_CONFIG_ADDR+2) + +enum s75_keyboard_value_id { + id_encoder_modes = 1, + id_oled_default_mode, + id_encoder_custom, + id_oled_mode +}; + +enum encoder_modes { + ENC_MODE_VOLUME, + ENC_MODE_MEDIA, + ENC_MODE_SCROLL, + ENC_MODE_BRIGHTNESS, + ENC_MODE_BACKLIGHT, + ENC_MODE_CUSTOM0, + ENC_MODE_CUSTOM1, + ENC_MODE_CUSTOM2, + _NUM_ENCODER_MODES, + ENC_MODE_CLOCK_SET // This shouldn't be included in the default modes, so we put it after NUM_ENCODER_MODES +}; + +enum custom_encoder_behavior { + ENC_CUSTOM_CW = 0, + ENC_CUSTOM_CCW, + ENC_CUSTOM_PRESS +}; + +enum oled_modes { + OLED_DEFAULT, + OLED_TIME, + OLED_OFF, + _NUM_OLED_MODES +}; + + +// Keyboard Information +extern volatile uint8_t led_numlock; +extern volatile uint8_t led_capslock; +extern volatile uint8_t led_scrolllock; +extern uint8_t layer; + +// OLED Behavior +extern uint8_t oled_mode; +extern bool oled_repaint_requested; +extern bool oled_wakeup_requested; +extern uint32_t oled_sleep_timer; + +// Encoder Behavior +extern uint8_t encoder_value; +extern uint8_t encoder_mode; +extern uint8_t enabled_encoder_modes; + +// RTC +extern RTCDateTime last_timespec; +extern uint16_t last_minute; + +// RTC Configuration +extern bool clock_set_mode; +extern uint8_t time_config_idx; +extern int8_t hour_config; +extern int16_t minute_config; +extern int8_t year_config; +extern int8_t month_config; +extern int8_t day_config; +extern uint8_t previous_encoder_mode; + +// Backlighting +#ifdef BACKLIGHT_ENABLE +extern backlight_config_t kb_backlight_config; +extern bool kb_backlight_breathing; +#endif + +void pre_encoder_mode_change(void); +void post_encoder_mode_change(void); +void change_encoder_mode(bool negative); +uint16_t handle_encoder_clockwise(void); +uint16_t handle_encoder_ccw(void); +uint16_t handle_encoder_press(void); +uint16_t retrieve_custom_encoder_config(uint8_t encoder_idx, uint8_t behavior); +void set_custom_encoder_config(uint8_t encoder_idx, uint8_t behavior, uint16_t new_code); + +void update_time_config(int8_t increment); + +void oled_request_wakeup(void); +void oled_request_repaint(void); +bool oled_task_needs_to_repaint(void); + +void custom_config_load(void); -- cgit v1.2.3 From b3462157dc2fb5d029f12bf9ecc8ae1d0340e8dd Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 27 Feb 2024 12:48:11 +0000 Subject: Satisfaction75 post merge updates (#23158) --- .../lib/satisfaction75/satisfaction_core.c | 4 ++- .../lib/satisfaction75/satisfaction_core.h | 8 +---- keyboards/cannonkeys/satisfaction75/halconf.h | 2 -- keyboards/cannonkeys/satisfaction75/info.json | 1 - keyboards/cannonkeys/satisfaction75/mcuconf.h | 4 --- .../satisfaction75/rev1/keymaps/boy_314/config.h | 3 -- .../satisfaction75/rev1/keymaps/boy_314/keymap.c | 37 ---------------------- .../satisfaction75/rev1/keymaps/boy_314/readme.md | 3 -- .../satisfaction75/rev1/keymaps/boy_314/rules.mk | 3 -- .../satisfaction75/rev1/keymaps/jae/keymap.c | 37 ---------------------- keyboards/cannonkeys/satisfaction75_hs/halconf.h | 2 -- keyboards/cannonkeys/satisfaction75_hs/mcuconf.h | 4 --- 12 files changed, 4 insertions(+), 104 deletions(-) delete mode 100644 keyboards/cannonkeys/satisfaction75/rev1/keymaps/boy_314/config.h delete mode 100644 keyboards/cannonkeys/satisfaction75/rev1/keymaps/boy_314/keymap.c delete mode 100644 keyboards/cannonkeys/satisfaction75/rev1/keymaps/boy_314/readme.md delete mode 100644 keyboards/cannonkeys/satisfaction75/rev1/keymaps/boy_314/rules.mk delete mode 100644 keyboards/cannonkeys/satisfaction75/rev1/keymaps/jae/keymap.c (limited to 'keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h') diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c index ce9422c5a8..e148ae468a 100644 --- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c +++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c @@ -50,7 +50,7 @@ void board_init(void) { SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP); } -void keyboard_post_init_kb(){ +void keyboard_post_init_kb(void) { /* This is a workaround to some really weird behavior Without this code, the OLED will turn on, but not when you initially plug the keyboard in. @@ -63,6 +63,8 @@ void keyboard_post_init_kb(){ oled_init(OLED_ROTATION_0); } #endif + + keyboard_post_init_user(); } #ifdef VIA_ENABLE diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h index 30caeadc38..9c46642195 100644 --- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h +++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h @@ -33,7 +33,7 @@ enum encoder_modes { }; enum custom_encoder_behavior { - ENC_CUSTOM_CW = 0, + ENC_CUSTOM_CW, ENC_CUSTOM_CCW, ENC_CUSTOM_PRESS }; @@ -77,12 +77,6 @@ extern int8_t month_config; extern int8_t day_config; extern uint8_t previous_encoder_mode; -// Backlighting -#ifdef BACKLIGHT_ENABLE -extern backlight_config_t kb_backlight_config; -extern bool kb_backlight_breathing; -#endif - void pre_encoder_mode_change(void); void post_encoder_mode_change(void); void change_encoder_mode(bool negative); diff --git a/keyboards/cannonkeys/satisfaction75/halconf.h b/keyboards/cannonkeys/satisfaction75/halconf.h index 3bd1495ea2..45fe60ab07 100644 --- a/keyboards/cannonkeys/satisfaction75/halconf.h +++ b/keyboards/cannonkeys/satisfaction75/halconf.h @@ -14,7 +14,5 @@ #define HAL_USE_RTC TRUE -#define HAL_USE_SPI TRUE - #include_next diff --git a/keyboards/cannonkeys/satisfaction75/info.json b/keyboards/cannonkeys/satisfaction75/info.json index 4031dae57d..a06faccd23 100644 --- a/keyboards/cannonkeys/satisfaction75/info.json +++ b/keyboards/cannonkeys/satisfaction75/info.json @@ -4,7 +4,6 @@ "maintainer": "awkannan", "backlight": { "breathing": true, - "breathing_period": 6, "levels": 24, "pin": "A6" }, diff --git a/keyboards/cannonkeys/satisfaction75/mcuconf.h b/keyboards/cannonkeys/satisfaction75/mcuconf.h index 6380181377..2c81f2243e 100644 --- a/keyboards/cannonkeys/satisfaction75/mcuconf.h +++ b/keyboards/cannonkeys/satisfaction75/mcuconf.h @@ -21,7 +21,3 @@ #undef STM32_PWM_USE_TIM3 #define STM32_PWM_USE_TIM3 TRUE - -#undef STM32_SPI_USE_SPI2 -#define STM32_SPI_USE_SPI2 TRUE - diff --git a/keyboards/cannonkeys/satisfaction75/rev1/keymaps/boy_314/config.h b/keyboards/cannonkeys/satisfaction75/rev1/keymaps/boy_314/config.h deleted file mode 100644 index 4af97ded2b..0000000000 --- a/keyboards/cannonkeys/satisfaction75/rev1/keymaps/boy_314/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define ENCODER_RESOLUTION 2 diff --git a/keyboards/cannonkeys/satisfaction75/rev1/keymaps/boy_314/keymap.c b/keyboards/cannonkeys/satisfaction75/rev1/keymaps/boy_314/keymap.c deleted file mode 100644 index 256cdecd6a..0000000000 --- a/keyboards/cannonkeys/satisfaction75/rev1/keymaps/boy_314/keymap.c +++ /dev/null @@ -1,37 +0,0 @@ -/* -Copyright 2019 Boy_314 - -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 . -*/ - -#include QMK_KEYBOARD_H - -const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_2x2( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NO, ENC_PRESS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, KC_END, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, - KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_2x2( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - NK_TOGG, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______, _______, OLED_TOGG, - _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______, QK_BOOT, CLOCK_SET, - KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, - _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT - ) -}; diff --git a/keyboards/cannonkeys/satisfaction75/rev1/keymaps/boy_314/readme.md b/keyboards/cannonkeys/satisfaction75/rev1/keymaps/boy_314/readme.md deleted file mode 100644 index 65984873c4..0000000000 --- a/keyboards/cannonkeys/satisfaction75/rev1/keymaps/boy_314/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Boy_314's Satisfaction75 Layout - -This is Boy_314's Satisfaction75 Layout. It can be used on VIA. It features a QWERTY layout on the base, along with missing TKL keys on layer 1. Right side 3 keys from top down are: Home, End, Delete. The encoder resolution has been reduced from the default of 4 down to 2 so that it no longer needs to click twice, but now only once, before triggering an action. diff --git a/keyboards/cannonkeys/satisfaction75/rev1/keymaps/boy_314/rules.mk b/keyboards/cannonkeys/satisfaction75/rev1/keymaps/boy_314/rules.mk deleted file mode 100644 index 6f45dc73ed..0000000000 --- a/keyboards/cannonkeys/satisfaction75/rev1/keymaps/boy_314/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -# rules.mk overrides to enable VIA - -VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/cannonkeys/satisfaction75/rev1/keymaps/jae/keymap.c b/keyboards/cannonkeys/satisfaction75/rev1/keymaps/jae/keymap.c deleted file mode 100644 index 733ba8cd67..0000000000 --- a/keyboards/cannonkeys/satisfaction75/rev1/keymaps/jae/keymap.c +++ /dev/null @@ -1,37 +0,0 @@ -/* -Copyright 2012,2013 Jun Wako - -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 . -*/ - -#include QMK_KEYBOARD_H - -const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, ENC_PRESS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENTER, KC_PGDN, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, OLED_TOGG, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLOCK_SET, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/cannonkeys/satisfaction75_hs/halconf.h b/keyboards/cannonkeys/satisfaction75_hs/halconf.h index caeda6090b..e4cce5cdfb 100644 --- a/keyboards/cannonkeys/satisfaction75_hs/halconf.h +++ b/keyboards/cannonkeys/satisfaction75_hs/halconf.h @@ -12,7 +12,5 @@ #define HAL_USE_RTC TRUE -#define HAL_USE_SPI TRUE - #include_next diff --git a/keyboards/cannonkeys/satisfaction75_hs/mcuconf.h b/keyboards/cannonkeys/satisfaction75_hs/mcuconf.h index db8a32e7a7..4967f84456 100644 --- a/keyboards/cannonkeys/satisfaction75_hs/mcuconf.h +++ b/keyboards/cannonkeys/satisfaction75_hs/mcuconf.h @@ -18,7 +18,3 @@ #undef STM32_I2C_USE_I2C1 #define STM32_I2C_USE_I2C1 TRUE - -#undef STM32_SPI_USE_SPI2 -#define STM32_SPI_USE_SPI2 TRUE - -- cgit v1.2.3