hvl_ccb.dev.technix.device

digraph inheritance7d3232f46f { bgcolor=transparent; rankdir=TB; size=""; "ABC" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Helper class that provides a standard way to create an ABC using"]; "ConfigurationMixin" [URL="../hvl_ccb.configuration.html#hvl_ccb.configuration.ConfigurationMixin",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Mixin providing configuration to a class."]; "ABC" -> "ConfigurationMixin" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Device" [URL="../hvl_ccb.dev.base.html#hvl_ccb.dev.base.Device",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Base class for devices. Implement this class for a concrete device,"]; "ConfigurationMixin" -> "Device" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ABC" -> "Device" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SingleCommDevice" [URL="../hvl_ccb.dev.base.html#hvl_ccb.dev.base.SingleCommDevice",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Base class for devices with a single communication protocol."]; "Device" -> "SingleCommDevice" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ABC" -> "SingleCommDevice" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Technix" [URL="../hvl_ccb.dev.technix.device.html#hvl_ccb.dev.technix.device.Technix",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Device class to control capacitor chargers from Technix"]; "SingleCommDevice" -> "Technix" [arrowsize=0.5,style="setlinewidth(0.5)"]; "TechnixConfig" [URL="../hvl_ccb.dev.technix.device.html#hvl_ccb.dev.technix.device.TechnixConfig",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="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)"]; }

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: int | float | None

Actual current of the output in A

default_com_cls() type[hvl_ccb.dev.technix.base.TechnixSerialCommunication] | type[hvl_ccb.dev.technix.base.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: bool | None

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: int | float

Maximal output current of the hardware in A

property max_voltage: int | float

Maximal output voltage of the hardware in V

property open_interlock: bool | None

Is the interlock open? (in safe mode)

property output: bool | None

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: bool | None

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: _Status | None

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: int | float | None

Actual voltage at the output in V

property voltage_regulation: bool | None

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

class TechnixConfig(communication_channel: type[hvl_ccb.dev.technix.base.TechnixSerialCommunication] | type[hvl_ccb.dev.technix.base.TechnixTelnetCommunication], max_voltage: int | float, max_current: int | float, polling_interval_sec: int | float = 4, post_stop_pause_sec: int | float = 1, register_pulse_time: 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: type[hvl_ccb.dev.technix.base.TechnixSerialCommunication] | type[hvl_ccb.dev.technix.base.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: int | float

Maximal Output current

max_voltage: 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: int | float = 4

Polling interval in s to maintain to watchdog of the device

post_stop_pause_sec: 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: 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.