mirror of
https://github.com/speedypotato/Pico-Game-Controller.git
synced 2026-09-29 10:18:01 +03:00
60 lines
1.7 KiB
C
60 lines
1.7 KiB
C
#ifndef CONTROLLER_CONFIG_H
|
|
#define CONTROLLER_CONFIG_H
|
|
|
|
#define SW_GPIO_SIZE 9 // Number of switches
|
|
#define ENC_GPIO_SIZE 2 // Number of encoders
|
|
#define ENC_PPR 24 // Encoder PPR
|
|
#define MOUSE_SENS 5 // Mouse sensitivity multiplier
|
|
#define ENC_DEBOUNCE true // Encoder Debouncing
|
|
#define SW_DEBOUNCE_TIME_US 4000 // Switch debounce delay in us
|
|
#define ENC_PULSE (ENC_PPR * 4) // 4 pulses per PPR
|
|
#define REACTIVE_TIMEOUT_MAX 1000000 // HID to reactive timeout in us
|
|
#define WS2812B_LED_SIZE 32 // Number of WS2812B LEDs
|
|
#define WS2812B_LED_ZONES 1 // Number of WS2812B LED Zones
|
|
|
|
#ifdef PICO_GAME_CONTROLLER_C
|
|
|
|
typedef struct {
|
|
uint8_t r, g, b;
|
|
} RGB_t;
|
|
|
|
const RGB_t COLOR_BLACK = {0, 0, 0};
|
|
|
|
const RGB_t SW_LABEL_COLORS[] = {
|
|
{255, 255, 255}, // START
|
|
{255, 255, 255}, // BT-A
|
|
{255, 255, 255}, // BT-B
|
|
{255, 255, 255}, // BT-C
|
|
{255, 255, 255}, // BT-D
|
|
{255, 255, 255}, // FX-L
|
|
{255, 255, 255}, // FX-R
|
|
};
|
|
|
|
const RGB_t SW_COLORS[] = {
|
|
{0, 0, 255}, // START
|
|
{255, 255, 255}, // BT-A
|
|
{255, 255, 255}, // BT-B
|
|
{255, 255, 255}, // BT-C
|
|
{255, 255, 255}, // BT-D
|
|
{255, 0, 0}, // FX-L
|
|
{255, 0, 0}, // FX-R
|
|
};
|
|
|
|
// MODIFY KEYBINDS HERE, MAKE SURE LENGTHS MATCH SW_GPIO_SIZE
|
|
const uint8_t SW_KEYCODE[] = {
|
|
HID_KEY_D, HID_KEY_F, HID_KEY_J, HID_KEY_K, HID_KEY_C,
|
|
HID_KEY_M, HID_KEY_A, HID_KEY_B, HID_KEY_1,
|
|
};
|
|
const uint8_t SW_GPIO[] = {
|
|
29, 3, 4, 5, 17, 12, 0, 8, 1,
|
|
};
|
|
|
|
const uint8_t ENC_GPIO[] = {27, 6}; // L_ENC(0, 1); R_ENC(2, 3)
|
|
const bool ENC_REV[] = {false, false}; // Reverse Encoders
|
|
const uint8_t WS2812B_GPIO = 2;
|
|
|
|
#endif
|
|
|
|
extern bool joy_mode_check;
|
|
|
|
#endif |