diff --git a/companion/src/simulation/telemetrysimu.cpp b/companion/src/simulation/telemetrysimu.cpp index 229d2ab95..f36e95ab3 100644 --- a/companion/src/simulation/telemetrysimu.cpp +++ b/companion/src/simulation/telemetrysimu.cpp @@ -496,11 +496,11 @@ TelemetrySimulator::GPSEmulator::GPSEmulator() uint32_t TelemetrySimulator::GPSEmulator::encodeLatLon(double latLon, bool isLat) { uint32_t data = (uint32_t)((latLon < 0 ? -latLon : latLon) * 60 * 10000) & 0x3FFFFFFF; - if (isLat) { - data |= (1 << 31); + if (isLat == false) { + data |= 0x80000000; } if (latLon < 0) { - data |= (1 << 30); + data |= 0x40000000; } return data; } diff --git a/radio/src/telemetry/frsky_sport.cpp b/radio/src/telemetry/frsky_sport.cpp index 7e62b73d2..be3df1bc3 100644 --- a/radio/src/telemetry/frsky_sport.cpp +++ b/radio/src/telemetry/frsky_sport.cpp @@ -173,9 +173,9 @@ void sportProcessTelemetryPacket(uint8_t * packet) value = -value; value = (value * 5) / 3; // min/10000 => deg/1000000 if (data & (1 << 31)) - sportProcessTelemetryPacket(id, 0, instance, value, UNIT_GPS_LATITUDE); - else sportProcessTelemetryPacket(id, 0, instance, value, UNIT_GPS_LONGITUDE); + else + sportProcessTelemetryPacket(id, 0, instance, value, UNIT_GPS_LATITUDE); } else if (id >= RBOX_BATT1_FIRST_ID && id <= RBOX_BATT2_LAST_ID) { sportProcessTelemetryPacket(id, 0, instance, data & 0xffff);