realtimeradio / vla-dev

Ethernetization/Channelization Firmware for the VLA-COSMIC FPGA system
GNU General Public License v3.0
1 stars 3 forks source link

Merge in improvements to delay tracking #29

Closed talonmyburgh closed 1 year ago

talonmyburgh commented 1 year ago

F-Engine object initialises to a state where the delay tracking threads are instantiated but not started.

Once started with start_delay_tracking() the delay tracking thread is in a state of "calibration" where it will load only calibration delays.

Setting the delay track event (.delay_track.set()) will that change the delay tracking behaviour to apply geometric delays in conjunction with calibration delays.

This delay tracking thread will also listen for new delays published on {antname}_delays and {antname}_calibration_delays channels for updates to the calibration and geometric delays. When no messages are received, the delay tracking thread will interpolate geometric delays off of the last received geometric coefficients and apply those at a certain cadence.

When the thread is stopped with stop_delay_tracking(), the thread is closed, the delay_track.clear(), and the phaserotate and delay blocks are initialised (cleared). The F-Engine object also unsubscribes from the redis channels (no longer listening for delay updates).