Skip to content

Commit

Permalink
Move tmk_core/common/backlight to quantum/backlight (qmk#6710)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
zvecr authored and HokieGeek committed Feb 21, 2020
1 parent b21126f commit 5966424
Show file tree
Hide file tree
Showing 13 changed files with 230 additions and 212 deletions.
5 changes: 5 additions & 0 deletions common_features.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
10 changes: 5 additions & 5 deletions keyboards/clueboard/60/led.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,30 +16,30 @@
*/

#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);
} else {
// Turn backlight on
palClearPad(GPIOB, 8);
}
#endif
}
#endif

void led_set_kb(uint8_t usb_led) {
printf("led_set_kb(%d)\n", usb_led);
Expand Down
194 changes: 193 additions & 1 deletion quantum/backlight/backlight.c
Original file line number Diff line number Diff line change
@@ -1 +1,193 @@
// TODO: Add common code here, for example cie_lightness implementation
/*
Copyright 2013 Mathias Andersson <wraul@dbox.se>
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 <http://www.gnu.org/licenses/>.
*/

#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
File renamed without changes.
5 changes: 4 additions & 1 deletion quantum/keymap_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#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
Expand Down
6 changes: 4 additions & 2 deletions quantum/quantum.c
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
5 changes: 0 additions & 5 deletions tmk_core/common.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 4 additions & 1 deletion tmk_core/common/action.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,17 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "mousekey.h"
#include "command.h"
#include "led.h"
#include "backlight.h"
#include "action_layer.h"
#include "action_tapping.h"
#include "action_macro.h"
#include "action_util.h"
#include "action.h"
#include "wait.h"

#ifdef BACKLIGHT_ENABLE
# include "backlight.h"
#endif

#ifdef DEBUG_ACTION
# include "debug.h"
#else
Expand Down
5 changes: 4 additions & 1 deletion tmk_core/common/avr/suspend.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
#include <avr/interrupt.h>
#include "matrix.h"
#include "action.h"
#include "backlight.h"
#include "suspend_avr.h"
#include "suspend.h"
#include "timer.h"
Expand All @@ -16,6 +15,10 @@
# include "lufa.h"
#endif

#ifdef BACKLIGHT_ENABLE
# include "backlight.h"
#endif

#ifdef AUDIO_ENABLE
# include "audio.h"
#endif /* AUDIO_ENABLE */
Expand Down
Loading

0 comments on commit 5966424

Please sign in to comment.