Helligkeitsregelung (LDR -> Stufe/Prozent) ergaenzt
- brightness.py: BrightnessController + CLI, portiert aus DoDimmen_V/main.h (gleitender Mittelwert, Hysterese). Schwellen 300/2500 aus altem Code, Prozente 5/15/50/100 - verallgemeinert auf 4 Stufen: 100% jetzt erreichbar (alter Code max 50%); neue obere Grenze HELL_MAX=3500 (anpassbar), Rest wie im Original - run_display: --ldr bindet die Regelung in die Hauptschleife ein (sendet nur bei Stufenwechsel) - test_brightness.py: Schwellen, Hysterese, Mittelung - README dokumentiert die Regelung; .gitignore: Hardware/ Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -21,9 +21,13 @@ python3 show_coords.py 12h34m56s +45d12m30s --dry-run # nur Telegramm als Hex
|
||||
python3 run_display.py # Montierung aus config.py pollen
|
||||
python3 run_display.py --host 10.0.0.42 # andere IP
|
||||
python3 run_display.py --mock --move # ohne Teleskop: lokaler Mock, RA läuft
|
||||
python3 run_display.py --mock --move --ldr 2000 # zusätzlich mit Helligkeitsregelung
|
||||
python3 mount_mock.py --move # Mock separat starten
|
||||
|
||||
python3 -m unittest test_migra test_lx200 # alle Tests
|
||||
# Helligkeit aus einem LDR-Wert setzen:
|
||||
python3 brightness.py --ldr 1500 # LDR-Rohwert -> Stufe/Prozent -> senden
|
||||
|
||||
python3 -m unittest test_migra test_lx200 test_brightness # alle Tests
|
||||
python3 probe.py ruler # Geometrie der Anzeige ausmessen
|
||||
```
|
||||
|
||||
@@ -38,9 +42,13 @@ Einzige Abhängigkeit auf dem Mac ist `pyserial`.
|
||||
| `display.py` | Treiber: Telegramm senden, Antwort auswerten. |
|
||||
| `coords.py` | Koordinaten einlesen und auf die Zeilenbreite formatieren. |
|
||||
| `config.py` | Port, Adresse, Geometrie, Helligkeit — alles an einer Stelle. |
|
||||
| `show_coords.py` | Das Testprogramm. |
|
||||
| `show_coords.py` | Das Testprogramm (Koordinaten von Hand). |
|
||||
| `brightness.py` | Helligkeitsregelung: LDR-Wert → Stufe/Prozent (portabel + CLI). |
|
||||
| `run_display.py` | Hauptschleife Phase 2: Montierung pollen, anzeigen, Helligkeit regeln. |
|
||||
| `mount_client.py` / `mount_mock.py` | TCP-Client zur GM4000 bzw. Simulator (LX200). |
|
||||
| `lx200.py` | LX200-Kommandorahmen. |
|
||||
| `probe.py` | Testmuster zum Ausmessen von Zeilenbreite und Zeilenposition. |
|
||||
| `test_migra.py` | Tests, u. a. gegen die Beispieltelegramme aus dem Handbuch. |
|
||||
| `test_migra.py` / `test_lx200.py` / `test_brightness.py` | Tests. |
|
||||
|
||||
## Protokoll (Kurzfassung)
|
||||
|
||||
@@ -119,6 +127,30 @@ diese Zelle überschreibt.
|
||||
`CHARS_PER_LINE` aufgefüllt werden, sonst bricht das Füll-Leerzeichen um und
|
||||
beschädigt die andere Zeile.
|
||||
|
||||
## Helligkeitsregelung
|
||||
|
||||
Portiert aus dem alten MSP430-Programm (`DoDimmen_V`, Werte aus `main.h`). Ein
|
||||
LDR-Rohwert (12-Bit-ADC, 0–4095: je heller die Umgebung, desto höher der Wert)
|
||||
wird über einen gleitenden Mittelwert (8 Werte) geglättet und auf eine
|
||||
Helligkeitsstufe mit Hysterese abgebildet:
|
||||
|
||||
| Stufe | Helligkeit | erreicht ab (hoch / runter) |
|
||||
|------|-----------|------------------------------|
|
||||
| 0 | 5 % | < 270 |
|
||||
| 1 | 15 % | ≥ 330 / < 270 |
|
||||
| 2 | 50 % | ≥ 2650 / < 2350 |
|
||||
| 3 | 100 % | ≥ 3650 / < 3350 |
|
||||
|
||||
Schwellen-Mitten `300 / 2500 / 3500`, Hysterese `±30 / ±150 / ±150`. **300 und 2500
|
||||
stammen aus dem alten Code**; die obere Grenze `HELL_MAX = 3500` für 100 % ist neu
|
||||
(der alte Code hatte keine 4. Stufe) und in `brightness.py` anpassbar, sobald der
|
||||
reale LDR-Wertebereich feststeht. Ein Helligkeitstelegramm wird nur bei
|
||||
**Stufenwechsel** gesendet (`ESC H 2 <ppp>`), wie im Original.
|
||||
|
||||
Der LDR-Wert kommt derzeit per Kommandozeile (`--ldr`); auf dem ESP32-C3 liefert
|
||||
ihn später der ADC. `run_display.py --ldr <wert>` bindet die Regelung in die
|
||||
Hauptschleife ein (`BrightnessController`).
|
||||
|
||||
## Antwortleitung (RX)
|
||||
|
||||
Der Rückkanal ist verdrahtet und verifiziert (2026-07-16): Anzeige Pin 3 (TxD) →
|
||||
|
||||
Reference in New Issue
Block a user