mirror of
https://github.com/meshtastic/python.git
synced 2026-06-02 12:45:00 -04:00
41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
"""Set local owner long/short name over serial.
|
|
|
|
Purpose: demonstrate a local config mutation workflow.
|
|
Transport scope: Serial only.
|
|
Behavior: updates owner long name and optional short name.
|
|
Expected output: prints the owner values being applied.
|
|
Cleanup/error handling: exits with code 3 for bad args and closes interface on exit.
|
|
"""
|
|
|
|
import argparse
|
|
import sys
|
|
|
|
import meshtastic.serial_interface
|
|
|
|
|
|
def main() -> int:
|
|
"""Parse args and set owner fields."""
|
|
if len(sys.argv) < 2:
|
|
print(f"usage: {sys.argv[0]} long_name [short_name]")
|
|
return 3
|
|
|
|
parser = argparse.ArgumentParser(description="Set Meshtastic local owner information")
|
|
parser.add_argument("long_name", help="Owner long name")
|
|
parser.add_argument("short_name", nargs="?", default=None, help="Owner short name")
|
|
args = parser.parse_args()
|
|
|
|
print(f"Setting owner long_name={args.long_name}, short_name={args.short_name}")
|
|
try:
|
|
with meshtastic.serial_interface.SerialInterface() as iface:
|
|
iface.localNode.setOwner(args.long_name, args.short_name)
|
|
except KeyboardInterrupt:
|
|
return 0
|
|
except Exception as exc:
|
|
print(f"Error: Could not set owner: {exc}")
|
|
return 1
|
|
return 0
|
|
|
|
|
|
if __name__ == "__main__":
|
|
raise SystemExit(main())
|