Version History¶
v1.3.1¶
Fix the race condition in
HexapodCsc._move()
.
v1.3.0¶
Add filter_offsets to account for filter thickness defocus.
v1.2.3¶
Add the
enable_lut_temperature
to the config_schema.py.Read the temperature sensor data for the camera hexapod.
v1.2.2¶
Remove the workaround of ts_xml backward compatibility.
v1.2.1¶
Subscribe the telemetry of rotator and mount in compensation mode.
If the target event is not available, the CSC will use the telemetry instead.
v1.2.0¶
Adapt the simplified state machine and update interface with the controller.
Requires:
ts_hexapod_controller 1.6.0
ts_hexrotcomm 1.3.0
v1.1.2¶
Reformat code with black.
Update the version of ts-conda-build to 0.4 in the conda recipe.
Remove the workaround code of backward compatibility.
v1.1.1¶
Support the mypy.
v1.1.0¶
Fix the telemetry.
Update the
.ts_pre_commit_config.yaml
.Import the enums from ts_xml instead of ts_idl.
v1.0.4¶
Fix the test case:
test_offset_with_compensation()
when using Python 3.11.Improve the test case:
test_move_translate()
.
v1.0.3¶
Add {{python}} to conda recipe.
v1.0.2¶
Temporarily disable a unit test case that hangs on Python 3.11.
Requires:
ts_hexapod_controller 1.4.0
ts_hexrotcomm 0.29
ts_salobj 7.1
ts_idl 3.4
MTHexapod, MTMount, and MTRotator IDL files built from ts_xml 14.
v1.0.1¶
HexapodCsc
: assume thatpositionError
is present in theactuators
telemetry topic (DM-36424).
Requires:
ts_hexapod_controller 1.4.0
ts_hexrotcomm 0.29
ts_salobj 7.1
ts_idl 3.4
MTHexapod, MTMount, and MTRotator IDL files built from ts_xml 14.
v1.0.0¶
Use ts_pre_commit_conf.
Jenkinsfile
: use new shared library.Remove scons support.
Requires:
ts_hexapod_controller 1.4.0
ts_hexrotcomm 0.29
ts_salobj 7.1
ts_idl 3.4
MTHexapod, MTMount, and MTRotator IDL files built from ts_xml 14.
v0.28.1¶
pre-commit: update black to 23.1.0, isort to 5.12.0, mypy to 1.0.0, and pre-commit-hooks to v4.4.0.
Jenkinsfile
: do not run as root.
Requires:
ts_hexapod_controller 1.4.0
ts_hexrotcomm 0.29
ts_salobj 7.1
ts_idl 3.4
MTHexapod, MTMount, and MTRotator IDL files built from ts_xml 11.
v0.28.0¶
Write the
positionError
field of the actuators telemetry topic, if present. This field will be added to ts_xml 12.1.Make unit test test_move_interrupt_move_immediately in test_csc.py more robust.
Fix Jenkins CI file by changing HOME to WHOME everywhere except the cleanup section.
Add setupRequired(ts_config_mttcs) to the ups table file.
Requires:
ts_hexapod_controller 1.4.0
ts_hexrotcomm 0.29
ts_salobj 7.1
ts_idl 3.4
MTHexapod, MTMount, and MTRotator IDL files built from ts_xml 11.
v0.27.0¶
Rename command-line scripts to remove “.py” suffix.
HexapodCsc
: callsuper().start()
at the beginning of the start method. This requires ts_salobj 7.1.Build with pyproject.toml.
Modernize the continuous integration
Jenkinsfile
.
Requires:
ts_hexapod_controller 1.4.0
ts_hexrotcomm 0.29
ts_salobj 7.1
ts_idl 3.4
MTHexapod, MTMount, and MTRotator IDL files built from ts_xml 11.
v0.26.0¶
Update for ts_hexapod_controller 1.4.0, which is required. This version reports motor currents and bus voltages.
Report motor currents and bus voltages in the electrical telemetry topic.
Make a unit test more robust.
Requires:
ts_hexapod_controller 1.4.0
ts_hexrotcomm 0.29
ts_salobj 7
ts_idl 3.4
MTHexapod, MTMount, and MTRotator IDL files built from ts_xml 11.
v0.25.0¶
Update for ts_salobj v7, ts_xml 11, and ts_hexrotcomm 0.29, all of which are required.
Requires:
ts_hexapod_controller 1.3.0
ts_hexrotcomm 0.29
ts_salobj 7
ts_idl 3.4
MTHexapod, MTMount, and MTRotator IDL files built from ts_xml 11.
v0.24.0¶
Update for ts_hexrotcomm 0.28 and ts_hexapod_controller 1.3.0:
Use index_generator from ts_utils instead of the deprecated version in ts_salobj.
Requires:
ts_hexapod_controller 1.3.0
ts_hexrotcomm 0.28
ts_salobj 6.8
ts_idl 3.4
ts_xml 10.2
MTHexapod, MTMount, and MTRotator IDL files, e.g. made using
make_idl_files.py MTHexapod MTMount MTRotator
v0.23.0¶
HexapodCsc
: changed the interlock event’s field fromdetail
(a string) toenabled
(a boolean). Also changeapplicationStatus
to a scalar (instead of an array with only the first element nonzero). These changes requires ts_xml 10.2. These changes also requires ts_hexrotcomm 0.27 (only because it has other changes that require ts_xml 10.2), which in turn requires ts_salobj 6.8.CONFIG_SCHEMA
: changemaster
tomain
in the$id
field.
Requires:
ts_hexapod_controller 1.2.4
ts_hexrotcomm 0.27
ts_salobj 6.8
ts_idl 3.4
ts_xml 10.2
MTHexapod, MTMount, and MTRotator IDL files, e.g. made using
make_idl_files.py MTHexapod MTMount MTRotator
v0.22.1¶
Update the command sync patterns for ts_hexapod_controller 1.2.4, which is required. This change also requires ts_hexrotcomm 0.25, because ts_hexapod_controller 1.2.4 acknowledges commands.
Requires:
ts_hexapod_controller 1.2.4
ts_hexrotcomm 0.25
ts_salobj 6.3
ts_idl 3.4
ts_xml 7.1
MTHexapod, MTMount, and MTRotator IDL files, e.g. made using
make_idl_files.py MTHexapod MTMount MTRotator
v0.22.0¶
Update the default host addresses in the CSC config schema to match the new public addresses.
v0.21.2¶
HexapodCommander
: make compatible with ts_xml 10.1 (while retaining backwards compatibility).
Requires:
ts_hexapod_controller 1.2.0
ts_hexrotcomm 0.23
ts_salobj 6.3
ts_idl 3.4
ts_xml 7.1
MTHexapod, MTMount, and MTRotator IDL files, e.g. made using
make_idl_files.py MTHexapod MTMount MTRotator
v0.21.1¶
Improve handling of NaNs in compensation inputs. Treat them as missing data: report them once and keep running the compensation loop.
Modernized unit tests to use bare asserts.
Requires:
ts_hexapod_controller 1.2.0
ts_hexrotcomm 0.23
ts_salobj 6.3
ts_idl 3.4
ts_xml 7.1
MTHexapod, MTMount, and MTRotator IDL files, e.g. made using
make_idl_files.py MTHexapod MTMount MTRotator
v0.21.0¶
Update for ts_hexrotcomm v0.23.0, which is required.
Run the TCP/IP clients in the CSC and the servers in the mock controller.
Disassociated controller state from CSC state. As part of the
standby
command the CSC connects to the low-level controller. As part of theenable
command the CSC attempts to enable the low-level controller (including resetting errors if the low-level controller is in fault state).The CSC is no longer alive in the OFFLINE state, and no longer supports the enterControl command.
Added
host
,port
, andconnection_timeout
fields to the CSC configuration.
Update the schema to v2 because it has new host and port fields (which must be specified if you specify other hexapod-specific settings, such as compensation coefficients).
Update to use
lsst.ts.idl.enums.MTHexapod.ErrorCode
, which requires ts_idl 3.4.setup.cfg: add an [options] section.
Requires:
ts_hexapod_controller 1.2.0
ts_hexrotcomm 0.23
ts_salobj 6.3
ts_idl 3.4
ts_xml 7.1
MTHexapod, MTMount, and MTRotator IDL files, e.g. made using
make_idl_files.py MTHexapod MTMount MTRotator
v0.20.0¶
Handle updated configuration and telemetry messages from low-level controller 1.1.8, which is required.
Set the
timestamp
field inencoders
telemetry topic, if the field is present. This field will be added in ts_xml 10.0. This change requires ts_hexrotcomm 0.20 (the time in low-level message headers is TAI) for correct values.
Requires:
ts_hexapod_controller 1.1.8
ts_hexrotcomm 0.20
ts_salobj 6.3
ts_idl 2.2
ts_xml 7.1
MTHexapod, MTMount, and MTRotator IDL files, e.g. made using
make_idl_files.py MTHexapod MTMount MTRotator
v0.19.0¶
Changes:
Add
min_compensation_adjustment
CSC configuration parameter. See the config schema and User Guide for details.
Requires:
ts_hexrotcomm 0.19
ts_salobj 6.3
ts_idl 2.2
ts_xml 7.1
MTHexapod, MTMount, and MTRotator IDL files, e.g. made using
make_idl_files.py MTHexapod MTMount MTRotator
v0.18.0¶
Changes:
This version requires ts_hexrotcomm 0.19, because it handles another change to the low-level controller TCP/IP interface that was made at the same time (removing the two MJD fields from message headers).
Update for changes to the low-level controller TCP/IP interface:
Requires:
ts_hexrotcomm 0.19
ts_salobj 6.3
ts_idl 2.2
ts_xml 7.1
MTHexapod, MTMount, and MTRotator IDL files, e.g. made using
make_idl_files.py MTHexapod MTMount MTRotator
v0.17.1¶
Changes:
This version requires ts_hexrotcomm 0.18.
CscHexapod
bug fix: themove
andoffset
commands were rejected if actuators were moving.CscHexapod
bug fix:stop
,move
, andoffset
still did not reliably interrupt a move.
Requires:
ts_hexrotcomm 0.18
ts_salobj 6.3
ts_idl 2.2
ts_xml 7.1
MTHexapod, MTMount, and MTRotator IDL files, e.g. made using
make_idl_files.py MTHexapod MTMount MTRotator
v0.17.0¶
Deprecations:
The actuatorInPosition event is deprecated (because the CSC does not receive the necessary information) and is no longer published.
Changes:
Fix the inPosition event. The code now expects a single value for application_status from the low-level controller and ignores the unused 5 extra values. These unused values will go away in a later update (which requires a corresponding update to the low-level controller).
Requires:
ts_hexrotcomm 0.18
ts_salobj 6.3
ts_idl 2.2
ts_xml 7.1
MTHexapod, MTMount, and MTRotator IDL files, e.g. made using
make_idl_files.py MTHexapod MTMount MTRotator
v0.16.0¶
Changes:
Make moves and offsets more reliable: if the hexapod is moving, stop it before issuing the new move command. This change requires ts_hexrotcomm v0.18.
Requires:
ts_hexrotcomm 0.18
ts_salobj 6.3
ts_idl 2.2
ts_xml 7.1
MTHexapod, MTMount, and MTRotator IDL files, e.g. made using
make_idl_files.py MTHexapod MTMount MTRotator
v0.15.1¶
Changes:
Use
unittest.IsolatedAsyncioTestCase
instead of the abandoned asynctest package.Format the code with black 20.8b1.
Requires:
ts_hexrotcomm 0.16
ts_salobj 6.3
ts_idl 2.2
ts_xml 7.1
MTHexapod, MTMount, and MTRotator IDL files, e.g. made using
make_idl_files.py MTHexapod MTMount MTRotator
v0.15.0¶
Changes:
RotatorCsc
: save the configuration schema in code instead of a separate .yaml file. This requires ts_salobj 6.3 and ts_hexrotcomm 0.16.Delete obsolete file
schema/MTRotator.yaml
.Users’s Guide: improve the information for switching from GUI to DDS mode.
Requires:
ts_hexrotcomm 0.16
ts_salobj 6.3
ts_idl 2.2
ts_xml 7.1
MTHexapod, MTMount, and MTRotator IDL files, e.g. made using
make_idl_files.py MTHexapod MTMount MTRotator
v0.14.0¶
Changes:
MTHexapodCsc
: removed themoveToReference
command. The associated values should be part of the compensation model coefficients.MTHexapodCsc
: set class variableversion
, which sets thecscVersion
field of thesoftwareVersions
event.Configuration schema: update to require azimuth and rotation coefficients.
SimpleHexapod
: use a safer way to copy themirror_positions
argument. This avoids issues in case the user changes the argument after creating the object (an unlikely scenario).Modernize
doc/conf.py
for documenteer 0.6.
Requires:
ts_hexrotcomm 0.13
ts_salobj 6.1
ts_idl 2.2
ts_xml 7.1
MTHexapod, MTMount, and MTRotator IDL files, e.g. made using
make_idl_files.py MTHexapod MTMount MTRotator
v0.13.0¶
Changes:
Updated to use device-specific TCP/IP ports. This requires ts_hexrotcomm v0.14.
Requires:
ts_hexrotcomm 0.14
ts_salobj 6.1
ts_idl 2.2
ts_xml 7.1
MTHexapod, MTMount, and MTRotator IDL files, e.g. made using
make_idl_files.py MTHexapod MTMount MTRotator
v0.12.1¶
Changes:
A fix for tx_xml 7.1 (required): use MTMount XML instead of NewMTMount.
Fix the Jenkins build: build MTMount and MTRotator IDL files in addition to MTHexapod.
Requires:
ts_hexrotcomm 0.13
ts_salobj 6.1
ts_idl 2.2
ts_xml 7.1
MTHexapod, MTMount, and MTRotator IDL files, e.g. made using
make_idl_files.py MTHexapod MTMount MTRotator
v0.12.0¶
Changes:
Update for ts_xml 7.1 and ts_hexrotcomm 0.13 (both are required).
Overhaul the way compensation is handled.
Add the
setCompensationMode
command and remove themoveWithCompensation
command.Rename the
pivot
command tosetPivot
, for consistency.Replace the
target
event withuncompensatedPosition
andcompensatedPosition
events, becausetarget
was ambiguous.Add the
moveToReference
command to move to the configured reference position.Add
compensation_interval
andreference_position
entries to the configuration. The former is common to both hexapods, the latter is specific each hexapod.
Requires:
ts_hexrotcomm 0.13
ts_salobj 6.1
ts_idl 2.2
ts_xml 7.1
MTHexapod IDL files, e.g. made using
make_idl_files.py MTHexapod
v0.11.1¶
Changes:
Update Jenkinsfile.conda to use the shared library.
Pin the versions of ts_idl and ts_salobj in conda/meta.yaml.
Requires:
ts_hexrotcomm 0.12
ts_salobj 6.1
ts_idl 2.2
ts_xml 7
MTHexapod IDL files, e.g. made using
make_idl_files.py MTHexapod
v0.11.0¶
Changes:
Update to use and require ts_hexrotcomm 0.12:
Add argument
curr_tai
toMockMTHexapodController.update_telemetry
and use it.
Requires:
ts_hexrotcomm 0.12
ts_salobj 6.1
ts_idl 2.2
ts_xml 7
MTHexapod IDL files, e.g. made using
make_idl_files.py MTHexapod
v0.10.0¶
Changes:
Updated to use and require ts_xml 7, ts_idl 2.2, and ts_hexrotcomm 0.11:
Rename SAL component and ts_idl enum module
Hexapod
toMTHexapod
.
Renamed the package to
ts_mthexapod
.
Requires:
ts_hexrotcomm 0.11
ts_salobj 6.1
ts_idl 2.2
ts_xml 7
MTHexapod IDL files, e.g. made using
make_idl_files.py MTHexapod
v0.9.0¶
Changes:
Updated to use and require ts_salobj 6.1 and ts_hexrotcomm 0.10.
Update the handling of initial_state in
HexapodCsc
:If initial_state != OFFLINE then report all transitional summary states and controller states at startup.
Require initial_state = OFFLINE unless simulating.
Requires:
ts_hexrotcomm 0.10
ts_salobj 6.1
ts_idl 2
ts_xml 6.2
Hexapod IDL files, e.g. made using
make_idl_files.py Hexapod
ts_simactuators 2
v0.8.0¶
Major Changes:
Add support for compensated moves, where compensation is done in the CSC instead of in the low-level controller.
Add a data fitter for compensation data. See the README in new directory
fitter
.Overhaul the SAL API.
Modernize the documentation.
Minor Changes:
Add missing
config_dir
constructor argument toHexapodCsc
.Use
lsst.ts.salobj.BaseCscTestCase
andlsst.ts.salobj.CscCommander
instead of the versions in ts_hexrotcomm.Add several
<x>_jitter
attributes toMockMTHexapodController
to clarify the mount of jitter added to measured values.Use corrected spelling of
Hexapod.ApplicationStatus.SAFETY_INTERLOCK
. This requires ts_idl 1.4 or later.
Requires:
ts_hexrotcomm 0.7
ts_salobj 5.15 or 6
ts_idl 1.4 (for salobj 5) or 2 (for salobj 6)
ts_xml 6.2
Hexapod IDL files, e.g. made using
make_idl_files.py Hexapod
ts_simactuators 2
v0.7.0¶
Changes:
Make
HexapodCsc
configurable.
Requires:
ts_hexrotcomm 0.7
ts_salobj 5.15
ts_idl 1
ts_xml 4.6
Hexapod IDL files, e.g. made using
make_idl_files.py Hexapod
ts_simactuators 2
v0.6.0¶
Changes:
Update for ts_simactuators 2.
Requires:
ts_hexrotcomm 0.5
ts_salobj 5.15
ts_idl 1
ts_xml 4.6
Hexapod IDL files, e.g. made using
make_idl_files.py Hexapod
ts_simactuators 2
v0.5.4¶
Changes:
Add black to conda test dependencies.
Requires:
ts_hexrotcomm 0.2
ts_salobj 5.11
ts_idl 1
ts_xml 4.6
Hexapod IDL files, e.g. made using
make_idl_files.py Hexapod
ts_simactuators
v0.5.3¶
Changes:
Add
tests/test_black.py
to verify that files are formatted with black. This requires ts_salobj 5.11 or later.Update
.travis.yml
to removesudo: false
to github travis checks pass once again.
Requires:
ts_hexrotcomm 0.2
ts_salobj 5.11
ts_idl 1
ts_xml 4.6
Hexapod IDL files, e.g. made using
make_idl_files.py Hexapod
ts_simactuators
v0.5.2¶
Fix flake8 violations.
Add Jenkinsfile for CI job.
Requires:
ts_hexrotcomm 0.2
ts_salobj 5
ts_idl 1
ts_xml 4.6
Hexapod IDL files, e.g. made using
make_idl_files.py Hexapod
ts_simactuators
v0.5.1¶
Include conda package build configuration.
Added a Jenkinsfile to support continuous integration and to build conda packages.
Requires:
ts_hexrotcomm 0.2
ts_salobj 5
ts_idl 1
ts_xml 4.6
Hexapod IDL files, e.g. made using
make_idl_files.py Hexapod
ts_simactuators
v0.5.0¶
Use lsst.ts.simactuators.PointToPointActuator
instead of an internal copy.
Requires:
ts_hexrotcomm 0.2
ts_salobj 5
ts_idl 1
ts_xml 4.6
Hexapod IDL files, e.g. made using
make_idl_files.py Hexapod
ts_simactuators
v0.4.0¶
Major changes:
Use correct hexapod geometry in the simulation mode. The motion limits and reported actuator lengths and limits should now be much more realistic.
Code formatted by
black
, with a pre-commit hook to enforce this. See the README file for configuration instructions.
Requires:
ts_hexrotcomm 0.2
ts_salobj 5
ts_idl 1
ts_xml 4.6
Hexapod IDL files, e.g. made using
make_idl_files.py Hexapod
v0.3.1¶
Version 0.3.1
Add a link to the docs in the README file. Add a unit test.
Requires:
ts_hexrotcomm 0.2
ts_salobj 5
ts_idl 1
ts_xml 4.6
Hexapod IDL files, e.g. made using
make_idl_files.py Hexapod
v0.3.0¶
Update for changes to the XML.
Requires:
ts_hexrotcomm 0.2
ts_salobj 5
ts_idl 1
ts_xml 4.6
Hexapod IDL files, e.g. made using
make_idl_files.py Hexapod
v0.2.2¶
The first version we tested against the real hexapod controller!
Requires:
* ts_hexrotcomm v0.1.0
* ts_salobj 5
* ts_idl 1
* Hexapod IDL files, e.g. made using make_idl_files.py Hexapod