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

@ -48,6 +48,11 @@ 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);
}

View File

@ -48,10 +48,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
*/
#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
#define LED_CAPS_LOCK_PIN E6
#define LED_PIN_ON_STATE 0
#define BACKLIGHT_PIN B7
#define BACKLIGHT_BREATHING

View File

@ -14,36 +14,3 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "space65.h"
void matrix_init_kb(void) {
// put your keyboard start-up code here
// runs once when the firmware starts up
setPinOutput(E6);
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) {
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
writePinLow(E6);
} else {
writePinHigh(E6);
}
led_set_user(usb_led);
}

View File

@ -46,6 +46,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DIODE_DIRECTION COL2ROW
#define LED_NUM_LOCK_PIN C6
#define LED_CAPS_LOCK_PIN C7
#define LED_SCROLL_LOCK_PIN F7
#define LED_PIN_ON_STATE 0
#define RGB_DI_PIN E2
#ifdef RGB_DI_PIN
#define RGBLED_NUM 22

View File

@ -14,58 +14,3 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "hotswap.h"
// 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
setPinOutput(C6);
setPinOutput(C7);
setPinOutput(F7);
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) {
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
writePinLow(C7);
} else {
writePinHigh(C7);
}
if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) {
writePinLow(C6);
} else {
writePinHigh(C6);
}
if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) {
writePinLow(F7);
} else {
writePinHigh(F7);
}
led_set_user(usb_led);
}

View File

@ -47,6 +47,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
#define LED_NUM_LOCK_PIN B2
#define LED_CAPS_LOCK_PIN B0
#define LED_SCROLL_LOCK_PIN B1
#define BACKLIGHT_PIN B6
#ifdef BACKLIGHT_PIN
#define BACKLIGHT_LEVELS 3

View File

@ -16,57 +16,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "kbd19x.h"
extern inline void kbd19x_caps_led_on(void);
extern inline void kbd19x_caps_led_off(void);
extern inline void kbd19x_sclk_led_on(void);
extern inline void kbd19x_sclk_led_off(void);
extern inline void kbd19x_nmlk_led_on(void);
extern inline void kbd19x_nmlk_led_off(void);
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) {
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
if (usb_led & (1<<USB_LED_NUM_LOCK)) {
kbd19x_nmlk_led_on();
} else {
kbd19x_nmlk_led_off();
}
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
kbd19x_caps_led_on();
} else {
kbd19x_caps_led_off();
}
if (usb_led & (1<<USB_LED_SCROLL_LOCK)) {
kbd19x_sclk_led_on();
} else {
kbd19x_sclk_led_off();
}
led_set_user(usb_led);
}

View File

@ -20,14 +20,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "quantum.h"
#include "led.h"
inline void kbd19x_caps_led_on(void) { DDRB |= (1<<0); PORTB &= ~(1<<0); }
inline void kbd19x_caps_led_off(void) { DDRB &= ~(1<<0); PORTB &= ~(1<<0); }
inline void kbd19x_caps_led_on(void) { writePinHigh(LED_CAPS_LOCK_PIN); }
inline void kbd19x_caps_led_off(void) { writePinLow(LED_CAPS_LOCK_PIN); }
inline void kbd19x_sclk_led_on(void) { DDRB |= (1<<1); PORTB &= ~(1<<1); }
inline void kbd19x_sclk_led_off(void) { DDRB &= ~(1<<1); PORTB &= ~(1<<1); }
inline void kbd19x_sclk_led_on(void) { writePinHigh(LED_SCROLL_LOCK_PIN); }
inline void kbd19x_sclk_led_off(void) { writePinLow(LED_SCROLL_LOCK_PIN); }
inline void kbd19x_nmlk_led_on(void) { DDRB |= (1<<2); PORTB &= ~(1<<2); }
inline void kbd19x_nmlk_led_off(void) { DDRB &= ~(1<<2); PORTB &= ~(1<<2); }
inline void kbd19x_nmlk_led_on(void) { writePinHigh(LED_NUM_LOCK_PIN); }
inline void kbd19x_nmlk_led_off(void) { writePinLow(LED_NUM_LOCK_PIN); }
// readability
#define XXX KC_NO

View File

@ -48,6 +48,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
#define LED_CAPS_LOCK_PIN B2
#define BACKLIGHT_PIN B6
#ifdef BACKLIGHT_PIN
#define BACKLIGHT_BREATHING

View File

@ -14,38 +14,3 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "rev1.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) {
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
DDRB |= (1 << 2);
PORTB &= ~(1 << 2);
} else {
DDRB &= ~(1 << 2);
PORTB &= ~(1 << 2);
}
led_set_user(usb_led);
}

View File

@ -47,6 +47,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
#define LED_CAPS_LOCK_PIN B6
#define BACKLIGHT_PIN B7
#ifdef BACKLIGHT_PIN
#define BACKLIGHT_BREATHING

View File

@ -14,36 +14,3 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "kbd6x.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) {
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
DDRB |= (1 << 6);
PORTB &= ~(1 << 6);
} else {
DDRB &= ~(1 << 6);
PORTB &= ~(1 << 6);
}
led_set_user(usb_led);
}

View File

