Skip to content

Commit 403a618

Browse files
committed
Minor Fixes
Added: -system state label changes color now based on state -minor color and position tweaks so that everything is visible
1 parent 49913ea commit 403a618

File tree

2 files changed

+52
-35
lines changed

2 files changed

+52
-35
lines changed

drivers/flight_gui.py

Lines changed: 42 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ def init(config=Config.FLIGHT):
8686
plot.Plot('time', ['heading', 'attitude','bank'], "q-Angles", width=4, show_x_label=False),
8787
plot.Plot('time', 'gps_lat', width=1, show_x_label=False),
8888
plot.Plot('time', 'gps_lon', width=1, show_x_label=False),
89-
plot.Plot('gps_e', 'gps_n',"xy from launch (m)", width=1, show_x_label=True),
89+
#plot.Plot('gps_e', 'gps_n',"xy from launch (m)", width=1, show_x_label=True),
9090
vector_Plot('time', 'euler_angle', width=4, show_x_label=False),
9191
vector_Plot('time', 'gyro', width=4, show_x_label=False),
9292
vector_Plot('time', 'acceleration', width=4, show_x_label=False)]
@@ -101,8 +101,8 @@ def init(config=Config.FLIGHT):
101101
"Telemetry monitor - Flight" if config == Config.FLIGHT else
102102
"Telemetry monitor",
103103
show_send_value=False,
104-
serial_console_height=5,
105-
plots_size=(11.5,10),
104+
serial_console_height=1,
105+
plots_size=(10,10),
106106
plots_background='#69615e',
107107
controls_background='#69615e',
108108
default_baud=57600)
@@ -127,13 +127,30 @@ def start_abort_handler():
127127
def check_stop(time, status):
128128
nonlocal running
129129
if status == 'STAND_BY': #was 'STAND_BY'
130+
#status.config(bg='#0fe9f5')
130131
app.stop()
131132
running = False
132133
if config == Config.DEMO:
133134
countdown.config(text=" T-00:10:00")
134135
else:
135136
countdown.config(text=" T-01:00:00")
136137
start_abort_button.config(text="Start", bg='lime green')
138+
elif status == 'TERMINAL_COUNT':
139+
status.config(bg='#e6d925')
140+
elif status == 'POWERED_ASCENT':
141+
status.config(bg='#e04122')
142+
143+
elif status == 'UNPOWERED_ASCENT':
144+
status.config(bg='#bd857b')
145+
elif status == 'FREEFALL':
146+
status.config(bg='#760e99')
147+
elif status == 'DROGUE_DESCENT':
148+
status.config(bg='#8b65ba')
149+
elif status == 'MAIN_DESCENT':
150+
status.config(bg='#402aa1')
151+
152+
elif status == 'LANDED':
153+
status.config(bg='#4395d9')
137154
else:
138155
start_abort_button.config(text="Abort", bg='red')
139156

@@ -152,13 +169,13 @@ def state_name(name):
152169
return lower_name.replace("_", " ")
153170

154171
# Add custom gui controls
155-
Label(app, text="\nControls", bg= '#69615e').pack()
172+
Label(app, text="\nControls", bg= '#69615e').pack(side=TOP)
156173

157174
# Sensor controls
158175
#Label(app, text="\nSensor Controls").pack()
159176
controlsFrame = Frame(app, bg= '#69615e')
160-
controlsFrame.pack() #expand=1
161-
sensorStatus = Label(controlsFrame, text="All sensors functional", fg='green', font=("Helvetica", 17), bg= '#c9c1be')
177+
controlsFrame.pack(side=TOP) #expand=1
178+
sensorStatus = Label(controlsFrame, text="All sensors functional", fg='green', font=("Helvetica", 12), bg= '#c9c1be') #light grey c9c1be
162179
sensorStatus.grid(row=0,column=0,columnspan=4)
163180
#Button(controlsFrame, text="Zero force", command=lambda: app.sendValue("zero_force")).pack(side=LEFT)
164181
#Button(controlsFrame, text="Zero pressure", command=lambda: app.sendValue("zero_pressure")).pack(side=LEFT)
@@ -174,37 +191,37 @@ def state_name(name):
174191
u1.grid(row=1,column=2,columnspan=2)
175192
#u1.focus_set() #not sure if this is needed
176193
#def sendVar():
177-
b1= Button(controlsFrame, text="set launch alt (m)", width=20, command=lambda: app.sendValue("Launch_ALT",float(u1.get())))
194+
b1= Button(controlsFrame, text="set launch alt (m)",font=("Helvetica", 7), width=20, command=lambda: app.sendValue("Launch_ALT",float(u1.get())))
178195
b1.grid(row=1,column=0,padx=5,columnspan=2)
179196

