self.rate_due = 0
self.rate_cnt = {'acc': 0,
- 'mag': 0,
- 'lgt': 0,
- 'tch': 0,
- 'a2d': 0}
+ 'mag': 0,
+ 'lgt': 0,
+ 'tch': 0,
+ 'a2d': 0}
self.builder.add_from_file('visual.ui')
self.builder.connect_signals(self)
+
self.window = self.builder.get_object("window")
self.settings = self.builder.get_object("settings")
+ self.plotdraw = self.builder.get_object('plot')
+ self.plotsns = self.builder.get_object('sns')
+ self.plotaxis = self.builder.get_object('axis')
+
+ if sys.version_info<(3,0,0):
+ self.plotdraw.connect('expose-event', self.on_expose)
+ else:
+ self.plotdraw.connect('draw', self.on_draw)
self.accs = get_objects(['accx', 'accy', 'accz'])
self.mags = get_objects(['magx', 'magy', 'magz'])
setattr(self.config, name, value)
self.config.save()
- def on_expose(self, obj, _):
- cairo = obj.window.cairo_create()
+ def on_draw(self, obj, cairo):
count = len(self.history)
extents = cairo.clip_extents()
width = extents[2] - extents[0]
cairo.line_to(x, y)
cairo.stroke()
+ def on_expose(self, obj, event):
+ cairo = obj.window.cairo_create()
+ self.draw(obj, cairo)
+
def on_key(self, win, ev):
if ev.string == 'q':
Gtk.main_quit();
def on_destroy(self, win):
Gtk.main_quit()
- # Methods
+ # Methods
def load_config(self):
def set_val(name, val):
self.builder.get_object(name).set_value(val)
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))