Пример #1
0
 def send_packet(self, packet, sender=None):
     """
         packet: packet to send
         sender: the fsm which sent the packet
     """
     if self.do_send_packet(packet, packets.TURRET_RANGE_START,
                            packets.TURRET_RANGE_END, self.turret_channel):
         return
     elif self.do_send_packet(packet, packets.PIC32_RANGE_START,
                              packets.PIC32_RANGE_END,
                              self.pic_control_channel):
         return
     elif IS_HOST_DEVICE_PC and self.do_send_packet(
             packet, packets.SIMULATOR_RANGE_START,
             packets.SIMULATOR_RANGE_END, self.pic_control_channel):
         return
     elif self.do_send_packet(packet, packets.INTERBOT_RANGE_START,
                              packets.INTERBOT_RANGE_END,
                              self.interbot_channel):
         return
     elif self.do_send_packet(packet, packets.MEDIAPLAYER_RANGE_START,
                              packets.MEDIAPLAYER_RANGE_END,
                              self.mediaplayer_channel):
         return
     elif packet.TYPE >= packets.INTERBOT_RANGE_START and packet.TYPE < packets.INTERNAL_RANGE_END:
         # add the packet to send to the list of packets to dispatch
         logger.log_packet(
             packet,
             "ARM" + (":" + sender.name if sender is not None else ""))
         self.packet_queue.appendleft((packet, sender))
         if len(self.packet_queue) == 1:
             Timer(self, 0, self.process_packets_and_dispatch).start()
Пример #2
0
 def do_send_packet(self, packet, packet_range_start, packet_range_end, channel):
     if packet.TYPE >= packet_range_start and packet.TYPE < packet_range_end:
         if channel is not None and channel.connected:
             logger.log_packet(packet, "ARM")
             channel.write_packet(packet)
         else:
             logger.log("Channel for packet {} doesn't exist or isn't connected".format(packet.name))
         return True
     return False
Пример #3
0
 def do_send_packet(self, packet: packets.BasePacket, packet_range_start,
                    packet_range_end, channel):
     if packet.TYPE >= packet_range_start and packet.TYPE < packet_range_end:
         if channel is not None and channel.connected:
             logger.log_packet(packet, "ARM")
             channel.write_packet(packet)
         else:
             logger.log(
                 "Channel for packet {} doesn't exist or isn't connected".
                 format(packet.name))
         return True
     return False
Пример #4
0
 def send_packet(self, packet, sender = None):
     """
         packet: packet to send
         sender: the fsm which sent the packet
     """
     if self.do_send_packet(packet, packets.TURRET_RANGE_START, packets.TURRET_RANGE_END, self.turret_channel):
         return
     elif self.do_send_packet(packet, packets.PIC32_RANGE_START, packets.PIC32_RANGE_END, self.pic_control_channel):
         return
     elif IS_HOST_DEVICE_PC and self.do_send_packet(packet, packets.SIMULATOR_RANGE_START, packets.SIMULATOR_RANGE_END, self.pic_control_channel):
         return
     elif self.do_send_packet(packet, packets.COLORDET_RANGE_START, packets.COLORDET_RANGE_END, self.colordetector):
         return
     elif self.do_send_packet(packet, packets.INTERBOT_RANGE_START, packets.INTERBOT_RANGE_END, self.interbot_channel):
         return
     elif packet.TYPE < packets.INTERNAL_RANGE_END:
         # add the packet to send to the list of packets to dispatch
         logger.log_packet(packet, "ARM" + (":" + sender.name if sender is not None else ""))
         self.packet_queue.appendleft((packet, sender))
         Timer(self, 0, self.process_packets_and_dispatch).start()
Пример #5
0
 def process(self, channel, packet):
     logger.log_packet(packet, channel.origin)
     packet.dispatch(self)
     self.packet_queue.appendleft((packet, None))
     self.process_packets_and_dispatch()
Пример #6
0
 def process(self, channel, packet):
     logger.log_packet(packet, channel.origin)
     packet.dispatch(self)
     self.packet_queue.appendleft((packet, None))
     self.process_packets_and_dispatch()