openlifu.io.LIFUTXDevice.TxDeviceRegisters

class openlifu.io.LIFUTXDevice.TxDeviceRegisters(bf_clk: "Annotated[int, OpenLIFUFieldData('Clock Frequency (Hz)', 'The beamformer clock frequency in Hz.')]" = 10000000.0, _delay_profiles_list: "Annotated[List[Tx7332DelayProfile], OpenLIFUFieldData('Delay profiles list', 'Internal list of available delay profiles')]" = <factory>, _profiles_list: "Annotated[List[Tx7332PulseProfile], OpenLIFUFieldData('Pulse profiles list', 'Internal list of available pulse profiles')]" = <factory>, active_delay_profile: "Annotated[int | None, OpenLIFUFieldData('Active delay profile', 'Index of the currently active delay profile')]" = None, active_profile: "Annotated[int | None, OpenLIFUFieldData('Active pulse profile', 'Index of the currently active pulse profile')]" = None, num_transmitters: "Annotated[int, OpenLIFUFieldData('Number of transmitters', 'The number of transmitters available on the device')]" = 2, module_invert: "Annotated[List[bool] | bool, OpenLIFUFieldData('Module Invert', 'List of flags indicating whether to invert the pulse amplitude for each module or a single flag for all modules')]" = False)[source]

Bases: object

activate_delay_profile(profile: int = 1)[source]

Activates a delay profile

Parameters:

profile – Delay profile number

activate_pulse_profile(profile: int = 1)[source]

Activates a pulse profile

Parameters:

profile – Pulse profile number

active_delay_profile: Annotated[int | None, OpenLIFUFieldData('Active delay profile', 'Index of the currently active delay profile')] = None

Index of the currently active delay profile

active_profile: Annotated[int | None, OpenLIFUFieldData('Active pulse profile', 'Index of the currently active pulse profile')] = None

Index of the currently active pulse profile

add_delay_profile(delay_profile: Tx7332DelayProfile, activate: bool | None = None)[source]

Add a delay profile

Parameters:
  • p – Delay profile

  • activate – Activate the delay profile

add_pulse_profile(pulse_profile: Tx7332PulseProfile, activate: bool | None = None)[source]

Add a pulse profile

Parameters:
  • p – Pulse profile

  • activate – Activate the pulse profile

bf_clk: Annotated[int, OpenLIFUFieldData('Clock Frequency (Hz)', 'The beamformer clock frequency in Hz.')] = 10000000.0

The beamformer clock frequency in Hz. This much match the hardware clock frequency in order for calculated register values to produce the correct pulse and delay timting. Default is 64 MHz.

configured_delay_profiles() List[int][source]

Get the configured delay profiles

Returns:

List of delay profiles

configured_pulse_profiles() List[int][source]

Get the configured pulse profiles

Returns:

List of pulse profiles

get_delay_control_registers(profile: int | None = None) List[Dict[int, int]][source]

Get the delay control registers for all transmitters

Parameters:

profile – Delay profile number

Returns:

List of delay control registers for each transmitter

get_delay_data_registers(profile: int | None = None, pack: bool = False, pack_single: bool = False) List[Dict[int, int]][source]

Get the delay data registers for all transmitters

Parameters:

profile – Delay profile number

Returns:

List of delay data registers for each transmitter

get_delay_profile(profile: int | None = None) Tx7332DelayProfile[source]

Retrieve a delay profile

Parameters:

profile – Delay profile number

Returns:

Delay profile

get_pulse_control_registers(profile: int | None = None) List[Dict[int, int]][source]

Get the pulse control registers for all transmitters

Parameters:

profile – Pulse profile number

Returns:

List of pulse control registers for each transmitter

get_pulse_data_registers(profile: int | None = None, pack: bool = False, pack_single: bool = False) List[Dict[int, int]][source]

Get the pulse data registers for all transmitters

Parameters:

profile – Pulse profile number

Returns:

List of pulse data registers for each transmitter

get_pulse_profile(profile: int | None = None) Tx7332PulseProfile[source]

Retrieve a pulse profile

Parameters:

profile – Pulse profile number

Returns:

Pulse profile

get_registers(profiles: Literal['active', 'configured', 'all'] = 'configured', recompute: bool = False, pack: bool = False, pack_single: bool = False) List[Dict[int, int]][source]

Get the registers for all transmitters

Parameters:
  • profiles – Profile options

  • recompute – Recompute the registers

Returns:

List of registers for each transmitter

module_invert: Annotated[List[bool] | bool, OpenLIFUFieldData('Module Invert', 'List of flags indicating whether to invert the pulse amplitude for each module or a single flag for all modules')] = False

List of flags indicating whether to invert the pulse amplitude for each module or a single flag for all modules

num_transmitters: Annotated[int, OpenLIFUFieldData('Number of transmitters', 'The number of transmitters available on the device')] = 2

The number of transmitters available on the device

recompute_delay_profiles()[source]

Recompute the delay profiles

recompute_pulse_profiles()[source]

Recompute the pulse profiles

remove_delay_profile(profile: int)[source]

Remove a delay profile

Parameters:

profile – Delay profile number

remove_pulse_profile(profile: int)[source]

Remove a pulse profile

Parameters:

profile – Pulse profile number