28
28
29
29
import zmq
30
30
from PyQt5 .QtCore import QThread , pyqtSignal
31
- from PyQt5 .QtWidgets import QApplication , QDialog
31
+ from PyQt5 .QtWidgets import QApplication , QDialog , QTableWidgetItem
32
32
33
33
from GenericTelemetryDialog import Ui_GenericTelemetryDialog
34
34
@@ -62,9 +62,7 @@ def displayTelemetryItem(datagram, tlmIndex, labelField, valueField):
62
62
valueField .setText (tlmItemEnum [tlmIndex ][int (TlmField [0 ])])
63
63
elif tlmItemDisplayType [tlmIndex ] == 'Str' :
64
64
valueField .setText (TlmField [0 ].decode ('utf-8' , 'ignore' ))
65
- labelField .setPlainText (tlmItemDesc [tlmIndex ])
66
- else :
67
- labelField .setPlainText ("(unused)" )
65
+ labelField .setText (tlmItemDesc [tlmIndex ])
68
66
69
67
# Start the telemetry receiver (see GTTlmReceiver class)
70
68
def initGTTlmReceiver (self , subscr ):
@@ -89,10 +87,10 @@ def processPendingDatagrams(self, datagram):
89
87
#
90
88
# Decode and display all packet elements
91
89
#
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 )
96
94
97
95
## Reimplements closeEvent
98
96
## to properly quit the thread
@@ -198,35 +196,34 @@ def usage():
198
196
#
199
197
# Read in the contents of the telemetry packet definition
200
198
#
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
204
204
205
205
i = 0
206
206
with open (f"{ ROOTDIR } /{ tlmDefFile } " ) as tlmfile :
207
207
reader = csv .reader (tlmfile , skipinitialspace = True )
208
208
for row in reader :
209
- if row [0 ][ 0 ] != '#' :
209
+ if not row [0 ]. startswith ( '#' ) :
210
210
tlmItemIsValid .append (True )
211
211
tlmItemDesc .append (row [0 ])
212
212
tlmItemStart .append (row [1 ])
213
213
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 ]} ' )
216
216
else :
217
- tlmItemFormat .append (py_endian + row [3 ])
217
+ tlmItemFormat .append (f' { py_endian } { row [3 ]} ' )
218
218
tlmItemDisplayType .append (row [4 ])
219
219
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 )
222
225
i += 1
223
226
224
- #
225
- # Mark the remaining values as invalid
226
- #
227
- for j in range (i , 40 ):
228
- tlmItemIsValid .append (False )
229
-
230
227
#
231
228
# Display the page
232
229
#
0 commit comments