diff options
Diffstat (limited to 'keyboard/phantom/led.c')
| -rw-r--r-- | keyboard/phantom/led.c | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/keyboard/phantom/led.c b/keyboard/phantom/led.c index 109004ba8..f4e9108f0 100644 --- a/keyboard/phantom/led.c +++ b/keyboard/phantom/led.c | |||
| @@ -16,19 +16,34 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 16 | */ | 16 | */ |
| 17 | 17 | ||
| 18 | #include <avr/io.h> | 18 | #include <avr/io.h> |
| 19 | #include "stdint.h" | ||
| 20 | #include "led.h" | 19 | #include "led.h" |
| 21 | 20 | ||
| 22 | 21 | ||
| 23 | void led_set(uint8_t usb_led) | 22 | void led_set(uint8_t usb_led) |
| 24 | { | 23 | { |
| 25 | if (!(usb_led & (1<<USB_LED_CAPS_LOCK))) | 24 | if (usb_led & (1<<USB_LED_CAPS_LOCK)) |
| 26 | DDRB &= ~(1<<6); | 25 | { |
| 27 | else | 26 | // Output high. |
| 28 | DDRB |= (1<<6); | 27 | DDRB |= (1<<6); |
| 28 | PORTB |= (1<<6); | ||
| 29 | } | ||
| 30 | else | ||
| 31 | { | ||
| 32 | // Output low. | ||
| 33 | DDRB &= ~(1<<6); | ||
| 34 | PORTB &= ~(1<<6); | ||
| 35 | } | ||
| 29 | 36 | ||
| 30 | if (!(usb_led & (1<<USB_LED_SCROLL_LOCK))) | 37 | if (usb_led & (1<<USB_LED_SCROLL_LOCK)) |
| 38 | { | ||
| 39 | // Output high. | ||
| 31 | DDRB &= ~(1<<7); | 40 | DDRB &= ~(1<<7); |
| 41 | PORTB |= (1<<7); | ||
| 42 | } | ||
| 32 | else | 43 | else |
| 33 | DDRB |= (1<<7); | 44 | { |
| 45 | // Output low. | ||
| 46 | DDRB &= ~(1<<7); | ||
| 47 | PORTB &= ~(1<<7); | ||
| 48 | } | ||
| 34 | } | 49 | } |
