diff options
Diffstat (limited to 'keyboards/kmac/kmac.c')
-rw-r--r-- | keyboards/kmac/kmac.c | 100 |
1 files changed, 50 insertions, 50 deletions
diff --git a/keyboards/kmac/kmac.c b/keyboards/kmac/kmac.c index 6b54294b4b..dcbbc2f179 100644 --- a/keyboards/kmac/kmac.c +++ b/keyboards/kmac/kmac.c @@ -1,4 +1,4 @@ -/* Copyright 2017 Mathias Andersson <wraul@dbox.se> +/* Copyright 2017-2019 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 @@ -15,61 +15,68 @@ */ #include "kmac.h" +#define CAPS_PIN B0 +#define SCROLL_PIN E6 +#define F_ROW_MASK 0b01 +#define WASD_MASK 0b10 + +// Optional override functions below. +// You can leave any or all of these undefined. +// These are only required if you want to perform custom actions. + void matrix_init_kb(void) { // put your keyboard start-up code here // runs once when the firmware starts up - led_init_ports(); + setPinOutput(CAPS_PIN); + setPinOutput(SCROLL_PIN); + matrix_init_user(); } +/* + void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) + // put your looping keyboard code here + // runs every cycle (a lot) - matrix_scan_user(); + matrix_scan_user(); } bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware + // put your per-action keyboard code here + // runs for every action, just before processing by the firmware - return process_record_user(keycode, record); + return process_record_user(keycode, record); } -void led_init_ports(void) { - DDRB |= (1<<0); // OUT - DDRE |= (1<<6); // OUT -} +*/ /* LED pin configuration * Scroll Lock: Low PE6 * Caps Lock: Low PB0 */ void led_set_kb(uint8_t usb_led) { - if (usb_led & (1<<USB_LED_CAPS_LOCK)) - { - PORTB &= ~(1<<0); // LO - } - else - { - PORTB |= (1<<0); // HI + if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { + writePinLow(CAPS_PIN); + } else { + writePinHigh(CAPS_PIN); } - if (usb_led & (1<<USB_LED_SCROLL_LOCK)) - { - PORTE &= ~(1<<6); // LO - } - else - { - PORTE |= (1<<6); // HI + if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) { + writePinLow(SCROLL_PIN); + } else { + writePinHigh(SCROLL_PIN); } led_set_user(usb_led); } void backlight_init_ports(void) { - DDRB |= (1<<1) | (1<<2) | (1<<3) | (1<<4); // OUT - DDRD |= (1<<7); // OUT + setPinOutput(B1); + setPinOutput(B2); + setPinOutput(B3); + setPinOutput(B4); + setPinOutput(D7); } /* Backlight pin configuration @@ -79,31 +86,24 @@ void backlight_init_ports(void) { * S: Low PB3 * D: Low PD7 */ -void backlight_set(uint8_t level) -{ +void backlight_set(uint8_t level) { // F-row - if(level & (1<<0)) - { - PORTB |= (1<<1); // HI - } - else - { - PORTB &= ~(1<<1); // LO + if (level & F_ROW_MASK) { + writePinHigh(B1); + } else { + writePinLow(B1); } // WASD - if(level & (1<<1)) - { - PORTB &= ~(1<<4); // LO - PORTB &= ~(1<<2); // LO - PORTB &= ~(1<<3); // LO - PORTD &= ~(1<<7); // LO - } - else - { - PORTB |= (1<<4); // HI - PORTB |= (1<<2); // HI - PORTB |= (1<<3); // HI - PORTD |= (1<<7); // HI + if (level & WASD_MASK) { + writePinLow(B2); + writePinLow(B3); + writePinLow(B4); + writePinLow(D7); + } else { + writePinHigh(B2); + writePinHigh(B3); + writePinHigh(B4); + writePinHigh(D7); } } |