페이지 선택

PAL_MODE_OUTPUT_OPENDRAIN” 에러를 해결 후 본격적으로 GeulPan42TP를 만들면서 걱정되었던 부분은 “RP2040에서 스플릿, 트랙포인트, LED를 동시에 사용할 때 어떻게 해야하는 거지?”였습니다.

QMK RP2040 문서를 봐도 잘 모르는 저는 일단 부딪혀보면서 할 수 밖에 없는데 일단은 작동하니 관련 내용을 기록으로 남겨 둡니다.

RP2040 QMK Driver

QMK RP2040 문서에서 사용할 수 있는 드라이버 목록은 위와 같습니다. 이때 헷갈렸던 부분은 분할키보드를 위해 split 부분이었는데, 결국 전부 PIO로 사용하면 되었습니다.

적용 예시 코드

rules.mkconfig.h
splitSPLIT_KEYBOARD = yes
SERIAL_DRIVER = vendor
#define SERIAL_PIO_USE_PIO0
#define SERIAL_USART_FULL_DUPLEX
#define SERIAL_USART_TX_PIN GP0
#define SERIAL_USART_RX_PIN GP1
ps/2PS2_ENABLE = yes
PS2_DRIVER = vendor
PS2_MOUSE_ENABLE = yes
#define PS2_PIO_USE_PIO1
#define PS2_CLOCK_PIN   GP3
#define PS2_DATA_PIN    GP2
WS2812WS2812_DRIVER = vendor
RGBLIGHT_ENABLE = yes
#define WS2812_PIO_USE_PIO2
#define WS2812_DI_PIN GP23
#define RGBLED_NUM 1  

사용하려는 PIO에 각 번호를 새롭게 할당해서 적용하니, GeulPan42TP에서 분할, 트랙포인트(ps/2), WS2812 동시 사용이 가능 했습니다.

참고 링크

QMK Split setup

The PIO Driver

물론 왜 이렇게 해야 작동하는지와 같은 자세한것은 저한테 물어보셔도.. 잘 모릅니다. ㅜ.ㅜ