diff options
author | Walter Bender <walter@sugarlabs.org> | 2010-12-02 15:46:26 (GMT) |
---|---|---|
committer | Walter Bender <walter@sugarlabs.org> | 2010-12-02 15:46:26 (GMT) |
commit | 7f70d6edd5610ec71319113b8b3efcf5a5d91779 (patch) | |
tree | 5ad63eb7a80158b0df4a445a394a7f7a2e07f125 /TurtleArt/talogo.py | |
parent | 33d6ffb940414d99ba744daa8c41ab34709cfc27 (diff) |
adding rfid support
Diffstat (limited to 'TurtleArt/talogo.py')
-rw-r--r-- | TurtleArt/talogo.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/TurtleArt/talogo.py b/TurtleArt/talogo.py index 553d8a0..cad3066 100644 --- a/TurtleArt/talogo.py +++ b/TurtleArt/talogo.py @@ -61,6 +61,32 @@ VALUE_BLOCKS = ['box1', 'box2', 'color', 'shade', 'gray', 'scale', 'pensize', import logging _logger = logging.getLogger('turtleart-activity') +import os + +from dbus.mainloop.glib import DBusGMainLoop +import dbus + +HAL_SERVICE = 'org.freedesktop.Hal' +HAL_MGR_PATH = '/org/freedesktop/Hal/Manager' +HAL_MGR_IFACE = 'org.freedesktop.Hal.Manager' +HAL_DEV_IFACE = 'org.freedesktop.Hal.Device' + + +def find_device(): + """ Search for RFID devices. Return a device instance or None. """ + device = None + for i in os.listdir(os.path.join('.', 'devices')): + if not os.path.isdir(os.path.join('.', 'devices', i)): + try: + _tempmod = __import__('devices.%s'%i.split('.')[0], globals(), + locals(), ['RFIDReader'], -1) + devtemp = _tempmod.RFIDReader() + if devtemp.get_present() == True: + device = devtemp + except Exception, e: + _logger.error("FIND_DEVICE: %s: %s"%(i, e)) + pass + return device class noKeyError(UserDict): @@ -389,6 +415,7 @@ class LogoCode: 'red': [0, lambda self: CONSTANTS['red']], 'repeat': [2, self._prim_repeat, True], 'resistance': [0, lambda self: self._get_resistance()], + 'rfid': [0, lambda self: self.tw.rfid_idn], 'right': [1, lambda self, x: self._prim_right(x)], 'rightx': [0, lambda self: CONSTANTS['rightx']], 'rpos': [0, lambda self: CONSTANTS['rightpos']], |