Packets

class secsgem.hsms.packets.HsmsPacket(header=None, data=b'')[source]

Bases: object

Class for hsms packet.

Contains all required data and functions.

encode()[source]

Encode packet data to hsms packet.

Returns:encoded packet
Return type:string

Example:

>>> import secsgem
>>>
>>> packet = secsgem.hsms.packets.HsmsPacket(secsgem.hsms.packets.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)[source]

Decode byte array hsms packet to HsmsPacket object.

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

Example:

>>> import secsgem
>>>
>>> packetData = b"\x00\x00\x00\x0b\xff\xff\x00\x00\x00\x05\x00\x00\x00\x02"
>>>
>>> secsgem.format_hex(packetData)
'00:00:00:0b:ff:ff:00:00:00:05:00:00:00:02'
>>>
>>> secsgem.hsms.packets.HsmsPacket.decode(packetData)
HsmsPacket({'header': HsmsHeader({sessionID:0xffff, stream:00, function:00, pType:0x00, sType:0x05, system:0x00000002, requireResponse:False}), 'data': ''})
class secsgem.hsms.packets.HsmsHeader(system, session_id)[source]

Bases: object

Generic HSMS header.

Base for different specific headers

encode()[source]

Encode header to hsms packet.

Returns:encoded header
Return type:string

Example:

>>> import secsgem
>>>
>>> header = secsgem.hsms.packets.HsmsLinktestReqHeader(2)
>>> secsgem.common.format_hex(header.encode())
'ff:ff:00:00:00:05:00:00:00:02'
class secsgem.hsms.packets.HsmsStreamFunctionHeader(system, stream, function, require_response, session_id)[source]

Bases: secsgem.hsms.packets.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
>>>
>>> header = secsgem.hsms.packets.HsmsLinktestReqHeader(2)
>>> secsgem.common.format_hex(header.encode())
'ff:ff:00:00:00:05:00:00:00:02'
class secsgem.hsms.packets.HsmsSelectReqHeader(system)[source]

Bases: secsgem.hsms.packets.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
>>>
>>> header = secsgem.hsms.packets.HsmsLinktestReqHeader(2)
>>> secsgem.common.format_hex(header.encode())
'ff:ff:00:00:00:05:00:00:00:02'
class secsgem.hsms.packets.HsmsSelectRspHeader(system)[source]

Bases: secsgem.hsms.packets.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
>>>
>>> header = secsgem.hsms.packets.HsmsLinktestReqHeader(2)
>>> secsgem.common.format_hex(header.encode())
'ff:ff:00:00:00:05:00:00:00:02'
class secsgem.hsms.packets.HsmsDeselectReqHeader(system)[source]

Bases: secsgem.hsms.packets.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
>>>
>>> header = secsgem.hsms.packets.HsmsLinktestReqHeader(2)
>>> secsgem.common.format_hex(header.encode())
'ff:ff:00:00:00:05:00:00:00:02'
class secsgem.hsms.packets.HsmsDeselectRspHeader(system)[source]

Bases: secsgem.hsms.packets.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
>>>
>>> header = secsgem.hsms.packets.HsmsLinktestReqHeader(2)
>>> secsgem.common.format_hex(header.encode())
'ff:ff:00:00:00:05:00:00:00:02'
class secsgem.hsms.packets.HsmsLinktestReqHeader(system)[source]

Bases: secsgem.hsms.packets.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
>>>
>>> header = secsgem.hsms.packets.HsmsLinktestReqHeader(2)
>>> secsgem.common.format_hex(header.encode())
'ff:ff:00:00:00:05:00:00:00:02'
class secsgem.hsms.packets.HsmsLinktestRspHeader(system)[source]

Bases: secsgem.hsms.packets.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
>>>
>>> header = secsgem.hsms.packets.HsmsLinktestReqHeader(2)
>>> secsgem.common.format_hex(header.encode())
'ff:ff:00:00:00:05:00:00:00:02'
class secsgem.hsms.packets.HsmsRejectReqHeader(system, s_type, reason)[source]

Bases: secsgem.hsms.packets.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
>>>
>>> header = secsgem.hsms.packets.HsmsLinktestReqHeader(2)
>>> secsgem.common.format_hex(header.encode())
'ff:ff:00:00:00:05:00:00:00:02'
class secsgem.hsms.packets.HsmsSeparateReqHeader(system)[source]

Bases: secsgem.hsms.packets.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
>>>
>>> header = secsgem.hsms.packets.HsmsLinktestReqHeader(2)
>>> secsgem.common.format_hex(header.encode())
'ff:ff:00:00:00:05:00:00:00:02'