Exemple #1
0
 def handle_cmd(self, cmd, rest):
     if self.state.off:
         self.debug("Discarding '%s' while AVR is off" % (cmd))
         return
     self.debug("Handling '%s'" % (cmd))
     avr, cmd = cmd.split(" ", 1)
     assert avr == self.name
     assert cmd in self.Commands
     assert not rest
     command = self.Commands[cmd]
     assert callable(command)
     for command_str in command(self):
         avr_cmd = AVR_Command(command_str)
         dgram_spec = AVR_Datagram.PC_AVR_Command
         dgram = AVR_Datagram.build_dgram(avr_cmd.dgram(), dgram_spec)
         self.schedule_write(dgram)
Exemple #2
0
 def handle_cmd(self, cmd, rest):
     if self.state.off:
         self.debug("Discarding '%s' while AVR is off" % (cmd))
         return
     self.debug("Handling '%s'" % (cmd))
     avr, cmd = cmd.split(" ", 1)
     assert avr == self.name
     assert cmd in self.Commands
     assert not rest
     command = self.Commands[cmd]
     assert callable(command)
     for command_str in command(self):
         avr_cmd = AVR_Command(command_str)
         dgram_spec = AVR_Datagram.PC_AVR_Command
         dgram = AVR_Datagram.build_dgram(avr_cmd.dgram(), dgram_spec)
         self.schedule_write(dgram)
Exemple #3
0
 def handle_read(self):
     self.recv_data += os.read(self.master, 1024)
     while len(self.recv_data) >= self.recv_dgram_len:
         dgram = self.recv_data[:self.recv_dgram_len]
         self.recv_data = self.recv_data[self.recv_dgram_len:]
         self.handle_command(AVR_Command.from_dgram(
             AVR_Datagram.parse_dgram(dgram, self.RecvDGramSpec)))