1
0
Fork 0
mirror of https://github.com/betaflight/betaflight-configurator.git synced 2025-07-25 01:05:15 +03:00

Update latlon (#4349)

* Update latlon

* Update virtual

* Fix missing table row
This commit is contained in:
Mark Haslinghuis 2025-02-23 21:56:42 +01:00 committed by GitHub
parent 689fb7b894
commit 6109779e6f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 43 additions and 25 deletions

View file

@ -2957,9 +2957,13 @@
"gpsAltitude": { "gpsAltitude": {
"message": "Altitude:" "message": "Altitude:"
}, },
"gpsLatLon": { "gpsLatitude": {
"message": "Current Latitude / Longitude:", "message": "Latitude:",
"description": "Show GPS position - Latitude / Longitude" "description": "Show GPS position - Latitude"
},
"gpsLongitude": {
"message": "Longitude:",
"description": "Show GPS position - Longitude"
}, },
"gpsHeading": { "gpsHeading": {
"message": "Heading IMU / GPS:", "message": "Heading IMU / GPS:",

View file

@ -321,8 +321,8 @@ const VirtualFC = {
const sampleGpsData = { const sampleGpsData = {
fix: 2, fix: 2,
numSat: 10, numSat: 10,
lat: 474919409, latitude: 474919409,
lon: 190539766, longitude: 190539766,
alt: 0, alt: 0,
speed: 0, speed: 0,
ground_course: 1337, ground_course: 1337,

View file

@ -342,8 +342,8 @@ const FC = {
this.GPS_DATA = { this.GPS_DATA = {
fix: 0, fix: 0,
numSat: 0, numSat: 0,
lat: 0, latitude: 0,
lon: 0, longitude: 0,
alt: 0, alt: 0,
speed: 0, speed: 0,
ground_course: 0, ground_course: 0,

View file

@ -309,8 +309,8 @@ MspHelper.prototype.process_data = function (dataHandler) {
case MSPCodes.MSP_RAW_GPS: case MSPCodes.MSP_RAW_GPS:
FC.GPS_DATA.fix = data.readU8(); FC.GPS_DATA.fix = data.readU8();
FC.GPS_DATA.numSat = data.readU8(); FC.GPS_DATA.numSat = data.readU8();
FC.GPS_DATA.lat = data.read32(); FC.GPS_DATA.latitude = data.read32();
FC.GPS_DATA.lon = data.read32(); FC.GPS_DATA.longitude = data.read32();
FC.GPS_DATA.alt = data.readU16(); FC.GPS_DATA.alt = data.readU16();
FC.GPS_DATA.speed = data.readU16(); FC.GPS_DATA.speed = data.readU16();
FC.GPS_DATA.ground_course = data.readU16(); FC.GPS_DATA.ground_course = data.readU16();

View file

@ -334,9 +334,9 @@ gps.initialize = async function (callback) {
} }
function update_ui() { function update_ui() {
const lat = FC.GPS_DATA.lat / 10000000; const latitude = FC.GPS_DATA.latitude / 10000000;
const lon = FC.GPS_DATA.lon / 10000000; const longitude = FC.GPS_DATA.longitude / 10000000;
const url = `https://maps.google.com/?q=${lat},${lon}`; const url = `https://maps.google.com/?q=${latitude},${longitude}`;
const imuHeadingDegrees = FC.SENSOR_DATA.kinematics[2]; const imuHeadingDegrees = FC.SENSOR_DATA.kinematics[2];
// Convert to radians and add 180 degrees to make icon point in the right direction // Convert to radians and add 180 degrees to make icon point in the right direction
const imuHeadingRadians = ((imuHeadingDegrees + 180) * Math.PI) / 180; const imuHeadingRadians = ((imuHeadingDegrees + 180) * Math.PI) / 180;
@ -353,9 +353,12 @@ gps.initialize = async function (callback) {
const gpsUnitText = i18n.getMessage("gpsPositionUnit"); const gpsUnitText = i18n.getMessage("gpsPositionUnit");
$(".GPS_info td.alt").text(`${alt} m`); $(".GPS_info td.alt").text(`${alt} m`);
$(".GPS_info td.latLon a") $(".GPS_info td.latitude a")
.prop("href", url) .prop("href", url)
.text(`${lat.toFixed(6)} / ${lon.toFixed(6)} ${gpsUnitText}`); .text(`${latitude.toFixed(6)} ${gpsUnitText}`);
$(".GPS_info td.longitude a")
.prop("href", url)
.text(`${longitude.toFixed(6)} ${gpsUnitText}`);
$(".GPS_info td.heading").text(`${imuHeadingDegrees.toFixed(0)} / ${gpsHeading.toFixed(0)} ${gpsUnitText}`); $(".GPS_info td.heading").text(`${imuHeadingDegrees.toFixed(0)} / ${gpsHeading.toFixed(0)} ${gpsUnitText}`);
$(".GPS_info td.speed").text(`${FC.GPS_DATA.speed} cm/s`); $(".GPS_info td.speed").text(`${FC.GPS_DATA.speed} cm/s`);
$(".GPS_info td.sats").text(FC.GPS_DATA.numSat); $(".GPS_info td.sats").text(FC.GPS_DATA.numSat);
@ -384,12 +387,12 @@ gps.initialize = async function (callback) {
if (ispConnected()) { if (ispConnected()) {
$("#connect").hide(); $("#connect").hide();
gpsFoundPosition = !!(lon && lat); gpsFoundPosition = !!(longitude && latitude);
if (gpsFoundPosition) { if (gpsFoundPosition) {
(hasMag ? iconStyleMag : iconStyleGPS).getImage().setRotation(imuHeadingRadians); (hasMag ? iconStyleMag : iconStyleGPS).getImage().setRotation(imuHeadingRadians);
iconFeature.setStyle(hasMag ? iconStyleMag : iconStyleGPS); iconFeature.setStyle(hasMag ? iconStyleMag : iconStyleGPS);
const center = fromLonLat([lon, lat]); const center = fromLonLat([longitude, latitude]);
mapView.setCenter(center); mapView.setCenter(center);
iconGeometry.setCoordinates(center); iconGeometry.setCoordinates(center);
} else { } else {

View file

@ -524,13 +524,16 @@ setup.initialize = function (callback) {
gpsFix_e.toggleClass("ready", FC.GPS_DATA.fix != 0); gpsFix_e.toggleClass("ready", FC.GPS_DATA.fix != 0);
gpsSats_e.text(FC.GPS_DATA.numSat); gpsSats_e.text(FC.GPS_DATA.numSat);
const lat = FC.GPS_DATA.lat / 10000000; const latitude = FC.GPS_DATA.latitude / 10000000;
const lon = FC.GPS_DATA.lon / 10000000; const longitude = FC.GPS_DATA.longitude / 10000000;
const url = `https://maps.google.com/?q=${lat},${lon}`; const url = `https://maps.google.com/?q=${latitude},${longitude}`;
const gpsUnitText = i18n.getMessage("gpsPositionUnit"); const gpsUnitText = i18n.getMessage("gpsPositionUnit");
$(".GPS_info td.latLon a") $(".GPS_info td.latitude a")
.prop("href", url) .prop("href", url)
.text(`${lat.toFixed(4)} / ${lon.toFixed(4)} ${gpsUnitText}`); .text(`${latitude.toFixed(4)} ${gpsUnitText}`);
$(".GPS_info td.longitude a")
.prop("href", url)
.text(`${longitude.toFixed(4)} ${gpsUnitText}`);
} }
function get_fast_data() { function get_fast_data() {

View file

@ -114,8 +114,12 @@
<td class="heading"></td> <td class="heading"></td>
</tr> </tr>
<tr> <tr>
<td i18n="gpsLatLon"></td> <td i18n="gpsLatitude"></td>
<td class="latLon"><a href="#" target="_blank">0.0000 deg</a></td> <td class="latitude"><a href="#" target="_blank">0.0000 deg</a></td>
</tr>
<tr>
<td i18n="gpsLongitude"></td>
<td class="longitude"><a href="#" target="_blank">0.0000 deg</a></td>
</tr> </tr>
<tr> <tr>
<td i18n="gpsDistToHome"></td> <td i18n="gpsDistToHome"></td>

View file

@ -112,8 +112,12 @@
<td class="gpsSats"></td> <td class="gpsSats"></td>
</tr> </tr>
<tr> <tr>
<td i18n="gpsLatLon"></td> <td i18n="gpsLatitude"></td>
<td class="latLon"><a href="#" target="_blank">0.0000 deg</a></td> <td class="latitude"><a href="#" target="_blank">0.0000 deg</a></td>
</tr>
<tr>
<td i18n="gpsLongitude"></td>
<td class="longitude"><a href="#" target="_blank">0.0000 deg</a></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>