r4540 - developers/john_lee/pyfso
john_lee at docs.openmoko.org
john_lee at docs.openmoko.org
Fri Jul 18 19:20:36 CEST 2008
Author: john_lee
Date: 2008-07-18 19:20:36 +0200 (Fri, 18 Jul 2008)
New Revision: 4540
Modified:
developers/john_lee/pyfso/accelerometer.py
Log:
make accelerometer.py pull based again.
Modified: developers/john_lee/pyfso/accelerometer.py
===================================================================
--- developers/john_lee/pyfso/accelerometer.py 2008-07-18 17:20:29 UTC (rev 4539)
+++ developers/john_lee/pyfso/accelerometer.py 2008-07-18 17:20:36 UTC (rev 4540)
@@ -4,29 +4,21 @@
(C) 2008 Openmoko, Inc.
GPLv2 or later
"""
-from dbus import Interface, SystemBus
-from dbus.exceptions import DBusException
-from general import Subject, DumpObserver
import math
-class MockAccelerometer(Subject):
- """>>> m = MockAccelerometer()
- >>> d = DumpObserver(m)
- (0, -1000, 0) {}
+class MockAccelerometer(object):
"""
- def __init__(self, *args, **kwargs):
- super(MockAccelerometer, self).__init__()
+ """
+ def retrieve(self):
+ return (0, -1000, 0)
- def attach(self, function):
- super(MockAccelerometer, self).attach(function)
- self._notify(0, -1000, 0)
-
-class FSOAccelerometer(Subject):
+class FSOAccelerometer(object):
def __init__(self, fso):
- super(FSOAccelerometer, self).__init__()
- fso.onAccelerometer.append(self._notify)
+ self.fso = fso
+ def retrieve(self):
+ return self.fso.accelerometer_iface.Value()
# shamelessly stoled from olv
def get_xy_theta(u):
@@ -52,12 +44,19 @@
def _test_fso():
+ from dbus import SystemBus, DBusException
from dbus.mainloop.glib import DBusGMainLoop
from fso_backend import FSOObject
- accelerometer = FSOAccelerometer(FSOObject(SystemBus(mainloop=DBusGMainLoop())))
- DumpObserver(accelerometer)
+ try:
+ accelerometer = FSOAccelerometer(FSOObject(SystemBus(mainloop=DBusGMainLoop())))
+ except DBusException:
+ return
import gobject
+ def f():
+ print accelerometer.retrieve()
+ return True
try:
+ gobject.idle_add(f)
gobject.MainLoop().run()
except KeyboardInterrupt:
return
More information about the commitlog
mailing list