+ def update(self, state):
+ def setxyz(objs, vals):
+ if vals[0]: objs[0].set_text('X: %f' % vals[0])
+ if vals[1]: objs[1].set_text('Y: %f' % vals[1])
+ if vals[2]: objs[2].set_text('Z: %f' % vals[2])
+ def setabs(objs, vals):
+ for i in range(0,len(objs)):
+ if vals[i]: objs[i].set_text('%f' % vals[i])
+
+ setxyz(self.accs, state.acc)
+ setxyz(self.mags, state.mag)
+ setabs(self.touch, state.touch)
+ setabs(self.light, state.light)
+ setabs(self.a2ds, state.a2d)
+
+ def debug(self, state):
+ print 'update: ' + str(state)
+ print '\tacc - ' + str(state.acc)
+ print '\tmag - ' + str(state.mag)
+ print '\tlgt - ' + str(state.light)
+ print '\ttch - ' + str(state.touch)
+ print '\ta2d - ' + str(state.a2d)
+
+ def timer(self):
+ serial = self.builder.get_object("serial_btn")
+ status = self.builder.get_object("conn")
+
+ if self.device.running():
+ serial.set_active(True)
+ status.set_from_stock(gtk.STOCK_YES, gtk.ICON_SIZE_BUTTON)
+ else:
+ serial.set_active(False)
+ status.set_from_stock(gtk.STOCK_NO, gtk.ICON_SIZE_BUTTON)
+ if self.device.running():
+ for item in self.device.process():
+ self.update(item)
+ #self.debug(item)
+
+ return True
+