Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2013-11-02 20:49:52 (GMT)
committer Walter Bender <walter@sugarlabs.org>2013-11-02 20:49:52 (GMT)
commitff1bb3aad03aa51f53336850c9d67594f8f353ce (patch)
treed0e574eaca2ffabc41f04520a16d2ecf57638314 /plugins
parent4d61a169283503dbc2821c85a43c1222c0825ef5 (diff)
more conversions to new primitive format
Diffstat (limited to 'plugins')
-rw-r--r--plugins/audio_sensors/audio_sensors.py5
-rw-r--r--plugins/light_sensor/light_sensor.py18
-rw-r--r--plugins/rfid/rfid.py10
3 files changed, 22 insertions, 11 deletions
diff --git a/plugins/audio_sensors/audio_sensors.py b/plugins/audio_sensors/audio_sensors.py
index faacd89..525a244 100644
--- a/plugins/audio_sensors/audio_sensors.py
+++ b/plugins/audio_sensors/audio_sensors.py
@@ -35,10 +35,7 @@ from TurtleArt.tapalette import make_palette
from TurtleArt.taconstants import XO1, XO15, XO175, XO30, XO4
from TurtleArt.talogo import primitive_dictionary
from TurtleArt.tautils import debug_output
-from TurtleArt.taprimitive import (ArgSlot, ConstantArg, Primitive)
-from TurtleArt.tatype import (TYPE_BOOL, TYPE_BOX, TYPE_CHAR, TYPE_INT,
- TYPE_FLOAT, TYPE_OBJECT, TYPE_STRING,
- TYPE_NUMBER)
+from TurtleArt.taprimitive import (ConstantArg, Primitive)
import logging
_logger = logging.getLogger('turtleart-activity audio sensors plugin')
diff --git a/plugins/light_sensor/light_sensor.py b/plugins/light_sensor/light_sensor.py
index 97ab6b6..2e81c28 100644
--- a/plugins/light_sensor/light_sensor.py
+++ b/plugins/light_sensor/light_sensor.py
@@ -24,6 +24,7 @@ from plugins.plugin import Plugin
from TurtleArt.tapalette import make_palette
from TurtleArt.talogo import primitive_dictionary
from TurtleArt.tautils import debug_output
+from TurtleArt.taprimitive import Primitive
import logging
_logger = logging.getLogger('turtleart-activity light-sensor plugin')
@@ -41,6 +42,7 @@ class Light_sensor(Plugin):
self._status = True
else:
self._status = False
+ self._light = 0
self.running_sugar = self._parent.running_sugar
def setup(self):
@@ -50,11 +52,11 @@ class Light_sensor(Plugin):
help_string=_('Palette of sensor blocks'),
position=6)
- primitive_dictionary['lightsensor'] = self.prim_lightsensor
if self._status:
palette.add_block('lightsensor',
style='box-style',
label=_('brightness'),
+ value_block=True,
help_string=\
_('light level detected by light sensor'),
prim_name='lightsensor')
@@ -62,6 +64,7 @@ class Light_sensor(Plugin):
palette.add_block('lightsensor',
style='box-style',
label=_('brightness'),
+ value_block=True,
help_string=\
_('light level detected by light sensor'),
hidden=True,
@@ -69,20 +72,25 @@ class Light_sensor(Plugin):
self._parent.lc.def_prim(
'lightsensor', 0,
- lambda self: primitive_dictionary['lightsensor']())
+ Primitive(self.prim_lightsensor,
+ call_afterwards=self.after_light))
def _status_report(self):
debug_output('Reporting light-sensor status: %s' % (str(self._status)))
return self._status
- # Block primitives used in talogo
+ # Block primitives
def prim_lightsensor(self):
- ''' push accelerometer xyz to stack '''
if not self._status:
return -1
else:
fh = open(LIGHT_SENSOR_DEVICE)
string = fh.read()
fh.close()
- return float(string)
+ self._light = float(string)
+ return self._light
+
+ def after_light(self):
+ if self._parent.lc.update_values:
+ self._parent.lc.update_label_value('lightsensor', self._light)
diff --git a/plugins/rfid/rfid.py b/plugins/rfid/rfid.py
index 1b3bc48..2b825e4 100644
--- a/plugins/rfid/rfid.py
+++ b/plugins/rfid/rfid.py
@@ -26,6 +26,7 @@ from plugins.plugin import Plugin
from TurtleArt.tapalette import make_palette
from TurtleArt.talogo import primitive_dictionary
from TurtleArt.tautils import debug_output
+from TurtleArt.taprimitive import Primitive
import logging
_logger = logging.getLogger('turtleart-activity RFID plugin')
@@ -81,7 +82,6 @@ class Rfid(Plugin):
def setup(self):
# set up RFID-specific blocks
- primitive_dictionary['rfid'] = self.prim_read_rfid
palette = make_palette('sensor',
colors=["#FF6060", "#A06060"],
help_string=_('Palette of sensor blocks'),
@@ -104,7 +104,9 @@ class Rfid(Plugin):
prim_name='rfid')
self._parent.lc.def_prim(
- 'rfid', 0, lambda self: primitive_dictionary['rfid']())
+ 'rfid', 0,
+ Primitive(self.prim_read_rfid,
+ call_afterwards=self.after_rfid))
def _status_report(self):
debug_output('Reporting RFID status: %s' % (str(self._status)))
@@ -150,3 +152,7 @@ class Rfid(Plugin):
return self.rfid_idn
else:
return '0'
+
+ def after_rfid(self):
+ if self._parent.lc.update_values:
+ self._parent.lc.update_label_value('rfid', self.rfid_idn)