]> Pileus Git - ~andy/csm213a-hw/blobdiff - vis/visual.py
Add plot selector
[~andy/csm213a-hw] / vis / visual.py
index 737e2d9a3b61cc3fd08b3c58a3601cfb2ff47e6d..c4a266f2bba9439dc2627a58fd660d955ff0bb31 100644 (file)
@@ -41,6 +41,8 @@ class Visual:
                self.builder.connect_signals(self)
                self.window   = self.builder.get_object("window")
                self.settings = self.builder.get_object("settings")
+               self.plotsns  = self.builder.get_object('sns')
+               self.plotaxis = self.builder.get_object('axis')
 
                self.accs     = get_objects(['accx', 'accy', 'accz'])
                self.mags     = get_objects(['magx', 'magy', 'magz'])
@@ -173,8 +175,15 @@ class Visual:
                self.rate_cnt['a2d'] += setval(self.a2ds, state.a2d, [])
 
                # Save history
-               if state.a2d[0] != None:
-                       self.history = self.history[1:] + [state.a2d[0]]
+               idxs = ['acc', 'mag', 'tch', 'lgt', 'a2d']
+               sns  = idxs[self.plotsns.get_active()]
+               axis = int(self.plotaxis.get_value())
+               if hasattr(state, sns):
+                       data = getattr(state, sns)
+                       axis = min(axis-1, len(data)-1)
+                       item = data[axis]
+                       if item != None:
+                               self.history = self.history[1:] + [item]
 
        def debug(self, state):
                print('update: ' + str(state))