Packets

class secsgem.hsms.HsmsPacket(header: Optional[secsgem.hsms.header.HsmsHeader] = None, data: bytes = b'')[source]

Bases: secsgem.common.packet.Packet

Class for hsms packet.

Contains all required data and functions.

header

Get the header.

encode() → bytes[source]

Encode packet data to hsms packet.

Returns:encoded packet
Return type:string

Example:

>>> import secsgem.hsms
>>> import secsgem.common
>>>
>>> packet = secsgem.hsms.HsmsPacket(secsgem.hsms.HsmsLinktestReqHeader(2))
>>> secsgem.common.format_hex(packet.encode())
'00:00:00:0a:ff:ff:00:00:00:05:00:00:00:02'
static decode(text: bytes) → secsgem.hsms.packet.HsmsPacket[source]

Decode byte array hsms packet to HsmsPacket object.

Returns:received packet object
Return type:secsgem.hsms.HsmsPacket

Example:

>>> import secsgem.common
>>> import secsgem.hsms
>>>
>>> packetData = b"\x00\x00\x00\x0b\xff\xff\x00\x00\x00\x05\x00\x00\x00\x02"
>>>
>>> secsgem.common.format_hex(packetData)
'00:00:00:0b:ff:ff:00:00:00:05:00:00:00:02'
>>>
>>> secsgem.hsms.HsmsPacket.decode(packetData)
HsmsPacket({'header': HsmsHeader({session_id:0xffff, stream:00, function:00, p_type:0x00, s_type:0x05, system:0x00000002, require_response:False}), 'data': ''})
class secsgem.hsms.HsmsHeader(system: int, session_id: int, stream: int = 0, function: int = 0, requires_response: bool = False, p_type: int = 0, s_type: int = 1)[source]

Bases: secsgem.common.header.Header

Generic HSMS header.

Base for different specific headers

require_response

Get require response flag.

p_type

Get P-type.

s_type

Get S-type.

encode()[source]

Encode header to hsms packet.

Returns:encoded header
Return type:string

Example:

>>> import secsgem.hsms
>>> import secsgem.common
>>>
>>> header = secsgem.hsms.HsmsLinktestReqHeader(2)
>>> secsgem.common.format_hex(header.encode())
'ff:ff:00:00:00:05:00:00:00:02'
function

Get function.

session_id

Get session id.

stream

Get stream.

system

Get system.

class secsgem.hsms.HsmsStreamFunctionHeader(system: int, stream: int, function: int, require_response: bool, session_id: int)[source]

Bases: secsgem.hsms.header.HsmsHeader

Header for SECS message.

Header for message with SType 0.

encode()

Encode header to hsms packet.

Returns:encoded header
Return type:string

Example:

>>> import secsgem.hsms
>>> import secsgem.common
>>>
>>> header = secsgem.hsms.HsmsLinktestReqHeader(2)
>>> secsgem.common.format_hex(header.encode())
'ff:ff:00:00:00:05:00:00:00:02'
function

Get function.

p_type

Get P-type.

require_response

Get require response flag.

s_type

Get S-type.

session_id

Get session id.

stream

Get stream.

system

Get system.

class secsgem.hsms.HsmsSelectReqHeader(system)[source]

Bases: secsgem.hsms.header.HsmsHeader

Header for Select Request.

Header for message with SType 1.

encode()

Encode header to hsms packet.

Returns:encoded header
Return type:string

Example:

>>> import secsgem.hsms
>>> import secsgem.common
>>>
>>> header = secsgem.hsms.HsmsLinktestReqHeader(2)
>>> secsgem.common.format_hex(header.encode())
'ff:ff:00:00:00:05:00:00:00:02'
function

Get function.

p_type

Get P-type.

require_response

Get require response flag.

s_type

Get S-type.

session_id

Get session id.

stream

Get stream.

system

Get system.

class secsgem.hsms.HsmsSelectRspHeader(system)[source]

Bases: secsgem.hsms.header.HsmsHeader

Header for Select Response.

Header for message with SType 2.

encode()

Encode header to hsms packet.

Returns:encoded header
Return type:string

Example:

>>> import secsgem.hsms
>>> import secsgem.common
>>>
>>> header = secsgem.hsms.HsmsLinktestReqHeader(2)
>>> secsgem.common.format_hex(header.encode())
'ff:ff:00:00:00:05:00:00:00:02'
function

Get function.

p_type

