]> git.donarmstrong.com Git - tmk_firmware.git/blobdiff - keyboard/lightsaber/led.c
Added basic led+backlight support
[tmk_firmware.git] / keyboard / lightsaber / led.c
index 9c98f9db2cc3b7f4033b6163f7abfe48f8e1190d..c3f85427f51dbd1b376edd8bc31a69d41fdd409d 100644 (file)
@@ -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);
+    }
 }