From 8c8123995f675327a04fbb1cee56426c4492873e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ra=C3=BAl=20Ortega?= Date: Thu, 29 Apr 2021 10:32:14 +0200 Subject: [PATCH] fix protocol detected contidion --- src/main/tracker/protocol_detection.c | 3 +-- src/main/tracker/telemetry.c | 49 +++++++++++++++++++---------------- 2 files changed, 27 insertions(+), 25 deletions(-) diff --git a/src/main/tracker/protocol_detection.c b/src/main/tracker/protocol_detection.c index 334ca13..6bbc725 100644 --- a/src/main/tracker/protocol_detection.c +++ b/src/main/tracker/protocol_detection.c @@ -80,8 +80,7 @@ uint16_t getProtocol(void){ void protocolDetectionParser(uint8_t c) { - if(!detectionIsEnabled) - return; + if(protocolDetectionTimer == 0) protocolDetectionTimer = millis(); diff --git a/src/main/tracker/telemetry.c b/src/main/tracker/telemetry.c index a48874a..3e51824 100755 --- a/src/main/tracker/telemetry.c +++ b/src/main/tracker/telemetry.c @@ -86,30 +86,33 @@ void encodeTargetData(uint8_t c) { uint16_t chars = 0; uint8_t sentences = 0; - protocolDetectionParser(c); - - if(PROTOCOL(TP_MFD)) - mfd_encodeTargetData(c); - else if(PROTOCOL(TP_GPS_TELEMETRY)) - gps_encodeTargetData(c); - else if(PROTOCOL(TP_MAVLINK)) - mavlink_encodeTargetData(c); - else if(PROTOCOL(TP_RVOSD)) - rvosd_encodeTargetData(c); - else if(PROTOCOL(TP_FRSKY_D)) - frskyd_encodeTargetData(c); - else if(PROTOCOL(TP_FRSKY_X)) - frskyx_encodeTargetData(c); - else if(PROTOCOL(TP_LTM)) - ltm_encodeTargetData(c); - else if(PROTOCOL(TP_CROSSFIRE)) - crossfire_encodeTargetData(c); - else if(PROTOCOL(TP_PITLAB)) - pitlab_encodeTargetData(c); - - if(forwardEnabled()){ - forwardTelemetry(c); + if(isProtocolDetectionEnabled()) { + protocolDetectionParser(c); + return; } + + if(PROTOCOL(TP_MFD)) + mfd_encodeTargetData(c); + else if(PROTOCOL(TP_GPS_TELEMETRY)) + gps_encodeTargetData(c); + else if(PROTOCOL(TP_MAVLINK)) + mavlink_encodeTargetData(c); + else if(PROTOCOL(TP_RVOSD)) + rvosd_encodeTargetData(c); + else if(PROTOCOL(TP_FRSKY_D)) + frskyd_encodeTargetData(c); + else if(PROTOCOL(TP_FRSKY_X)) + frskyx_encodeTargetData(c); + else if(PROTOCOL(TP_LTM)) + ltm_encodeTargetData(c); + else if(PROTOCOL(TP_CROSSFIRE)) + crossfire_encodeTargetData(c); + else if(PROTOCOL(TP_PITLAB)) + pitlab_encodeTargetData(c); + + if(forwardEnabled()){ + forwardTelemetry(c); + } } void gps_encodeTargetData(uint8_t c) { -- 2.11.4.GIT