diff options
author | Walter Bender <walter.bender@gmail.com> | 2011-02-18 14:19:14 (GMT) |
---|---|---|
committer | Walter Bender <walter.bender@gmail.com> | 2011-02-18 14:19:14 (GMT) |
commit | 676d559cd62e35d7718d15a821b43aa7c4cfd28d (patch) | |
tree | 3038d4c84c4a7f9c3aeac8bc20c9f3263f41f0ff /TurtleArt/tawindow.py | |
parent | 404683aaf6f71f1a3902195098bbfa049cc652ad (diff) |
moved rfid code to plugin
Diffstat (limited to 'TurtleArt/tawindow.py')
-rw-r--r-- | TurtleArt/tawindow.py | 81 |
1 files changed, 4 insertions, 77 deletions
diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py index 73894e4..589e60c 100644 --- a/TurtleArt/tawindow.py +++ b/TurtleArt/tawindow.py @@ -2,7 +2,6 @@ #Copyright (c) 2007, Playful Invention Company #Copyright (c) 2008-11, Walter Bender #Copyright (c) 2009-11 Raúl Gutiérrez Segalés -#Copyright (C) 2010 Emiliano Pastorino <epastorino@plan.ceibal.edu.uy> #Copyright (c) 2011 Collabora Ltd. <http://www.collabora.co.uk/> #Permission is hereby granted, free of charge, to any person obtaining a copy @@ -84,20 +83,12 @@ from tautils import magnitude, get_load_name, get_save_name, data_from_file, \ get_hardware from tasprite_factory import SVG, svg_str_to_pixbuf, svg_from_file from sprites import Sprites, Sprite -from rfidutils import strhex2bin, strbin2dec, find_device from dbus.mainloop.glib import DBusGMainLoop if GST_AVAILABLE: from tagplay import stop_media from audiograb import AudioGrab_Unknown, AudioGrab_XO1, AudioGrab_XO15 -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' -REGEXP_SERUSB = '\/org\/freedesktop\/Hal\/devices\/usb_device['\ - 'a-z,A-Z,0-9,_]*serial_usb_[0-9]' - import logging _logger = logging.getLogger('turtleart-activity') @@ -288,40 +279,6 @@ class TurtleArtWindow(): self.saved_pictures = [] self.block_operation = '' - """ - The following code will initialize a USB RFID reader. Please note that - in order to make this initialization function work, it is necessary to - set the permission for the ttyUSB device to 0666. You can do this by - adding a rule to /etc/udev/rules.d - - As root (using sudo or su), copy the following text into a new file in - /etc/udev/rules.d/94-ttyUSB-rules - - KERNEL=="ttyUSB[0-9]",MODE="0666" - - You only have to do this once. - """ - - self.rfid_connected = False - self.rfid_device = find_device() - self.rfid_idn = '' - - if self.rfid_device is not None: - _logger.info("RFID device found") - self.rfid_connected = self.rfid_device.do_connect() - if self.rfid_connected: - self.rfid_device.connect("tag-read", self._tag_read_cb) - self.rfid_device.connect("disconnected", self._disconnected_cb) - - loop = DBusGMainLoop() - bus = dbus.SystemBus(mainloop=loop) - hmgr_iface = dbus.Interface(bus.get_object(HAL_SERVICE, - HAL_MGR_PATH), HAL_MGR_IFACE) - - hmgr_iface.connect_to_signal('DeviceAdded', self._device_added_cb) - - PALETTES[PALETTE_NAMES.index('sensor')].append('rfid') - #### def _get_plugin_home(self): @@ -364,50 +321,20 @@ class TurtleArtWindow(): f = "def f(self): from plugins.%s import %s; return %s(self)" \ % (p, P, P) plugin = {} + exec f in globals(), plugin + self._plugins.append(plugin.values()[0](self)) + ''' try: exec f in globals(), plugin self._plugins.append(plugin.values()[0](self)) except ImportError: print 'failed to import %s' % (P) + ''' def _run_plugins(self): for p in self._plugins: p.setup() - #### - - def _device_added_cb(self, path): - """ - Called from hal connection when a new device is plugged. - """ - if not self.rfid_connected: - self.rfid_device = find_device() - _logger.debug("DEVICE_ADDED: %s" % self.rfid_device) - if self.rfid_device is not None: - _logger.debug("DEVICE_ADDED: RFID device is not None!") - self.rfid_connected = self._device.do_connect() - if self.rfid_connected: - _logger.debug("DEVICE_ADDED: Connected!") - self.rfid_device.connect("tag-read", self._tag_read_cb) - self.rfid_device.connect("disconnected", self._disconnected_cb) - - def _disconnected_cb(self, device, text): - """ - Called when the device is disconnected. - """ - self.rfid_connected = False - self.rfid_device = None - - def _tag_read_cb(self, device, tagid): - """ - Callback for "tag-read" signal. Receives the read tag id. - """ - idbin = strhex2bin(tagid) - self.rfid_idn = strbin2dec(idbin[26:64]) - while self.rfid_idn.__len__() < 9: - self.rfid_idn = '0' + self.rfid_idn - print tagid, idbin, self.rfid_idn - def new_buffer(self, buf): """ Append a new buffer to the ringbuffer """ self.lc.ringbuffer.append(buf) |