hvl_ccb.dev.technix.device

Inheritance diagram of hvl_ccb.dev.technix.device

The device class Technix and its corresponding configuration class

class Technix(com, dev_config)[source]

Bases: SingleCommDevice

Device class to control capacitor chargers from Technix

static config_cls()[source]

Return the default configdataclass class.

Returns

a reference to the default configdataclass class

property current: Optional[Union[int, float]]

Actual current of the output in A

default_com_cls() Union[Type[TechnixSerialCommunication], Type[TechnixTelnetCommunication]][source]

Get the class for the default communication protocol used with this device.

Returns

the type of the standard communication protocol for this device

property inhibit: Optional[bool]

Is the output of the voltage inhibited? The output stage can still be active.

property is_started: bool

Is the device started?

property max_current: Union[int, float]

Maximal output current of the hardware in A

property max_voltage: Union[int, float]

Maximal output voltage of the hardware in V

property open_interlock: Optional[bool]

Is the interlock open? (in safe mode)

property output: Optional[bool]

State of the high voltage output

query_status(*, _retry: bool = False)[source]

Query the status of the device.

Returns

This function returns nothing

property remote: Optional[bool]

Is the device in remote control mode?

start()[source]

Start the device and set it into the remote controllable mode. The high voltage is turn off, and the status poller is started.

property status: Optional[_Status]

The status of the device with the different states as sub-fields

stop()[source]

Stop the device. The status poller is stopped and the high voltage output is turn off.

property voltage: Optional[Union[int, float]]

Actual voltage at the output in V

property voltage_regulation: Optional[bool]

Status if the output is in voltage regulation mode (or current regulation)

class TechnixConfig(communication_channel: Union[Type[hvl_ccb.dev.technix.base.TechnixSerialCommunication], Type[hvl_ccb.dev.technix.base.TechnixTelnetCommunication]], max_voltage: Union[int, float], max_current: Union[int, float], polling_interval_sec: Union[int, float] = 4, post_stop_pause_sec: Union[int, float] = 1, register_pulse_time: Union[int, float] = 0.1, read_output_while_polling: bool = False)[source]

Bases: object

clean_values()

Cleans and enforces configuration values. Does nothing by default, but may be overridden to add custom configuration value checks.

communication_channel: Union[Type[TechnixSerialCommunication], Type[TechnixTelnetCommunication]]

communication channel between computer and Technix

force_value(fieldname, value)

Forces a value to a dataclass field despite the class being frozen.

NOTE: you can define post_force_value method with same signature as this method to do extra processing after value has been forced on fieldname.

Parameters
  • fieldname – name of the field

  • value – value to assign

is_configdataclass = True
classmethod keys() Sequence[str]

Returns a list of all configdataclass fields key-names.

Returns

a list of strings containing all keys.

max_current: Union[int, float]

Maximal Output current

max_voltage: Union[int, float]

Maximal Output voltage

classmethod optional_defaults() Dict[str, object]

Returns a list of all configdataclass fields, that have a default value assigned and may be optionally specified on instantiation.

Returns

a list of strings containing all optional keys.

polling_interval_sec: Union[int, float] = 4

Polling interval in s to maintain to watchdog of the device

post_stop_pause_sec: Union[int, float] = 1

Time to wait after stopping the device

read_output_while_polling: bool = False

Read output voltage and current within the polling event

register_pulse_time: Union[int, float] = 0.1

Time for pulsing a register

classmethod required_keys() Sequence[str]

Returns a list of all configdataclass fields, that have no default value assigned and need to be specified on instantiation.

Returns

a list of strings containing all required keys.