“PAL_MODE_OUTPUT_OPENDRAIN” 에러를 해결 후 본격적으로 GeulPan42TP를 만들면서 걱정되었던 부분은 “RP2040에서 스플릿, 트랙포인트, LED를 동시에 사용할 때 어떻게 해야하는 거지?”였습니다.
QMK RP2040 문서를 봐도 잘 모르는 저는 일단 부딪혀보면서 할 수 밖에 없는데 일단은 작동하니 관련 내용을 기록으로 남겨 둡니다.
RP2040 QMK Driver
QMK RP2040 문서에서 사용할 수 있는 드라이버 목록은 위와 같습니다. 이때 헷갈렸던 부분은 분할키보드를 위해 split 부분이었는데, 결국 전부 PIO로 사용하면 되었습니다.
적용 예시 코드
rules.mk | config.h | |
split | SPLIT_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/2 | PS2_ENABLE = yes PS2_DRIVER = vendor PS2_MOUSE_ENABLE = yes | #define PS2_PIO_USE_PIO1 #define PS2_CLOCK_PIN GP3 #define PS2_DATA_PIN GP2 |
WS2812 | WS2812_DRIVER = vendor RGBLIGHT_ENABLE = yes | #define WS2812_PIO_USE_PIO2 #define WS2812_DI_PIN GP23 #define RGBLED_NUM 1 |
사용하려는 PIO에 각 번호를 새롭게 할당해서 적용하니, GeulPan42TP에서 분할, 트랙포인트(ps/2), WS2812 동시 사용이 가능 했습니다.
참고 링크
물론 왜 이렇게 해야 작동하는지와 같은 자세한것은 저한테 물어보셔도.. 잘 모릅니다. ㅜ.ㅜ