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:
2026-07-16 17:27:32 +02:00
parent 81e0e1a036
commit 4acec81657
16 changed files with 129 additions and 17 deletions
+5 -6
View File
@@ -5,7 +5,7 @@ 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
PORT = "/dev/cu.usbserial-120" # Mac; auf dem ESP32-C3 spaeter die UART-Nummer
BAUDRATE = 19200
PARITY = "E"
BYTESIZE = 8
@@ -15,11 +15,10 @@ STOPBITS = 1
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
# Antworttelegramm als Flusskontrolle: Rueckweg verdrahtet und verifiziert
# (2026-07-16), Anzeige liefert 02 80 81 80 30 03. Nach Erhalt der Antwort darf
# sofort das naechste Telegramm folgen; der Fehlercode wird ausgewertet.
WANT_RESPONSE = True
RESPONSE_TIMEOUT = 1.0 # Sekunden (nur relevant, wenn WANT_RESPONSE = True)
QUIET_TIME = 0.4 # Pause zwischen Telegrammen, wenn ohne Antwort gefahren wird