]> Pileus Git - ~andy/csm213a-hw/blobdiff - vis/device.py
Update from Yue, and add rate column
[~andy/csm213a-hw] / vis / device.py
index 7d47d77c0b006019fe44ec9775edbfbab201d379..d1f96e4d59448167f6fb42daed79d95bdcc9b902 100644 (file)
@@ -79,6 +79,12 @@ class Frame:
                    TYP_U8:  'B', TYP_U16: 'H', TYP_U32: 'I',
                    TYP_F32: 'f', TYP_F64: 'd'}
 
+        sampleNum= {SNS_ACC:   0,
+                   SNS_MAG:   0,
+                   SNS_LGT:   0,
+                   SNS_TCH:   0,
+                   SNS_A2D:   0}
+
        # Parser data
        index    = 0   # read index
        count    = 0   # number of items in frame
@@ -87,7 +93,6 @@ class Frame:
        bits_typ = 0   # data type
        binary   = ""  # binary read-in
        values   = []  # converted numeric data
-       total    = 0   # total states read so far
 
        # Constructor
        def __init__(self):
@@ -154,12 +159,13 @@ class Frame:
                fmt = Frame.fmtMap[self.bits_typ] * self.count
                sns = Frame.snsMap[self.bits_sns]
                self.values = unpack('<'+fmt, self.binary)
-               #print('convert: %3s = \'%3s\'%%[%s] -> [%s]' %
-               #       (sns, fmt, hexDump(self.binary), fltDump(self.values)))
 
-               if self.total % 100 == 0:
-                       print('read %d samples' % self.total);
-               self.total += 1;
+               # Print debug output
+                self.sampleNum[self.bits_sns] += 1
+               if self.sampleNum[self.bits_sns] == 1000:
+                        print('convert: %3s = \'%3s\'%%[%s] -> [%s]' %
+                              (sns, fmt, hexDump(self.binary), fltDump(self.values)))
+                        self.sampleNum[self.bits_sns] = 0
 
                # Create state
                state = State()