ARM split - Add uart half duplex transport support#7987
Conversation
e5cdfc2 to
1c43421
Compare
|
Looks good, though, the default keymaps for the levinson is compiling too large. |
|
Going to rip those extra files out once I rebase for #7995. This PR should have no impact on existing board, unless you basically add those changes back locally, but while im fixing things up I thought i would leave them there. |
7e90818 to
2fd7b9c
Compare
ARM split - Add uart half duplex transport support
|
I guess half of the requested changes should probably be split out into a differently-focused PR, specifically that works for both the AVR and ARM implementations. Split transport uses the |
833d03b to
03c36fb
Compare
2edfc8c to
979a48d
Compare
979a48d to
2fb9bae
Compare
d288937 to
ee33ac1
Compare
cc1e7a7 to
8e90f4c
Compare
|
|
||
| Configure the hardware via your config.h: | ||
| ```c | ||
| #define SOFT_SERIAL_PIN B6 // USART TX pin |
There was a problem hiding this comment.
Does this default to B6? If you're using CTPC, this may not be B6.
Edit: This doesn't appear to be set to a default. But it may be worth mentioning if CPTC is enabled, then you want to use the AVR pin name.
There was a problem hiding this comment.
No default, it was just an example based on D0 above, but pins change depending on which stm chip you target so couldnt list them all.
Co-authored-by: Nick Brassel <nick@tzarc.org>
* ARM split - Add uart half duplex transport support * Fix for f103 * initial full duplex pass * partially remove full duplex * Correct speeds within driver docs Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Nick Brassel <nick@tzarc.org> format code according to conventions [skip ci]
* ARM split - Add uart half duplex transport support * Fix for f103 * initial full duplex pass * partially remove full duplex * Correct speeds within driver docs Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Nick Brassel <nick@tzarc.org>
* ARM split - Add uart half duplex transport support * Fix for f103 * initial full duplex pass * partially remove full duplex * Correct speeds within driver docs Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Nick Brassel <nick@tzarc.org> format code according to conventions [skip ci]
* ARM split - Add uart half duplex transport support * Fix for f103 * initial full duplex pass * partially remove full duplex * Correct speeds within driver docs Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Nick Brassel <nick@tzarc.org>
* ARM split - Add uart half duplex transport support * Fix for f103 * initial full duplex pass * partially remove full duplex * Correct speeds within driver docs Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Nick Brassel <nick@tzarc.org>
* ARM split - Add uart half duplex transport support * Fix for f103 * initial full duplex pass * partially remove full duplex * Correct speeds within driver docs Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Nick Brassel <nick@tzarc.org>
Current Issue
Transport does not exist
TL;DR
This PR adds a hardware backed transport mechanism which might work on I2C based boards.
Description
Provides a method of transport that does not require a patch or upgrade to ChibiOS. Hardware backed, this avoids some of the locking conflicts from within #7072. The downside is that it requires pullups on the TX line, and using pins which share I2C/USART, rather than the bitbang serial which can run on whatever. A good proportion of pro micro splits can run I2C, so this is potentially already covered for CTPC.
Scan rate goes over 2k with higher speed options so more than enough to keep up with current AVR boards.
TODO
Testing Notes
AFIO->MAPR |= AFIO_MAPR_USART1_REMAPTypes of Changes
Checklist