mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-26 17:55:30 +03:00
Combine ibus serial rx and ibus telemetry on the same fc uart on a single pin.
``` +---------+ | FS-iA6B | | | | Ser RX |---|<---\ +------------+ | | | | FC | | Sensor |---[R]--*-------| Uart TX | +---------+ +------------+ ``` R = 10Kohm, Diode 1N4148 or similar. Both uart tx and rx channels are used so it's not possible to use the spare pin for rx of something else. Configure the serial port like this to get both serial rx and ibus telemetry on the same port: ``` serial 1 4160 115200 57600 115200 115200 ``` It is still possible to run the serial rx and ibus telemetry on two uarts like before, an example: ``` serial 1 64 115200 57600 0 115200 serial 2 4096 115200 57600 115200 115200 ```
This commit is contained in:
parent
355c7cc215
commit
b13d4694bb
12 changed files with 640 additions and 347 deletions
|
@ -126,7 +126,18 @@ bool telemetryDetermineEnabledState(portSharing_e portSharing)
|
|||
|
||||
bool telemetryCheckRxPortShared(const serialPortConfig_t *portConfig)
|
||||
{
|
||||
return portConfig->functionMask & FUNCTION_RX_SERIAL && portConfig->functionMask & TELEMETRY_SHAREABLE_PORT_FUNCTIONS_MASK;
|
||||
if (portConfig->functionMask & FUNCTION_RX_SERIAL && portConfig->functionMask & TELEMETRY_SHAREABLE_PORT_FUNCTIONS_MASK) {
|
||||
return true;
|
||||
}
|
||||
#ifdef TELEMETRY_IBUS
|
||||
if ( portConfig->functionMask & FUNCTION_TELEMETRY_IBUS
|
||||
&& portConfig->functionMask & FUNCTION_RX_SERIAL
|
||||
&& rxConfig()->serialrx_provider == SERIALRX_IBUS) {
|
||||
// IBUS serial RX & telemetry
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
|
||||
serialPort_t *telemetrySharedPort = NULL;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue