Skip to content

Commit b8017f1

Browse files
committed
Fix #88 - Modify GroundSystem to use JSON files generated by CCDD
Also includes further updates and refinements to overall UI
1 parent a4c9aae commit b8017f1

File tree

5 files changed

+2388
-2876
lines changed

5 files changed

+2388
-2876
lines changed

Subsystems/tlmGUI/GenericTelemetry.py

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929
import zmq
3030
from PyQt5.QtCore import QThread, pyqtSignal
31-
from PyQt5.QtWidgets import QApplication, QDialog
31+
from PyQt5.QtWidgets import QApplication, QDialog, QTableWidgetItem
3232

3333
from GenericTelemetryDialog import Ui_GenericTelemetryDialog
3434

@@ -62,9 +62,7 @@ def displayTelemetryItem(datagram, tlmIndex, labelField, valueField):
6262
valueField.setText(tlmItemEnum[tlmIndex][int(TlmField[0])])
6363
elif tlmItemDisplayType[tlmIndex] == 'Str':
6464
valueField.setText(TlmField[0].decode('utf-8', 'ignore'))
65-
labelField.setPlainText(tlmItemDesc[tlmIndex])
66-
else:
67-
labelField.setPlainText("(unused)")
65+
labelField.setText(tlmItemDesc[tlmIndex])
6866

6967
# Start the telemetry receiver (see GTTlmReceiver class)
7068
def initGTTlmReceiver(self, subscr):
@@ -89,10 +87,10 @@ def processPendingDatagrams(self, datagram):
8987
#
9088
# Decode and display all packet elements
9189
#
92-
for k in range(40):
93-
itemLabelpte = getattr(self, f"itemLabelPlainTextEdit_{k+1}")
94-
itemValuele = getattr(self, f"itemValueLineEdit_{k+1}")
95-
self.displayTelemetryItem(datagram, k, itemLabelpte, itemValuele)
90+
for k in range(self.tblTelemetry.rowCount()):
91+
itemLabel = self.tblTelemetry.item(k, 0)
92+
itemValue = self.tblTelemetry.item(k, 1)
93+
self.displayTelemetryItem(datagram, k, itemLabel, itemValue)
9694

9795
## Reimplements closeEvent
9896
## to properly quit the thread
@@ -198,35 +196,34 @@ def usage():
198196
#
199197
# Read in the contents of the telemetry packet definition
200198
#
201-
tlmItemIsValid, tlmItemDesc, tlmItemStart, tlmItemSize, tlmItemDisplayType, tlmItemFormat = (
202-
[] for _ in range(6))
203-
tlmItemEnum = [[]] * 40
199+
tlmItemIsValid, tlmItemDesc, \
200+
tlmItemStart, tlmItemSize, \
201+
tlmItemDisplayType, tlmItemFormat = ([] for _ in range(6))
202+
203+
tlmItemEnum = [None] * 40
204204

205205
i = 0
206206
with open(f"{ROOTDIR}/{tlmDefFile}") as tlmfile:
207207
reader = csv.reader(tlmfile, skipinitialspace=True)
208208
for row in reader:
209-
if row[0][0] != '#':
209+
if not row[0].startswith('#'):
210210
tlmItemIsValid.append(True)
211211
tlmItemDesc.append(row[0])
212212
tlmItemStart.append(row[1])
213213
tlmItemSize.append(row[2])
214-
if row[3] == 's':
215-
tlmItemFormat.append(row[2] + row[3])
214+
if row[3].lower() == 's':
215+
tlmItemFormat.append(f'{row[2]}{row[3]}')
216216
else:
217-
tlmItemFormat.append(py_endian + row[3])
217+
tlmItemFormat.append(f'{py_endian}{row[3]}')
218218
tlmItemDisplayType.append(row[4])
219219
if row[4] == 'Enm':
220-
for m in range(5, 9):
221-
tlmItemEnum[i].append(row[m])
220+
tlmItemEnum[i] = row[5:9]
221+
Telem.tblTelemetry.insertRow(i)
222+
lblItem, valItem = QTableWidgetItem(), QTableWidgetItem()
223+
Telem.tblTelemetry.setItem(i, 0, lblItem)
224+
Telem.tblTelemetry.setItem(i, 1, valItem)
222225
i += 1
223226

224-
#
225-
# Mark the remaining values as invalid
226-
#
227-
for j in range(i, 40):
228-
tlmItemIsValid.append(False)
229-
230227
#
231228
# Display the page
232229
#

0 commit comments

Comments
 (0)