Exemple #1
0
 def _message_to_packet(self, msg, dest=0xFFFF, group=0xAA):
     """
     Wraps a message in an AM (Serial) packet.
     """
     payload = msg.dataGet()
     am_type = msg.amType()
     pkt = SerialPacket(None)
     pkt.set_header_dest(dest)
     pkt.set_header_group(group)
     pkt.set_header_type(int(am_type))
     pkt.set_header_length(len(payload))
     # first byte, always 0, identifies as AM packet
     return chr(0) + pkt.dataGet()[0:pkt.offset_data(0)] + payload
Exemple #2
0
    def sendMsg(self, dest, addr, amType, group, msg):
        try:
            payload = msg.dataGet()
            msg = SerialPacket(None)
            msg.set_header_dest(int(addr))
            msg.set_header_group(int(group))
            msg.set_header_type(int(amType))
            msg.set_header_length(len(payload))

            # from tinyos.packet.Serial
            data = chr(Serial.TOS_SERIAL_ACTIVE_MESSAGE_ID)
            data += msg.dataGet()[0:msg.offset_data(0)]
            data += payload

            dest.writePacket(data)
        except Exception, x:
            print >>sys.stderr, x
            print >>sys.stderr, traceback.print_tb(sys.exc_info()[2])