feat: Automatic soft-serial fallback for module ports (#3823)
This commit is contained in:
@@ -203,19 +203,12 @@ static etx_module_state_t* dsmInit(uint8_t module, uint32_t baudrate,
|
||||
|
||||
etx_serial_init params(dsmUartParams);
|
||||
params.baudrate = baudrate;
|
||||
auto mod_st = modulePortInitSerial(module, ETX_MOD_PORT_UART, ¶ms);
|
||||
if (!mod_st) {
|
||||
// inverted soft-serial fallback
|
||||
mod_st = modulePortInitSerial(module, ETX_MOD_PORT_SOFT_INV, ¶ms);
|
||||
if (!mod_st) return nullptr;
|
||||
}
|
||||
auto mod_st = modulePortInitSerial(module, ETX_MOD_PORT_UART, ¶ms, true);
|
||||
if (!mod_st) return nullptr;
|
||||
|
||||
if (telemetry) {
|
||||
params.direction = ETX_Dir_RX;
|
||||
if (!modulePortInitSerial(module, ETX_MOD_PORT_SPORT, ¶ms)) {
|
||||
// inverted soft-serial fallback
|
||||
modulePortInitSerial(module, ETX_MOD_PORT_SPORT_INV, ¶ms);
|
||||
}
|
||||
modulePortInitSerial(module, ETX_MOD_PORT_SPORT, ¶ms, true);
|
||||
}
|
||||
|
||||
mixerSchedulerSetPeriod(module, period);
|
||||
|
||||
Reference in New Issue
Block a user