Skip to content

Commit

Permalink
Merge pull request #7 from lsst-ts/tickets/DM-DM-48969
Browse files Browse the repository at this point in the history
Tickets/dm dm 48969
  • Loading branch information
teweitsai authored Feb 19, 2025
2 parents 94b0080 + 66d8433 commit a6d4285
Show file tree
Hide file tree
Showing 20 changed files with 47 additions and 36 deletions.
Binary file modified doc/screenshot/azimuth.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/screenshot/calibration.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/screenshot/elevation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/screenshot/louver_single.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/screenshot/rad.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/screenshot/shutter.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 10 additions & 0 deletions doc/version_history.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,16 @@
Version History
##################

.. _lsst.ts.mtdomegui-0.4.3:

-------------
0.4.3
-------------

* Allow to query the shutter status.
* Fix the unit of position of the shutter.
* Change the torque unit to be N*m instead of J.

.. _lsst.ts.mtdomegui-0.4.2:

-------------
Expand Down
1 change: 1 addition & 0 deletions python/lsst/ts/mtdomegui/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ async def connect(self) -> None:
if self._is_simulation_mode
else {
LlcName.AMCS: self.callback_status_amcs,
LlcName.APSCS: self.callback_status_apscs,
LlcName.CBCS: self.callback_status_cbcs,
}
)
Expand Down
10 changes: 5 additions & 5 deletions python/lsst/ts/mtdomegui/tab/tab_aperture_shutter.py
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ def _create_figures(self) -> dict[str, TabFigure]:
"drive_torque": TabFigure(
"Actual Drive Torque",
self.model,
"J",
"N*m",
[str(idx) for idx in range(NUM_DRIVE_SHUTTER)],
),
"drive_current": TabFigure(
Expand Down Expand Up @@ -361,18 +361,18 @@ async def _callback_telemetry(self, telemetry: dict) -> None:
position_actual = telemetry["positionActual"]
for idx in range(APSCS_NUM_SHUTTERS):
self._status["position_commanded"][idx].setText(
f"{position_commanded[idx]:.2f} deg"
f"{position_commanded[idx]:.2f} %"
)
self._status["position_actual"][idx].setText(
f"{position_actual[idx]:.2f} deg"
f"{position_actual[idx]:.2f} %"
)

for idx in range(NUM_DRIVE_SHUTTER):
self._status["drive_torque_commanded"][idx].setText(
f"{telemetry['driveTorqueCommanded'][idx]:.2f} J"
f"{telemetry['driveTorqueCommanded'][idx]:.2f} N*m"
)
self._status["drive_torque_actual"][idx].setText(
f"{telemetry['driveTorqueActual'][idx]:.2f} J"
f"{telemetry['driveTorqueActual'][idx]:.2f} N*m"
)
self._status["drive_current_actual"][idx].setText(
f"{telemetry['driveCurrentActual'][idx]:.2f} A"
Expand Down
6 changes: 3 additions & 3 deletions python/lsst/ts/mtdomegui/tab/tab_azimuth.py
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ def _create_figures(self) -> dict[str, TabFigure]:
"drive_torque": TabFigure(
"Actual Drive Torque",
self.model,
"J",
"N*m",
[str(idx) for idx in range(AMCS_NUM_MOTORS)],
),
"drive_current": TabFigure(
Expand Down Expand Up @@ -382,10 +382,10 @@ async def _callback_telemetry(self, telemetry: dict) -> None:

for idx in range(AMCS_NUM_MOTORS):
self._status["drive_torque_commanded"][idx].setText(
f"{telemetry['driveTorqueCommanded'][idx]:.2f} J"
f"{telemetry['driveTorqueCommanded'][idx]:.2f} N*m"
)
self._status["drive_torque_actual"][idx].setText(
f"{telemetry['driveTorqueActual'][idx]:.2f} J"
f"{telemetry['driveTorqueActual'][idx]:.2f} N*m"
)
self._status["drive_current_actual"][idx].setText(
f"{telemetry['driveCurrentActual'][idx]:.2f} A"
Expand Down
6 changes: 3 additions & 3 deletions python/lsst/ts/mtdomegui/tab/tab_calibration.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ def _create_figures(self) -> dict[str, TabFigure]:
"drive_torque": TabFigure(
"Actual Drive Torque",
self.model,
"J",
"N*m",
["torque"],
),
"drive_current": TabFigure(
Expand Down Expand Up @@ -280,10 +280,10 @@ async def _callback_telemetry(self, telemetry: dict) -> None:
self._status["position_actual"].setText(f"{position_actual:.2f}")

self._status["drive_torque_commanded"].setText(
f"{telemetry['driveTorqueCommanded']:.2f} J"
f"{telemetry['driveTorqueCommanded']:.2f} N*m"
)
self._status["drive_torque_actual"].setText(
f"{telemetry['driveTorqueActual']:.2f} J"
f"{telemetry['driveTorqueActual']:.2f} N*m"
)
self._status["drive_current_actual"].setText(
f"{telemetry['driveCurrentActual']:.2f} A"
Expand Down
6 changes: 3 additions & 3 deletions python/lsst/ts/mtdomegui/tab/tab_elevation.py
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ def _create_figures(self) -> dict[str, TabFigure]:
"drive_torque": TabFigure(
"Actual Drive Torque",
self.model,
"J",
"N*m",
[str(idx) for idx in range(LWSCS_NUM_MOTORS)],
),
"drive_current": TabFigure(
Expand Down Expand Up @@ -398,10 +398,10 @@ async def _callback_telemetry(self, telemetry: dict) -> None:

for idx in range(LWSCS_NUM_MOTORS):
self._status["drive_torque_commanded"][idx].setText(
f"{telemetry['driveTorqueCommanded'][idx]:.2f} J"
f"{telemetry['driveTorqueCommanded'][idx]:.2f} N*m"
)
self._status["drive_torque_actual"][idx].setText(
f"{telemetry['driveTorqueActual'][idx]:.2f} J"
f"{telemetry['driveTorqueActual'][idx]:.2f} N*m"
)
self._status["drive_current_actual"][idx].setText(
f"{telemetry['driveCurrentActual'][idx]:.2f} A"
Expand Down
10 changes: 5 additions & 5 deletions python/lsst/ts/mtdomegui/tab/tab_louver_single.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ def _create_figures(self) -> dict[str, TabFigure]:
"drive_torque": TabFigure(
f"{louver_name} Actual Drive Torque",
self.model,
"J",
"N*m",
[str(idx) for idx in range(LCS_NUM_MOTORS_PER_LOUVER)],
),
"drive_current": TabFigure(
Expand Down Expand Up @@ -291,9 +291,9 @@ def update_drive(
Parameters
----------
torque_commanded : `list` [`float`]
Commanded torque in J.
Commanded torque in N*m.
torque_actual : `list` [`float`]
Actual torque in J.
Actual torque in N*m.
current_actual : `list` [`float`]
Actual current in A.
encoder_head : `list` [`float`]
Expand All @@ -302,10 +302,10 @@ def update_drive(

for idx in range(LCS_NUM_MOTORS_PER_LOUVER):
self._status["drive_torque_commanded"][idx].setText(
f"{torque_commanded[idx]:.2f} J"
f"{torque_commanded[idx]:.2f} N*m"
)
self._status["drive_torque_actual"][idx].setText(
f"{torque_actual[idx]:.2f} J"
f"{torque_actual[idx]:.2f} N*m"
)
self._status["drive_current_actual"][idx].setText(
f"{current_actual[idx]:.2f} A"
Expand Down
6 changes: 3 additions & 3 deletions python/lsst/ts/mtdomegui/tab/tab_rear_access_door.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ def _create_figures(self) -> dict[str, TabFigure]:
"drive_torque": TabFigure(
"Actual Drive Torque",
self.model,
"J",
"N*m",
[str(idx) for idx in range(RAD_NUM_DOORS)],
),
"drive_current": TabFigure(
Expand Down Expand Up @@ -395,10 +395,10 @@ async def _callback_telemetry(self, telemetry: dict) -> None:
)

self._status["drive_torque_commanded"][idx].setText(
f"{telemetry['driveTorqueCommanded'][idx]:.2f} J"
f"{telemetry['driveTorqueCommanded'][idx]:.2f} N*m"
)
self._status["drive_torque_actual"][idx].setText(
f"{telemetry['driveTorqueActual'][idx]:.2f} J"
f"{telemetry['driveTorqueActual'][idx]:.2f} N*m"
)
self._status["drive_current_actual"][idx].setText(
f"{telemetry['driveCurrentActual'][idx]:.2f} A"
Expand Down
8 changes: 4 additions & 4 deletions tests/tab/test_tab_aperture_shutter.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,11 @@ async def test_set_signal_telemetry(widget: TabApertureShutter) -> None:
# Sleep so the event loop can access CPU to handle the signal
await asyncio.sleep(1)

assert widget._status["position_commanded"][0].text() == "1.00 deg"
assert widget._status["position_actual"][0].text() == "1.00 deg"
assert widget._status["position_commanded"][0].text() == "1.00 %"
assert widget._status["position_actual"][0].text() == "1.00 %"

assert widget._status["drive_torque_commanded"][0].text() == "1.00 J"
assert widget._status["drive_torque_actual"][0].text() == "1.00 J"
assert widget._status["drive_torque_commanded"][0].text() == "1.00 N*m"
assert widget._status["drive_torque_actual"][0].text() == "1.00 N*m"
assert widget._status["drive_current_actual"][0].text() == "1.00 A"

assert widget._status["drive_temperature"][0].text() == "1.00 deg C"
Expand Down
4 changes: 2 additions & 2 deletions tests/tab/test_tab_azimuth.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ async def test_set_signal_telemetry(widget: TabAzimuth) -> None:
assert widget._status["velocity_commanded"].text() == "1.00 deg/sec"
assert widget._status["velocity_actual"].text() == "1.00 deg/sec"

assert widget._status["drive_torque_commanded"][0].text() == "1.00 J"
assert widget._status["drive_torque_actual"][0].text() == "1.00 J"
assert widget._status["drive_torque_commanded"][0].text() == "1.00 N*m"
assert widget._status["drive_torque_actual"][0].text() == "1.00 N*m"
assert widget._status["drive_current_actual"][0].text() == "1.00 A"

assert widget._status["drive_temperature"][0].text() == "1.00 deg C"
Expand Down
4 changes: 2 additions & 2 deletions tests/tab/test_tab_calibration.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,8 @@ async def test_set_signal_telemetry(widget: TabCalibration) -> None:
assert widget._status["position_commanded"].text() == "1.00"
assert widget._status["position_actual"].text() == "1.00"

assert widget._status["drive_torque_commanded"].text() == "1.00 J"
assert widget._status["drive_torque_actual"].text() == "1.00 J"
assert widget._status["drive_torque_commanded"].text() == "1.00 N*m"
assert widget._status["drive_torque_actual"].text() == "1.00 N*m"
assert widget._status["drive_current_actual"].text() == "1.00 A"

assert widget._status["drive_temperature"].text() == "1.00 deg C"
Expand Down
4 changes: 2 additions & 2 deletions tests/tab/test_tab_elevation.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ async def test_set_signal_telemetry(widget: TabElevation) -> None:
assert widget._status["velocity_commanded"].text() == "1.00 deg/sec"
assert widget._status["velocity_actual"].text() == "1.00 deg/sec"

assert widget._status["drive_torque_commanded"][0].text() == "1.00 J"
assert widget._status["drive_torque_actual"][0].text() == "1.00 J"
assert widget._status["drive_torque_commanded"][0].text() == "1.00 N*m"
assert widget._status["drive_torque_actual"][0].text() == "1.00 N*m"
assert widget._status["drive_current_actual"][0].text() == "1.00 A"

assert widget._status["drive_temperature"][0].text() == "1.00 deg C"
Expand Down
4 changes: 2 additions & 2 deletions tests/tab/test_tab_louver.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ async def test_set_signal_telemetry(widget: TabLouver) -> None:
assert louver._status["position_commanded"].text() == "1.00 %"
assert louver._status["position_actual"].text() == "1.00 %"

assert louver._status["drive_torque_commanded"][0].text() == "1.00 J"
assert louver._status["drive_torque_actual"][0].text() == "1.00 J"
assert louver._status["drive_torque_commanded"][0].text() == "1.00 N*m"
assert louver._status["drive_torque_actual"][0].text() == "1.00 N*m"
assert louver._status["drive_current_actual"][0].text() == "1.00 A"

assert louver._status["drive_temperature"][0].text() == "1.00 deg C"
Expand Down
4 changes: 2 additions & 2 deletions tests/tab/test_tab_rear_access_door.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,8 @@ async def test_set_signal_telemetry(widget: TabRearAccessDoor) -> None:
assert widget._status["position_commanded"][0].text() == "1.00 %"
assert widget._status["position_actual"][0].text() == "1.00 %"

assert widget._status["drive_torque_commanded"][0].text() == "1.00 J"
assert widget._status["drive_torque_actual"][0].text() == "1.00 J"
assert widget._status["drive_torque_commanded"][0].text() == "1.00 N*m"
assert widget._status["drive_torque_actual"][0].text() == "1.00 N*m"
assert widget._status["drive_current_actual"][0].text() == "1.00 A"

assert widget._status["drive_temperature"][0].text() == "1.00 deg C"
Expand Down

0 comments on commit a6d4285

Please sign in to comment.