|
@@ -2,19 +2,19 @@ import tkinter as tk
|
|
|
import time
|
|
|
import queue
|
|
|
|
|
|
-import gui.Popup as Popup
|
|
|
-import gui.graph as Graph
|
|
|
+from gui.popup import CalibrationPopUp
|
|
|
+from gui.graph import Graph
|
|
|
|
|
|
class MainWindow(tk.Frame):
|
|
|
- def __init__(self, root, up_queue, down_queue,calibration_state):
|
|
|
+ def __init__(self, root, ac_sensor, ac_queue, ac_cal_state):
|
|
|
self.root = root
|
|
|
self.popup = None
|
|
|
- self.calibration_state = calibration_state
|
|
|
- self.down_queue = down_queue
|
|
|
- self.up_queue = up_queue
|
|
|
+ self.ac_cal_state = ac_cal_state
|
|
|
+ self.ac_sensor = ac_sensor
|
|
|
+ self.ac_queue = ac_queue
|
|
|
tk.Frame.__init__(self, root)
|
|
|
|
|
|
- self.graph = Graph.Graph(self)
|
|
|
+ self.graph = Graph(self)
|
|
|
self.graph.pack(fill=tk.BOTH, side=tk.LEFT, expand=True)
|
|
|
|
|
|
self.controls = tk.Frame(self)
|
|
@@ -30,18 +30,21 @@ class MainWindow(tk.Frame):
|
|
|
calibrate_button.pack(side="top", fill="both")
|
|
|
|
|
|
def update(self):
|
|
|
- ac_data = []
|
|
|
- while self.up_queue.qsize() > 0:
|
|
|
- name, data = self.up_queue.get()
|
|
|
- if name == "ac_data":
|
|
|
- ac_data.append(data)
|
|
|
- if len(ac_data) > 0:
|
|
|
- self.graph.update([ac_data])
|
|
|
- self.ac_dro_x.set("X: {:3.1f} mm".format(ac_data[-1][0]))
|
|
|
- self.ac_dro_y.set("Y: {:3.1f} mm".format(ac_data[-1][1]))
|
|
|
+ ac_positions = []
|
|
|
+ ac_raw_vals = (0, 0)
|
|
|
+ while self.ac_queue.qsize() > 0:
|
|
|
+ name, data = self.ac_queue.get()
|
|
|
+ if name == "data":
|
|
|
+ ac_positions.append(data[0:2])
|
|
|
+ ac_raw_vals = data[2:4]
|
|
|
+
|
|
|
+ if len(ac_positions) > 0:
|
|
|
+ self.graph.update([ac_positions])
|
|
|
+ self.ac_dro_x.set("X: {:3.1f} mm".format(ac_positions[-1][0]))
|
|
|
+ self.ac_dro_y.set("Y: {:3.1f} mm".format(ac_positions[-1][1]))
|
|
|
|
|
|
if self.popup:
|
|
|
- if self.calibration_state.get_state() == self.calibration_state.CALIBRATION_DONE and not self.popup.killed:
|
|
|
+ if self.ac_cal_state.get_state() == self.ac_cal_state.CALIBRATION_DONE and not self.popup.killed:
|
|
|
self.popup.killed = True
|
|
|
self.root.after(1500,self.kill_popup)
|
|
|
self.popup.update()
|
|
@@ -52,12 +55,12 @@ class MainWindow(tk.Frame):
|
|
|
self.popup = None
|
|
|
|
|
|
def calibrate(self):
|
|
|
- self.down_queue.put("calibrate")
|
|
|
+ self.ac_sensor.start_calibration()
|
|
|
if not self.popup:
|
|
|
self.pu_root = tk.Tk()
|
|
|
self.pu_root.title("Calibration")
|
|
|
self.pu_root.geometry("500x200")
|
|
|
- self.popup = Popup.CalibrationPopUp(self.pu_root,self.up_queue,self.down_queue,self.calibration_state)
|
|
|
+ self.popup = CalibrationPopUp(self.pu_root, self.ac_cal_state)
|
|
|
self.popup.pack(side="top", fill="both", expand=True)
|
|
|
|
|
|
|