diff --git a/README b/README index 4afb9d8..506e145 100644 --- a/README +++ b/README @@ -42,6 +42,9 @@ Für BME280 - python3-smbus2 - python3-bme280 +Für den Tracker +- python3-paho-mqtt + Die Konfiguration des virtuellen Geräts erfolgt über die Datei "obp60.conf". Die Einstellungen sollten vor dem ersten Start überprüft und ggf. angepaßt werden. diff --git a/pages/tracker.py b/pages/tracker.py index f3983d5..cee2a7c 100644 --- a/pages/tracker.py +++ b/pages/tracker.py @@ -1,6 +1,9 @@ """ Tracker with MQTT client - currentry only Ragatta hero supported + + TODO get data from mqtt thread + """ import cairo @@ -10,6 +13,12 @@ class Tracker(Page): def __init__(self, pageno, cfg, boatdata): super().__init__(pageno, cfg, boatdata) + self.buttonlabel[1] = 'MODE' + + def handle_key(self, buttonid): + global tracker_active; + if buttonid == 1: + tracker_active = not tracker_active def draw(self, ctx): # Name diff --git a/tracker.py b/tracker.py new file mode 100644 index 0000000..66affc5 --- /dev/null +++ b/tracker.py @@ -0,0 +1,24 @@ +""" +Tracker-Daten + +Mögliche Typen: + HERO - Regatta Hero + SDCARD + SERVER + NONE - kein Tracking + +Wenn die Verbindung zum Server im Internet nicht funktioniert, werden +die Positionen in eine Warteschlange gesichert und nach +Wiederherstellung der Verbindung übertragen. + +""" + +class Tracker(): + + def __init__(self, trackertype): + validtypes = ('HERO', 'SDCARD', 'SERVER', 'NONE') + trackertype = trackertype.upper() + if trackertype not in validtypes: + raise TypeError(f"Invalid tracker type: '{valtype}'. Only supported: {validtypes}") + self.ttype = trackertype +