diff --git a/keyboards/fingerpunch/ximi/config.h b/keyboards/fingerpunch/ximi/config.h index 443e22ecd1..c291b15197 100644 --- a/keyboards/fingerpunch/ximi/config.h +++ b/keyboards/fingerpunch/ximi/config.h @@ -47,27 +47,69 @@ along with this program. If not, see . #define RGB_DI_PIN GP26 #ifdef RGBLIGHT_ENABLE - #define RGBLIGHT_SPLIT - #define RGBLED_SPLIT { 21, 21 } - #define RGBLED_NUM 42 - #define RGBLIGHT_HUE_STEP 16 - #define RGBLIGHT_SAT_STEP 16 - #define RGBLIGHT_VAL_STEP 16 - #define RGBLIGHT_LIMIT_VAL 120 /* The maximum brightness level for RGBLIGHT_ENABLE */ - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +# define RGBLIGHT_SPLIT +# define RGBLED_SPLIT { 21, 21 } +# define RGBLED_NUM 42 +# define RGBLIGHT_HUE_STEP 16 +# define RGBLIGHT_SAT_STEP 16 +# define RGBLIGHT_VAL_STEP 16 +# define RGBLIGHT_LIMIT_VAL 180 /* The maximum brightness level for RGBLIGHT_ENABLE */ +# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +#endif + +#ifdef RGB_MATRIX_ENABLE +# define SPLIT_TRANSPORT_MIRROR +# define DRIVER_LED_TOTAL 42 // Number of LEDs +# define RGB_MATRIX_SPLIT { 21, 21 } +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 +# define RGB_MATRIX_STARTUP_HUE 35 +# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS +# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_KEYPRESSES #endif /* Set 0 if debouncing isn't needed */ #define DEBOUNCE 5 +/* audio support */ +#define AUDIO_VOICES +#define AUDIO_PIN GP4 + +#ifdef AUDIO_ENABLE +# define NO_MUSIC_MODE +# define STARTUP_SONG SONG(PREONIC_SOUND) +# define DEFAULT_LAYER_SONGS \ + { SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND) } +#endif + +#ifdef HAPTIC_ENABLE +# define FB_ERM_LRA 1 +# define FB_BRAKEFACTOR 3 // For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 +# define FB_LOOPGAIN 1 // For Low:0, Medium:1, High:2, Very High:3 +# define RATED_VOLTAGE 2 +# define V_PEAK 2.8 +# define V_RMS 2.0 +# define F_LRA 150 // resonance freq +# define DRV_GREETING alert_750ms +# define NO_HAPTIC_ALPHA +# define NO_HAPTIC_PUNCTUATION +# define NO_HAPTIC_NAV +# define NO_HAPTIC_NUMERIC +#endif + /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE +#define I2C_DRIVER I2CD2 +#define I2C1_SDA_PIN GP6 +#define I2C1_SCL_PIN GP7 + // cirque trackpad config #define CIRQUE_PINNACLE_ADDR 0x2A #define POINTING_DEVICE_TASK_THROTTLE_MS 5 +#define POINTING_DEVICE_ROTATION_90 // move to cirque specific config #define I2C1_CLOCK_SPEED 400000 #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 @@ -76,7 +118,7 @@ along with this program. If not, see . #define PMW33XX_CS_PIN GP26 #define PMW33XX_CPI 800 #define PMW33XX_CS_DIVISOR 8 // needs to be the same as the SHIFTREG_DIVISOR above -#define POINTING_DEVICE_INVERT_Y +// #define POINTING_DEVICE_INVERT_Y // move to trackball specific config #define SPI_SCK_PIN GP2 #define SPI_MOSI_PIN GP3 diff --git a/keyboards/fingerpunch/ximi/mcuconf.c b/keyboards/fingerpunch/ximi/mcuconf.c index 92d84ba387..7089a6c11b 100644 --- a/keyboards/fingerpunch/ximi/mcuconf.c +++ b/keyboards/fingerpunch/ximi/mcuconf.c @@ -2,11 +2,11 @@ #include_next "mcuconf.h" -#undef RP_SPI_USE_SPI0 +#undef RP_SPI_USE_SPI1 #define RP_SPI_USE_SPI1 TRUE // #undef RP_SPI_USE_SPI1 // #define RP_SPI_USE_SPI1 TRUE -#undef RP_I2C_USE_I2C0 -#define RP_I2C_USE_I2C0 TRUE \ No newline at end of file +#undef RP_I2C_USE_I2C1 +#define RP_I2C_USE_I2C1 TRUE \ No newline at end of file diff --git a/keyboards/fingerpunch/ximi/rules.mk b/keyboards/fingerpunch/ximi/rules.mk index e5a6d6bf29..4225ba4c34 100644 --- a/keyboards/fingerpunch/ximi/rules.mk +++ b/keyboards/fingerpunch/ximi/rules.mk @@ -19,6 +19,7 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no RGB_MATRIX_ENABLE = no RGB_MATRIX_DRIVER = WS2812 +WS2812_DRIVER = vendor MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode @@ -33,13 +34,22 @@ MOUSEKEY_ENABLE = yes SPLIT_KEYBOARD = yes SERIAL_DRIVER = vendor -# CIRQUE_ENABLE = no -# PMW3360_ENABLE = no -# ifeq ($(strip $(CIRQUE_ENABLE)), yes) -# POINTING_DEVICE_ENABLE = yes -# POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c -# endif +#HAPTIC FEEDBACK +HAPTIC_DRIVER = DRV2605L +HAPTIC_ENABLE = yes + +# Audio doesn't work with RP2040 yet :( +AUDIO_ENABLE = no + +CIRQUE_ENABLE = yes + +ifeq ($(strip $(CIRQUE_ENABLE)), yes) + POINTING_DEVICE_ENABLE = yes + POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c +endif + +# PMW3360_ENABLE = no # ifeq ($(strip $(PMW3360_ENABLE)), yes) # POINTING_DEVICE_ENABLE := yes