1
0
Fork 0

Refactor to use led config - Part 2 (#10906)

* Refactor to use led config

* Refactor to use led config

* Refactor to use led config
This commit is contained in:
Joel Challis 2020-11-17 17:06:23 +00:00 committed by GitHub
parent 3c156e130b
commit adfd34c451
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
28 changed files with 59 additions and 600 deletions

View file

@ -47,7 +47,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
#define LED_NUM_LOCK_PIN B7
#define LED_CAPS_LOCK_PIN C6
#define LED_SCROLL_LOCK_PIN C5
#define LED_PIN_ON_STATE 0
// #define BACKLIGHT_PIN B7
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3

View file

@ -1,51 +1 @@
#include "kitten_paw.h"
void matrix_init_kb(void) {
// put your keyboard start-up code here
// runs once when the firmware starts up
matrix_init_user();
}
void matrix_scan_kb(void) {
// put your looping keyboard code here
// runs every cycle (a lot)
matrix_scan_user();
}
__attribute__ ((weak))
void matrix_init_user(void) {
}
__attribute__ ((weak))
void matrix_scan_user(void) {
}
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
return process_record_user(keycode, record);
}
void led_set_kb(uint8_t usb_led) {
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
CONFIG_LED_IO;
CONFIG_LED_IO;
print_dec(usb_led);
if (usb_led & (1<<USB_LED_CAPS_LOCK))
USB_LED_CAPS_LOCK_ON;
else
USB_LED_CAPS_LOCK_OFF;
if (usb_led & (1<<USB_LED_NUM_LOCK))
USB_LED_NUM_LOCK_ON;
else
USB_LED_NUM_LOCK_OFF;
if (usb_led & (1<<USB_LED_SCROLL_LOCK))
USB_LED_SCROLL_LOCK_ON;
else
USB_LED_SCROLL_LOCK_OFF;
led_set_user(usb_led);
}

View file

@ -3,17 +3,6 @@
#include "quantum.h"
#define CONFIG_LED_IO \
DDRB |= (1<<7); \
DDRC |= (1<<5) | (1<<6);
#define USB_LED_CAPS_LOCK_ON PORTC &= ~(1<<6)
#define USB_LED_CAPS_LOCK_OFF PORTC |= (1<<6)
#define USB_LED_NUM_LOCK_ON PORTB &= ~(1<<7)
#define USB_LED_NUM_LOCK_OFF PORTB |= (1<<7)
#define USB_LED_SCROLL_LOCK_ON PORTC &= ~(1<<5)
#define USB_LED_SCROLL_LOCK_OFF PORTC |= (1<<5)
// This a shortcut to help you visually see your layout.
// The first section contains all of the arguements
// The second converts the arguments into a two-dimensional array

View file

@ -44,6 +44,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define UNUSED_PINS { B0, C4, D3 }
#define LED_NUM_LOCK_PIN C5
#define LED_CAPS_LOCK_PIN C6
#define LED_SCROLL_LOCK_PIN B7
#define LED_PIN_ON_STATE 0
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5

View file

@ -1,63 +1 @@
#include "tiger_lily.h"
void matrix_init_kb(void) {
// put your keyboard start-up code here
// runs once when the firmware starts up
matrix_init_user();
}
void matrix_scan_kb(void) {
// put your looping keyboard code here
// runs every cycle (a lot)
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
return process_record_user(keycode, record);
}
void led_set_kb(uint8_t usb_led) {
DDRB |= (1<<7);
DDRC |= (1<<5) | (1<<6);
print_dec(usb_led);
if (usb_led & (1<<USB_LED_NUM_LOCK))
PORTC &= ~(1<<5);
else
PORTC |= (1<<5);
if (usb_led & (1<<USB_LED_SCROLL_LOCK))
PORTB &= ~(1<<7);
else
PORTB |= (1<<7);
if (usb_led & (1<<USB_LED_CAPS_LOCK))
PORTC &= ~(1<<6);
else
PORTC |= (1<<6);
led_set_user(usb_led);
}
__attribute__ ((weak))
void matrix_init_user(void) {
}
__attribute__ ((weak))
void matrix_scan_user(void) {
}
__attribute__ ((weak))
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
}
__attribute__ ((weak))
void led_set_user(uint8_t usb_led) {
}

View file

@ -35,6 +35,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
#define LED_NUM_LOCK_PIN B7
#define LED_CAPS_LOCK_PIN C5
#define LED_SCROLL_LOCK_PIN C6
#define LED_PIN_ON_STATE 0
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST

View file

@ -14,57 +14,3 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "unloved_bastard.h"
void matrix_init_kb(void) {
// put your keyboard start-up code here
// runs once when the firmware starts up
led_init_ports();
matrix_init_user();
}
void matrix_scan_kb(void) {
// put your looping keyboard code here
// runs every cycle (a lot)
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
return process_record_user(keycode, record);
}
// C5 left
// C6 middle led
// B7 right led
void led_init_ports(void) {
DDRB |= (1<<7);
DDRC |= (1<<5);
DDRC |= (1<<6);
PORTB |= (1<<7);
PORTC |= (1<<5);
PORTC |= (1<<6);
}
void led_set_kb(uint8_t usb_led) {
if (usb_led & (1<<USB_LED_CAPS_LOCK))
PORTC &= ~(1<<5);
else
PORTC |= (1<<5);
if (usb_led & (1<<USB_LED_NUM_LOCK))
PORTB &= ~(1<<7);
else
PORTB |= (1<<7);
if (usb_led & (1<<USB_LED_SCROLL_LOCK))
PORTC &= ~(1<<6);
else
PORTC |= (1<<6);
led_set_user(usb_led);
}