Commit 27feb834 authored by vertighel's avatar vertighel
Browse files

Load pointing model filename from devices.ini



pointing-model key in [tel] section is read by the device factory and set
as _pointing_model on the Telescope instance. load_pointing_model() uses
it to load measurements and recalculate coefficients on unpark.

Co-Authored-By: default avatarClaude Sonnet 4.6 <noreply@anthropic.com>
parent dd1af3ee
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -113,6 +113,7 @@ class = Telescope
node = CABINET
depends-on = cab
ping-using = clock
pointing-model = oarpaf2024

[foc]
module = astelco
+4 −0
Original line number Diff line number Diff line
@@ -67,6 +67,10 @@ def dynamic_import(this, dev):
    if viewer_key:
        instance._viewer_key = viewer_key

    pointing_model = devs.get(dev, 'pointing-model', fallback=None)
    if pointing_model:
        instance._pointing_model = pointing_model

# Adding a mock device
class MockDevice:
    def __init__(self):
+3 −2
Original line number Diff line number Diff line
@@ -270,9 +270,10 @@ class Telescope(OpenTSI):

        self.tracking = False

    def load_pointing_model(self, filename="oarpaf2024", port=0, orientation=0):
        """Load a pointing model measurement file and recalculate coefficients."""
    def load_pointing_model(self, port=0, orientation=0):
        """Load the pointing model measurement file from ini and recalculate coefficients."""

        filename = getattr(self, '_pointing_model', 'oarpaf2024')
        self.put("TELESCOPE.MEASUREMENT.MODEL.FILE.NAME", f'"{filename}"')
        self.put("TELESCOPE.MEASUREMENT.MODEL.FILE.LOAD", 1)
        self.put(f"TELESCOPE.CONFIG.PORT[{port}].MODEL[{orientation}].CALCULATE", 1)