180197
u2= Entry(controlsFrame)
181198
u2.grid(row=2,column=2,columnspan=2)
182-
b2= Button(controlsFrame, text="set BMP calib. factor (HPA)", width=20, command=lambda: app.sendValue("BMP_cf",u2.get()))
199+
b2= Button(controlsFrame, text="set BMP calib. factor (HPA)", width=20,font=("Helvetica", 7) , command=lambda: app.sendValue("BMP_cf",u2.get()))
183200
b2.grid(row=2,column=0,padx=5,columnspan=2)
184201

185202
u3= Entry(controlsFrame)
186203
u3.grid(row=3,column=2,columnspan=2)
187-
b3= Button(controlsFrame, text="set ATST (m)", width=20, command=lambda: app.sendValue("ATST",u3.get()))
204+
b3= Button(controlsFrame, text="set ATST (m)", width=20,font=("Helvetica", 7), command=lambda: app.sendValue("ATST",u3.get()))
188205
b3.grid(row=3,column=0,padx=5,columnspan=2)
189206

190207
u4= Entry(controlsFrame,width=8)
191208
u4.grid(row=4,column=1)
192-
b4= Button(controlsFrame, text="set launch lat", width=10, command=lambda: app.sendValue("launch_lat",u4.get()))
209+
b4= Button(controlsFrame, text="set launch lat", width=10, font=("Helvetica", 7), command=lambda: app.sendValue("launch_lat",u4.get()))
193210
b4.grid(row=4,column=0,padx=1)
194211

195212
u5= Entry(controlsFrame,width=8)
196213
u5.grid(row=4,column=3)
197-
b5= Button(controlsFrame, text="set launch lon", width=10, command=lambda: app.sendValue("launch_lon",u5.get()))
214+
b5= Button(controlsFrame, text="set launch lon", font=("Helvetica", 7), width=10, command=lambda: app.sendValue("launch_lon",u5.get()))
198215
b5.grid(row=4,column=2,padx=1)
199216

200217
u6= Entry(controlsFrame,width=8)
201218
u6.grid(row=5,column=1)
202-
b6= Button(controlsFrame, text="set land lat", width=10, command=lambda: app.sendValue("land_lat",u6.get()))
219+
b6= Button(controlsFrame, text="set land lat", width=10, font=("Helvetica", 7), command=lambda: app.sendValue("land_lat",u6.get()))
203220
b6.grid(row=5,column=0,padx=1)
204221

205222
u7= Entry(controlsFrame,width=8)
206223
u7.grid(row=5,column=3)
207-
b7= Button(controlsFrame, text="set land lon", width=10, command=lambda: app.sendValue("land_lon",u7.get()))
224+
b7= Button(controlsFrame, text="set land lon", width=10, font=("Helvetica", 7), command=lambda: app.sendValue("land_lon",u7.get()))
208225
b7.grid(row=5,column=2,padx=1)
209226

210227

@@ -219,12 +236,12 @@ def state_name(name):
219236
#Label(app, text="\nThrottle Controls").pack()
220237
throttleFrame = Frame(app, bg= '#69615e') #bg or background works
221238
throttleFrame.pack()
222-
Label(throttleFrame, text="Drouge", font=("Helvetica", 15), bg= '#69615e').grid(row=0, column=1)
223-
Label(throttleFrame, text="Main", font=("Helvetica", 15), bg= '#69615e').grid(row=0, column=2, padx=15)
224-
Label(throttleFrame, text="1", font=("Helvetica", 15), bg= '#69615e').grid(row=1, column=0, sticky=W, padx=5)
225-
Label(throttleFrame, text="2", font=("Helvetica", 15), bg= '#69615e').grid(row=2, column=0, sticky=W, padx=5)
226-
Label(throttleFrame, text="Cam", font=("Helvetica", 15), bg= '#69615e').grid(row=3, column=0, sticky=W, padx=5)
227-
Button(throttleFrame, text="Reset board", command=lambda: app.sendValue("reset")).grid(row=3, column=2, sticky=W, padx=5)
239+
Label(throttleFrame, text="Drogue", font=("Helvetica", 10), bg= '#69615e').grid(row=0, column=1, sticky= W)
240+
Label(throttleFrame, text="Main", font=("Helvetica", 10), bg= '#69615e').grid(row=0, column=2, padx=15, sticky= W)
241+
Label(throttleFrame, text="1", font=("Helvetica", 10), bg= '#69615e').grid(row=1, column=0, sticky=W, padx=5)
242+
Label(throttleFrame, text="2", font=("Helvetica", 10), bg= '#69615e').grid(row=2, column=0, sticky=W, padx=5)
243+
Label(throttleFrame, text="Cam", font=("Helvetica", 10), bg= '#69615e').grid(row=3, column=0, sticky=W, padx=5)
244+
Button(throttleFrame, text="Reset board", font=("Helvetica", 8), command=lambda: app.sendValue("reset")).grid(row=3, column=2, sticky=W, padx=5)
228245

229246

