config.h (1673B)
1 // Copyright 2024 splitkb.com (support@splitkb.com) 2 // SPDX-License-Identifier: GPL-2.0-or-later 3 4 #pragma once 5 6 // Make it easier to enter the bootloader 7 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET 8 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U 9 10 // I2C0, onboard SSD1306 socket and I2C to Myriad module 11 #define I2C_DRIVER I2CD0 12 #define I2C1_SDA_PIN GP0 13 #define I2C1_SCL_PIN GP1 14 // We need to slow down the I2C clock because the default of 400.000 15 // fails to communicate with Zetta ZD24C02A EEPROM on a Myriad card. 16 #define I2C1_CLOCK_SPEED 100000 17 18 // SPI1, both for onboard matrix data and SPI to Myriad module 19 #define SPI_DRIVER SPID1 20 #define SPI_SCK_PIN GP10 21 #define SPI_MOSI_PIN GP11 22 #define SPI_MISO_PIN GP12 23 24 // UART1, communication between the two halves 25 #define SERIAL_USART_FULL_DUPLEX 26 #define SERIAL_USART_DRIVER SIOD1 27 #define SERIAL_USART_TX_PIN GP20 28 #define SERIAL_USART_RX_PIN GP21 29 30 // Potential onboard speaker, not populated by default 31 #define AUDIO_PIN GP23 32 33 // Transmitting pointing device status to the master side 34 #define SPLIT_POINTING_ENABLE 35 #define POINTING_DEVICE_COMBINED 36 37 // VBUS detection 38 #define USB_VBUS_PIN GP25 39 40 // Define matrix size 41 #define MATRIX_COLS 8 42 #define MATRIX_ROWS 12 43 44 // Encoders 45 // 3 onboard, 1 for Myriad 46 #define NUM_ENCODERS_LEFT 4 47 #define NUM_ENCODERS_RIGHT 4 48 #define ENCODER_RESOLUTION 2 49 50 // OLED display 51 #define OLED_DISPLAY_128X64 52 // If someone has only one OLED display 53 // and that display was on the slave side. 54 // It wouldn't work at all. This fixes that 55 // including some code in rev1.c but makes 56 // it so the timeout's are not synced 57 // between halves. 58 #undef SPLIT_OLED_ENABLE 59 #define OLED_TIMEOUT 0 60