From 9ef21d2e1c26b4153368fb3fe887ea7117c5b49b Mon Sep 17 00:00:00 2001 From: zvecr Date: Wed, 27 Mar 2019 01:39:09 +0000 Subject: Refactor staryu to current standards and enable support for backlight keycodes (#5487) --- keyboards/staryu/staryu.c | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) (limited to 'keyboards/staryu/staryu.c') diff --git a/keyboards/staryu/staryu.c b/keyboards/staryu/staryu.c index 6dcaaea0e8..20334c0b78 100755 --- a/keyboards/staryu/staryu.c +++ b/keyboards/staryu/staryu.c @@ -15,12 +15,30 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include "staryu.h" -#include "backlight_staryu.h" - -// for keyboard subdirectory level init functions -// @Override -void matrix_init_kb(void) { - // call user level keymaps, if any - init_backlight_led(); - matrix_init_user(); + +#ifdef BACKLIGHT_ENABLE + +#ifdef BACKLIGHT_PIN + #pragma error "BACKLIGHT_PIN must stay undefined otherwise software pwm is incorrectly used" +#endif + +#define BACKLIGHT_PIN_COUNT 5 +static const pin_t backlight_pins[BACKLIGHT_PIN_COUNT] = { C2, C7, D5, D6, B0 }; + +void backlight_init_ports(void) { + for (uint8_t index = 0; index < BACKLIGHT_PIN_COUNT; index++) { + setPinOutput(backlight_pins[index]); + } } + +void backlight_set_value(uint8_t index, uint8_t level) { + writePin(backlight_pins[index], !!level); +} + +void backlight_set(uint8_t level) { + for (uint8_t index = 0; index < BACKLIGHT_PIN_COUNT; index++) { + backlight_set_value(index, level); + } +} + +#endif //BACKLIGHT_ENABLE -- cgit v1.2.3