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 save_events(self, session, id_uc, ev_data): # Eventos len_evs = len(ev_data) log.msg('Salvando %d eventos' % (len_evs / 8)) # TODO: Ver si no me estoy comiendo un evento for _, start, stop in izip(count(0), xrange(0, len_evs, 8), xrange(8, len_evs + 1, 8)): data = ev_data[start:stop] #log.msg('Data: %s' % data) ev = Evento(data) session.add(EV(id_uc, ev.port, ev.bit, ev.event, ev.tipo, ev.codigo, ev.prio, ev.datetime(), ))
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 save_events(self, session, id_uc, ev_data): # Eventos len_evs = len(ev_data) log.msg('Salvando %d eventos' % (len_evs / 8)) # TODO: Ver si no me estoy comiendo un evento for _, start, stop in izip(count(0), xrange(0, len_evs, 8), xrange(8, len_evs + 1, 8)): data = ev_data[start:stop] #log.msg('Data: %s' % data) ev = Evento(data) session.add( EV( id_uc, ev.port, ev.bit, ev.event, ev.tipo, ev.codigo, ev.prio, ev.datetime(), ))