fix(PXX2): prevent legacy telemetry polling (S.PORT) if the module driver defines its own method (#2504)
This is to prevent the S.PORT line to interfere with PXX2 telemetry reception, especially with R9M ACCESS.
This commit is contained in:
@@ -924,6 +924,7 @@ static void* initInternal(uint8_t module)
|
||||
auto p_state = &protoState[module];
|
||||
p_state->init(module, &intmodulePulsesData, &IntmoduleSerialDriver);
|
||||
|
||||
telemetryProtocol = PROTOCOL_TELEMETRY_AFHDS3;
|
||||
mixerSchedulerSetPeriod(module, AFHDS3_UART_COMMAND_TIMEOUT * 1000 /* us */);
|
||||
INTERNAL_MODULE_ON();
|
||||
|
||||
@@ -933,6 +934,7 @@ static void* initInternal(uint8_t module)
|
||||
static void deinitInternal(void* context)
|
||||
{
|
||||
INTERNAL_MODULE_OFF();
|
||||
telemetryProtocol = 0xFF;
|
||||
mixerSchedulerSetPeriod(INTERNAL_MODULE, 0);
|
||||
|
||||
auto p_state = (ProtoState*)context;
|
||||
|
||||
@@ -834,6 +834,8 @@ static void* pxx2InitExternal(uint8_t module, uint32_t baudrate)
|
||||
mixerSchedulerSetPeriod(module, PXX2_NO_HEARTBEAT_PERIOD);
|
||||
EXTERNAL_MODULE_ON();
|
||||
|
||||
telemetryProtocol = PROTOCOL_TELEMETRY_FRSKY_SPORT;
|
||||
|
||||
auto state = &pxx2State[module];
|
||||
state->init(module, &extmodulePulsesData.pxx2, &ExtmoduleSerialDriver,
|
||||
ExtmoduleSerialDriver.init(¶ms));
|
||||
@@ -856,6 +858,7 @@ static void pxx2DeInitExternal(void* context)
|
||||
EXTERNAL_MODULE_OFF();
|
||||
mixerSchedulerSetPeriod(EXTERNAL_MODULE, 0);
|
||||
ExtmoduleSerialDriver.deinit(context);
|
||||
telemetryProtocol = 0xFF;
|
||||
}
|
||||
|
||||
static void pxx2SetupPulsesExternal(void* context, int16_t* channels, uint8_t nChannels)
|
||||
|
||||
Reference in New Issue
Block a user