Releases: sdss/archon
Releases · sdss/archon
archon 0.11.0
💥 Breaking changes
#44 Allow exposure times longer than 1,000 seconds. This requires a change in how the ACF timing scripts are written to support setting the exposure time in centiseconds. See the PR description for details. Do not update to this version without updating the ACF file as well!
archon 0.10.0
✨ Improved
- Added
expose --async-readoutflag that finishes the expose command as soon as readout begins. - Added
wait-until-idlecommand that returns once the spectrographs are idle.
🏷️ Changed
- Do not set the
ERRORstatus in the controller ifArchonController.get_device_status()orArchonController.get_system()time out. ExposureDelegate.readout()will fail is any controller is still exposing.
🔧 Fixed
- Prevent controller state to briefly go to
IDLEbefore changing to a non-idle status.
archon 0.9.0
🚀 New
- DT-4 Allow to create checksum files for each newly written images. To enable, add a
checksumsection to the configuration file withchecksum.write: true. The mode of the checksum can be set withchecksum.modetomd5(default) orsha1. The file to which the checksum is appended can be defined withchecksum.file, which default to the SJD with extension.sha1sumor.md5sumdepending on the checksum mode.
archon 0.9.0b1
🚀 New
- Upgrade
CLUto2.0.0b2and add theget-command-modelcommand.
archon 0.8.0
✨ Improved
- Allow to run
LOADTIMINGwithoutAPPLYALLafter an init. - Output filenames as a single keyword.
- Add
ArchonController.send_and_wait(). - Allow choosing what
APPLYXXXcommands to send on init.
🔧 Fixed
- Fix overwriting of images when readout done independently. The
nextExposureFilewas not being increased in that case.
⚙️ Engineering
- Support Python 3.11.
- Update test and docker workflows. The docker image now uses
python:3.11-slim-bullseye.
archon 0.7.0
🚀 New
RESETTIMINGis no longer user, which should prevent race conditions in some circumstances.- Add a
pre_exposurehook to the delegate. - Added
--no-writeflag toexpose.
✨ Improved
- HDUs are now written to a temporary file first which is then renamed to the final file name.
- It is now possible to defined the controller class in the actor and to pass the configuration to use to the controller.
archon 0.6.2
✨ Improved
- Add backplane ID and version to header.
- Allow to exclude some cameras from writing.
- Allow to use SJD for path.
- Add status
--debugflag to change message level.
🔧 Fixed
- Deal with controller without Lines or Pixels params.
archon 0.6.1
🚀 New
- #40
ArchonController.write_config()now acccepts anoverridesdictionary with keywords to be replaced in the ACF file. The format is similar toArchonController.write_line(). If a sectionarchon.acf_overridesis present in the configuration file, those overrides will be applied when theinitcommand is called. This allows to define a single ACF file but tweak some parameters depending on the controller to which it is sent.archon.acf_overridesmust be a dictionary with either aglobalsection (overrides sent to all controllers) or sections for each controller name. - Add
ExposureDelegate.expose_cotasks()for tasks that should be run during integration. This is useful to grab sensor data that could change as readout begins, for example lamp status, but there is no promise that theexpose_cotasks()will be waited or that will complete before readout begins.
✨ Improved
ExposureDelegate.expose()always blocks, even ifreadout=False, and closes the shutter at the end of the exposure time.- The Archon buffer read is saved to the header of the images.
archon 0.6.0
💥 Breaking changes
expose start|finish|abortare notexpose --no-readout,readout, andabortrespectively.exposewithout--no-readoutwill expose and readout all in the same command.- Removed
lvmsubmodule. Uselvmscpinstead.
🚀 New
- #38
ArchonController.write_line()allows to set and apply a line in the configuration file without reloading it completely. - #39 Support windowing.
- Archon power status is now reported as part of the status and overall better handled.
- Some refactoring to support
yaoand more generally to implement external packages that use the library and the actor. - Added
power on|offanddisconnectcommands. - Support
enabled_controllersconfig keyword
✨ Improved
expose finish --headernow accepts a JSON-like dictionary in which a keyword can be the name of a detector. In that case the contents of that keyword are only added to the detector with that name.- The
initcommand does a better job at understanding relative paths. acf_filein the configuration can be a dictionary of controller to file.
archon 0.5.1
✨ Improved
- #32 Expand the default header with information about gain, readout noise, bias section, etc.
- #24 Added
ExposureDelegate.readout_cotasks()that can be overridden to execute tasks concurrently during readout. The LVM delegate now reads temperatures and IEB data at this point. - #34 The path to the last ACF file written to the controller is stored in the user configuration file (usually at
~/.config/sdss/archon.yaml) from where it's read when the controller starts. This prevents having to initialise the controller every timearchonis restarted (with the corresponding power cycling of the CCDs) just to update the ACF path, but it introduces a certain risk that the ACF stored in the configuration file and the one loaded are actually different. In general it's still recommended to do anarchon initwhen the daemon is restarted. - Added script for ~800MHz readout.
- Use
framemode=splitand rearrange taplines to allow proper display in the GUI.