230247
valves = ['P1', 'P2', 'P3', 'P4', 'P5'] #indexing starts at 0
@@ -239,14 +256,14 @@ def state_name(name):
239256
# Run controls
240257
#Label(app, text="\nRun Controls").pack()
241258
runFrame = Frame(app, bg= '#69615e')
242-
runFrame.pack()
243-
start_abort_button = Button(runFrame, text="Start", command=start_abort_handler, bg="lime green", height=3, width=10)
259+
runFrame.pack(side=TOP)
260+
start_abort_button = Button(runFrame, text="Start", command=start_abort_handler, bg="lime green", height=2, width=8)
244261
start_abort_button.pack(side=LEFT)
245-
countdown = Label(runFrame, text=" T-01:00:00", fg="red", font=("Helvetica", 20, "bold"), bg= '#b9b1ae')
246-
countdown.pack()
262+
countdown = Label(runFrame, text=" T-01:00:00", width=10, fg="red", font=("Helvetica", 16, "bold"), bg= '#c9c1be') #b9b1ae
263+
countdown.pack(side=TOP)
247264

248-
status = Label(runFrame, text=" Stand by", width=15, font=("Helvetica", 17), bg= '#b9b1ae')
249-
status.pack()
265+
status = Label(runFrame, text=" Stand by", width=16, font=("Helvetica", 10), bg= '#c9c1be')
266+
status.pack(side=TOP)
250267

251268
# Listeners
252269
app.dispatcher.add_listener('status', lambda time, val: status.config(text=" " + state_name(val)))

src/gui.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -120,22 +120,22 @@ def _createWidgets(self):
120120
self._setupPlots()
121121

122122
buttons = Frame(self, bg=self.flags['controls_background'])
123-
self.controlButton = Button(buttons, text="Start", command=self.start, bg="lime green")
123+
self.controlButton = Button(buttons, text="Start", command=self.start, bg="lime green",font=("Helvetica", 8))
124124
self.controlButton.pack(side=LEFT)
125125

126-
self.exitButton = Button(buttons, text="Quit", command=self.terminate)
126+
self.exitButton = Button(buttons, text="Quit", command=self.terminate, font=("Helvetica", 8))
127127
self.exitButton.pack(side=LEFT)
128128

129-
self.openButton = Button(buttons, text="Open...", command=self.openFile)
129+
self.openButton = Button(buttons, text="Open", command=self.openFile, font=("Helvetica", 8), height=1, width=4)
130130
self.openButton.pack(side=LEFT)
131131

132-
self.saveButton = Button(buttons, text="Save as...", command=self.saveFile)
132+
self.saveButton = Button(buttons, text="Save as", command=self.saveFile, font=("Helvetica", 8), height=1 ,width=6)
133133
self.saveButton.pack(side=LEFT)
134134

135-
self.exportButton = Button(buttons, text="Export csv...", command=self.exportCSV)
135+
self.exportButton = Button(buttons, text="Export csv", command=self.exportCSV, font=("Helvetica", 8), height=1, width=8)
136136
self.exportButton.pack(side=LEFT)
137137

138-
self.thresholdButton = Button(buttons, text="Set thresholds...", command=self.configureThresholds)
138+
self.thresholdButton = Button(buttons, text="Thresholds", command=self.configureThresholds, font=("Helvetica", 8), height=1, width=8)
139139
self.thresholdButton.pack(side=LEFT)
140140

141141
buttons.pack()
@@ -204,12 +204,12 @@ def _createWidgets(self):
204204
sendValues.pack()
205205

206206
# Value readout widget
207-
valuesLabel = Label(self, text="\nCurrent values", bg=self.flags['controls_background'])
207+
valuesLabel = Label(self, text="\nCurrent values", bg=self.flags['controls_background'], height= 2)
208208
if self.flags['show_current_values']:
209-
valuesLabel.pack()
209+
valuesLabel.pack(side=TOP)
210210

211211
valuesTableFrame = Frame(self, bg=self.flags['controls_background'])
212-
self.valuesTable = Treeview(valuesTableFrame, columns=('value',), show='tree')
212+
self.valuesTable = Treeview(valuesTableFrame, columns=('value',), show='tree',height=6)
213213

214214
self.valuesTable.insert('', 'end', 'abs time', text="abs time (ms)")
215215
self.dispatcher.add_listener(
@@ -224,7 +224,7 @@ def _createWidgets(self):
224224
lambda time, data, id=ty.name: self.valuesTable.item(id, values=(data,)),
225225
100)
226226

227-
valuesScrollbar = Scrollbar(valuesTableFrame, orient=VERTICAL)
227+
valuesScrollbar = Scrollbar(valuesTableFrame, orient=VERTICAL, width=15)
228228
valuesScrollbar.config(command=self.valuesTable.yview)
229229
self.valuesTable.configure(yscrollcommand=valuesScrollbar.set)
230230

0 commit comments

Comments
 (0)