6
6
import tkinter as tk
7
7
from tkinter import font
8
8
from tkinter import *
9
- from canvasvg import *
10
9
from multiprocessing import Process , Pipe
11
10
12
11
from main import Main
@@ -76,52 +75,6 @@ def move_to(self, x, y):
76
75
# "cmd": "clear_screen"
77
76
# "args": None
78
77
# }
79
- #
80
- # {
81
- # "cmd": "backend_clear_nodes"
82
- # "args": None
83
- # }
84
- #
85
- # {
86
- # "cmd": "backend_update_node"
87
- # "args": Node
88
- # }
89
- #
90
- # {
91
- # "cmd": "backend_update_node_heading"
92
- # "args": {
93
- # "id": str,
94
- # "heading": float,
95
- # "source": TELEMETRY or POSITION
96
- # }
97
- # }
98
- #
99
- # {
100
- # "cmd": "backend_update_node_temp"
101
- # "args": {
102
- # "id": str,
103
- # "temp": float,
104
- # }
105
- # }
106
- #
107
- # {
108
- # "cmd": "backend_update_node_batt"
109
- # "args": {
110
- # "id": str,
111
- # "batt": float,
112
- # }
113
- # }
114
- #
115
- # {
116
- # "cmd": "backend_update_node_telemetry"
117
- # "args": {
118
- # "id": str,
119
- # "temp": float,
120
- # "batt": float,
121
- # "heading": float,
122
- # "source": TELEMETRY or POSITION
123
- # }
124
- # }
125
78
126
79
class EngDisplay :
127
80
def __init__ (self , src = None ):
@@ -183,7 +136,7 @@ def create_eng_display(self):
183
136
self .window .protocol ("WM_DELETE_WINDOW" , self .close_callback )
184
137
185
138
self .create_circle (100 , 100 , 100 )
186
- if not self .updateFrame ():
139
+ if not self .update_frame ():
187
140
return
188
141
189
142
self .main_loop ()
@@ -199,13 +152,13 @@ def main_loop(self):
199
152
last_update = 0
200
153
while True :
201
154
if frame_end is True :
202
- if not self .updateFrame ():
155
+ if not self .update_frame ():
203
156
return
204
157
last_update = time .time ()
205
158
# self.clear_canvas()
206
159
frame_end = False
207
160
elif time .time () - last_update > 0.01666666667 :
208
- if not self .updateFrame ():
161
+ if not self .update_frame ():
209
162
return
210
163
last_update = time .time ()
211
164
while receiving is True :
@@ -226,28 +179,6 @@ def main_loop(self):
226
179
self .draw_circle (msg ['args' ])
227
180
elif msg ['cmd' ] == "connect_points" :
228
181
self .connect_points (msg ['args' ])
229
- elif msg ['cmd' ] == "backend_clear_nodes" :
230
- self .backend .clear_nodes ()
231
- elif msg ['cmd' ] == "backend_update_node" :
232
- self .backend .update_node (msg ['args' ])
233
- elif msg ['cmd' ] == "backend_update_node_heading" :
234
- try :
235
- self .backend .update_node_heading (msg ['args' ]['id' ], msg ['args' ]['heading' ],
236
- msg ['args' ]['source' ])
237
- except KeyError :
238
- self .backend .update_node_heading (msg ['args' ]['id' ], msg ['args' ]['heading' ])
239
- elif msg ['cmd' ] == "backend_update_node_temp" :
240
- self .backend .update_node_temp (msg ['args' ]['id' ], msg ['args' ]['temp' ])
241
- elif msg ['cmd' ] == "backend_update_node_batt" :
242
- self .backend .update_node_batt (msg ['args' ]['id' ], msg ['args' ]['batt' ])
243
- elif msg ['cmd' ] == "backend_update_node_telemetry" :
244
- try :
245
- self .backend .update_node_telemetry (msg ['args' ]['id' ], msg ['args' ]['temp' ],
246
- msg ['args' ]['batt' ], msg ['args' ]['heading' ],
247
- msg ['args' ]['source' ])
248
- except KeyError :
249
- self .backend .update_node_telemetry (msg ['args' ]['id' ], msg ['args' ]['temp' ],
250
- msg ['args' ]['batt' ], msg ['args' ]['heading' ])
251
182
else :
252
183
print (f"Unknown command: { msg ['cmd' ]} " )
253
184
else :
@@ -258,7 +189,7 @@ def main_loop(self):
258
189
259
190
# Interactive features
260
191
261
- def updateFrame (self ):
192
+ def update_frame (self ):
262
193
try :
263
194
self .window .update_idletasks ()
264
195
self .window .update ()
@@ -318,10 +249,10 @@ def shrink(self, scale, x=None, y=None):
318
249
self .universal_scale *= scale
319
250
320
251
def translate_screen_pos_to_canvas_pos (self , x , y ):
321
- return ( x - self .canvas .x_pos , y - self .canvas .y_pos )
252
+ return x - self .canvas .x_pos , y - self .canvas .y_pos
322
253
323
254
def translate_canvas_pos_to_screen_pos (self , x , y ):
324
- return ( x + self .canvas .x_pos , y + self .canvas .y_pos )
255
+ return x + self .canvas .x_pos , y + self .canvas .y_pos
325
256
326
257
def start_measure (self , event ):
327
258
# Save the initial point
@@ -356,7 +287,8 @@ def stop_measure(self, event):
356
287
def clear_canvas (self ):
357
288
self .canvas .delete ("obj" )
358
289
359
- def get_val_from_args (self , args , val ):
290
+ @staticmethod
291
+ def get_val_from_args (args , val ):
360
292
if val in args :
361
293
return args [val ]
362
294
else :
@@ -442,7 +374,7 @@ def _connect_points(self, node1_pos, node2_pos, text=None, text_size=None, text_
442
374
rotation = 180 - math .degrees (math .atan2 (node1_pos [1 ] - node2_pos [1 ],
443
375
node1_pos [0 ] - node2_pos [0 ]))
444
376
# node1_pos the rotation
445
- if rotation > 90 and rotation < 270 :
377
+ if 90 < rotation < 270 :
446
378
rotation -= 180
447
379
# Convert to radians
448
380
rrotation = math .radians (rotation )
@@ -455,7 +387,7 @@ def _connect_points(self, node1_pos, node2_pos, text=None, text_size=None, text_
455
387
text_color = "white"
456
388
self .canvas .create_text (midx , midy , text = text ,
457
389
fill = text_color , font = font .Font (family = 'Courier New' , size = text_size ),
458
- justify = tk .LEFT , angle = rotation , tags = ['scale' , 'obj' ])
390
+ justify = tk .LEFT , tags = ['scale' , 'obj' ]) # angle=rotation
459
391
if dashed is True :
460
392
self .canvas .create_line (node1_pos [0 ], node1_pos [1 ], node2_pos [0 ], node2_pos [1 ], fill = color , dash = (1 , 5 ),
461
393
tags = "obj" )
0 commit comments