TYP_U8: 'B', TYP_U16: 'H', TYP_U32: 'I',
TYP_F32: 'f', TYP_F64: 'd'}
- sampleNum= {SNS_ACC: 0,
+ sampleNum= {SNS_ACC: 0,
SNS_MAG: 0,
SNS_LGT: 0,
SNS_TCH: 0,
self.values = unpack('<'+fmt, self.binary)
# Print debug output
- self.sampleNum[self.bits_sns] += 1
+ self.sampleNum[self.bits_sns] += 1
#if self.sampleNum[self.bits_sns] == 1000:
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
+ print('convert: %3s = \'%3s\'%%[%s] -> [%s]' %
+ (sns, fmt, hexDump(self.binary), fltDump(self.values)))
+ self.sampleNum[self.bits_sns] = 0
# Create state
state = State()
+import sys
+
from datetime import datetime
-from Queue import Queue
-from thread import get_ident, start_new_thread
from xively import XivelyAPIClient
from xively import Datastream
from xively import Datapoint
+if sys.version_info<(3,0,0):
+ from Queue import Queue
+ from thread import get_ident, start_new_thread
+else:
+ from queue import Queue
+ from _thread import get_ident, start_new_thread
class Logger:
# Constructor
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'])
self.lgts = get_objects(['lgt'])
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)
<object class="GtkDrawingArea" id="plot">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <signal name="expose-event" handler="on_expose" swapped="no"/>
</object>
</child>
</object>