@ -20,6 +20,9 @@
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
#define LED_CAPS_LOCK_PIN B2
#define LED_PIN_ON_STATE 0
/* number of backlight levels */
#define BACKLIGHT_PIN B6
#ifdef BACKLIGHT_PIN

View File

@ -1,17 +1 @@
#include "rev1.h"
void led_set_kb(uint8_t usb_led) {
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
writePinLow(B2);
} else {
writePinHigh(B2);
}
led_set_user(usb_led);
}
void matrix_init_kb(void) {
setPinOutput(B2);
matrix_init_user();
}

View File

@ -1,17 +1 @@
#include "rev2.h"
void led_set_kb(uint8_t usb_led) {
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
writePinLow(B2);
} else {
writePinHigh(B2);
}
led_set_user(usb_led);
}
void matrix_init_kb(void) {
setPinOutput(B2);
matrix_init_user();
}

View File

@ -47,6 +47,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
#define LED_NUM_LOCK_PIN B1
#define LED_CAPS_LOCK_PIN B3
#define LED_SCROLL_LOCK_PIN B2
#define BACKLIGHT_PIN B6
#ifdef BACKLIGHT_PIN
#define BACKLIGHT_BREATHING

View File

@ -15,58 +15,3 @@
*/
#include "kbd8x.h"
extern inline void caps_led_off(void);
extern inline void caps_led_on(void);
extern inline void num_led_off(void);
extern inline void num_led_on(void);
extern inline void scroll_led_off(void);
extern inline void scroll_led_on(void);
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) {
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
if(usb_led & (1<<USB_LED_NUM_LOCK))
{
num_led_on();
} else {
num_led_off();
}
if(usb_led & (1<<USB_LED_CAPS_LOCK))
{
caps_led_on();
} else {
caps_led_off();
}
if(usb_led & (1<<USB_LED_SCROLL_LOCK))
{
scroll_led_on();
} else {
scroll_led_off();
}
led_set_user(usb_led);
}

View File

@ -19,15 +19,14 @@
#include "led.h"
// Functions for setting LEDs on toggle keys
inline void caps_led_on(void) { DDRB |= (1<<3); PORTB &= ~(1<<3); }
inline void caps_led_off(void) { DDRB &= ~(1<<3); PORTB &= ~(1<<3); }
inline void caps_led_on(void) { writePinHigh(LED_CAPS_LOCK_PIN); }
inline void caps_led_off(void) { writePinLow(LED_CAPS_LOCK_PIN); }
inline void num_led_on(void) { DDRB |= (1<<1); PORTB &= ~(1<<1); }
inline void num_led_off(void) { DDRB &= ~(1<<1); PORTB &= ~(1<<1); }
inline void scroll_led_on(void) { DDRB |= (1<<2); PORTB &= ~(1<<2); }
inline void scroll_led_off(void) { DDRB &= ~(1<<2); PORTB &= ~(1<<2); }
inline void num_led_on(void) { writePinHigh(LED_NUM_LOCK_PIN); }
inline void num_led_off(void) { writePinLow(LED_NUM_LOCK_PIN); }
inline void scroll_led_on(void) { writePinHigh(LED_SCROLL_LOCK_PIN); }
inline void scroll_led_off(void) { writePinLow(LED_SCROLL_LOCK_PIN); }
// LAYOUT depicting all possible switch positions.
// LAYOUT_all supports ISO, split backspace and split left/right shift.

View File

@ -48,10 +48,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
*/
#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
#define LED_CAPS_LOCK_PIN E6
#define LED_SCROLL_LOCK_PIN B2
#define LED_PIN_ON_STATE 0
#define BACKLIGHT_PIN B7
#ifdef BACKLIGHT_PIN
#define BACKLIGHT_BREATHING

View File

@ -14,58 +14,3 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "kbd8x_mk2.h"
void matrix_init_kb(void) {
// Indicator pins
// B2 - Scroll Lock
// E6 - Caps Lock
// Sinking setup - 5V -> LED/Resistor -> Pin
setPinOutput(B2);
setPinOutput(E6);
matrix_init_user();
}
void led_set_kb(uint8_t usb_led) {
// Toggle indicator LEDs
// Since they are a sinking setup, write HIGH to DISABLE, LOW to ENABLE
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
writePinLow(E6);
} else {
writePinHigh(E6);
}
if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) {
writePinLow(B2);
} else {
writePinHigh(B2);
}
led_set_user(usb_led);
}
// 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_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);
}
*/

View File

@ -48,10 +48,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
*/
#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
#define LED_CAPS_LOCK_PIN B4
#define LED_PIN_ON_STATE 0
#define BACKLIGHT_PIN B7
#ifdef BACKLIGHT_PIN

View File

@ -14,48 +14,3 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "kbdpad_mk2.h"
void matrix_init_kb(void) {
// Num Lock LED = B4
// Sinking setup (5V -> LED/Res -> Pin)
setPinOutput(B4);
matrix_init_user();
}
void led_set_kb(uint8_t usb_led) {
// Sinking setup. Write HIGH to turn OFF, LOW to turn ON.
if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) {
writePinLow(B4);
} else {
writePinHigh(B4);
}
led_set_user(usb_led);
}
// 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_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);
}
*/