Restore text sensors and prevent overflow (#8093)

* Fix FM sensor
This commit is contained in:
3djc
2020-11-14 13:28:13 +01:00
committed by GitHub
parent e1e67a9d8c
commit 4de7630286
3 changed files with 6 additions and 5 deletions
+3 -4
View File
@@ -178,10 +178,9 @@ void processCrossfireTelemetryFrame()
case FLIGHT_MODE_ID:
{
const CrossfireSensor & sensor = crossfireSensors[FLIGHT_MODE_INDEX];
for (int i=0; i<min<int>(16, telemetryRxBuffer[1]-2); i+=4) {
uint32_t value = *((uint32_t *)&telemetryRxBuffer[3+i]);
setTelemetryValue(PROTOCOL_TELEMETRY_CROSSFIRE, sensor.id, 0, sensor.subId, value, sensor.unit, i);
}
auto textLength = min<int>(16, telemetryRxBuffer[1] - 1);
telemetryRxBuffer[textLength] = '\0';
setTelemetryText(PROTOCOL_TELEMETRY_CROSSFIRE, sensor.id, 0, sensor.subId, (const char *)telemetryRxBuffer + 3);
break;
}