summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorDasky <32983009+daskygit@users.noreply.github.com>2022-10-06 10:52:42 +0100
committerGitHub <noreply@github.com>2022-10-06 20:52:42 +1100
commitc255174cf3e55483f14351a69689e24e849445a0 (patch)
tree0ac6490f9b99d15c2a6a3dba862cf44901a6e812 /docs
parenta9414f48405b6cc2019425077f22f0b162855c08 (diff)
Implement split comms watchdog (#18599)
Diffstat (limited to 'docs')
-rw-r--r--docs/config_options.md7
-rw-r--r--docs/feature_split_keyboard.md11
2 files changed, 18 insertions, 0 deletions
diff --git a/docs/config_options.md b/docs/config_options.md
index 3e322e590a..a6ceb199de 100644
--- a/docs/config_options.md
+++ b/docs/config_options.md
@@ -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.
diff --git a/docs/feature_split_keyboard.md b/docs/feature_split_keyboard.md
index e53b3525cb..7d194284d6 100644
--- a/docs/feature_split_keyboard.md
+++ b/docs/feature_split_keyboard.md
@@ -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`.