Releases: sdss/archon
Releases · sdss/archon
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
--debug
flag to change message level.
🔧 Fixed
- Deal with controller without Lines or Pixels params.
archon 0.6.1
🚀 New
- #40
ArchonController.write_config()
now acccepts anoverrides
dictionary with keywords to be replaced in the ACF file. The format is similar toArchonController.write_line()
. If a sectionarchon.acf_overrides
is present in the configuration file, those overrides will be applied when theinit
command 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_overrides
must be a dictionary with either aglobal
section (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|abort
are notexpose --no-readout
,readout
, andabort
respectively.expose
without--no-readout
will expose and readout all in the same command.- Removed
lvm
submodule. Uselvmscp
instead.
🚀 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
yao
and more generally to implement external packages that use the library and the actor. - Added
power on|off
anddisconnect
commands. - Support
enabled_controllers
config keyword
✨ Improved
expose finish --header
now 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
init
command does a better job at understanding relative paths. acf_file
in 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 timearchon
is 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 init
when the daemon is restarted. - Added script for ~800MHz readout.
- Use
framemode=split
and rearrange taplines to allow proper display in the GUI.
archon 0.5.0
🚀 New
- #29 Support binning.
- #30 HDR (32-bit sampling) mode can be enabled when loading the script by running
archon init --hdr [<script>]
.
✨ Improved
archon init
accepts an optional parameter to define the ACF script to load.- #31 Tests for the actor.
🔧 Fixed
- Fixed error when moving shutter or hartmann doors manually.
archon 0.4.0
🚀 New
- Added
--count
flag tolvm expose
to support multiple consecutive exposures. - Support for the three LVM CCDs.
✨ Improved
- Always close connections to remote TCP services to prevent leaving unclosed file descriptors.
- Read pressure sensors concurrently.
- Update LVM lamps.
🔧 Fixed
- Improve how auto-flushing is implemented. In its previous mode,
FlusOne
would often be called once between exposing and reading out, introducing an offset in the lines that manifested as a lines overscan of ~90 lines. The new implementation allows to disable auto-flushing before an exposure begins.
archon 0.3.0
🚀 New
- #21 Implemented profiles for LVM and BOSS (placeholder).
- #22 Implement custom LVM expose delegate along with a group of
lvm
commands to control the shutter, hartmann doors, and to expose using the shutter. - #23 Refactor expose actor code into an
ExposeDelegate
that allows for more flexible customisation. - #26 Use the furo theme for the documentation.
- Add option to define additional header keywords in the configuration file that read values from the actor keyword datamodel.
- Add
lvm-lab
script for laboratory testing. POWERON
andPOWERBAD
controller status bits.- Code to log LVM exposures in Google Sheets.
🔧 Fixed
- Require
sdss-clu>=0.7.8
to allowarchon expose finish --header
to work with strings that have spaces. It should now be possible to pass commands likearchon expose finish --header '{"KEYWORD1": [1, "A comment"]}'
. For header keyword values that are a list of value and comment, the list is converted into a tuple internally so thatastropy
can parse it correctly.
🧹 Cleanup
- #17 Handle actor shutdown more gently when it is started from the CLI either in debug mode or as a daemon.
archon 0.2.1
- 🐛 Fix Docker creation for tags.
archon 0.2.0
- 🔧 Basic documentation.
- ✨ Add actor command
reconnect
that allows to recreate the TCP/IP connection to one or multiple controllers. If the controller cannot be connected when the actor starts, a warning is issued but the actor will be created (#10). - 🔧 Use GitHub Container Registry instead of Docker Hub.
- ✨ Read the Govee H5179 temperature and humidity and write a basic FITS header (#11).
- ✨ Add
ArchonController
methods toabort
,read out
, andflush
an exposure. Actorexpose
command now acceptsexpose start
andexpose finish
to allow for non-blocking integration. Better handling of status flags.
archon 0.1.0
- Initial version of the library and actor. Supports communication with the Archon controller, Archon command tracking and reply parsing, and basic actor functionality, including exposing.
- Build and push docker image to lvmi/archon.