10 Zeichen pro Zeile: Zellenbreite am Geraet gemessen, Zeilen zentriert
Die RS232-Strecke ESP32 -> MAX3232 -> Anzeige ist am Geraet bestaetigt; damit war "probe.py pitch" moeglich und hat die offene Zeichenbreiten-Frage geklaert. Das Ergebnis korrigiert eine Annahme: Bisher stand CHARS_PER_LINE = 9, abgezaehlt am Zeilenumbruch. Gemessen wurde damit aber der Auto-Vorschub der Sperrschrift (7 px), nicht die Zeichenbreite. Die Zeichenmatrix ist 6 px breit -- zehn Ziffern, einzeln auf x = i*6 gesetzt, stehen sauber getrennt nebeneinander. - display._emit_line positioniert jedes Zeichen selbst, statt den Auto-Vorschub laufen zu lassen. CHARS_PER_LINE = 10, CELL_WIDTH = 6. - Die Deklination passt dadurch in voller Form: +38°47'01" statt +38°47'01. - show_lines sendet ein Telegramm je Zeile. Mit Einzelpositionierung kaemen beide zusammen auf 224 der erlaubten 230 Bytes -- zu wenig Reserve fuer den Dauerbetrieb. Die Reihenfolge bleibt unten vor oben (Home-Zelle). - Zeilen werden zentriert (CENTER_LINES, LINE_X). Der Zeichenblock bleibt dabei gleich breit und an derselben Stelle, damit keine Reste stehen bleiben. - probe.py kommt mit aufs Geraet: Die Anzeige haengt jetzt am ESP32, nur von dort laesst sich die Geometrie noch ausmessen. Die Tests pruefen nicht mehr auf zusammenhaengenden Text im Telegramm -- den gibt es nicht mehr -- sondern rechnen ueber die Cursor-Sequenzen zurueck, was wirklich auf welcher Zelle landet. 97 Tests gruen, Kette am Geraet im Sekundentakt bestaetigt. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -15,8 +15,14 @@ set -e
|
||||
PORT="${1:-auto}"
|
||||
|
||||
# Alles, was auf dem Geraet gebraucht wird. run_display.py, show_coords.py,
|
||||
# probe.py, mount_mock.py und die Tests bleiben auf dem Mac -- sie brauchen
|
||||
# argparse bzw. threading.
|
||||
# mount_mock.py und die Tests bleiben auf dem Mac -- sie brauchen argparse
|
||||
# bzw. threading.
|
||||
#
|
||||
# probe.py kommt mit aufs Geraet: Seit die Anzeige am ESP32 haengt und nicht mehr
|
||||
# am Mac, laesst sich die Geometrie nur noch von dort ausmessen. Es benutzt zwar
|
||||
# sys.argv, aber nur in main() -- die Messfunktionen ruft man am REPL direkt auf:
|
||||
# import probe, display
|
||||
# d = display.open_display(); probe.pitch(d, 6); d.close()
|
||||
FILES="
|
||||
ticks.py
|
||||
migra.py
|
||||
@@ -30,6 +36,7 @@ brightness.py
|
||||
displayloop.py
|
||||
wifi.py
|
||||
run_esp32.py
|
||||
probe.py
|
||||
"
|
||||
|
||||
if [ ! -f wifi_config.py ]; then
|
||||
|
||||
Reference in New Issue
Block a user