Implement split comms watchdog (#18599)
This commit is contained in:
@ -325,6 +325,13 @@ There are a few different ways to set handedness for split keyboards (listed in
|
||||
|
||||
* `#define SPLIT_USB_TIMEOUT_POLL 10`
|
||||
* Poll frequency when detecting master/slave when using `SPLIT_USB_DETECT`
|
||||
|
||||
* `#define SPLIT_WATCHDOG_ENABLE`
|
||||
* Reboot slave if no communication from master within timeout.
|
||||
* Helps resolve issue where both sides detect as slave using `SPLIT_USB_DETECT`
|
||||
|
||||
* `#define SPLIT_WATCHDOG_TIMEOUT 3000`
|
||||
* Maximum slave timeout when waiting for communication from master when using `SPLIT_WATCHDOG_ENABLE`
|
||||
|
||||
* `#define FORCED_SYNC_THROTTLE_MS 100`
|
||||
* Deadline for synchronizing data from master to slave when using the QMK-provided split transport.
|
||||
|
@ -422,6 +422,17 @@ This sets the maximum timeout when detecting master/slave when using `SPLIT_USB_
|
||||
```
|
||||
This sets the poll frequency when detecting master/slave when using `SPLIT_USB_DETECT`
|
||||
|
||||
```c
|
||||
#define SPLIT_WATCHDOG_ENABLE
|
||||
```
|
||||
|
||||
This will enable a software watchdog on any side delegated as slave and will reboot the keyboard if no successful communication occurs within `SPLIT_WATCHDOG_TIMEOUT`. This can be particularly helpful when `SPLIT_USB_DETECT` delegates both sides as slave in some circumstances.
|
||||
|
||||
```c
|
||||
#define SPLIT_WATCHDOG_TIMEOUT 3000
|
||||
```
|
||||
This set the maximum slave timeout when waiting for communication from master when using `SPLIT_WATCHDOG_ENABLE`
|
||||
|
||||
## Hardware Considerations and Mods
|
||||
|
||||
Master/slave delegation is made either by detecting voltage on VBUS connection or waiting for USB communication (`SPLIT_USB_DETECT`). Pro Micro boards can use VBUS detection out of the box and be used with or without `SPLIT_USB_DETECT`.
|
||||
|
Reference in New Issue
Block a user