def run(self):
        # This is where the fish lives.
        while True:
            # Quit when user does.
            if self._kill_flag.is_set():
                print("HE'S DEAD JIM!")
                break

            if not self._stop_flag.wait(1.0):
                continue

            num_bytes = self._ser.inWaiting()
            if num_bytes > 0:
                self._buffer += self._ser.read(num_bytes)
            else:
                continue

            if (num_bytes + len(self._buffer)) >= 5:
                packet, self._buffer = afproto.extract_payload(self._buffer)
            else:
                continue

            if packet:
                payload = struct.unpack("H", packet)
            else:
                continue

            while True:
                # if not self._data.put([payload[0]], [time.time() - start]):
                if not self._data.put([time.time() - self._start_time], [payload[0]]):
                    print("stuck in loop")
                    time.sleep(0.0001)
                else:
                    break
Esempio n. 2
0
def debug_msgs(s):
	buff = ''
	while True:
		buff += s.read()
		if buff[-1] == chr(afproto.end_byte) and buff[-2] != chr(afproto.escape_byte):
			payload, buff = afproto.extract_payload(buff)
			print payload
Esempio n. 3
0
	def handle_read(self, fd):
		self.in_buff += self.device.read(10)
		msg, self.in_buff = afproto.extract_payload(self.in_buff)
		if msg != None:
			self.handle_msg(msg)