Ja @JoeBuster
Leider kommen die Daten unformatiert da raus
Du musst Sie leider erst umwandeln "In "Bogen-Stunden, Bogenminuten und Bogensekunden"
____________________________________________________________________________________________
--Latitude Longitude -Start GPS-Koordinaten (nach Share Alike)
function split_raw_gps(in_c) -- errechnet die Bogenminuten/sekunden aus den Nachkommastellen einer Koordinate
return ((math.abs(in_c)-math.abs(math.floor(in_c)))*60)
end
function format_raw_gps(in_coordinate, in_longlatt)
local hour = 0.0
local minute = 0.0
local second = 0.0
local orientation = ""
local out = ""
if in_coordinate > 0 then -- Quadrant auf dem Globus aus den Koordinaten erschließen
orientation = (in_longlatt=="long" and "E" or "N")
else
orientation = (in_longlatt=="long" and "W" or "S")
end
hour = math.abs(math.floor(in_coordinate)) -- Bogenstunde
hour = (hour<10 and " "..hour or hour) -- für Bogen-h <10 einen Platzhalter anfügen
minute = split_raw_gps(in_coordinate) -- Bogenminute aus den Nachkommastellen der Koordinaten errechnen
second = math.abs(split_raw_gps(minute)) -- Bogensekunde aus den Nachkommastellen der Bogenminute errechnen
minute = math.abs(math.floor(minute)) -- Bogenminute als Ganzzahl konvertieren
second = math.floor(second*1000)/1000 -- Bogensekunde mit drei Dezimalstellen konvertieren (lua hat keine Rundungsfunktion)
out = hour .. orientation .. minute .. "'" .. second .. '"'
return out
-- Funktioniert leider nicht - vielleicht bekommt es ja jemand besser hin:
--return string.format("%s%s%s'%s%c",hour,orientation,minute,second,34)
end
gps_raw_long = getValue("longitude") -- Längengrad vom Kopter (dezimal)
gps_raw_latt = getValue("latitude") -- Breitengrad vom Kopter (dezimal)
-- Konvertierung der Raw-Daten in gewöhnliche Koordinaten-Darstellung:
if math.floor(gps_raw_latt)==0 and math.floor(gps_raw_long)==0 then
lcd.drawText(gvorn+4 ,oben+4, " KEIN GPS! ", SMLSIZE+ BLINK)
else
lcd.drawText(gvorn ,oben, format_raw_gps(gps_raw_long, "long"), SMLSIZE)
lcd.drawText(gvorn,oben+8, format_raw_gps(gps_raw_latt, "latt"), SMLSIZE)
end
____________________________________________________________________________________________
Sieht dann so aus