def receive(self, src, msg): global speed print "Received message: ", msg.get_source(), msg.get_num_msg(), msg.get_total_msg() self.q.put(30) os.kill(self.pid, signal.SIGUSR1) power = 31 interval = 32 ts = SerialMsg() print "send packet, power_level:send_interval", power, ":", interval ts.set_power_level(power) ts.set_send_interval(interval) self.mif.sendMsg(self.source, 0, ts.get_amType(), 0, ts)
class MyPacket(object): # get the TOS_NODE_ID maybe instead def __init__(self, msg=None): self.msg = msg def __str__(self): # TODO: see if it's possible a sort of reverse from Blink.h enum variables return "\ndest: %d\ntype: %d\ninstr: %d\ndata: %d\n" % (self.msg.get_dests(), self.msg.get_type(), self.msg.get_instr(), self.msg.get_data()) def get_data(self): return self.msg.data def create_packet(self, dest, typ, instr, data): self.msg = SerialMsg() # that's because we're always in mote 0 here self.msg.set_sender(0) self.am_type = self.msg.get_amType() self.msg.set_dests(dest) self.msg.set_type(typ) self.msg.set_instr(instr) self.msg.set_data(data)
m.bootAtTime((31 + t.ticksPerSecond() / 10) * i + 1) sf.process() throttle.initialize() for i in range(0, 60): throttle.checkThrottle() t.runNextEvent() sf.process() msg = SerialMsg() msg.set_cmd(7) serialpkt = t.newSerialPacket() serialpkt.setData(msg.data) serialpkt.setType(msg.get_amType()) serialpkt.setDestination(0) serialpkt.deliver(0, t.time() + 3) pkt = t.newPacket() pkt.setData(msg.data) pkt.setType(msg.get_amType()) pkt.setDestination(0) pkt.deliver(0, t.time() + 10) for i in range(0, 20): throttle.checkThrottle() t.runNextEvent() sf.process() throttle.printStatistics()
m.bootAtTime((31 + t.ticksPerSecond() / 10) * i + 1); sf.process(); throttle.initialize(); for i in range(0, 60): throttle.checkThrottle(); t.runNextEvent(); sf.process(); msg = SerialMsg() msg.set_cmd(7); serialpkt = t.newSerialPacket(); serialpkt.setData(msg.data) serialpkt.setType(msg.get_amType()) serialpkt.setDestination(0) serialpkt.deliver(0, t.time() + 3) pkt = t.newPacket(); pkt.setData(msg.data) pkt.setType(msg.get_amType()) pkt.setDestination(0) pkt.deliver(0, t.time() + 10) for i in range(0, 20): throttle.checkThrottle(); t.runNextEvent(); sf.process(); throttle.printStatistics()