feat: S.Port telemetry for PPM/SBUS external module (#5689)
Co-authored-by: Michael <mha1@users.noreply.github.com>
This commit is contained in:
co-authored by
Michael
parent
3d1e7a914f
commit
6d17448be5
@@ -118,6 +118,23 @@ static bool ppmInitMLinkTelemetry(uint8_t module)
|
||||
return false;
|
||||
}
|
||||
|
||||
static const etx_serial_init ppmSportSerialParams = {
|
||||
.baudrate = FRSKY_SPORT_BAUDRATE,
|
||||
.encoding = ETX_Encoding_8N1,
|
||||
.direction = ETX_Dir_RX,
|
||||
.polarity = ETX_Pol_Normal,
|
||||
};
|
||||
|
||||
static bool ppmInitSPortTelemetry(uint8_t module)
|
||||
{
|
||||
// Try S.PORT hardware USART (requires HW inverters)
|
||||
if (modulePortInitSerial(module, ETX_MOD_PORT_SPORT, &ppmSportSerialParams, false) != nullptr) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static void _init_telemetry(uint8_t module, uint8_t telemetry_type)
|
||||
{
|
||||
switch (telemetry_type) {
|
||||
@@ -127,6 +144,12 @@ static void _init_telemetry(uint8_t module, uint8_t telemetry_type)
|
||||
}
|
||||
break;
|
||||
|
||||
case PPM_PROTO_TLM_SPORT:
|
||||
if (ppmInitSPortTelemetry(module)) {
|
||||
_processTelemetryData = processFrskySportTelemetryData;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
_processTelemetryData = nullptr;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user