def createPointInformationPacket(self): """function to build a point information request packet using speak 6 header""" header = LocalHeader(packetID.spkd_ID_POINT_INFO_REQUEST) header.setParameter("destinationTask", 0x04) header.setParameter("sourceChannelAddress", 0xFD) #values sent by consys for header replicated here header.setParameter("sourceTask", 0x92) header.IgnoreReserved(True) content = PointInformationContent() packet = Packet(header, content) frame = Frame(packet, FLG) transfer = SerialDataTransfer("COM20") reader = DataReader(transfer) reader.Start() #executes read thread to process incoming response after sent request transfer.Write(frame.getByteArray()) print(frame.getByteArray()) print("Point Information Reply\n") read(reader, transfer)
def sendNextPointInformationPacket(self, clientID): global FLG header = LocalHeader(packetID.spkd_ID_POINT_CLNT_ACKNOWLEDGE) header.setParameter("destinationTask", 0x04) header.setParameter("sourceChannelAddress", 0xFD) header.setParameter("sourceTask", 0x12) FLG = FLG + 1 content = NextPointInformationContent() content.setParameter("clientID", clientID) packet = Packet(header, content) frame = Frame(packet, FLG) header.IgnoreReserved(True) transfer.Write(frame.getByteArray()) print(frame.getByteArray()) print("Next Point Information Reply\n")
def createPointInformationPacket(self): """function to build a point information request packet using speak 6 header""" header = LocalHeader(packetID.spkd_ID_POINT_INFO_REQUEST) header.setParameter("destinationTask", 0x04) header.setParameter("sourceChannelAddress", 0xFD) #values sent by consys for header replicated here header.setParameter("sourceTask", 0x92) content = PointInformationContent() content.setParameter("searchType", 0x0A) packet = Packet(header, content) frame = Frame(packet, FLG) header.IgnoreReserved(True) transfer.Write(frame.getByteArray()) print(frame.getByteArray()) print("Point Information Reply Packet")
def format(self, bytes): header = None if (len(bytes) == 10): header = LocalHeader(bytes[8]) header.setParameter("signature", bytes[0]) header.setParameter("networkNode", bytes[1]) header.setParameter("channel", bytes[2]) header.setParameter("destinationChannelAddress", bytes[3]) header.setParameter("destinationTask", bytes[4]) header.setParameter("sourceChannelAddress", bytes[5]) header.setParameter("sourceTask", bytes[6]) header.setParameter("marker", bytes[7]) header.setParameter("reserved", bytes[9]) else: raise ValueError( "@LocalHeaderFormatter: the bytes length is unvalid") return header
from content import Content; from header import LocalHeader, LocalHeader5; from packetids import spkd_ID_POINT_INFO_REQUEST; from packet import Packet; import devicetype as devices; from frame import Frame; from serialdatatransfer import SerialDataTransfer; from readers import DataReader, BadPacketReadError; from byte import Byte; from points import *; if(__name__ == '__main__'): header = LocalHeader(spkd_ID_POINT_INFO_REQUEST); header.setParameter("destinationTask", 0x04); header.setParameter("sourceChannelAddress", 0xfd); header.setParameter("sourceTask",0x92); content = PointInformationContent(); content.setParameter('PanelNumber', 0x0c); content.setParameter('Channel', 0xff); content.setParameter('LoopNumber', 0x00); content.setParameter('PointCategory', 0xff); content.setParameter('PointNumber', 0xfd); content.setParameter('LogicalPointNumber', 0xfe); content.setParameter('LogicalPointZone', 0x00); content.setParameter('DeviceCategory', 0x00); content.setParameter('Group', 0x01); content.setParameter('LogicalPointZone', 0x00); content.setParameter('LogicalPointZone', 0x00); content.setParameter('LogicalPointZone', 0x00); packet = Packet(header, content); frame = Frame(packet , 0x0d);