Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/taarduino.py
diff options
context:
space:
mode:
Diffstat (limited to 'taarduino.py')
-rw-r--r--taarduino.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/taarduino.py b/taarduino.py
new file mode 100644
index 0000000..f6b6474
--- /dev/null
+++ b/taarduino.py
@@ -0,0 +1,50 @@
+import firmata
+
+class TAArduino(object):
+ def __init__(self, dev='/dev/ttyUSB0', baud=115200):
+ object.__init__(self)
+ self._dev = dev
+ self._baud = baud
+ self._arduino = None # Do not initialize this now
+
+ self.HIGH = firmata.HIGH
+ self.LOW = firmata.LOW
+ self.INPUT = firmata.INPUT
+ self.OUTPUT = firmata.OUTPUT
+ self.PWM = firmata.PWM
+ self.SERVO = firmata.SERVO
+
+ def _check_init(self):
+ if self._arduino is None:
+ self._arduino = firmata.Arduino(port = self._dev, \
+ baudrate=self._baud)
+ self._arduino.parse()
+
+ def delay(self, secs):
+ # Do not use this. The firmata module uses time.sleep() to
+ # implement this, which breaks gtk+ (unresponsive window)
+ self._check_init()
+ self._arduino.delay(secs)
+
+ def pin_mode(self, pin, mode):
+ self._check_init()
+ self._arduino.pin_mode(int(pin), mode)
+
+ def analog_write(self, pin, value):
+ self._check_init()
+ self._arduino.analog_write(int(pin), int(value))
+
+ def digital_write(self, pin, value):
+ self._check_init()
+ self._arduino.digital_write(int(pin), value)
+
+ def analog_read(self, pin):
+ self._check_init()
+ self._arduino.parse() #XXX: Not sure why I have to do this here.
+ return self._arduino.analog_read(int(pin))
+
+ def digital_read(self, pin):
+ self._check_init()
+ return self._arduino.digital_read(int(pin))
+
+