Settings

HSMS settings class.

class secsgem.hsms.settings.HsmsConnectMode(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: Enum

Hsms connect mode (active or passive).

class secsgem.hsms.settings.HsmsSettings(**kwargs)[source]

Bases: Settings

Settings for HSMS connection.

These attributes can be initialized in the constructor and accessed as property.

Example

>>> import secsgem.hsms
>>>
>>> settings = secsgem.hsms.HsmsSettings(device_type=secsgem.common.DeviceType.EQUIPMENT)
>>> settings.device_type
Equipment
>>> settings.address
'127.0.0.1'
property connect_mode: HsmsConnectMode

Hsms connect mode.

Default: HsmsConnectMode.ACTIVE

property address: str

Remote (active) or local (passive) IP address.

Default: “127.0.0.1”

property port: int

TCP port of remote host.

Default: 5000

create_protocol()[source]

Protocol class for this configuration.

Return type:

Protocol

create_connection()[source]

Connection class for this configuration.

Return type:

Connection

property name: str

Name of this configuration.

property is_active: bool

Check if connection is active.

generate_thread_name(functionality)[source]

Generate a unique thread name for this configuration and a provided functionality.

Parameters:

functionality (str) – name of the functionality to generate thread name for

Return type:

str

Returns:

generated thread name

class secsgem.hsms.settings.ExistingProtocolSettings(**kwargs)[source]

Bases: HsmsSettings

Settings for existing HSMS connection.

These attributes can be initialized in the constructor and accessed as property.

Example

>>> import secsgem.hsms
>>>
>>> settings = secsgem.hsms.HsmsSettings(device_type=secsgem.common.DeviceType.EQUIPMENT)
>>> settings.device_type
Equipment
property existing_protocol: Protocol

Existing protocol.

Default: None

create_protocol()[source]

Protocol class for this configuration.

Return type:

Protocol

property name: str

Name of this configuration.