Skip to content

Commit 9f0ba7a

Browse files
authored
Merge pull request #549 from ianmcorvidae/export-import-config-altitude
Don't export null altitude, but support importing null lat/lon/alt as 0s
2 parents bdf3a24 + 4226201 commit 9f0ba7a

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

meshtastic/__main__.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -564,15 +564,15 @@ def onConnected(interface):
564564
localConfig = interface.localNode.localConfig
565565

566566
if "alt" in configuration["location"]:
567-
alt = int(configuration["location"]["alt"])
567+
alt = int(configuration["location"]["alt"] or 0)
568568
localConfig.position.fixed_position = True
569569
print(f"Fixing altitude at {alt} meters")
570570
if "lat" in configuration["location"]:
571-
lat = float(configuration["location"]["lat"])
571+
lat = float(configuration["location"]["lat"] or 0)
572572
localConfig.position.fixed_position = True
573573
print(f"Fixing latitude at {lat} degrees")
574574
if "lon" in configuration["location"]:
575-
lon = float(configuration["location"]["lon"])
575+
lon = float(configuration["location"]["lon"] or 0)
576576
localConfig.position.fixed_position = True
577577
print(f"Fixing longitude at {lon} degrees")
578578
print("Setting device position")
@@ -901,8 +901,11 @@ def export_config(interface):
901901
configObj["channelUrl"] = channel_url
902902
else:
903903
configObj["channel_url"] = channel_url
904-
if lat or lon or alt:
905-
configObj["location"] = {"lat": lat, "lon": lon, "alt": alt}
904+
# lat and lon don't make much sense without the other (so fill with 0s), and alt isn't meaningful without both
905+
if lat or lon:
906+
configObj["location"] = {"lat": lat or float(0), "lon": lon or float(0)}
907+
if alt:
908+
configObj["location"]["alt"] = alt
906909

907910
config = MessageToDict(interface.localNode.localConfig)
908911
if config:

0 commit comments

Comments
 (0)