Station Self Check Tests subpackage
This subpackage implements station functionality for MCCS.
- class BaseDaqTest(component_manager, logger, tile_trls, subrack_trls, daq_trl)
Base class for a generic DAQ test.
- __init__(component_manager, logger, tile_trls, subrack_trls, daq_trl)
Initialise a new instance.
- Parameters:
logger (
Logger) – a logger for this model to use.subrack_trls (
list[str]) – trls of subracks the station has.daq_trl (
str) – trl of the daq the station has.component_manager (
SpsStationComponentManager) – SpsStation component manager under test.
- check_requirements()
Check we have at least one TPM and a DAQ.
- class BasicTangoTest(component_manager, logger, tile_trls, subrack_trls, daq_trl)
A basic test to show we can connect to proxies.
- check_requirements()
Check we have at least one TPM.
- class InitialiseStation(component_manager, logger, tile_trls, subrack_trls, daq_trl)
Test we can initialise and synchronise tiles correctly.
TEST STEPS
- Initialise the station. This should iterate through each of your tiles
and initialise each of them.
Verify each tile has reached the INITIALISED state.
- Synchronise the station. This should iterate through each of your tiles
and synchronise each of them to the same reference time.
Verify each tile has reached the SYNCHRONISED state.
TEST REQUIREMENTS
- Every SPS device in your station must be in adminmode.ENGINEERING, this is
common for all tests.
Your station must have at least 1 TPM.
Your station must be DevState.ON.
- check_requirements()
Check test requirements.
Station is in state tango.DevState.ON
Station has at least one Tile.
- class TestAntennaBuffer(component_manager, logger, tile_trls, subrack_trls, daq_trl)
Test we can read data from the Antenna Buffer to the DAQ correctly.
TEST STEPS
Configure data to read from the antenna buffer.
Set up the antenna buffer.
Start recording to the buffer.
Read from the buffer.
Verify that the data is correct.
TEST REQUIREMENTS
- Every SPS device in your station must be in adminmode.ENGINEERING, this is
common for all tests.
Your station must have at least 1 TPM.
Your TPMs must be synchronised.
You must have a DAQ available.
- test_fpga(fpga_id=0, tile_ids=None, start_address=536870912, timestamp_capture_duration=75)
Test data stream from the Antenna Buffer to DAQ.
- class TestBeam(component_manager, logger, tile_trls, subrack_trls, daq_trl)
Test we can send beam data from the TPMs to DAQ correctly.
TEST STEPS
Configure DAQ to be ready to receive beam data from your TPMs.
Configure the pattern generator on each TPM to send a basic repeating pattern.
- Send data from each of TPM in sequence, collating the data into a single data
structure.
Verify the data received matches the input repeating pattern.
TEST REQUIREMENTS
- Every SPS device in your station must be in adminmode.ENGINEERING, this is
common for all tests.
Your station must have at least 1 TPM.
Your TPMs must be synchronised.
You must have a DAQ available.
- class TestChannel(component_manager, logger, tile_trls, subrack_trls, daq_trl)
Test we can send channel data from the TPMs to DAQ correctly.
TEST STEPS
Configure DAQ to be ready to receive channel data from your TPMs.
Configure the pattern generator on each TPM to send a basic repeating pattern.
- Send data from each of TPM in sequence, collating the data into a single data
structure.
Verify the data received matches the input repeating pattern.
TEST REQUIREMENTS
- Every SPS device in your station must be in adminmode.ENGINEERING, this is
common for all tests.
Your station must have at least 1 TPM.
Your TPMs must be synchronised.
You must have a DAQ available.
- class TestIntegratedBeam(component_manager, logger, tile_trls, subrack_trls, daq_trl)
Test we can send beam data from the TPMs to DAQ correctly.
TEST STEPS
Configure DAQ to be ready to receive beam data from your TPMs.
Configure the pattern generator on each TPM to send a basic repeating pattern.
- Send data from each of TPM in sequence, collating the data into a single data
structure.
Verify the data received matches the input repeating pattern.
TEST REQUIREMENTS
- Every SPS device in your station must be in adminmode.ENGINEERING, this is
common for all tests.
Your station must have at least 1 TPM.
Your TPMs must be synchronised.
You must have a DAQ available.
- check_requirements()
Skip test due to known bug.
- class TestIntegratedChannel(component_manager, logger, tile_trls, subrack_trls, daq_trl)
Test we can send channel data from the TPMs to DAQ correctly.
TEST STEPS
Configure DAQ to be ready to receive channel data from your TPMs.
Configure the pattern generator on each TPM to send a basic repeating pattern.
- Send data from each of TPM in sequence, collating the data into a single data
structure.
Verify the data received matches the input repeating pattern.
TEST REQUIREMENTS
- Every SPS device in your station must be in adminmode.ENGINEERING, this is
common for all tests.
Your station must have at least 1 TPM.
Your TPMs must be synchronised.
You must have a DAQ available.
- class TestRaw(component_manager, logger, tile_trls, subrack_trls, daq_trl)
Test we can send raw data from the TPMs to DAQ correctly.
TEST STEPS
Configure DAQ to be ready to receive raw data from your TPMs.
Configure the pattern generator on each TPM to send a basic repeating pattern.
- Send data from each of TPM in sequence, collating the data into a single data
structure.
Verify the data received matches the input repeating pattern.
TEST REQUIREMENTS
- Every SPS device in your station must be in adminmode.ENGINEERING, this is
common for all tests.
Your station must have at least 1 TPM.
Your TPMs must be synchronised.
You must have a DAQ available.
- class TestResult(value)
Enumerate for test results.
- class TestStationBeamDataRate(component_manager, logger, tile_trls, subrack_trls, daq_trl)
Test the station beam data rate.
TEST STEPS
Configure the beamformer table for your TPMs to be for the full bandwidth
Start the beamformer.
Measure the data rate from DAQ for 1 min, comparing to expected rate.
Repeat for n iterations.
TEST REQUIREMENTS
Every SPS device in your station must be in adminmode.ENGINEERING, this is common for all tests.
Your station must have at least 1 TPM.
Your TPMs must be synchronised.
You must have a DAQ available.
- test()
Test to verify station beam data rate for a number of iterations.
- Raises:
AssertionError – if the data rate is not as expected.
- Return type:
- class TestTileBeamformer(component_manager, logger, tile_trls, subrack_trls, daq_trl)
Test the tile beamformer on each TPM.
TEST STEPS
Configure DAQ to be ready to receive beam data from your TPMs.
Send beam data for each antenna in sequence.
Collate the data into a single data structure.
Choose a random reference antenna and polarisation.
Calibrate the TPMs to phase all antennas to the reference antenna.
Resend the beam data for each antenna in sequence.
Collate the data into a single data structure.
Verify the data is now aligned with the reference antenna.
Send beam data for all antennas at the same time.
Collate the data into a single data structure.
Verify the data is now 16 times stronger than for just 1 antenna.
TEST REQUIREMENTS
Every SPS device in your station must be in adminmode.ENGINEERING, this is common for all tests.
Your station must have at least 1 TPM.
Your TPMs must be synchronised.
You must have a DAQ available.
- __init__(component_manager, logger, tile_trls, subrack_trls, daq_trl)
Initialise a new instance.
- Parameters:
logger (
Logger) – a logger for this model to use.subrack_trls (
list[str]) – trls of subracks the station has.daq_trl (
str) – trl of the daq the station has.component_manager (
SpsStationComponentManager) – SpsStation component manager under test.
- class TestTilePointing(component_manager, logger, tile_trls, subrack_trls, daq_trl)
Test the tile beamformer on each TPM.
TEST STEPS
Configure DAQ to be ready to receive beam data from your TPMs.
Send beam data from each TPM with zero delays in the test generator.
Send beam data from each TPM with random delays in the test generator.
Correct the beam data using pointing delays.
Compare the corrected beam data with the reference beam data.
TEST REQUIREMENTS
Every SPS device in your station must be in adminmode.ENGINEERING, this is common for all tests.
Your station must have at least 1 TPM.
Your TPMs must be synchronised.
You must have a DAQ available.
- __init__(component_manager, logger, tile_trls, subrack_trls, daq_trl)
Initialise a new instance.
- Parameters:
logger (
Logger) – a logger for this model to use.subrack_trls (
list[str]) – trls of subracks the station has.daq_trl (
str) – trl of the daq the station has.component_manager (
SpsStationComponentManager) – SpsStation component manager under test.
- class TpmSelfCheckTest(component_manager, logger, tile_trls, subrack_trls, daq_trl)
Base class for Tpm self check tests.
- __init__(component_manager, logger, tile_trls, subrack_trls, daq_trl)
Initialise a new instance.
- Parameters:
logger (
Logger) – a logger for this model to use.subrack_trls (
list[str]) – trls of subracks the station has.daq_trl (
str) – trl of the daq the station has.component_manager (
SpsStationComponentManager) – SpsStation component manager under test.
- check_requirements()
Check requirements for the test before running.
- run_test()
Run the self-check test, collect results.
- Return type:
- Returns:
test result.
- abstract test()
This should be written by sub-classes.
- Raises:
NotImplementedError – this is abstract.
- Return type: