Version History¶
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