63 lines
3.1 KiB
Python
63 lines
3.1 KiB
Python
"""Zentrale Einstellungen fuer die Ansteuerung der Grossanzeige."""
|
|
|
|
import migra
|
|
|
|
# -- Serielle Schnittstelle -----------------------------------------------
|
|
# Auslieferzustand der Anzeige laut Handbuch (Kap. 4.1) und identisch zur
|
|
# UART-Init des alten MSP430-Programms: 19200 8E1.
|
|
PORT = "/dev/cu.usbserial-1120" # Mac; auf dem ESP32-C3 spaeter die UART-Nummer
|
|
BAUDRATE = 19200
|
|
PARITY = "E"
|
|
BYTESIZE = 8
|
|
STOPBITS = 1
|
|
|
|
# -- Telegramm ------------------------------------------------------------
|
|
DISPLAY_ADDR = 1 # Zieladresse der Anzeige (DA = 0x81)
|
|
HOST_ADDR = 0 # unsere Quelladresse (SA = 0x80)
|
|
USE_CHECKSUM = False # das alte Programm fuhr ohne Pruefsumme
|
|
# Antworttelegramm als Flusskontrolle. Derzeit False, weil die RS232-Rueckleitung
|
|
# (Anzeige Pin 3 TxD -> Adapter RxD) noch nicht verdrahtet ist. Ist der RX-Pfad
|
|
# fertig, hier wieder auf True stellen -- dann wird der Fehlercode ausgewertet und
|
|
# ohne feste Pause gesendet.
|
|
WANT_RESPONSE = False
|
|
RESPONSE_TIMEOUT = 1.0 # Sekunden (nur relevant, wenn WANT_RESPONSE = True)
|
|
QUIET_TIME = 0.4 # Pause zwischen Telegrammen, wenn ohne Antwort gefahren wird
|
|
|
|
# -- Darstellung ----------------------------------------------------------
|
|
# Zeichensatz 0, Zeile 1 ab Pixelzeile 0, Zeile 2 ab Pixelzeile 9 (aus dem alten
|
|
# C-Programm). Am echten Geraet ausgemessen (2026-07-15):
|
|
# CHARSET_SPACED=True -> ESC z (Sperrschrift, alle Zeichen gleich breit) -- vom
|
|
# Nutzer bevorzugt, weil sich sonst schmale Ziffern beruehren. In dieser Schrift
|
|
# passen mind. 10 Zeichen pro Zeile (RA/DEC brauchen max. 10).
|
|
# CHARSET_SPACED=False -> ESC Z (proportional, schmaler, ~11 Zeichen, aber die "1"
|
|
# klebt an Nachbarn).
|
|
CHARSET = 0
|
|
CHARSET_SPACED = True
|
|
LINE_Y = (0, 9)
|
|
CHARS_PER_LINE = 9 # in Sperrschrift am Geraet ausgemessen (2026-07-15)
|
|
|
|
COLOR = migra.RED # einfarbig rote Anzeige
|
|
BACKGROUND = migra.BLACK
|
|
BRIGHTNESS = 100 # Prozent
|
|
|
|
# Gradzeichen: Im Standard-Zeichensatz 0 der Anzeige fehlt es. Der von der
|
|
# Sternwarte geladene Zeichensatz 1 hat an Position "/" (0x2F) ein hochgestelltes
|
|
# Gradzeichen -- verifiziert 2026-07-15, deckt sich mit dem alten Programm
|
|
# (asciitaf.h: Code 0xAF, per & 0x7F = 0x2F in Zeichensatz 1). Zur Ausgabe wird
|
|
# fuer dieses eine Zeichen kurz auf DEGREE_CHARSET umgeschaltet.
|
|
DEGREE_MARKER = "°" # Platzhalter im formatierten Text (siehe coords.py)
|
|
DEGREE_CHARSET = 1 # Zeichensatz mit dem Gradzeichen; None -> Fallback nutzen
|
|
DEGREE_CHAR = "/" # Zeichen, das in DEGREE_CHARSET als Grad erscheint
|
|
DEGREE_FALLBACK = "d" # Ersatz, falls DEGREE_CHARSET = None
|
|
|
|
# -- Montierung (Phase 2) -------------------------------------------------
|
|
# 10Micron GM4000 HPS II: LX200-Protokoll ueber TCP. Die IP der Montierung
|
|
# eintragen, sobald sie erreichbar ist; Port 3490 ist die Vorgabe von 10Micron.
|
|
MOUNT_HOST = "192.168.0.50" # PLATZHALTER -- echte IP der Montierung eintragen
|
|
MOUNT_PORT = 3490
|
|
MOUNT_TIMEOUT = 3.0 # Sekunden fuer Verbindung/Antwort
|
|
POLL_INTERVAL = 1.0 # Sekunden zwischen zwei Koordinatenabfragen
|
|
|
|
# Anzeige, wenn die Montierung (noch) nicht erreichbar ist.
|
|
NOLINK_LINES = ("KEIN LINK", "MONTIERUNG")
|