I want to use the SPLIT_WATCHDOG_ENABLE option because I do not want to restart the Keyboard half connected to pc manually after booting.
In my understanding this option should restart both halves (independently) if they do not detect usb activity.
Instead i now have to manually restart both halves before they detect the pc and start communicating.
I determined this by displaying current layer on a display (one on each side).
The master display changes after manually restarting master half. After, the slave display only changes after manually restarting slave.
Split keyboard with rp2040 in pro micro format. Using the following options (that are somehow relevant to communication or usb):
config.h:
#define SPLIT_USB_DETECT
#define SPLIT_WATCHDOG_ENABLE // I added this
#define SPLIT_TRANSPORT_MIRROR
#define EE_HANDS
#define SPECULATIVE_HOLD
#define HOLD_ON_OTHER_KEY_PRESS
#define LAYER_STATE_32BIT
#define LEADER_KEY_STRICT_KEY_PROCESSING
#define LEADER_PER_KEY_TIMING
#define LEADER_TIMEOUT 500
#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_WINDOWS
rules.mk:
SERIAL_DRIVER = vendor
OS_DETECTION_ENABLE = yes
ENCODER_MAP_ENABLE = yes
WS2812_DRIVER = vendor
QUANTUM_PAINTER_ENABLE = yes
QUANTUM_PAINTER_DRIVERS += sh1106_i2c
TAP_CODE_DELAY = 0
KEY_OVERRIDE_ENABLE = yes
UNICODE_ENABLE = yes
LEADER_ENABLE = yes
keyboard.json:
"split": {
"enabled": true,
"serial": {
"driver": "vendor",
"pin": "GP1"
},
"transport": {
"protocol": "serial",
"sync": {
"oled": true,
"matrix_state": true,
"layer_state": true
}
}
},
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgb_matrix": true,
"oled": false
},
Thank you for your input.