2021-09-18 21:28:41 +02:00
/*
Copyright 2021 yushakobo
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
the Free Software Foundation , either version 2 of the License , or
( at your option ) any later version .
This program is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU General Public License for more details .
You should have received a copy of the GNU General Public License
along with this program . If not , see < http : //www.gnu.org/licenses/>.
*/
# pragma once
# include "config_common.h"
/* key matrix size */
# define MATRIX_ROWS 3
# define MATRIX_COLS 6
/*
* Keyboard Matrix Assignments
*
* Change this to how you wired your keyboard
* COLS : AVR pins used for columns , left to right
* ROWS : AVR pins used for rows , top to bottom
* DIODE_DIRECTION : COL2ROW = COL = Anode ( + ) , ROW = Cathode ( - , marked on diode )
* ROW2COL = ROW = Anode ( + ) , COL = Cathode ( - , marked on diode )
*
*/
# define MATRIX_ROW_PINS { F4, B3, B6 }
# define MATRIX_COL_PINS { F5, D4, E6, F7, C6, D7 }
/* 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 BACKLIGHT_PIN B7
//#define BACKLIGHT_LEVELS 3
//#define BACKLIGHT_BREATHING
# define RGB_DI_PIN D2
# define RGBLED_NUM 18
# ifdef RGB_MATRIX_ENABLE
2022-09-23 14:46:23 +02:00
# define RGB_MATRIX_LED_COUNT RGBLED_NUM
2021-09-18 21:28:41 +02:00
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
2022-09-23 14:46:23 +02:00
// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
2021-09-18 21:28:41 +02:00
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
// HSV_TEAL
// #define RGB_MATRIX_STARTUP_HUE 128
// #define RGB_MATRIX_STARTUP_SAT 255
# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
# define RGB_MATRIX_HUE_STEP 8
# define RGB_MATRIX_SAT_STEP 8
# define RGB_MATRIX_VAL_STEP 8
# define RGB_MATRIX_SPD_STEP 10
# endif
# ifdef RGBLIGHT_ENABLE
# define RGBLIGHT_LED_MAP {\
6 , 7 , 12 , 13 , 14 , 15 , \
16 , 17 , 11 , 10 , 9 , 8 , \
0 , 1 , 2 , 3 , 4 , 5 \
}
# define RGBLIGHT_HUE_STEP 8
# define RGBLIGHT_SAT_STEP 8
# define RGBLIGHT_VAL_STEP 8
# define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level */
//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
/*== all animations enable ==*/
//# define RGBLIGHT_ANIMATIONS
/*== or choose animations ==*/
//# define RGBLIGHT_EFFECT_BREATHING
# define RGBLIGHT_EFFECT_RAINBOW_MOOD
# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
//# define RGBLIGHT_EFFECT_SNAKE
//# define RGBLIGHT_EFFECT_KNIGHT
# define RGBLIGHT_EFFECT_CHRISTMAS
# define RGBLIGHT_EFFECT_STATIC_GRADIENT
# define RGBLIGHT_EFFECT_RGB_TEST
//# define RGBLIGHT_EFFECT_ALTERNATING
/*== customize breathing effect ==*/
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
/*==== use exp() and sin() ====*/
//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
# define RGBLIGHT_LAYERS
# define RGBLIGHT_MAX_LAYERS 8
# endif
# ifdef ENCODER_ENABLE
# define ENCODERS_PAD_A { B4 }
# define ENCODERS_PAD_B { B5 }
# endif
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
# define DEBOUNCE 5
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
/* Bootmagic Lite key configuration */
//#define BOOTMAGIC_LITE_ROW 0
//#define BOOTMAGIC_LITE_COLUMN 0