[Crossfire] There was a NO DATA remaining in the telemetry screens
This commit is contained in:
@@ -141,9 +141,14 @@ void processCrossfireTelemetryFrame()
|
||||
processCrossfireTelemetryValue(GPS_SATELLITES_INDEX, value);
|
||||
break;
|
||||
case LINK_ID:
|
||||
telemetryStreaming = TELEMETRY_TIMEOUT10ms;
|
||||
for (int i=0; i<10; i++) {
|
||||
if (getCrossfireTelemetryValue<1>(3+i, value))
|
||||
if (getCrossfireTelemetryValue<1>(3+i, value)) {
|
||||
processCrossfireTelemetryValue(i, value);
|
||||
if (i == 2) {
|
||||
telemetryData.rssi.set(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case BATTERY_ID:
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
|
||||
#define FRSKY_SPORT_PACKET_SIZE 9
|
||||
|
||||
#define FRSKY_TIMEOUT10ms 100 // 1 second
|
||||
#define WSHH_TIMEOUT10ms 60 // 600ms
|
||||
|
||||
#define FRSKY_SPORT_AVERAGING 4
|
||||
|
||||
@@ -246,7 +246,7 @@ void frskyDProcessPacket(uint8_t *packet)
|
||||
telemetryData.analog[TELEM_ANA_A2].set(packet[2], g_model.frsky.channels[TELEM_ANA_A2].type);
|
||||
telemetryData.rssi[0].set(packet[3]);
|
||||
telemetryData.rssi[1].set(packet[4] / 2);
|
||||
telemetryStreaming = FRSKY_TIMEOUT10ms; // reset counter only if valid frsky packets are being detected
|
||||
telemetryStreaming = TELEMETRY_TIMEOUT10ms; // reset counter only if valid packets are being detected
|
||||
link_counter += 256 / FRSKY_D_AVERAGING;
|
||||
#if defined(VARIO)
|
||||
uint8_t varioSource = g_model.frsky.varioSource - VARIO_SOURCE_A1;
|
||||
|
||||
@@ -74,7 +74,7 @@ void frskyDProcessPacket(uint8_t *packet)
|
||||
setTelemetryValue(TELEM_PROTO_FRSKY_D, D_A2_ID, 0, 0, packet[2], UNIT_VOLTS, 0);
|
||||
setTelemetryValue(TELEM_PROTO_FRSKY_D, D_RSSI_ID, 0, 0, packet[3], UNIT_RAW, 0);
|
||||
telemetryData.rssi.set(packet[3]);
|
||||
telemetryStreaming = FRSKY_TIMEOUT10ms; // reset counter only if valid frsky packets are being detected
|
||||
telemetryStreaming = TELEMETRY_TIMEOUT10ms; // reset counter only if valid packets are being detected
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -213,7 +213,7 @@ void processSportPacket(uint8_t * packet)
|
||||
uint32_t data = SPORT_DATA_S32(packet);
|
||||
|
||||
if (id == RSSI_ID) {
|
||||
telemetryStreaming = FRSKY_TIMEOUT10ms; // reset counter only if valid frsky packets are being detected
|
||||
telemetryStreaming = TELEMETRY_TIMEOUT10ms; // reset counter only if valid packets are being detected
|
||||
data = SPORT_DATA_U8(packet);
|
||||
if (data == 0)
|
||||
telemetryData.rssi.reset();
|
||||
|
||||
@@ -59,7 +59,9 @@ enum TelemetryStates {
|
||||
extern uint8_t telemetryState;
|
||||
#endif
|
||||
|
||||
#define TELEMETRY_RX_PACKET_SIZE 19 // 9 bytes (full packet), worst case 18 bytes with byte-stuffing (+1)
|
||||
#define TELEMETRY_TIMEOUT10ms 100 // 1 second
|
||||
#define TELEMETRY_RX_PACKET_SIZE 19 // 9 bytes (full packet), worst case 18 bytes with byte-stuffing (+1)
|
||||
|
||||
extern uint8_t telemetryRxBuffer[TELEMETRY_RX_PACKET_SIZE];
|
||||
extern uint8_t telemetryRxBufferCount;
|
||||
|
||||
@@ -68,7 +70,6 @@ extern uint8_t telemetryRxBufferCount;
|
||||
#define TELEMETRY_VALUE_OLD_THRESHOLD 150 /*15 seconds*/
|
||||
#define TELEMETRY_VALUE_UNAVAILABLE 255
|
||||
#define TELEMETRY_VALUE_OLD 254
|
||||
|
||||
#define TELEMETRY_AVERAGE_COUNT 3
|
||||
|
||||
enum {
|
||||
|
||||
Reference in New Issue
Block a user