Niedrig-/Hochpraezision der Montierung + IP eingetragen
Die GM4000 laeuft in Niedrigpraezision (keine Sekunden): RA HH:MM.T, DEC sDD°MM. Anzeige daran angepasst: - config.HIGH_PRECISION (Vorgabe False) steuert die DEC-Darstellung: False -> ohne Sekunden (-00°55'), True -> mit Sekunden (+38°47'01) - RA immer mit Sekunden (11h36m54s); bei Niedrigpraezision aus den Zehntel-Minuten abgeleitet (6-Sekunden-Schritte), kein Dezimalpunkt (der wirkt in der Sperrschrift zu luftig) - coords.format_ra/format_dec nehmen high_precision= - MOUNT_HOST auf die echte IP (192.168.1.115) Hinweis: Das 'ß' in der Konsole ist nur der Rohwert (Grad-Byte 0xDF); auf der Anzeige erscheint korrekt der Gradring. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -75,7 +75,15 @@ def _fit(candidates, width):
|
||||
return candidates[-1][:width]
|
||||
|
||||
|
||||
def format_ra(value, width=None):
|
||||
def format_ra(value, width=None, high_precision=None):
|
||||
"""Rektaszension formatieren, immer mit Sekunden (HHhMMmSSs).
|
||||
|
||||
Bei Niedrigpraezision liefert die Montierung nur Zehntel-Minuten; die
|
||||
Sekunden kommen dann in 6-Sekunden-Schritten. Das Format ist dasselbe wie
|
||||
bei Hochpraezision -- der Unterschied steckt allein in der Aufloesung der
|
||||
Rohdaten, nicht in der Darstellung. high_precision wird daher fuer RA nicht
|
||||
ausgewertet (nur bei DEC relevant, siehe format_dec).
|
||||
"""
|
||||
width = config.CHARS_PER_LINE if width is None else width
|
||||
h, m, s = parse_ra(value)
|
||||
return _fit([
|
||||
@@ -85,14 +93,23 @@ def format_ra(value, width=None):
|
||||
], width)
|
||||
|
||||
|
||||
def format_dec(value, width=None):
|
||||
def format_dec(value, width=None, high_precision=None):
|
||||
width = config.CHARS_PER_LINE if width is None else width
|
||||
high = config.HIGH_PRECISION if high_precision is None else high_precision
|
||||
sign, d, m, s = parse_dec(value)
|
||||
deg = config.DEGREE_MARKER
|
||||
return _fit([
|
||||
"%s%02d%s%02d'%02d\"" % (sign, d, deg, m, s), # 10: mit Bogensekundenzeichen
|
||||
"%s%02d%s%02d'%02d" % (sign, d, deg, m, s), # 9: Gradzeichen, ohne " am Ende
|
||||
"%s%02d:%02d:%02d" % (sign, d, m, s), # 9: Doppelpunkte, kein Gradzeichen
|
||||
"%s%02d%s%02d'" % (sign, d, deg, m), # 7: ohne Bogensekunden
|
||||
"%s%02d:%02d" % (sign, d, m), # 6
|
||||
], width)
|
||||
if high:
|
||||
candidates = [
|
||||
"%s%02d%s%02d'%02d\"" % (sign, d, deg, m, s), # 10: mit Bogensekundenzeichen
|
||||
"%s%02d%s%02d'%02d" % (sign, d, deg, m, s), # 9: Gradzeichen, ohne " am Ende
|
||||
"%s%02d:%02d:%02d" % (sign, d, m, s), # 9: Doppelpunkte
|
||||
"%s%02d%s%02d'" % (sign, d, deg, m), # 7: ohne Bogensekunden
|
||||
"%s%02d:%02d" % (sign, d, m), # 6
|
||||
]
|
||||
else:
|
||||
# Niedrigpraezision: ohne Sekunden (die Montierung liefert nur sDD MM).
|
||||
candidates = [
|
||||
"%s%02d%s%02d'" % (sign, d, deg, m), # 7: -00°55'
|
||||
"%s%02d:%02d" % (sign, d, m), # 6: -00:55
|
||||
]
|
||||
return _fit(candidates, width)
|
||||
|
||||
Reference in New Issue
Block a user