122
122
* but reuse the packet decoder to minimize code duplication
123
123
*/
124
124
125
- PG_REGISTER_WITH_RESET_TEMPLATE (djiOsdConfig_t , djiOsdConfig , PG_DJI_OSD_CONFIG , 2 );
125
+ PG_REGISTER_WITH_RESET_TEMPLATE (djiOsdConfig_t , djiOsdConfig , PG_DJI_OSD_CONFIG , 3 );
126
126
PG_RESET_TEMPLATE (djiOsdConfig_t , djiOsdConfig ,
127
127
.use_name_for_messages = SETTING_DJI_USE_NAME_FOR_MESSAGES_DEFAULT ,
128
128
.esc_temperature_source = SETTING_DJI_ESC_TEMP_SOURCE_DEFAULT ,
129
- .proto_workarounds = SETTING_DJI_WORKAROUNDS_DEFAULT ,
130
129
.messageSpeedSource = SETTING_DJI_MESSAGE_SPEED_SOURCE_DEFAULT ,
131
130
.rssi_source = SETTING_DJI_RSSI_SOURCE_DEFAULT ,
132
131
.useAdjustments = SETTING_DJI_USE_ADJUSTMENTS_DEFAULT ,
@@ -1347,12 +1346,11 @@ static mspResult_e djiProcessMspCommand(mspPacket_t *cmd, mspPacket_t *reply, ms
1347
1346
break ;
1348
1347
1349
1348
case DJI_MSP_ESC_SENSOR_DATA :
1350
- if (djiOsdConfig ()-> proto_workarounds & DJI_OSD_USE_NON_STANDARD_MSP_ESC_SENSOR_DATA ) {
1351
- // Version 1.00.06 of DJI firmware is not using the standard MSP_ESC_SENSOR_DATA
1349
+ {
1352
1350
uint16_t protoRpm = 0 ;
1353
1351
int16_t protoTemp = 0 ;
1354
1352
1355
- #if defined(USE_ESC_SENSOR )
1353
+ #if defined(USE_ESC_SENSOR )
1356
1354
if (STATE (ESC_SENSOR_ENABLED ) && getMotorCount () > 0 ) {
1357
1355
uint32_t motorRpmAcc = 0 ;
1358
1356
int32_t motorTempAcc = 0 ;
@@ -1366,7 +1364,7 @@ static mspResult_e djiProcessMspCommand(mspPacket_t *cmd, mspPacket_t *reply, ms
1366
1364
protoRpm = motorRpmAcc / getMotorCount ();
1367
1365
protoTemp = motorTempAcc / getMotorCount ();
1368
1366
}
1369
- #endif
1367
+ #endif
1370
1368
1371
1369
switch (djiOsdConfig ()-> esc_temperature_source ) {
1372
1370
// This is ESC temperature (as intended)
@@ -1391,47 +1389,6 @@ static mspResult_e djiProcessMspCommand(mspPacket_t *cmd, mspPacket_t *reply, ms
1391
1389
sbufWriteU8 (dst , protoTemp );
1392
1390
sbufWriteU16 (dst , protoRpm );
1393
1391
}
1394
- else {
1395
- // Use standard MSP_ESC_SENSOR_DATA message
1396
- sbufWriteU8 (dst , getMotorCount ());
1397
- for (int i = 0 ; i < getMotorCount (); i ++ ) {
1398
- uint16_t motorRpm = 0 ;
1399
- int16_t motorTemp = 0 ;
1400
-
1401
- // If ESC_SENSOR is enabled, pull the telemetry data and get motor RPM
1402
- #if defined(USE_ESC_SENSOR )
1403
- if (STATE (ESC_SENSOR_ENABLED )) {
1404
- const escSensorData_t * escSensor = getEscTelemetry (i );
1405
- motorRpm = escSensor -> rpm ;
1406
- motorTemp = escSensor -> temperature ;
1407
- }
1408
- #endif
1409
-
1410
- // Now populate temperature field (which we may override for different purposes)
1411
- switch (djiOsdConfig ()-> esc_temperature_source ) {
1412
- // This is ESC temperature (as intended)
1413
- case DJI_OSD_TEMP_ESC :
1414
- // No-op, temperature is already set to ESC
1415
- break ;
1416
-
1417
- // Re-purpose the field for core temperature
1418
- case DJI_OSD_TEMP_CORE :
1419
- getIMUTemperature (& motorTemp );
1420
- motorTemp = motorTemp / 10 ;
1421
- break ;
1422
-
1423
- // Re-purpose the field for baro temperature
1424
- case DJI_OSD_TEMP_BARO :
1425
- getBaroTemperature (& motorTemp );
1426
- motorTemp = motorTemp / 10 ;
1427
- break ;
1428
- }
1429
-
1430
- // Add data for this motor to the packet
1431
- sbufWriteU8 (dst , motorTemp );
1432
- sbufWriteU16 (dst , motorRpm );
1433
- }
1434
- }
1435
1392
break ;
1436
1393
1437
1394
case DJI_MSP_OSD_CONFIG :
0 commit comments