All notable changes to this project will be documented in this file.
- The new
correlator_file_queues
andcorrelator_file_eod
tables to track the internal file handling in the correlator and the handoff to RTP. - A new
hera_auto_spectrum
table to hold the full autocorrelation spectra, rather than just the median values that are currently recorded inhera_autos
table. - A new
correlator_catcher_file
table to track the files written by the catcher. - A
tag
column to thehera_obs
table. - A new
snap_feng_init_status
table to track whether SNAPs worked properly, errored, or were exluded because there were too many SNAPs during F-engine initialization. - New columns
is_programmed
,adc_is_configured
,is_initialized
,dest_is_configured
,version
, andsample_rate
, to thesnap_status
table and added a newsnap_input
table that breaks out the snap inputs (either "adc" or "noise-%d" where %d is the seed) for each snap channel. - A new
array_signal_source
table that contains array-wide information about the commanded signal source (one of "antenna", "load", "noise", "digital_same_seed", or "digital_different_seed"). - A new
correlator_component_event_time
table that records when correlator components had an event related to normal observing (f-engine sync, x-engine integration start, catcher start, stop or stop identified via a timeout).
- Dropped support for python 3.7.
- The logic for time filtering in real time getter methods in mc_session to support getting the most recent table entries at some point in the past (the last value before the time of interest)
- Fixed incompatibilities with SQLAlchemy 2.0.
- The following table bindings were removed (but the tables will not be deleted on site):
correlator_control_state
,correlator_control_command
,correlator_take_data_arguments
,correlator_config_command
- Added
cm_active.get_active
as a courtesy function to return a single ActiveData object without setting up an explicit session. If one wants many, one should setup a session using the context manager and use the ActiveData class directly. - Added
cm_hookup.get_hookup
as a courtesy function to return a dictionary of hookup dossiers without setting up an explicit session. If one wants many, one should setup a session using the context manager and use the Hookup class directly.
- The classes
cm_hookup.Hookup
,cm_active.ActiveData
, andcm_handling.Handling
all now require an explicit session to be passed to them. This changes the standard way these classes have been used and breaks the API. Forcm_active
andcm_hookup
see the new courtesy functions above -- generally you can call those once for the broad set of data you want. - Functions and methods in the files
cm_revisions.py
andcm_sysutils.py
have generally been changed to require an explicit session to be passed, however that is not necessarily uniform so if you import either you should check the specific functions called.