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
-
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'
-