-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release v0.31.1 #113
Merged
Release v0.31.1 #113
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* develop: Add todo to get readout time, shutter time and minimum exposure time from ATCamera events. Add minimum exposure time check in `LATISS.expose` Rename `startup` method to `prepare_for_onsky`. Remove capturing IndexError exception in salobj. If this happens again will file a ticket to fix it. Fix some definition of classes exported on ATCS and LATISS modules. Improve docstring in `handle_rottype` method. Build and upload documentation from Jenkinsjob. Update code documentation and add revision history. Implement ways to limit the resources based on usage context. Ignore doc/conf.py in flake8. Add link to documentation page. Implement some code review comments. Add description on doc/index.rst Add state transition capability in latiss_mock Add salobj and idl in ups table. Add information on the README.md file. Moved existing classes and mocks from ts_standardscripts to ts_observatory_control. Renamed ATTCS -> ATCS (Telescope counted twice) Improved unit tests so they execute faster. Add placeholder for Main Telescope Control System class. Add Jenkinsfile for CI job.
* develop: Add conda packaging files. Update `LATISS` class to the latest xml interface. Fix close method on `LATISSMock` to close all `Controllers`. Add sleep on close methods to give test routine time to close out some pending tasks. pytest was issues a warning without that sleep.
* develop: Update version history. Fix "F541 f-string is missing placeholders" violations. Improve Jenkinfile.conda build script to label builds as "dev" when not building a tag.
* develop: (24 commits) Temporary fix until better endOfReadout messages are available. Add usages for ComCam. Fixes to ComCam mock class. Adding placeholder for filter operations. Expand image functions to handle sensors parameter. Switch to BaseCamera base class. Fix bug in BaseCamera::setup_instrument. Handle new arguments for takeImages. Initial commit of ComCam class. Add "persistent" option to `offset_azel` and `offset_xy` to support offsets that are retained between slews. Option still needs to be implemented. Implement PR comments. Add BaseCamera class. Update LATISS to use the new base class. Improve abstraction on some BaseTCS methods. Improve resource isolation (using the check namespace) in BaseTCS. Update version history. Disable concurrent builds in Jenkins. Update dome interface. Flush in position events from newmtmount and rotator before sending command if stopping before slew. Fix mtmount in position event. Implement some improvements in position logging in monitor_position. Implement last set of code review comments. Fix `doc/config.py`. Add a stage in the Jenkinsfile that will start a build in ts_standardscripts. Add new BaseTCS class to encapsulate basic TCS behavior from ATCS and MTCS. ...
* develop: Implement first round of PR review comments. Implement new documentation schema. Add user-manual section. Add developer-guide section. Add new feature to `RemoteGroup.set_state` to allow users to set the state of individual or a subgroup of CSCs.
* develop: Fix f-string in comcam_mock. Add `UsagesResources` class. The class provides a better interface for developers to encode use case information to control/reduce resources needed for operating with the control classes. Implement new `UsagesResources` class on existing classes: ATCS, LATISS, ComCam, MTCS. Fix MTCS and ATCS mock to be backward-compatible with pointing interface. Change the interface for setting up rotator angle in slew_icrs. It will now use rot_type to specify the kind of strategy. Fix rotator strategy to work for MT (prime focus instrument) and AT (nasmyth instrument). Add new rotator strategy, Physical, which will keep the rotator at fixed position. Implement unit testing for all rottype options. Cleanup unnecessary code. Update Documentation with new interface for the slew commands. Remove MTDome and replace with Dome until renaming is completed. (+2 squashed commits) Squashed commits: [3ec0dfe] Adds a backward compatible fix to the new pointing interface (where we replaced strings for floats on some topic attributes). [1648bda] Reformatted (split up) documentation, specifically the user guide. Grouped classes according to telescope, also make one page per class.
* develop: Added get_status to latiss class, which returns the current spectrograph setup. Added acts and latiss constants files. Move check_tracking to base_tcs. Test check_tracking in test_mtcs. Update version history.
* develop: Remove use of features marked for deprecation in salobj 6. Fix copyright messages that had ts_standardscripts as the source package. Use ts-conda-build metapackage to build conda packages.
* develop: Implement fixes needed for xml 7 compatibility.
* develop: Implement PR review suggestions. Implement changes required by xml 7.1: * Removes NewMTMount (replaced by MTMount) * Update MTMount topics names and attributes. Improve error messages when heartbeat monitor fails. Improve error messages when slew/track target commands fails. Stop using pytest-black as it doesn't work with scons. DM-27663: Update ts_observatory_control other packages to stop using Rotator application topic Remove usage of deprecated rotator application topic in favor of rotation. Remove pre-commit hook and add pre-commit configuration. Add pytest-back. Improve data initialization in mtcs_mock. Implemented Jenkins shared library
* develop: Implement PR review comments. Update headers on all files to "Vera Rubin Observatory" instead of "LSST". DM-28456: Bug fixes in the upstream versions of ts_observatory_control and ts_standardscripts
* develop: Fix typo in calling `self._offset` in `BaseTCS.offset_xy`. If documentation fails to build/push mark build as unstable instead of failure.
* commit '802fc4629213b5123d3e93fcdcaf15d5864201b7': Update `docs/conf.py`. Update version history. Implement xml 7/8 compatibility. Fix `add_point_data` in BaseTCS. Fix timeout in opening/closing the dome. Add enable atspectrograph ATAOS correction in `ATCS.prepare_for_onsky`.
* develop: Updated plate scale to correct math error. Modify latiss_constants.py to include a sweetspot for the hologram. Also to make the platescale consistent.
* develop: Fix missing event "focusNameSelected" in MTCS and ATCS Usages. Implement PR review comments. Update version_history. Add workaround to edge condition while homing the ATDome. If the dome is pressing the home switch and we send a home command, it will simply register the dome as homed and won't send any event to indicate the activity is complete. Add method to rest all offsets in base_tcs. Add set_rem_loglevel method in RemoteGroup, that allows users to set the log level for the remotes loggers. Fix "restore check" feature in prepare for flats. Fix direction of PhysicalSky rotator strategy. Update ATCS to support specifying rotator park position and flat field position. When using point_azel to slew the telescope for a safe position, use the current nasmyth position. Fix setting rotFrame in xml7/8 compatibility mode. Add debug messages to rotPA. Update ronchi170lpmm sweet spot. Support differential ra/dec tracking.
* develop: Update version history. Fix docstring in reset_offset to make it clear it is pointing offset. Update documentation to reflect the deprecation of the `persistent` flag and the introduction of the `absorbed` flag in offset commands. Implement unit test for offset commands. Replace usage of `asynctest.TestCase` with `unittest.IsolatedAsyncioTestCase`. In BaseTCS offset methods: * Deprecate persistent flag * Add absorb flag. Add offset_azel_grid figure. Fix offset_xy_example figure. Implement additional PR review comments. Implement PR review comments. Adopt `relative=True` as the default for offset commands. DM-29197: Improve documentation on offset command relative and persistent options. Fix version history.
* develop: * Reformat code using black 20. * Pin version of ts-conda-build to 0.3 in conda recipe. * Add pytest-black.
* develop: In ATCS, do not clear `dome_az_in_position` asyncio.Event. Implement PR review comments. Rollback rotator park position to 0. degrees. DM-28530: Add ready_to_take_data functionality in ts_observatory_control.
* develop: Update version history. Add documentation about new coordinate transformation facility. Implement publish heartbeat loop in `BaseGroupMock`. Fix issue closing ATCSMock class. Using `asyncio.wait_for` is also causing some issues at close time. Replace it with a slightly dumber but more reliable procedure in `BaseGroupMock`. Rename `utils.parallactic_angle` method to `utils.calculate_parallactic_angle` and update docstring. Add Coordinate transformation functionality to `BaseTCS` class to allow transformation or Az/El to Ra/Dec and vice-versa. Add method to compute parallactic angle from ra/dec to `BaseTCS`. Add new `DryTest` usage to `MTCS` class that allows creating the class without any remote (useful for unit testing). Update rotator strategies to use new pointing facility features. It is now possible to keep the rotator at a fixed orientation while tracking a target in az/el. Expose azimuth wrap strategy to the users.
* develop: DM-29930: Fix docstring in ts_observatory_control ATCS. offset_xy. Making requested fix. Add offline function for RemoteGroup. Address review comments. Update version history. Speed up unit tests. Add filter setting/getting capability.
* develop: Update version history. Update `MTCSUsages.All` to include missing events/telemetry. In `ATCS.close_m1_cover`, flush `m1CoverState` before sending the command. Fix close method in `RemoteGroup` to only close the domain if it was not given by the user.
* develop: DM-30309: Update ts_observatory_control emulators to publish data useful for INRIA.
* develop: Update version history. Fix absorb offset_azel. * Update how `BaseTCS._slew_to` handle `check`. This fixes an issue where calling `prepare_for_onsky` and `prepare_for_flatfield` would leave the users check attribute in a different state than that set by the user. This was also causing the `prepare_for_onsky` method to not open the dome. Fix checking that ATDomeTrajectory is in DISABLE while moving the dome.
* develop: In test_mtcs.py user `RotType.Sky` to make tests more reliable. The MainTelescope rotator has a more restringing rotator angle which causes this unit tests to fail depending on the time the test runs if run with the default setting. I will make appropriate tests in the future to test both conditions. Update version history. Add check that ccw following mode is enabled when doing a slew activity. Add support for enabling/disabling CCW following mode. Refactor ATCS unit tests to use `DryTest` mode (no remotes) and mock the expected behavior with `unittest.mock`. This allows the unit tests to run much more quickly and reliable. The old unit tests relying on DDS will be converted to integration tests. Refactor MTCS unit tests to use `DryTest` mode (no remotes) and mock the expected behavior with `unittest.mock`. This allows the unit tests to run much more quickly and reliable. The old unit tests relying on DDS will be converted to integration tests. Add support in `RemoteGroup` and `BaseTCS` to support setting up the class when there is no event loop running. In `ATCS._slew`, pass in the internal `check` to `monitor_position`.
* develop: Update version history. In ATCS add functionality to stop the monitor position loop. Add object storing and finding facility to BaseTCS. In ATCS update algorithm to open m1 cover.
* develop: Update version history. In `BaseTCS`, implement small fixes to `find_target` and `object_list_get`. Change `find_target` defaults so query is not blocked by Simbad server. Fix `ATCS.open_valve_instrument` to call `cmd_openInstrumentAirValve` instead of `cmd_m1OpenAirValve`. In `ATCS.usages`, add mainDoorState event to the list of required events on atdome. In `ATCS.open_m1_cover` use `open_valve_main` instead of `open_valves`. Only main valve needs to be open to open the m1 cover. In `ATCS.prepare_for_onsky`, stop enabling the components and add a check that all components are in enabled state. In `ATCS.prepare_for_flats`, add a step to verify that all components are in enabled state. In `RemoteGroup` implement `assert_all_enabled` method to verify that all components in the group are in enabled state. In `ComCam` implement `get_available_instrument_setup`. In `LATISS`, implement `get_available_instrument_setup`. In `BaseCamera`, add new abstract method `get_available_instrument_setup`.
* develop: Update version history. Add `DryTest` to `LATISSUsages`. This is useful for unit testing. In open/close m1 cover and vents check that m1 correction is disable before proceeding. Add feature to check that ATAOS m1 correction is disabled. In `BaseTCS.find_target` fix magnitude range to use input parameter instead of hard coded value.
* develop: (47 commits) Update version history. Increase timeout in open/close m1 cover. add focusNameSelected. to startUp usages. In ATCS add ataos `correctionEnabled` event to usages. In `ATCS` add atdometrajectory followingMode event as a dependency to usages. In `ATCS` update `prepare_for_onsky` to allow enabling dome following at the end. Make `ATCS` more resilient when the dome following is disabled. Update version history. Implement PR review comments. In MTCS, add longer timeout for raising/lowering the system. In `test_mtcs` implement `test_check_mtm1m3_interface`. In `MTCS` implement `reset_m2_hexapod_position`. In `MTCS` implement `reset_camera_hexapod_position`. In `MTCS` implement `move_m2_hexapod`. In `MTCS` implement `move_camera_hexapod`. In `MTCS` implement `enabled_compensation_mode` and `disable_compensation_mode`. In `MTCS` implement `reset_m2_forces`. In `MTCS` implement `enable_m2_balance_system`. In `MTCS` implement `reset_m1m3_forces`. In `MTCS` omplement enable_m1m3_balance_system. ...
* develop: (23 commits) Update version history. Run isort on all project files and fix import issues. In ComCamMock, fix type annotation for end_readout_coro to be compatible with mypy 0.941 and 0.971. In LATISSMock, fix type annotation for end_readout_coro to be compatible with mypy 0.941 and 0.971. Update ``ATCS`` unit test to use the new ``ATCSAsyncMock`` class. Note that the new class provide better support for some of the class functionality. For instance, the class enabled the check of the summary state of the component during operations that check that the components are enabled. This required us to add calls to ``atcs.enable`` on several of those tests, to enable the ATCS components before running the test. Add new ``ATCSAsyncMock`` class that implements ``RemoteGroupAsyncMock`` for ``ATCS``. As with ``MTCS`` this new mock class implements the bulk of the unit testing facility required by the ``ATCS`` class. In ``RemoteGroupAsyncMock``, add ``get_all_checks`` method that creates a copy of the ``check`` attribute from the ``remote_group``. This method is used in the ``ATCS`` unit test and we are moving it here in anticipation of adding an ``ATCSAsyncMock`` class to host the unit tests facility for the class. In ``RemoteGroupAsyncMock`` override super class ``run`` method to setup random DDS partition prefix and set LSST_SITE. Update ``MTCS.reset_m1m3_forces`` unit test to account for update to using ``mtm1m3.cmd_clearActiveOpticForces`` instead of setting forces to zero. Update ``MTCS.reset_m1m3_forces`` to use ``mtm1m3.cmd_clearActiveOpticForces`` instead of setting the forces to zero. In `MTCS` add compatibility with xml>12. The main breaking change is the convertion of the event `evt_appliedBalanceForces` into telemetry. Update ``MTCS`` unit test to use the new ``MTCSAsyncMock`` class. Add new ``MTCSAsyncMock`` class that implements ``RemoteGroupAsyncMock`` for ``MTCS``. This class implements the bulk of mock operations required to unit test the ``MTCS`` class and will replace the setup done on the unit test. Contains compatibility with xml>12, by checking if ``evt_appliedBalanceForces`` is part of M1M3 interface and setting it as telemetry if not. In ``RemoteGroupAsyncMock.set_summary_state_for``, fix ``set_summary_state`` to append a copy of summary state to the ``summary_state_queue``. In ``RemoteGroupAsyncMock.next_summary_state_for``, fix ``next_summary_state`` to return the value of ``summary_state`` instead of popping the value from ``summary_state_queue``. In ``RemoteGroupAsyncMock.get_side_effects_for``: - Change return type to ``Dict[str, Any]``. - Stop wrapping side effects in mocks. - Add side effect to handle flushing events. Add ``RemoteGroupAsyncMock.flush_summary_state_for`` to create a side effect to mock the ``flush`` method. In ``RemoteGroupAsyncMock.get_spec_from_topics``, add ``DataType`` to topic spec. In ``RemoteGroupAsyncMock.set_component_commands_arguments``, fix filtering of which topics are commands. In ``RemoteGroupAsyncMock.get_component_topics``, add "tel_" prefix to telemetry topics. ...
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.