Fixed telemetry mirroring for internal and PXX2 external modules
This commit is contained in:
@@ -217,6 +217,10 @@ void processResetFrame(uint8_t module, const uint8_t * frame)
|
||||
|
||||
void processTelemetryFrame(uint8_t module, const uint8_t * frame)
|
||||
{
|
||||
for (uint8_t i = 0; i < 1 + frame[0]; i++) {
|
||||
telemetryMirrorSend(frame[i]);
|
||||
}
|
||||
|
||||
uint8_t origin = (module << 2) + (frame[3] & 0x03);
|
||||
if (origin != TELEMETRY_ENDPOINT_SPORT) {
|
||||
sportProcessTelemetryPacketWithoutCrc(origin, &frame[4]);
|
||||
|
||||
@@ -108,8 +108,6 @@ void telemetryMirrorSend(uint8_t data)
|
||||
|
||||
void processTelemetryData(uint8_t data)
|
||||
{
|
||||
telemetryMirrorSend(data);
|
||||
|
||||
#if defined(CROSSFIRE)
|
||||
if (telemetryProtocol == PROTOCOL_TELEMETRY_CROSSFIRE) {
|
||||
processCrossfireTelemetryData(data, EXTERNAL_MODULE);
|
||||
@@ -208,6 +206,7 @@ static inline void pollIntTelemetry(void (*processData)(uint8_t,uint8_t))
|
||||
if (intmoduleFifo.pop(data)) {
|
||||
LOG_TELEMETRY_WRITE_START();
|
||||
do {
|
||||
telemetryMirrorSend(data);
|
||||
processData(data, INTERNAL_MODULE);
|
||||
LOG_TELEMETRY_WRITE_BYTE(data);
|
||||
} while (intmoduleFifo.pop(data));
|
||||
@@ -250,6 +249,7 @@ static void pollExtTelemetry()
|
||||
if (telemetryGetByte(&data)) {
|
||||
LOG_TELEMETRY_WRITE_START();
|
||||
do {
|
||||
telemetryMirrorSend(data);
|
||||
processTelemetryData(data);
|
||||
LOG_TELEMETRY_WRITE_BYTE(data);
|
||||
} while (telemetryGetByte(&data));
|
||||
|
||||
Reference in New Issue
Block a user