From 5cd31fda9c1302044f4423d940be7c888d15ad1a Mon Sep 17 00:00:00 2001
From: Joel Challis
Date: Sun, 28 Jan 2024 22:51:58 +0000
Subject: Begin removal of bootmagic lite terminology (#22970)
---
quantum/bootmagic/bootmagic.c | 69 ++++++++++++++++++++++++++++++++++++++
quantum/bootmagic/bootmagic.h | 7 ++--
quantum/bootmagic/bootmagic_lite.c | 69 --------------------------------------
quantum/bootmagic/bootmagic_lite.h | 25 --------------
quantum/bootmagic/magic.c | 54 -----------------------------
quantum/bootmagic/magic.h | 18 ----------
quantum/keyboard.c | 58 +++++++++++++++++++++-----------
quantum/keycode_config.c | 2 ++
quantum/quantum.h | 5 ++-
9 files changed, 119 insertions(+), 188 deletions(-)
create mode 100644 quantum/bootmagic/bootmagic.c
delete mode 100644 quantum/bootmagic/bootmagic_lite.c
delete mode 100644 quantum/bootmagic/bootmagic_lite.h
delete mode 100644 quantum/bootmagic/magic.c
delete mode 100644 quantum/bootmagic/magic.h
(limited to 'quantum')
diff --git a/quantum/bootmagic/bootmagic.c b/quantum/bootmagic/bootmagic.c
new file mode 100644
index 0000000000..efce6bfd12
--- /dev/null
+++ b/quantum/bootmagic/bootmagic.c
@@ -0,0 +1,69 @@
+/* Copyright 2021 QMK
+ *
+ * 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 3 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 "bootmagic.h"
+#include "matrix.h"
+#include "keyboard.h"
+#include "wait.h"
+#include "eeconfig.h"
+#include "bootloader.h"
+
+/** \brief Reset eeprom
+ *
+ * ...just incase someone wants to only change the eeprom behaviour
+ */
+__attribute__((weak)) void bootmagic_lite_reset_eeprom(void) {
+ eeconfig_disable();
+}
+
+/** \brief The lite version of TMK's bootmagic based on Wilba.
+ *
+ * 100% less potential for accidentally making the keyboard do stupid things.
+ */
+__attribute__((weak)) void bootmagic_lite(void) {
+ // We need multiple scans because debouncing can't be turned off.
+ matrix_scan();
+#if defined(DEBOUNCE) && DEBOUNCE > 0
+ wait_ms(DEBOUNCE * 2);
+#else
+ wait_ms(30);
+#endif
+ matrix_scan();
+
+ // If the configured key (commonly Esc) is held down on power up,
+ // reset the EEPROM valid state and jump to bootloader.
+ // This isn't very generalized, but we need something that doesn't
+ // rely on user's keymaps in firmware or EEPROM.
+ uint8_t row = BOOTMAGIC_LITE_ROW;
+ uint8_t col = BOOTMAGIC_LITE_COLUMN;
+
+#if defined(SPLIT_KEYBOARD) && defined(BOOTMAGIC_LITE_ROW_RIGHT) && defined(BOOTMAGIC_LITE_COLUMN_RIGHT)
+ if (!is_keyboard_left()) {
+ row = BOOTMAGIC_LITE_ROW_RIGHT;
+ col = BOOTMAGIC_LITE_COLUMN_RIGHT;
+ }
+#endif
+
+ if (matrix_get_row(row) & (1 << col)) {
+ bootmagic_lite_reset_eeprom();
+
+ // Jump to bootloader.
+ bootloader_jump();
+ }
+}
+
+void bootmagic(void) {
+ bootmagic_lite();
+}
diff --git a/quantum/bootmagic/bootmagic.h b/quantum/bootmagic/bootmagic.h
index db826025ce..4b5f5f7c5e 100644
--- a/quantum/bootmagic/bootmagic.h
+++ b/quantum/bootmagic/bootmagic.h
@@ -15,8 +15,11 @@
*/
#pragma once
-#if defined(BOOTMAGIC_LITE)
-# include "bootmagic_lite.h"
+#ifndef BOOTMAGIC_LITE_COLUMN
+# define BOOTMAGIC_LITE_COLUMN 0
+#endif
+#ifndef BOOTMAGIC_LITE_ROW
+# define BOOTMAGIC_LITE_ROW 0
#endif
void bootmagic(void);
diff --git a/quantum/bootmagic/bootmagic_lite.c b/quantum/bootmagic/bootmagic_lite.c
deleted file mode 100644
index efce6bfd12..0000000000
--- a/quantum/bootmagic/bootmagic_lite.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Copyright 2021 QMK
- *
- * 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 3 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 "bootmagic.h"
-#include "matrix.h"
-#include "keyboard.h"
-#include "wait.h"
-#include "eeconfig.h"
-#include "bootloader.h"
-
-/** \brief Reset eeprom
- *
- * ...just incase someone wants to only change the eeprom behaviour
- */
-__attribute__((weak)) void bootmagic_lite_reset_eeprom(void) {
- eeconfig_disable();
-}
-
-/** \brief The lite version of TMK's bootmagic based on Wilba.
- *
- * 100% less potential for accidentally making the keyboard do stupid things.
- */
-__attribute__((weak)) void bootmagic_lite(void) {
- // We need multiple scans because debouncing can't be turned off.
- matrix_scan();
-#if defined(DEBOUNCE) && DEBOUNCE > 0
- wait_ms(DEBOUNCE * 2);
-#else
- wait_ms(30);
-#endif
- matrix_scan();
-
- // If the configured key (commonly Esc) is held down on power up,
- // reset the EEPROM valid state and jump to bootloader.
- // This isn't very generalized, but we need something that doesn't
- // rely on user's keymaps in firmware or EEPROM.
- uint8_t row = BOOTMAGIC_LITE_ROW;
- uint8_t col = BOOTMAGIC_LITE_COLUMN;
-
-#if defined(SPLIT_KEYBOARD) && defined(BOOTMAGIC_LITE_ROW_RIGHT) && defined(BOOTMAGIC_LITE_COLUMN_RIGHT)
- if (!is_keyboard_left()) {
- row = BOOTMAGIC_LITE_ROW_RIGHT;
- col = BOOTMAGIC_LITE_COLUMN_RIGHT;
- }
-#endif
-
- if (matrix_get_row(row) & (1 << col)) {
- bootmagic_lite_reset_eeprom();
-
- // Jump to bootloader.
- bootloader_jump();
- }
-}
-
-void bootmagic(void) {
- bootmagic_lite();
-}
diff --git a/quantum/bootmagic/bootmagic_lite.h b/quantum/bootmagic/bootmagic_lite.h
deleted file mode 100644
index 17777e6b4a..0000000000
--- a/quantum/bootmagic/bootmagic_lite.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright 2021 QMK
- *
- * 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 3 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
-
-#ifndef BOOTMAGIC_LITE_COLUMN
-# define BOOTMAGIC_LITE_COLUMN 0
-#endif
-#ifndef BOOTMAGIC_LITE_ROW
-# define BOOTMAGIC_LITE_ROW 0
-#endif
-
-void bootmagic_lite(void);
diff --git a/quantum/bootmagic/magic.c b/quantum/bootmagic/magic.c
deleted file mode 100644
index d68df3fa58..0000000000
--- a/quantum/bootmagic/magic.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright 2021 QMK
- *
- * 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 3 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
-#include
-#include "wait.h"
-#include "matrix.h"
-#include "bootloader.h"
-#include "debug.h"
-#include "keycode_config.h"
-#include "host.h"
-#include "action_layer.h"
-#include "eeconfig.h"
-#include "bootmagic.h"
-
-keymap_config_t keymap_config;
-
-__attribute__((weak)) void bootmagic(void) {}
-
-/** \brief Magic
- *
- * FIXME: Needs doc
- */
-void magic(void) {
- /* check signature */
- if (!eeconfig_is_enabled()) {
- eeconfig_init();
- }
-
- /* init globals */
- debug_config.raw = eeconfig_read_debug();
- keymap_config.raw = eeconfig_read_keymap();
-
- bootmagic();
-
- /* read here just incase bootmagic process changed its value */
- layer_state_t default_layer = (layer_state_t)eeconfig_read_default_layer();
- default_layer_set(default_layer);
-
- /* Also initialize layer state to trigger callback functions for layer_state */
- layer_state_set_kb((layer_state_t)layer_state);
-}
diff --git a/quantum/bootmagic/magic.h b/quantum/bootmagic/magic.h
deleted file mode 100644
index 2c3969b85c..0000000000
--- a/quantum/bootmagic/magic.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2021 QMK
- *
- * 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 3 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
-
-void magic(void);
diff --git a/quantum/keyboard.c b/quantum/keyboard.c
index b5fa1a6e2e..9bdf6e6344 100644
--- a/quantum/keyboard.c
+++ b/quantum/keyboard.c
@@ -20,7 +20,6 @@ along with this program. If not, see .
#include "keycode_config.h"
#include "matrix.h"
#include "keymap_introspection.h"
-#include "magic.h"
#include "host.h"
#include "led.h"
#include "keycode.h"
@@ -33,6 +32,9 @@ along with this program. If not, see .
#include "sendchar.h"
#include "eeconfig.h"
#include "action_layer.h"
+#ifdef BOOTMAGIC_ENABLE
+# include "bootmagic.h"
+#endif
#ifdef AUDIO_ENABLE
# include "audio.h"
#endif
@@ -370,28 +372,30 @@ void housekeeping_task(void) {
housekeeping_task_user();
}
-/** \brief Init tasks previously located in matrix_init_quantum
+/** \brief quantum_init
*
- * TODO: rationalise against keyboard_init and current split role
+ * Init global state
*/
void quantum_init(void) {
- magic();
- led_init_ports();
-#ifdef BACKLIGHT_ENABLE
- backlight_init_ports();
-#endif
-#ifdef AUDIO_ENABLE
- audio_init();
-#endif
-#ifdef LED_MATRIX_ENABLE
- led_matrix_init();
-#endif
-#ifdef RGB_MATRIX_ENABLE
- rgb_matrix_init();
-#endif
-#if defined(UNICODE_COMMON_ENABLE)
- unicode_input_mode_init();
+ /* check signature */
+ if (!eeconfig_is_enabled()) {
+ eeconfig_init();
+ }
+
+ /* init globals */
+ debug_config.raw = eeconfig_read_debug();
+ keymap_config.raw = eeconfig_read_keymap();
+
+#ifdef BOOTMAGIC_ENABLE
+ bootmagic();
#endif
+
+ /* read here just incase bootmagic process changed its value */
+ layer_state_t default_layer = (layer_state_t)eeconfig_read_default_layer();
+ default_layer_set(default_layer);
+
+ /* Also initialize layer state to trigger callback functions for layer_state */
+ layer_state_set_kb((layer_state_t)layer_state);
}
/** \brief keyboard_init
@@ -412,6 +416,22 @@ void keyboard_init(void) {
#endif
matrix_init();
quantum_init();
+ led_init_ports();
+#ifdef BACKLIGHT_ENABLE
+ backlight_init_ports();
+#endif
+#ifdef AUDIO_ENABLE
+ audio_init();
+#endif
+#ifdef LED_MATRIX_ENABLE
+ led_matrix_init();
+#endif
+#ifdef RGB_MATRIX_ENABLE
+ rgb_matrix_init();
+#endif
+#if defined(UNICODE_COMMON_ENABLE)
+ unicode_input_mode_init();
+#endif
#if defined(CRC_ENABLE)
crc_init();
#endif
diff --git a/quantum/keycode_config.c b/quantum/keycode_config.c
index 864488a65c..cbfbcc8140 100644
--- a/quantum/keycode_config.c
+++ b/quantum/keycode_config.c
@@ -16,6 +16,8 @@
#include "keycode_config.h"
+keymap_config_t keymap_config;
+
/** \brief keycode_config
*
* This function is used to check a specific keycode against the bootmagic config,
diff --git a/quantum/quantum.h b/quantum/quantum.h
index 996e93a12f..98d848581d 100644
--- a/quantum/quantum.h
+++ b/quantum/quantum.h
@@ -42,7 +42,6 @@
#include "action_layer.h"
#include "eeconfig.h"
#include "bootloader.h"
-#include "bootmagic.h"
#include "timer.h"
#include "sync_timer.h"
#include "gpio.h"
@@ -59,6 +58,10 @@
#include
#include
+#ifdef BOOTMAGIC_ENABLE
+# include "bootmagic.h"
+#endif
+
#ifdef DEFERRED_EXEC_ENABLE
# include "deferred_exec.h"
#endif
--
cgit v1.2.3