diff --git a/keyboards/lotus/config.h b/keyboards/lotus/config.h index 265afe866a..d95a6de3f4 100644 --- a/keyboards/lotus/config.h +++ b/keyboards/lotus/config.h @@ -8,11 +8,6 @@ #define MATRIX_COLS 16 #define MATRIX_ROWS 8 -// TODO: Adjust this. The GPIO is definitely wrong -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25 -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U - #define SERIAL_USART_FULL_DUPLEX #define SERIAL_USART_TX_PIN GP0 #define SERIAL_USART_RX_PIN GP1 @@ -30,14 +25,11 @@ // #define RGB_MATRIX_LED_COUNT 22 // PWM single one backlight configuration -// TODO: Double-check these // The RP2040 datasheet says GPIO25 maps to PWM channel 4B +// On the Raspberry Pi Pico this is the green LED on the board, good for prototyping #define BACKLIGHT_PWM_DRIVER PWMD4 #define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/lotus/keymaps/78_ansi/keymap.c b/keyboards/lotus/keymaps/78_ansi/keymap.c index 67295a5436..fa846d2dcb 100644 --- a/keyboards/lotus/keymaps/78_ansi/keymap.c +++ b/keyboards/lotus/keymaps/78_ansi/keymap.c @@ -61,7 +61,177 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -// TODO: Need to define the LED matrix. +#define CS19_SW12 0x00 +#define CS20_SW12 0x01 +#define CS21_SW12 0x02 +#define CS22_SW12 0x03 +#define CS23_SW12 0x04 +#define CS24_SW12 0x05 +#define CS25_SW12 0x06 +#define CS26_SW12 0x07 +#define CS27_SW12 0x08 +#define CS28_SW12 0x09 +#define CS29_SW12 0x0A +#define CS30_SW12 0x0B +#define CS31_SW12 0x0C +#define CS32_SW12 0x0D +#define CS33_SW12 0x0E +#define CS34_SW12 0x0F +#define CS35_SW12 0x10 +#define CS36_SW12 0x11 + +#define CS19_SW13 0x12 +#define CS20_SW13 0x13 +#define CS21_SW13 0x14 +#define CS22_SW13 0x15 +#define CS23_SW13 0x16 +#define CS24_SW13 0x17 +#define CS25_SW13 0x18 +#define CS26_SW13 0x19 +#define CS27_SW13 0x1A +#define CS28_SW13 0x1B +#define CS29_SW13 0x1C +#define CS30_SW13 0x1D +#define CS31_SW13 0x1E +#define CS32_SW13 0x1F +#define CS33_SW13 0x20 +#define CS34_SW13 0x21 +#define CS35_SW13 0x22 +#define CS36_SW13 0x23 + +#define CS19_SW14 0x24 +#define CS20_SW14 0x25 +#define CS21_SW14 0x26 +#define CS22_SW14 0x27 +#define CS23_SW14 0x28 +#define CS24_SW14 0x29 +#define CS25_SW14 0x2A +#define CS26_SW14 0x2B +#define CS27_SW14 0x2C +#define CS28_SW14 0x2D +#define CS29_SW14 0x2E +#define CS30_SW14 0x2F +#define CS31_SW14 0x30 +#define CS32_SW14 0x31 +#define CS33_SW14 0x32 +#define CS34_SW14 0x33 +#define CS35_SW14 0x34 +#define CS36_SW14 0x35 + +#define CS19_SW15 0x36 +#define CS20_SW15 0x37 +#define CS21_SW15 0x38 +#define CS22_SW15 0x39 +#define CS23_SW15 0x3A +#define CS24_SW15 0x3B +#define CS25_SW15 0x3C +#define CS26_SW15 0x3D +#define CS27_SW15 0x3E +#define CS28_SW15 0x3F +#define CS29_SW15 0x40 +#define CS30_SW15 0x41 +#define CS31_SW15 0x42 +#define CS32_SW15 0x43 +#define CS33_SW15 0x44 +#define CS34_SW15 0x45 +#define CS35_SW15 0x46 +#define CS36_SW15 0x47 + +#define CS19_SW16 0x48 +#define CS20_SW16 0x49 +#define CS21_SW16 0x4A +#define CS22_SW16 0x4B +#define CS23_SW16 0x4C +#define CS24_SW16 0x4D +#define CS25_SW16 0x4E +#define CS26_SW16 0x4F +#define CS27_SW16 0x50 +#define CS28_SW16 0x51 +#define CS29_SW16 0x52 +#define CS30_SW16 0x53 +#define CS31_SW16 0x54 +#define CS32_SW16 0x55 +#define CS33_SW16 0x56 +#define CS34_SW16 0x57 +#define CS35_SW16 0x58 +#define CS36_SW16 0x59 + +#define CS19_SW17 0x5A +#define CS20_SW17 0x5B +#define CS21_SW17 0x5C +#define CS22_SW17 0x5D +#define CS23_SW17 0x5E +#define CS24_SW17 0x5F +#define CS25_SW17 0x60 +#define CS26_SW17 0x61 +#define CS27_SW17 0x62 +#define CS28_SW17 0x63 +#define CS29_SW17 0x64 +#define CS30_SW17 0x65 +#define CS31_SW17 0x66 +#define CS32_SW17 0x67 +#define CS33_SW17 0x68 +#define CS34_SW17 0x69 +#define CS35_SW17 0x6A +#define CS36_SW17 0x6B + +#define CS19_SW18 0x6C +#define CS20_SW18 0x6D +#define CS21_SW18 0x6E +#define CS22_SW18 0x6F +#define CS23_SW18 0x70 +#define CS24_SW18 0x71 +#define CS25_SW18 0x72 +#define CS26_SW18 0x73 +#define CS27_SW18 0x74 +#define CS28_SW18 0x75 +#define CS29_SW18 0x76 +#define CS30_SW18 0x77 +#define CS31_SW18 0x78 +#define CS32_SW18 0x79 +#define CS33_SW18 0x7A +#define CS34_SW18 0x7B +#define CS35_SW18 0x7C +#define CS36_SW18 0x7D + +#define CS19_SW19 0x7E +#define CS20_SW19 0x7F +#define CS21_SW19 0x80 +#define CS22_SW19 0x81 +#define CS23_SW19 0x82 +#define CS24_SW19 0x83 +#define CS25_SW19 0x84 +#define CS26_SW19 0x85 +#define CS27_SW19 0x86 +#define CS28_SW19 0x87 +#define CS29_SW19 0x88 +#define CS30_SW19 0x89 +#define CS31_SW19 0x8A +#define CS32_SW19 0x8B +#define CS33_SW19 0x8C +#define CS34_SW19 0x8D +#define CS35_SW19 0x8E +#define CS36_SW19 0x8F + +#define CS19_SW20 0x90 +#define CS20_SW20 0x91 +#define CS21_SW20 0x92 +#define CS22_SW20 0x93 +#define CS23_SW20 0x94 +#define CS24_SW20 0x95 +#define CS25_SW20 0x96 +#define CS26_SW20 0x97 +#define CS27_SW20 0x98 +#define CS28_SW20 0x99 +#define CS29_SW20 0x9A +#define CS30_SW20 0x9B +#define CS31_SW20 0x9C +#define CS32_SW20 0x9D +#define CS33_SW20 0x9E +#define CS34_SW20 0x9F +#define CS35_SW20 0xA0 +#define CS36_SW20 0xA1 + // TODO: Should have attribute __flash. But won't compile if I add it const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations diff --git a/keyboards/lotus/rules.mk b/keyboards/lotus/rules.mk index 5cf2454f52..bddc590adf 100644 --- a/keyboards/lotus/rules.mk +++ b/keyboards/lotus/rules.mk @@ -10,7 +10,7 @@ BACKLIGHT_ENABLE = yes BACKLIGHT_DRIVER = pwm RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = IS31FL3745 +RGB_MATRIX_DRIVER = IS31FL3743A # Custom matrix scanning code via ADC CUSTOM_MATRIX = lite