Stop Channelised Data Test
Purpose
This test was written to verify that the modifications to the firmware made in JANUS-271 (released in version 8.0.0) and JANUS-387. The modifications were made to enable the safe stoppping of burst and continuous mode channelised data transmissions using stop_data_transmission() tile method. This is verified by first stopping a frequency sweep or single frequency data mid-way and then requesting another and verifying its SPEAD header contents. The SPEAD packets are captured using the DAQ receiver; which passes the SPEAD header metadata to the test via a callback. Given below is the SPEAD header specification which is verified in this test.
NOTE: This test operates on all TPMs in a station individually (when single_tpm_id=-1). For data acquisition to function correctly, the network interfaces on the TPM must be working, as well as the link to the LMC destination. The LMC destination must be configured to route traffic to the server running the tests. For all tests the simplest option is for the CSP and LMC destinations to be the same network interface, routing all traffic to the server running the tests.
Methodology
Establish connection to the station and specified TPM(s).
Configure and initialise the DAQ receiver with the required UDP port and network interface.
Start the DAQ for the relevant channelised data mode consumer (burst_channel or cont_channel).
Request a frequency sweep (burst_channel) or single channel continuous data (cont_channel) and call stop_data_transmission() after 1 second.
Wait for callback from the DAQ for the aborted transmission.
Set expected values to the SPEAD header fields.
Request channelised data once more from the TPM.
Wait for the DAQ to callback, stop the data using stop_data_transmission if testing continuous mode.
Extract the spead header fields from the data callback.
Verify SPEAD header fields by comparing with the expected values.
Repeat steps 4-10 as many times as the ‘iterations’ argument of the test.
Repeat steps 4-11 for the other TPMs in the station (if single_tpm_id=-1).
Stop the DAQ and clean up temporary directory.