diff options
author | Ralf Schmitt <ralf@bunkertor.net> | 2014-03-19 23:58:08 +0100 |
---|---|---|
committer | Ralf Schmitt <ralf@bunkertor.net> | 2014-03-19 23:58:08 +0100 |
commit | 526d988a0caadc1a48bea862f605c9cee90c3dd3 (patch) | |
tree | 8c47584c7ab21ffa9f7b6b46937a33c85cb4dc43 /keyboard/lightsaber/led.c | |
parent | 160678a7b825af634a6fe02ea6a191b5c67cf75b (diff) |
Added basic led+backlight support
Diffstat (limited to 'keyboard/lightsaber/led.c')
-rw-r--r-- | keyboard/lightsaber/led.c | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/keyboard/lightsaber/led.c b/keyboard/lightsaber/led.c index 9c98f9db2c..c3f85427f5 100644 --- a/keyboard/lightsaber/led.c +++ b/keyboard/lightsaber/led.c @@ -1,5 +1,5 @@ /* -Copyright 2012 Jun Wako <wakojun@gmail.com> +Copyright 2014 Ralf Schmitt <ralf@bunkertor.net> 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 @@ -19,6 +19,36 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "stdint.h" #include "led.h" +/* LED pin configuration + * + * Caps PB0 (low) + * NumLock PB4 (low) + * + */ void led_set(uint8_t usb_led) { + // Set as output. + DDRB |= (1<<0) | (1<<4); + + if (usb_led & (1<<USB_LED_CAPS_LOCK)) + { + // Output low. + PORTB &= ~(1<<0); + } + else + { + // Output high. + PORTB |= (1<<0); + } + + if (usb_led & (1<<USB_LED_NUM_LOCK)) + { + // Output low. + PORTB &= ~(1<<4); + } + else + { + // Output high. + PORTB |= (1<<4); + } } |