aboutsummaryrefslogtreecommitdiffstats
path: root/docs/serial_driver.md
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2020-05-21 21:20:46 +0100
committerGitHub <noreply@github.com>2020-05-22 06:20:46 +1000
commit6d84795bc1e4b867725e3ddd906af9e125f71e3b (patch)
treea87bf05e33e4b19100eeb6ddd0fea1a437c114e6 /docs/serial_driver.md
parent179e5c018fcee9bcb0a7f1907cc96d44ed5cf554 (diff)
downloadfirmware-6d84795bc1e4b867725e3ddd906af9e125f71e3b.tar.gz
firmware-6d84795bc1e4b867725e3ddd906af9e125f71e3b.tar.bz2
firmware-6d84795bc1e4b867725e3ddd906af9e125f71e3b.zip
Update ARM split keyboard docs (#9160)
* Update ARM split keyboard docs * Update docs/serial_driver.md Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Nick Brassel <nick@tzarc.org>
Diffstat (limited to 'docs/serial_driver.md')
-rw-r--r--docs/serial_driver.md16
1 files changed, 13 insertions, 3 deletions
diff --git a/docs/serial_driver.md b/docs/serial_driver.md
index 395b3ec3f..bc376b6dd 100644
--- a/docs/serial_driver.md
+++ b/docs/serial_driver.md
@@ -1,7 +1,7 @@
# 'serial' Driver
This driver powers the [Split Keyboard](feature_split_keyboard.md) feature.
-!> Serial in this context should be read as **sending information one bit at a time**, rather than implementing UART/USART/RS485/RS232 standards.
+?> Serial in this context should be read as **sending information one bit at a time**, rather than implementing UART/USART/RS485/RS232 standards.
All drivers in this category have the following characteristics:
* Provides data and signaling over a single conductor
@@ -11,7 +11,7 @@ All drivers in this category have the following characteristics:
| | AVR | ARM |
|-------------------|--------------------|--------------------|
-| bit bang | :heavy_check_mark: | Soon™ |
+| bit bang | :heavy_check_mark: | :heavy_check_mark: |
| USART Half-duplex | | :heavy_check_mark: |
## Driver configuration
@@ -35,6 +35,12 @@ Configure the driver via your config.h:
// 5: about 20kbps
```
+#### ARM
+
+!> The bitbang driver causes connection issues with bitbang WS2812 driver
+
+Along with the generic options above, you must also turn on the `PAL_USE_CALLBACKS` feature in your halconf.h.
+
### USART Half-duplex
Targeting STM32 boards where communication is offloaded to a USART hardware device. The advantage is that this provides fast and accurate timings. `SOFT_SERIAL_PIN` for this driver is the configured USART TX pin. **The TX pin must have appropriate pull-up resistors**. To configure it, add this to your rules.mk:
@@ -56,4 +62,8 @@ Configure the hardware via your config.h:
#define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
```
-You must also turn on the SERIAL feature in your halconf.h and mcuconf.h
+You must also enable the ChibiOS `SERIAL` feature:
+* In your board's halconf.h: `#define HAL_USE_SERIAL TRUE`
+* In your board's mcuconf.h: `#define STM32_SERIAL_USE_USARTn TRUE` (where 'n' matches the peripheral number of your selected USART on the MCU)
+
+Do note that the configuration required is for the `SERIAL` peripheral, not the `UART` peripheral.