Ejemplo n.º 1
0
    def runClient(self):
        try:
            send_msg = Queue()
            recive_msg = Queue()
            sending = Process(target=self.send, args=(send_msg))
            reciveing = Process(target=self.receive, arg=(recive_msg))
            sending.start()
            reciveing.start()
            while True:
                reciveing.join()
                command = recive_msg.get()

                # Arduino Parts
                Start_point = time.time()
                self.arduino.Value_to_T_data(self.position.BF_desire,
                                             self.position.LR_desire)
                self.arduinoSerial_write()
                self.arduinoSerial_read()
                if self.arduino.R_data != "":
                    print(self.arduino.R_data)
                    send_msg.put(self.arduino.R_data)
                    send_msg.join()
                End_point = time.time()
                time.sleep(self.arduino.Loop_time - (End_point - Start_point))
                reciveing.run()
                send_msg.run()

        except KeyboardInterrupt:
            print("Emergency stop!!!!")
            self.sock.close()
            reciveing.close()
            send_msg.close()
        finally:
            print("OFF")
            self.sock.close()
            reciveing.close()
            send_msg.close()