From abfd6ed9613013d3c9f15da8b575a902d9bcf274 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Thu, 17 Oct 2019 17:48:58 +0100 Subject: [PATCH] Move tmk_core/common/backlight to quantum/backlight (#6710) * Move tmk_core/common/backlight to quantum/backlight * Add guards to backlight inclusion * Add guards to backlight inclusion * Update backlight guards on clueboard/60 * Use full paths to avoid vpath issues --- common_features.mk | 5 + keyboards/clueboard/60/led.c | 10 +- quantum/backlight/backlight.c | 194 +++++++++++++++++- .../common => quantum/backlight}/backlight.h | 0 quantum/keymap_common.c | 5 +- quantum/quantum.c | 6 +- tmk_core/common.mk | 5 - tmk_core/common/action.c | 5 +- tmk_core/common/avr/suspend.c | 5 +- tmk_core/common/backlight.c | 193 ----------------- tmk_core/common/chibios/suspend.c | 5 +- tmk_core/common/command.c | 5 +- tmk_core/common/keyboard.c | 4 +- 13 files changed, 230 insertions(+), 212 deletions(-) rename {tmk_core/common => quantum/backlight}/backlight.h (100%) delete mode 100644 tmk_core/common/backlight.c diff --git a/common_features.mk b/common_features.mk index 05a99fc63..83b2b51ae 100644 --- a/common_features.mk +++ b/common_features.mk @@ -246,6 +246,11 @@ ifneq ($(strip $(BACKLIGHT_ENABLE)), no) CIE1931_CURVE = yes endif + + COMMON_VPATH += $(QUANTUM_DIR)/backlight + SRC += $(QUANTUM_DIR)/backlight/backlight.c + OPT_DEFS += -DBACKLIGHT_ENABLE + ifeq ($(strip $(BACKLIGHT_ENABLE)), custom) OPT_DEFS += -DBACKLIGHT_CUSTOM_DRIVER endif diff --git a/keyboards/clueboard/60/led.c b/keyboards/clueboard/60/led.c index 350696736..91a2c537d 100644 --- a/keyboards/clueboard/60/led.c +++ b/keyboards/clueboard/60/led.c @@ -16,21 +16,21 @@ */ #include "hal.h" -#include "backlight.h" #include "led.h" #include "printf.h" +#ifdef BACKLIGHT_ENABLE +#include "backlight.h" + void backlight_init_ports(void) { printf("backlight_init_ports()\n"); - #ifdef BACKLIGHT_ENABLE + palSetPadMode(GPIOB, 8, PAL_MODE_OUTPUT_PUSHPULL); palSetPad(GPIOB, 8); - #endif } void backlight_set(uint8_t level) { printf("backlight_set(%d)\n", level); - #ifdef BACKLIGHT_ENABLE if (level == 0) { // Turn backlight off palSetPad(GPIOB, 8); @@ -38,8 +38,8 @@ void backlight_set(uint8_t level) { // Turn backlight on palClearPad(GPIOB, 8); } - #endif } +#endif void led_set_kb(uint8_t usb_led) { printf("led_set_kb(%d)\n", usb_led); diff --git a/quantum/backlight/backlight.c b/quantum/backlight/backlight.c index e26de86bf..708022f68 100644 --- a/quantum/backlight/backlight.c +++ b/quantum/backlight/backlight.c @@ -1 +1,193 @@ -// TODO: Add common code here, for example cie_lightness implementation +/* +Copyright 2013 Mathias Andersson + +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 "backlight.h" +#include "eeconfig.h" +#include "debug.h" + +backlight_config_t backlight_config; + +/** \brief Backlight initialization + * + * FIXME: needs doc + */ +void backlight_init(void) { + /* check signature */ + if (!eeconfig_is_enabled()) { + eeconfig_init(); + } + backlight_config.raw = eeconfig_read_backlight(); + if (backlight_config.level > BACKLIGHT_LEVELS) { + backlight_config.level = BACKLIGHT_LEVELS; + } + backlight_set(backlight_config.enable ? backlight_config.level : 0); +} + +/** \brief Backlight increase + * + * FIXME: needs doc + */ +void backlight_increase(void) { + if (backlight_config.level < BACKLIGHT_LEVELS) { + backlight_config.level++; + } + backlight_config.enable = 1; + eeconfig_update_backlight(backlight_config.raw); + dprintf("backlight increase: %u\n", backlight_config.level); + backlight_set(backlight_config.level); +} + +/** \brief Backlight decrease + * + * FIXME: needs doc + */ +void backlight_decrease(void) { + if (backlight_config.level > 0) { + backlight_config.level--; + backlight_config.enable = !!backlight_config.level; + eeconfig_update_backlight(backlight_config.raw); + } + dprintf("backlight decrease: %u\n", backlight_config.level); + backlight_set(backlight_config.level); +} + +/** \brief Backlight toggle + * + * FIXME: needs doc + */ +void backlight_toggle(void) { + bool enabled = backlight_config.enable; + dprintf("backlight toggle: %u\n", enabled); + if (enabled) + backlight_disable(); + else + backlight_enable(); +} + +/** \brief Enable backlight + * + * FIXME: needs doc + */ +void backlight_enable(void) { + if (backlight_config.enable) return; // do nothing if backlight is already on + + backlight_config.enable = true; + if (backlight_config.raw == 1) // enabled but level == 0 + backlight_config.level = 1; + eeconfig_update_backlight(backlight_config.raw); + dprintf("backlight enable\n"); + backlight_set(backlight_config.level); +} + +/** \brief Disable backlight + * + * FIXME: needs doc + */ +void backlight_disable(void) { + if (!backlight_config.enable) return; // do nothing if backlight is already off + + backlight_config.enable = false; + eeconfig_update_backlight(backlight_config.raw); + dprintf("backlight disable\n"); + backlight_set(0); +} + +/** /brief Get the backlight status + * + * FIXME: needs doc + */ +bool is_backlight_enabled(void) { return backlight_config.enable; } + +/** \brief Backlight step through levels + * + * FIXME: needs doc + */ +void backlight_step(void) { + backlight_config.level++; + if (backlight_config.level > BACKLIGHT_LEVELS) { + backlight_config.level = 0; + } + backlight_config.enable = !!backlight_config.level; + eeconfig_update_backlight(backlight_config.raw); + dprintf("backlight step: %u\n", backlight_config.level); + backlight_set(backlight_config.level); +} + +/** \brief Backlight set level + * + * FIXME: needs doc + */ +void backlight_level(uint8_t level) { + if (level > BACKLIGHT_LEVELS) level = BACKLIGHT_LEVELS; + backlight_config.level = level; + backlight_config.enable = !!backlight_config.level; + eeconfig_update_backlight(backlight_config.raw); + backlight_set(backlight_config.level); +} + +/** \brief Get backlight level + * + * FIXME: needs doc + */ +uint8_t get_backlight_level(void) { return backlight_config.level; } + +#ifdef BACKLIGHT_BREATHING +/** \brief Backlight breathing toggle + * + * FIXME: needs doc + */ +void backlight_toggle_breathing(void) { + bool breathing = backlight_config.breathing; + dprintf("backlight breathing toggle: %u\n", breathing); + if (breathing) + backlight_disable_breathing(); + else + backlight_enable_breathing(); +} + +/** \brief Enable backlight breathing + * + * FIXME: needs doc + */ +void backlight_enable_breathing(void) { + if (backlight_config.breathing) return; // do nothing if breathing is already on + + backlight_config.breathing = true; + eeconfig_update_backlight(backlight_config.raw); + dprintf("backlight breathing enable\n"); + breathing_enable(); +} + +/** \brief Disable backlight breathing + * + * FIXME: needs doc + */ +void backlight_disable_breathing(void) { + if (!backlight_config.breathing) return; // do nothing if breathing is already off + + backlight_config.breathing = false; + eeconfig_update_backlight(backlight_config.raw); + dprintf("backlight breathing disable\n"); + breathing_disable(); +} + +/** \brief Get the backlight breathing status + * + * FIXME: needs doc + */ +bool is_backlight_breathing(void) { return backlight_config.breathing; } +#endif diff --git a/tmk_core/common/backlight.h b/quantum/backlight/backlight.h similarity index 100% rename from tmk_core/common/backlight.h rename to quantum/backlight/backlight.h diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index 9af951008..4fa45ac37 100644 --- a/quantum/keymap_common.c +++ b/quantum/keymap_common.c @@ -26,9 +26,12 @@ along with this program. If not, see . #include "action.h" #include "action_macro.h" #include "debug.h" -#include "backlight.h" #include "quantum.h" +#ifdef BACKLIGHT_ENABLE +# include "backlight.h" +#endif + #ifdef MIDI_ENABLE # include "process_midi.h" #endif diff --git a/quantum/quantum.c b/quantum/quantum.c index e615cfc0f..2020770ea 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -24,8 +24,10 @@ # include "outputselect.h" #endif -#include "backlight.h" -extern backlight_config_t backlight_config; +#ifdef BACKLIGHT_ENABLE +# include "backlight.h" + extern backlight_config_t backlight_config; +#endif #ifdef FAUXCLICKY_ENABLE # include "fauxclicky.h" diff --git a/tmk_core/common.mk b/tmk_core/common.mk index 221688755..db5535346 100644 --- a/tmk_core/common.mk +++ b/tmk_core/common.mk @@ -153,11 +153,6 @@ ifeq ($(strip $(NO_SUSPEND_POWER_DOWN)), yes) TMK_COMMON_DEFS += -DNO_SUSPEND_POWER_DOWN endif -ifeq ($(strip $(BACKLIGHT_ENABLE)), yes) - TMK_COMMON_SRC += $(COMMON_DIR)/backlight.c - TMK_COMMON_DEFS += -DBACKLIGHT_ENABLE -endif - ifeq ($(strip $(BLUETOOTH_ENABLE)), yes) TMK_COMMON_DEFS += -DBLUETOOTH_ENABLE TMK_COMMON_DEFS += -DNO_USB_STARTUP_CHECK diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c index 44b19d368..bd6aeba4f 100644 --- a/tmk_core/common/action.c +++ b/tmk_core/common/action.c @@ -20,7 +20,6 @@ along with this program. If not, see . #include "mousekey.h" #include "command.h" #include "led.h" -#include "backlight.h" #include "action_layer.h" #include "action_tapping.h" #include "action_macro.h" @@ -28,6 +27,10 @@ along with this program. If not, see . #include "action.h" #include "wait.h" +#ifdef BACKLIGHT_ENABLE +# include "backlight.h" +#endif + #ifdef DEBUG_ACTION # include "debug.h" #else diff --git a/tmk_core/common/avr/suspend.c b/tmk_core/common/avr/suspend.c index 574000fcd..c59c19688 100644 --- a/tmk_core/common/avr/suspend.c +++ b/tmk_core/common/avr/suspend.c @@ -4,7 +4,6 @@ #include #include "matrix.h" #include "action.h" -#include "backlight.h" #include "suspend_avr.h" #include "suspend.h" #include "timer.h" @@ -16,6 +15,10 @@ # include "lufa.h" #endif +#ifdef BACKLIGHT_ENABLE +# include "backlight.h" +#endif + #ifdef AUDIO_ENABLE # include "audio.h" #endif /* AUDIO_ENABLE */ diff --git a/tmk_core/common/backlight.c b/tmk_core/common/backlight.c deleted file mode 100644 index 708022f68..000000000 --- a/tmk_core/common/backlight.c +++ /dev/null @@ -1,193 +0,0 @@ -/* -Copyright 2013 Mathias Andersson - -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 "backlight.h" -#include "eeconfig.h" -#include "debug.h" - -backlight_config_t backlight_config; - -/** \brief Backlight initialization - * - * FIXME: needs doc - */ -void backlight_init(void) { - /* check signature */ - if (!eeconfig_is_enabled()) { - eeconfig_init(); - } - backlight_config.raw = eeconfig_read_backlight(); - if (backlight_config.level > BACKLIGHT_LEVELS) { - backlight_config.level = BACKLIGHT_LEVELS; - } - backlight_set(backlight_config.enable ? backlight_config.level : 0); -} - -/** \brief Backlight increase - * - * FIXME: needs doc - */ -void backlight_increase(void) { - if (backlight_config.level < BACKLIGHT_LEVELS) { - backlight_config.level++; - } - backlight_config.enable = 1; - eeconfig_update_backlight(backlight_config.raw); - dprintf("backlight increase: %u\n", backlight_config.level); - backlight_set(backlight_config.level); -} - -/** \brief Backlight decrease - * - * FIXME: needs doc - */ -void backlight_decrease(void) { - if (backlight_config.level > 0) { - backlight_config.level--; - backlight_config.enable = !!backlight_config.level; - eeconfig_update_backlight(backlight_config.raw); - } - dprintf("backlight decrease: %u\n", backlight_config.level); - backlight_set(backlight_config.level); -} - -/** \brief Backlight toggle - * - * FIXME: needs doc - */ -void backlight_toggle(void) { - bool enabled = backlight_config.enable; - dprintf("backlight toggle: %u\n", enabled); - if (enabled) - backlight_disable(); - else - backlight_enable(); -} - -/** \brief Enable backlight - * - * FIXME: needs doc - */ -void backlight_enable(void) { - if (backlight_config.enable) return; // do nothing if backlight is already on - - backlight_config.enable = true; - if (backlight_config.raw == 1) // enabled but level == 0 - backlight_config.level = 1; - eeconfig_update_backlight(backlight_config.raw); - dprintf("backlight enable\n"); - backlight_set(backlight_config.level); -} - -/** \brief Disable backlight - * - * FIXME: needs doc - */ -void backlight_disable(void) { - if (!backlight_config.enable) return; // do nothing if backlight is already off - - backlight_config.enable = false; - eeconfig_update_backlight(backlight_config.raw); - dprintf("backlight disable\n"); - backlight_set(0); -} - -/** /brief Get the backlight status - * - * FIXME: needs doc - */ -bool is_backlight_enabled(void) { return backlight_config.enable; } - -/** \brief Backlight step through levels - * - * FIXME: needs doc - */ -void backlight_step(void) { - backlight_config.level++; - if (backlight_config.level > BACKLIGHT_LEVELS) { - backlight_config.level = 0; - } - backlight_config.enable = !!backlight_config.level; - eeconfig_update_backlight(backlight_config.raw); - dprintf("backlight step: %u\n", backlight_config.level); - backlight_set(backlight_config.level); -} - -/** \brief Backlight set level - * - * FIXME: needs doc - */ -void backlight_level(uint8_t level) { - if (level > BACKLIGHT_LEVELS) level = BACKLIGHT_LEVELS; - backlight_config.level = level; - backlight_config.enable = !!backlight_config.level; - eeconfig_update_backlight(backlight_config.raw); - backlight_set(backlight_config.level); -} - -/** \brief Get backlight level - * - * FIXME: needs doc - */ -uint8_t get_backlight_level(void) { return backlight_config.level; } - -#ifdef BACKLIGHT_BREATHING -/** \brief Backlight breathing toggle - * - * FIXME: needs doc - */ -void backlight_toggle_breathing(void) { - bool breathing = backlight_config.breathing; - dprintf("backlight breathing toggle: %u\n", breathing); - if (breathing) - backlight_disable_breathing(); - else - backlight_enable_breathing(); -} - -/** \brief Enable backlight breathing - * - * FIXME: needs doc - */ -void backlight_enable_breathing(void) { - if (backlight_config.breathing) return; // do nothing if breathing is already on - - backlight_config.breathing = true; - eeconfig_update_backlight(backlight_config.raw); - dprintf("backlight breathing enable\n"); - breathing_enable(); -} - -/** \brief Disable backlight breathing - * - * FIXME: needs doc - */ -void backlight_disable_breathing(void) { - if (!backlight_config.breathing) return; // do nothing if breathing is already off - - backlight_config.breathing = false; - eeconfig_update_backlight(backlight_config.raw); - dprintf("backlight breathing disable\n"); - breathing_disable(); -} - -/** \brief Get the backlight breathing status - * - * FIXME: needs doc - */ -bool is_backlight_breathing(void) { return backlight_config.breathing; } -#endif diff --git a/tmk_core/common/chibios/suspend.c b/tmk_core/common/chibios/suspend.c index ae1c6f53e..c0f9c28d4 100644 --- a/tmk_core/common/chibios/suspend.c +++ b/tmk_core/common/chibios/suspend.c @@ -8,10 +8,13 @@ #include "action_util.h" #include "mousekey.h" #include "host.h" -#include "backlight.h" #include "suspend.h" #include "wait.h" +#ifdef BACKLIGHT_ENABLE +# include "backlight.h" +#endif + /** \brief suspend idle * * FIXME: needs doc diff --git a/tmk_core/common/command.c b/tmk_core/common/command.c index 8bf72ef25..82cd80609 100644 --- a/tmk_core/common/command.c +++ b/tmk_core/common/command.c @@ -32,10 +32,13 @@ along with this program. If not, see . #include "sleep_led.h" #include "led.h" #include "command.h" -#include "backlight.h" #include "quantum.h" #include "version.h" +#ifdef BACKLIGHT_ENABLE +# include "backlight.h" +#endif + #ifdef MOUSEKEY_ENABLE # include "mousekey.h" #endif diff --git a/tmk_core/common/keyboard.c b/tmk_core/common/keyboard.c index 9806b5015..63ace9793 100644 --- a/tmk_core/common/keyboard.c +++ b/tmk_core/common/keyboard.c @@ -29,8 +29,10 @@ along with this program. If not, see . #include "util.h" #include "sendchar.h" #include "eeconfig.h" -#include "backlight.h" #include "action_layer.h" +#ifdef BACKLIGHT_ENABLE +# include "backlight.h" +#endif #ifdef BOOTMAGIC_ENABLE # include "bootmagic.h" #else