def do_reply(self, pkg, t_inicio): log.msg('Respuesta a Peticion de estados y eventos luego de %.5f' % (time.time() - t_inicio)) bf1 = bitfield(0) bf1[0:2] = self.mov0() bf1[2:4] = self.mov1() #bf1[4:6] = self.mov2() #bf1[6:8] = self.mov3() bf2 = bitfield(0) #bf2[0:2] = self.mov4() #bf2[2:4] = self.mov5() #bf2[4:6] = self.mov6() bf3 = bitfield(0) #bf3[4:6] = self.mov7() #bf3[2:4] = self.mov8() #bf3[0:2] = self.mov9() # Generamos el payload payload = [ 0x03, # 2 de Variables de estado 0xf3, 0x3a, 0x05, # 4 de DI int(bf1), int(bf2), int(bf3), 255, 0x05, # 2 analogicas de 2 bytes randint(0, 3), randint(0, 255), randint(0, 3), randint(0, 255), ] cnt_events = randint(0, 4) for _ in range(cnt_events): ints = EventoCodigo.create_ints( tipo=randint(0, 2), prio=randint(0, 2), codigo=randint(0, 16), port=randint(0, 63), bit=randint(0, 8), status=randint(0, 1), date_time=datetime.now(), cseg=randint(0, 99), dmseg=randint(0, 99), ) payload += ints resp = pkg.response(payload) print "Size final: %d, cantidad de eventos %d" % (len(payload), cnt_events) print "Enviando payload", resp.get_payload() print "Paquete a enviar:", ' '.join( (("%.2x" % ord(c)).upper() for c in resp.octet_str())) self.transport.write(resp.octet_str())
def do_reply(self, pkg, t_inicio): log.msg('Respuesta a Peticion de estados y eventos luego de %.5f' % (time.time() - t_inicio)) bf1 = bitfield(0) bf1[0:2] = self.mov0() bf1[2:4] = self.mov1() #bf1[4:6] = self.mov2() #bf1[6:8] = self.mov3() bf2 = bitfield(0) #bf2[0:2] = self.mov4() #bf2[2:4] = self.mov5() #bf2[4:6] = self.mov6() bf3 = bitfield(0) #bf3[4:6] = self.mov7() #bf3[2:4] = self.mov8() #bf3[0:2] = self.mov9() # Generamos el payload payload = [0x03, # 2 de Variables de estado 0xf3, 0x3a, 0x05, # 4 de DI int(bf1), int(bf2), int(bf3), 255, 0x05, # 2 analogicas de 2 bytes randint(0,3), randint(0,255), randint(0,3), randint(0,255), ] cnt_events = randint(0, 4) for _ in range(cnt_events): ints = EventoCodigo.create_ints(tipo = randint(0,2), prio = randint(0,2), codigo = randint(0,16), port = randint(0,63), bit = randint(0,8), status = randint(0,1), date_time=datetime.now(), cseg = randint(0,99), dmseg = randint(0,99), ) payload += ints resp = pkg.response(payload) print "Size final: %d, cantidad de eventos %d" % (len(payload), cnt_events) print "Enviando payload", resp.get_payload() print "Paquete a enviar:", ' '.join(( ("%.2x" % ord(c)).upper() for c in resp.octet_str())) self.transport.write(resp.octet_str())
def di_data_slot(self, n_uc, dis): #from twisted.python import log if n_uc == self.n_uc: #self.bit_update() port = bitfield(dis[self.n_port]) bits = port[self.n_bit:self.n_bit + 2] self.bit_update(bits)
def di_data_slot(self, n_uc, dis): # from twisted.python import log if n_uc == self.n_uc: # self.bit_update() port = bitfield(dis[self.n_port]) bits = port[self.n_bit : self.n_bit + 2] self.bit_update(bits)
def actualizar(self, co, uc, svs, dis, ais, evs): ''' Actualizar ''' if self.co == co and self.uc == uc: #1°b : 33 22 11 00 #2°b : XX 66 55 44 #3°b : XX 77 88 99 #cga = bit 3 port 4 print "entro a actualizar" movs = qApp.instance().cfg.movimientos if not bitfield(dis[movs.cga.port])[movs.cga.bit]: self.bit_update(4) else: log.msg(' '.join(map(lambda x: ('%x' % x).upper(), dis))) a, b = movs.pos[self.n_movi] l = copy(dis[0:3]) l.reverse() bf = bitfield(l) self.bit_update(bf[a:b]) pass
def actualizar(self,co,uc,svs,dis,ais,evs): ''' Actualizar ''' if self.co == co and self.uc == uc: #1°b : 33 22 11 00 #2°b : XX 66 55 44 #3°b : XX 77 88 99 #cga = bit 3 port 4 print "entro a actualizar" movs = qApp.instance().cfg.movimientos if not bitfield(dis[movs.cga.port])[movs.cga.bit]: self.bit_update(4) else: log.msg(' '.join(map(lambda x: ('%x' % x).upper(), dis))) a,b = movs.pos[self.n_movi] l = copy(dis[0:3]) l.reverse() bf = bitfield(l) self.bit_update(bf[a:b]) pass