Version History¶
1.1.1¶
Adapt the ts_guitool v0.2.0.
1.1.0¶
Adapt the ts_guitool.
1.0.3¶
By default, bypass the ILC read warning codes.
Fix the bug of
QFileDialogAsync.get_open_filename_async()
.
1.0.2¶
Do not calculate the temperature LUT by default.
1.0.1¶
Improve the README.md.
Update the
MainWindow._callback_disconnect()
to check the current commander.Add the
SignalClosedLoopControlMode
and updateModel._process_event()
to send the signal.Add the
TabOverview._set_signal_closed_loop_control_mode()
.Add the
TabIlcStatus._is_closed_loop_control_mode_in_idle()
.Update the TabDiagnostics to support the control of closed-loop control mode.
Add the
TabSettings._callback_time_out()
to write the external elevation angle continuously.Update the user manual and UML diagrams.
1.0.0¶
Adapt the PySide6.
0.7.9¶
Update the
TabIlcStatus
class to reset, check, and enable the ILC states.Update the
LayoutControl._callback_signal_control()
to switch the command source under the Standby and Enable states.Add the return values to
Model.enter_diagnostic()
andModel.enter_enable()
to judge the CSC is using the M2 or not.Update the user documents.
0.7.8¶
Bypass the actions if the CSC is connecting to the controller.
Update the
LayoutControlMode._callback_signal_control()
to show the open/closed loop control mode in the Standby state as well.
This is to consider the case that the CSC might be using the M2 system at the same time.
0.7.7¶
Use the shared Jenkins library in Jenkinsfile.
0.7.6¶
Update the version of ts-conda-build to 0.4 in the conda recipe.
Use the ILC_READ_WARNING_ERROR_CODES from ts_m2com.
Show the bypassed ILCs.
Allow to enable or disable the temperature LUT.
Allow the set of hardpoints.
0.7.5¶
Use the mermaid to replace the PlantUML.
0.7.4¶
Properly report connection timeout error.
0.7.3¶
Update the
TabDiagnostics._get_list_digital_status_output()
.
0.7.2¶
Add the
recover-system-night.rst
.Improve the document.
0.7.1¶
Adapt the update in ts_m2com.
0.7.0¶
Add the tab_hardpoint_selection.py.
Improve the user manual.
0.6.10¶
Improve the document of error handling.
0.6.9¶
Improve the documents to power cycle the system and release the interlock.
0.6.8¶
Improve the documents.
0.6.7¶
Fix the
test
section ofmeta.yaml
.Update the
.ts_pre_commit_config.yaml
.
0.6.6¶
Remove the legacy code.
Use the enums in ts_xml instead of ts_idl.
0.6.5¶
Improve the user manual and add the section of error handing.
Fix the format of code.
0.6.4¶
Use the enums in ts_idl.
0.6.3¶
Add the Jenkinsfile.conda and setup.py.
Move the policy files to ts_config_mttcs.
Remove the
log/
directory and output the log file to/rubin/mtm2/log
if possible.Remove the argument of
run_application()
.Workaround the Python 3.11 issue in qasync module.
0.6.2¶
Bypass the ILC reading error codes temporarily before upgrading the ILC firmware.
Update the layout of TabAlarmWarn.
Add the functions to analyze the lost ILC communication in log file.
Add the TabLimitSwitchStatus class.
Rename the indicator: isInterlockEnabled to be isInterlockEngaged.
0.6.1¶
Handle the error in
Model.enter_enable()
when failed to enable all the ILCs.Allow to bypass the state check of
Model.command_script()
.Turn on the communication power at
Model.enter_enable()
instead ofModel.enter_diagnostic()
.Finetune the behavior and timeout for functions relate to the state transition.
Fix the typo in TabDiagnostics and UtilityMonitor classes.
User can set the retry times and timeout of the ILC state transition.
Filter the outlier of raw inclinometer value.
0.6.0¶
Migrate the functions to ts_m2com
0.5.1¶
Add the tab_net_force_moment.py and tab_realtime_net_force_moment.py.
Add the new signal: SignalNetForceMoment.
Update the
FigureConstant.append_data()
to regularly check the y-axis needs to be adjusted or not.
0.5.0¶
Use the migrated functions in Controller class in ts_m2com.
Add the control parameters and look-up table (LUT) parameters in the tab of settings.
Subscribe the event: temperatureOffset.
0.4.7¶
Add the classes of
ActuatorForceAxial
andActuatorForceTangent
to replace theActuatorForce
class to minimize the duplication.
0.4.6¶
Subscribe the event of available configuration files from the controller.
Allow the user to select the configuration file to set in the controller.
0.4.5¶
Show the summary faults status and enabled faults mask.
Allow the user to set the enabled faults mask.
0.4.4¶
Sort the error list in
TabAlarmWarn
class.Update the
TabDiagnostics._callback_force_error_tangent()
to let the text’s color is based on the threshold.
0.4.3¶
Rename the “isInterlockOn” with “isInterlockEnabled” to be consistent with the controller. The indicator’s color should be green instead of red when the status is on.
Simplify the
UtilityMonitor.update_forces()
to remove the check of force change.Update the
Model.connect()
to actively clear the error if any when the connection is constructed.Update the
UtilityMonitor.update_position()
to publish the position by IMS.Add the
TabRigidBodyPos._create_group_ims_position()
to show the position by IMS.Change the digit in detailed force widget.
Update the condition to trigger the
Model.fault()
.Update the
Model._process_telemetry()
to deal with the condition that the hardpoint correction of tangent link might be empty.
0.4.2¶
Support the bit status in
Model.set_bit_digital_status()
.Set the bit status and control parameters in
Model.enter_diagnostic()
.Do not report the control status under the state transitoin related commands (except the
fault()
) inModel
.Update the
TabDiagnostics._callback_control_digital_status()
to check the correct local mode to switch the buttons of digital outputs.Update the
LayoutLocalMode._callback_signal_control()
that do not show the buttons when the system is doing the mode transition.
0.4.1¶
Adapt the .ts_pre_commit_config.yaml.
0.4.0¶
Update the limit switch status to support the new enum: Status.
Remove the error_code_m2.tsv and update the method to get the error code file.
Update the Jenkinsfile to use the default or related branch in ts_config_mttcs.
Fix the data type annotation of ActuatorForce class.
Update the
TabAlarmWarn.read_error_list_file()
to use theread_error_code_file()
in ts_m2com.Separate the isAlarmWarningOn overview status to isAlarmOn and isWarningOn statuses.
Replace the annotation of
typing.Set
with internalset
.Rename
Model.add_error()
toModel.report_error()
.Differentiate the limit switch is triggered by the software limit or hardware.
0.3.9¶
Support the mypy.
Simplify the import method in __init__.py.
0.3.8¶
Adapt black v23.1.0.
0.3.7¶
Select the actuator group to show in the cell map.
Process the events: * tcpIpConnected * interlock * cellTemperatureHiWarning * inclinationTelemetrySource
Add the TabIlcStatus class.
Adapt black v22.12.0.
0.3.6¶
Support the cRIO simulator in the configuration file.
Issue the load configuration command.
Export the PYTEST_QT_API variable in Jenkinsfile.
0.3.5¶
Remove the root workaround from Jenkinsfile.
0.3.4¶
Adapt the ts_tcpip v1.0.0 to use the LOCALHOST_IPV4 instead of LOCAL_HOST.
0.3.3¶
Adapt the ts_m2com v0.8.1 to use the commands related to ILC, CLC, etc. directly.
Remove the dependency of ts_salobj.
Add the transition_local_mode.uml.
0.3.2¶
Fix the unit test from ts_m2com v0.6.3.
0.3.1¶
Show the selected actuator force on mirror’s view.
Add the status to enableOpenLoopMaxLimit command.
Show the raw and processed inclinometer angles.
0.3.0¶
Subscribe the following events:
openLoopMaxLimit
limitSwitchStatus
Use the enum of LimitSwitchType from ts_m2com.
0.2.4¶
Separate the buttons to reset the breakers of motor and communication.
Fix the skipped unit tests on Jenkins.
0.2.3¶
Support the specific command, event, and telemetry for the EUI only.
Add the option to disable the logging file for the file permission issue of CentOS host with the docker container. In addition, the latest developer docker image has the problem to use the PySide2 with CentOS host as root user. Report the bug in DM-36459.
0.2.2¶
New general settings can be applied anytime/in all states.
Force-related tables refresh frequency can be modified.
Default application point size/ scaling can be modified.
0.2.1¶
Adapt the ControllerCell class in ts_m2com to remove the duplicated code.
0.2.0¶
Support the parts of command, event and telemetry.
Support the unit test on TSSW Jenkins instance.
Output the logging message to file.
0.1.9¶
Early simulation mode support.
Debug level command line argument and settings.
0.1.8¶
Add the .pre-commit-config.yaml, pyproject.toml, and meta.yaml.
Support the isort.
0.1.7¶
Adapt the ts_m2com and qasync.
Begin to support the simulation mode.
0.1.6¶
Add the Jenkinsfile and publish the built document to ts_m2gui.
Add the documentation.
Let the Model to hold the SignalControl instead of the MainWindow.
0.1.5¶
Support the tool bar.
Support the table of settings.
Add the tips.
Turn off the docker widget features.
Add the run_application().
Rename bin/run_m2gui.py to bin/run_m2gui.
0.1.4¶
Support the cell status in part 2. This is to support the realtime figure.
0.1.3¶
Add the cell_geometry.yaml.
Support the cell status in part 1. At this moment, the overview of mirror forces is supported.
0.1.2¶
Support the actuator control.
0.1.1¶
Support the diagnostics.
0.1.0¶
Show warning dialog on errors.
0.0.9¶
Support the rigid body position.
0.0.8¶
Support the detailed force.
0.0.7¶
Add the UtilityMonitor class.
Support the utility view.
Add the class_tab_utility_view.uml.
Rename the test_config_view.py to test_tab_config_view.py.
0.0.6¶
Support the configuration view.
Add the class diagrams.
0.0.5¶
Add the system status and limit switch indicators.
Add the FaultManager class.
Adapt black v22.3.0.
0.0.4¶
Add the UML class diagrams.
Add the LayoutDefault and TabDefault classes.
Implement the alarms/warnings table.
0.0.3¶
Add the framework of control tables.
Implement the overview table.
Remove the debug messages that are not needed anymore.
0.0.2¶
Support the unit test.
Refactor the control logic.
0.0.1¶
Initial upload.