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:
@@ -18,6 +18,7 @@ import time
|
||||
import config
|
||||
import coords
|
||||
import migra
|
||||
from brightness import BrightnessController
|
||||
from display import open_display
|
||||
from mount_client import MountClient, MountError
|
||||
|
||||
@@ -40,6 +41,8 @@ def main(argv=None):
|
||||
help="nur mit --mock: RA laeuft mit der Zeit")
|
||||
p.add_argument("--dry-run", action="store_true",
|
||||
help="Anzeige nur als Hex mitschreiben (keine serielle Hardware)")
|
||||
p.add_argument("--ldr", type=int, default=None,
|
||||
help="LDR-Rohwert fuer die Helligkeitsregelung (spaeter vom ADC)")
|
||||
args = p.parse_args(argv)
|
||||
|
||||
host, port = args.host, args.port
|
||||
@@ -55,11 +58,24 @@ def main(argv=None):
|
||||
client = MountClient(host, port, timeout=config.MOUNT_TIMEOUT)
|
||||
last_shown = None
|
||||
|
||||
# Helligkeitsregelung: derzeit ein fester LDR-Wert von der Kommandozeile;
|
||||
# spaeter (ESP32) wird hier pro Durchlauf der ADC gelesen.
|
||||
dimmer = BrightnessController() if args.ldr is not None else None
|
||||
|
||||
try:
|
||||
while True:
|
||||
try:
|
||||
if not client.connected:
|
||||
client.connect()
|
||||
|
||||
# Helligkeit nachfuehren (nur senden, wenn sich die Stufe aendert)
|
||||
if dimmer is not None:
|
||||
level, percent, changed = dimmer.update(args.ldr)
|
||||
if changed:
|
||||
d.set_brightness(percent)
|
||||
print("LDR %d -> Helligkeit Stufe %d = %d %%"
|
||||
% (args.ldr, level, percent))
|
||||
|
||||
ra_raw, dec_raw = client.get_coordinates()
|
||||
ra_line, dec_line = _format(ra_raw, dec_raw)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user