TalonDxComponentManager Class
The TalonDxComponentManager
is used to configure and start up Tango device servers
on the Talon boards. These actions are performed during the On command of the CbfController
.
Note that these actions are not executed when the simulationMode
of the CbfController
is
set to 1 (this is the default). Prior to sending the On command to the CbfController
, the
simulationMode
should be set to 0 if it is desired to test the command with the Talon
boards in the loop.
- class ska_mid_cbf_mcs.controller.talondx_component_manager.TalonDxComponentManager(talondx_config_path: str, hw_config_path: str, simulation_mode: SimulationMode, logger: Logger)[source]
Bases:
object
A component manager for the Talon-DX boards. Used to configure and start the Tango applications on the HPS of each board.
- configure_talons() ResultCode [source]
Performs all actions to configure the Talon boards after power on and start the HPS device servers. This includes: copying the device server binaries and FPGA bitstream to the Talon boards, starting the HPS master device server and sending the configure command to each DsHpsMaster.
- Returns:
ResultCode.FAILED if any operations failed, else ResultCode.OK
- _setup_tango_host_file() None [source]
Copy the hps_master_mcs.sh file from mnt into mnt/talondx-config
- Returns:
ResultCode.OK if all artifacts were copied successfully, otherwise ResultCode.FAILED
- _secure_copy(ssh_client: paramiko.SSHClient, src: str, dest: str) None [source]
Execute a secure file copy to the specified target address.
- Parameters:
ssh_client – SSH client for the Talon board we are trying to SCP to
src – Source file path
dest – Destination file path
- Raises:
SCPException – if the file copy fails
- _configure_talon_networking(talon_cfg) ResultCode [source]
Configure the networking of the boards including DNS nameserver and ifconfig for default gateway
- Returns:
ResultCode.OK if all artifacts were copied successfully, otherwise ResultCode.FAILED
- _copy_binaries_and_bitstream(talon_cfg) ResultCode [source]
Copy the relevant device server binaries and FPGA bitstream to each Talon board.
- Returns:
ResultCode.OK if all artifacts were copied successfully, otherwise ResultCode.FAILED
- _start_hps_master(talon_cfg) ResultCode [source]
Start the DsHpsMaster on each Talon board.
- Returns:
ResultCode.OK if all HPS masters were started successfully, otherwise ResultCode.FAILED
- _create_hps_master_device_proxies(talon_cfg) ResultCode [source]
Attempt to create a device proxy to each DsHpsMaster device.
- Returns:
ResultCode.OK if all proxies were created successfully, otherwise ResultCode.FAILED
- _configure_hps_master(talon_cfg) ResultCode [source]
Send the configure command to all the DsHpsMaster devices.
- Returns:
ResultCode.OK if all configure commands were sent successfully, otherwise ResultCode.FAILED
- shutdown() ResultCode [source]
Shutdown the DsHpsMaster device with shutdown code 3. For reference, shutdown command codes:
Child Tango DSs only
Child and HPS Master Tango DSs
Child and HPS Master Tango DSs, reboot Talon DX board
Child and HPS Master Tango DSs, shut down Talon DX board
- Returns:
ResultCode.OK if all configure commands were sent successfully, otherwise ResultCode.FAILED