Antwortleitung (RX) verdrahtet und Flusskontrolle aktiviert
- WANT_RESPONSE=True: Anzeige-Antworttelegramm als Handshake, Fehlercode wird ausgewertet (Rueckweg verifiziert: 02 80 81 80 30 03) - transport: Empfangspuffer vor jedem Senden leeren, damit read_response nur die frische Antwort sieht (Stoerbytes zwischen Telegrammen) - run_display: Anzeige-/Antwortfehler abfangen statt abzustuerzen - resp_test.py: Pruefwerkzeug fuer den Rueckkanal - PORT auf /dev/cu.usbserial-120 - .gitignore ergaenzt, __pycache__ aus der Versionierung entfernt Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -85,14 +85,6 @@ selbst.
|
||||
|
||||
## Offene Punkte
|
||||
|
||||
- **Antworttelegramm-Pfad (RX) noch offen, absichtlich zurückgestellt.**
|
||||
`WANT_RESPONSE = False` ist Default, der Normalbetrieb läuft ohne Rückkanal.
|
||||
Diagnose 2026-07-15: Adapter-Loopback ok, aber über den MAX232 und am echten
|
||||
Gerät kommt keine Antwort zurück → der Empfangszweig (Anzeige Pin 3 TxD → MAX232
|
||||
R_IN → R_OUT → Adapter RxD) leitet nicht. `loopback.py` hilft beim Eingrenzen.
|
||||
Die Anzeige *antwortet* nachweislich (das alte MSP430-Programm nutzte die Antwort
|
||||
als Handshake); es ist reine Verdrahtung. Wird der RX-Pfad fertig, `WANT_RESPONSE`
|
||||
in `config.py` auf True stellen.
|
||||
- **Echte Montierungs-IP:** In `config.py` steht `MOUNT_HOST` noch als Platzhalter.
|
||||
Sobald die GM4000 im Netz erreichbar ist, dort die IP eintragen (Port 3490 ist
|
||||
Vorgabe). Bis dahin läuft alles gegen den Mock (`run_display.py --mock`).
|
||||
@@ -127,12 +119,30 @@ diese Zelle überschreibt.
|
||||
`CHARS_PER_LINE` aufgefüllt werden, sonst bricht das Füll-Leerzeichen um und
|
||||
beschädigt die andere Zeile.
|
||||
|
||||
## Antwortleitung (RX)
|
||||
|
||||
Der Rückkanal ist verdrahtet und verifiziert (2026-07-16): Anzeige Pin 3 (TxD) →
|
||||
MAX232-Empfängereingang (R_IN) → R_OUT → Adapter RxD. Die Anzeige quittiert jedes
|
||||
Telegramm mit `02 80 81 80 30 03` (Fehlercode `0` = kein Fehler). `WANT_RESPONSE = True`
|
||||
ist damit aktiv: Nach der Antwort darf sofort das nächste Telegramm folgen, der
|
||||
Fehlercode wird ausgewertet. `resp_test.py` prüft den Rückweg (sendet mit Antwort-
|
||||
Anforderung und zeigt die empfangenen Antworten).
|
||||
|
||||
Wichtig: `SerialTransport.write` leert vor jedem Senden den Empfangspuffer, damit
|
||||
`read_response` nur die frische Antwort sieht (sonst können Störbytes zwischen den
|
||||
Telegrammen das Parsen stören). `run_display` fängt Anzeige-Fehler ab und zeichnet
|
||||
beim nächsten Durchlauf neu, statt abzustürzen.
|
||||
|
||||
Diagnose-Historie: Der Rückweg war anfangs falsch verdrahtet — Pin 3 lag an einem
|
||||
MAX232-*Sender*ausgang statt einem Empfängereingang; zwei Ausgänge trieben
|
||||
gegeneinander (verschliffener ~3-V-Pegel am Oszi). `loopback.py` grenzt so etwas ein.
|
||||
|
||||
## Erledigt
|
||||
|
||||
- **Phase 1 + 2 am Gerät bestätigt (2026-07-15):** Koordinaten erscheinen korrekt,
|
||||
- **Phase 1 + 2 am Gerät bestätigt (2026-07-15/16):** Koordinaten erscheinen korrekt,
|
||||
inkl. echtem Gradzeichen; im `run_display`-Betrieb aktualisieren beide Zeilen
|
||||
laufend, sauber und ohne Flimmern. Protokoll, 19200 8E1, Zeichensatz und
|
||||
Zeilengeometrie stimmen.
|
||||
laufend, sauber und ohne Flimmern, mit Antwort-Handshake der Anzeige. Protokoll,
|
||||
19200 8E1, Zeichensatz und Zeilengeometrie stimmen.
|
||||
- Schrift: Sperrschrift (`ESC z`, `CHARSET_SPACED = True`), 10 Zeichen/Zeile.
|
||||
Die schmale `1` wirkt dadurch etwas luftig — Font-Eigenschaft, nur per eigenem
|
||||
Font (microSYST-PC-Software) änderbar.
|
||||
|
||||
Reference in New Issue
Block a user