def Refresh(self): debug.Log(str(self.dev1) + "!=Value " + str(self.dev1 != "Value")) if self.dev1 != "Value": self.value1 = self.data.GetValue(self.dev1) debug.Log("Value1= " + str(self.value1)) debug.Log(str(self.dev2) + "!=Value " + str(self.dev2 != "Value")) if self.dev2 != "Value": self.value2 = self.data.GetValue(self.dev2) debug.Log("Value2= " + str(self.value2)) self.bool = compDict[self.comp](self.value1, self.value2)
def __init__(self, name, refresh, desc): self.name = name self.refresh = refresh #sekundy self.desc = desc self.small = dict() #slownik malych warunkow self.effect = dict() #slownik efektow self.bool = False debug.Log('Cond: Object Added {}, {}, {}'.format(name, refresh, desc))
def Refresh(self, count, interval): if count % (self.refresh // interval) != 0: return tempBool = 0 #Liczy true w small.bool for i in self.small.values(): i.Refresh() if i.bool: tempBool += 1 ### ### if tempBool == len(self.small): if self.bool == False: debug.Log('{}: bool To True'.format(self.name)) self.bool = True else: if self.bool == False: debug.Log('{}: bool To False'.format(self.name)) self.bool = False ### for i in self.effect.values(): i.Refresh(self.bool)
def __init__(self, name, pos, desc, typeName, refreshTime, isRec): self.name = name self.pos = pos self.desc = desc self.typeName = typeName self.value = 0 self.trueValue = -1 self.isRec = isRec self.refreshTime = refreshTime #sekundy debug.Log('Device: Object Added {}, {}, {}, {}, {}, {}'.format( name, pos, desc, typeName, refreshTime, isRec))
def Refresh(data): data.timeCount=0 debug.Log("Refresh") while not isExit: if isActive: data.isUpdating=True data.dicConst["lastUpdate"]=time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime()) data.Refresh() data.dicConst["timeCount"]+=data.dicConst["interval"] data.isUpdating=False with open("data.txt","w") as file: file.write(data.DataToStr()) if data.dicConst["timeCount"]>=3600: data.dicConst["timeCount"]=0 time.sleep(data.dicConst["interval"])
def run(self): # add a try/finally statement in the future serial = SerialModule(self.port, self.baud) self.terminate = False BUFFER = [] debug.Log("ListenThread: Serial thread started!") debug.Log("ListenThread: port = %s, baud = %s" % (self.port, self.baud)) while True: debug.Log("ListenThread: Awaiting packet...") if self.terminate: debug.Log("ListenThread: Serial thread stopped!") break newbuffer = serial.Rx() if newbuffer: BUFFER += newbuffer debug.Log("ListenThread: Bytes: %s" % str(BUFFER)) while len(BUFFER) > 0: try: packet_info = self.decoder.get_data_definition(BUFFER) expectedlength = packet_info.getPacketLength() packet_type = packet_info.getPacketName() if packet_type == "unknown": self.notify_unknown_packet_received(packet_type, BUFFER[:]) BUFFER = [] elif 0 < len(BUFFER) < expectedlength: self.notify_unexpected_length(packet_info, BUFFER) break elif len(BUFFER) >= expectedlength: self.notify_packet_received(packet_type, BUFFER[:expectedlength]) BUFFER = BUFFER[expectedlength:] else: pass except ValueError: debug.Log("ListenThread: length is zero") BUFFER = [] except AssertionError: debug.Log("ListenThread: packet not large enough to determine SOB") BUFFER = [] except IndexError: debug.Log("ListenThread: BUFFER Start of block not 0xFF. Clearing BUFFER!") BUFFER = [] serial.close()
def SetDevValue(self): #TODO connector.SendValue(self.typeName, self.value) debug.Log('{}: SetDevValue {} '.format(self.name, self.value)) pass
def GetDevValue(self): #TODO self.value = connector.GetValue(self.typeName) debug.Log('{}: GetDevValue {} '.format(self.name, self.value)) pass
def notify_unknown_packet_received(self, packet_type, data): debug.Log("ListenThread: Unknown packet type") debug.Log(data) self.notify_packet_received(packet_type, data)
def notify_unexpected_length(self, packet_info, data): debug.Log("ListenThread: packet length smaller than expected length") debug.Log("ListenThread: expected = %i, actual = %i" % (packet_info.getPacketLength(), len(data))) self.publisher.notify_unexpected_length(packet_info, data)
def addSmall(self, data, name, dev1, dev2, comp, value1=0, value2=0): self.small[name] = (SmallCond(data, dev1, value1, dev2, value2, comp)) debug.Log('{}: Cond Added {}, {}, {}, {}, {}, {}'.format( self.name, name, dev1, value1, dev2, value2, comp))
def addEffec(self, data, name, deviceName, trueValue, falseValue): self.effect[name] = (Effect(data, deviceName, trueValue, falseValue)) debug.Log('{}: Effect Added {}, {}, {}, {}'.format( self.name, name, deviceName, trueValue, falseValue))