Skip to content

Commit ef6891f

Browse files
committed
Revert "fix(AFHDS3): iBus IN and Failsafe settings not updating (#3793)"
This reverts commit e6ec31b.
1 parent e6ec31b commit ef6891f

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

radio/src/telemetry/flysky_ibus.cpp

+10-9
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ enum
124124

125125
AFHDS3_FRM_TEMP = 0x57, //virtual
126126
AFHDS3_FRM_EXT_V = 0x58, //virtual
127+
AFHDS2A_ID_PRES = 0x41, // Pressure
127128

128129
AFHDS2A_ID_TX_V = 0x7F, // TX Voltage
129130

@@ -184,13 +185,13 @@ const FlySkySensor flySkySensors[] = {
184185
{ AFHDS2A_ID_ODO1, STR_SENSOR_ODO1, UNIT_METERS, 2 }, // 2 bytes Odometer1 -- some magic with 330 needed
185186
{ AFHDS2A_ID_ODO2, STR_SENSOR_ODO2, UNIT_METERS, 2 }, // 2 bytes Odometer2 -- some magic with 330 needed
186187
{ AFHDS2A_ID_SPE, STR_SENSOR_ASPD, UNIT_KMH, 2 }, // 2 bytes Speed km/h -- some magic with 330 needed
187-
{ AFHDS2A_ID_GPS_LAT, STR_SENSOR_GPS, UNIT_RAW, 0 }, // 4 bytes signed WGS84 in degrees * 1E7
188-
{ AFHDS2A_ID_GPS_LON, STR_SENSOR_GPS, UNIT_RAW, 0 }, // 4 bytes signed WGS84 in degrees * 1E7
188+
{ AFHDS2A_ID_GPS_LAT, STR_SENSOR_GPS, UNIT_RAW, 7 }, // 4 bytes signed WGS84 in degrees * 1E7
189+
{ AFHDS2A_ID_GPS_LON, STR_SENSOR_GPS, UNIT_RAW, 7 }, // 4 bytes signed WGS84 in degrees * 1E7
189190
{ AFHDS2A_ID_GPS_ALT, STR_SENSOR_GPSALT, UNIT_METERS, 2 }, // 4 bytes signed GPS alt m*100
190191
{ AFHDS2A_ID_ALT, STR_SENSOR_ALT, UNIT_METERS, 2 }, // 4 bytes signed Alt m*100
191-
{ AFHDS2A_ID_RX_SIG_AFHDS3, STR_SENSOR_RX_QUALITY, UNIT_PERCENT, 0 }, // RX error rate
192-
{ AFHDS2A_ID_RX_SNR_AFHDS3, STR_SENSOR_RX_SNR, UNIT_DB, 1 }, // RX SNR
193-
{ AFHDS2A_ID_TX_RSSI, STR_SENSOR_TX_RSSI, UNIT_DBM, 0 }, // Pseudo sensor for TRSSI
192+
{ AFHDS2A_ID_RX_SIG_AFHDS3, STR_RX_QUALITY, UNIT_RAW, 0 }, // RX error rate
193+
{ AFHDS2A_ID_RX_SNR_AFHDS3, STR_RX_SNR, UNIT_DB, 1 }, // RX SNR
194+
{ AFHDS2A_ID_TX_RSSI, STR_SENSOR_TX_RSSI, UNIT_RAW, 0 }, // Pseudo sensor for TRSSI
194195

195196
{ 0x00, NULL, UNIT_RAW, 0 }, // sentinel
196197
};
@@ -305,7 +306,7 @@ void processFlySkySensor(const uint8_t * packet, uint8_t type)
305306
if (type == 0xAA)
306307
value = (packet[3] << 8) | packet[2];
307308
else
308-
value = (packet[6] << 24) | (packet[5] << 16) | (packet[4] << 8) | packet[3];
309+
value = (packet[5] << 24) | (packet[4] << 16) | (packet[3] << 8) | packet[2];
309310

310311
id = id ? id : SENSOR_TYPE_RX_VOL; // Remapped
311312

@@ -321,7 +322,7 @@ void processFlySkySensor(const uint8_t * packet, uint8_t type)
321322
telemetryData.rssi.set(value);
322323
if(value>0) telemetryStreaming = TELEMETRY_TIMEOUT10ms;
323324
}
324-
else if (id == SENSOR_TYPE_PRES && value) {
325+
else if (id == AFHDS2A_ID_PRES && value) {
325326
// Extract temperature to a new sensor
326327
setTelemetryValue(PROTOCOL_TELEMETRY_FLYSKY_IBUS, id | 0x100, 0, instance, ((value >> 19) - 400), UNIT_CELSIUS, 1);
327328
// Extract alt to a new sensor
@@ -388,8 +389,8 @@ void processFlySkyPacket(const uint8_t * packet)
388389
setFlyskyTelemetryValue(AFHDS2A_ID_TX_RSSI, 0, packet[0], UNIT_RAW, 0);
389390

390391
const uint8_t * buffer = packet + 1;
391-
int sensor = 0;
392-
while (sensor++ < 7) {
392+
int sesnor = 0;
393+
while (sesnor++ < 7) {
393394
if (*buffer == SENSOR_TYPE_END) break;
394395
processFlySkySensor(buffer, 0xAA);
395396
buffer += 4;

0 commit comments

Comments
 (0)