Get P-type.

require_response

Get require response flag.

s_type

Get S-type.

session_id

Get session id.

stream

Get stream.

system

Get system.

class secsgem.hsms.HsmsDeselectReqHeader(system)[source]

Bases: secsgem.hsms.header.HsmsHeader

Header for Deselect Request.

Header for message with SType 3.

encode()

Encode header to hsms packet.

Returns:encoded header
Return type:string

Example:

>>> import secsgem.hsms
>>> import secsgem.common
>>>
>>> header = secsgem.hsms.HsmsLinktestReqHeader(2)
>>> secsgem.common.format_hex(header.encode())
'ff:ff:00:00:00:05:00:00:00:02'
function

Get function.

p_type

Get P-type.

require_response

Get require response flag.

s_type

Get S-type.

session_id

Get session id.

stream

Get stream.

system

Get system.

class secsgem.hsms.HsmsDeselectRspHeader(system)[source]

Bases: secsgem.hsms.header.HsmsHeader

Header for Deselect Response.

Header for message with SType 4.

encode()

Encode header to hsms packet.

Returns:encoded header
Return type:string

Example:

>>> import secsgem.hsms
>>> import secsgem.common
>>>
>>> header = secsgem.hsms.HsmsLinktestReqHeader(2)
>>> secsgem.common.format_hex(header.encode())
'ff:ff:00:00:00:05:00:00:00:02'
function

Get function.

p_type

Get P-type.

require_response

Get require response flag.

s_type

Get S-type.

session_id

Get session id.

stream

Get stream.

system

Get system.

class secsgem.hsms.HsmsLinktestReqHeader(system)[source]

Bases: secsgem.hsms.header.HsmsHeader

Header for Linktest Request.

Header for message with SType 5.

encode()

Encode header to hsms packet.

Returns:encoded header
Return type:string

Example:

>>> import secsgem.hsms
>>> import secsgem.common
>>>
>>> header = secsgem.hsms.HsmsLinktestReqHeader(2)
>>> secsgem.common.format_hex(header.encode())
'ff:ff:00:00:00:05:00:00:00:02'
function

Get function.

p_type

Get P-type.

require_response

Get require response flag.

s_type

Get S-type.

session_id

Get session id.

stream

Get stream.

system

Get system.

class secsgem.hsms.HsmsLinktestRspHeader(system)[source]

Bases: secsgem.hsms.header.HsmsHeader

Header for Linktest Response.

Header for message with SType 6.

encode()

Encode header to hsms packet.

Returns:encoded header
Return type:string

Example:

>>> import secsgem.hsms
>>> import secsgem.common
>>>
>>> header = secsgem.hsms.HsmsLinktestReqHeader(2)
>>> secsgem.common.format_hex(header.encode())
'ff:ff:00:00:00:05:00:00:00:02'
function

Get function.

p_type

Get P-type.

require_response

Get require response flag.

s_type

Get S-type.

session_id

Get session id.

stream

Get stream.

system

Get system.

class secsgem.hsms.HsmsRejectReqHeader(system, s_type, reason)[source]

Bases: secsgem.hsms.header.HsmsHeader

Header for Reject Request.

Header for message with SType 7.

encode()

Encode header to hsms packet.

Returns:encoded header
Return type:string

Example:

>>> import secsgem.hsms
>>> import secsgem.common
>>>
>>> header = secsgem.hsms.HsmsLinktestReqHeader(2)
>>> secsgem.common.format_hex(header.encode())
'ff:ff:00:00:00:05:00:00:00:02'
function

Get function.

p_type

Get P-type.

require_response

Get require response flag.

s_type

Get S-type.

session_id

Get session id.

stream

Get stream.

system

Get system.

class secsgem.hsms.HsmsSeparateReqHeader(system)[source]

Bases: secsgem.hsms.header.HsmsHeader

Header for Separate Request.

Header for message with SType 9.

encode()

Encode header to hsms packet.

Returns:encoded header
Return type:string

Example:

>>> import secsgem.hsms
>>> import secsgem.common
>>>
>>> header = secsgem.hsms.HsmsLinktestReqHeader(2)
>>> secsgem.common.format_hex(header.encode())
'ff:ff:00:00:00:05:00:00:00:02'
function

Get function.

p_type

Get P-type.

require_response

Get require response flag.

s_type

Get S-type.

session_id

Get session id.

stream

Get stream.

system

Get system.