From c5b1353dea8a426d6eea043fb5aa78722f7b0bc5 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Mon, 23 May 2011 00:13:14 +0200 Subject: digital/io-hub: add US distance sensors --- digital/io-hub/tools/io_hub/mex.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'digital/io-hub/tools/io_hub') diff --git a/digital/io-hub/tools/io_hub/mex.py b/digital/io-hub/tools/io_hub/mex.py index d9568197..22e9e900 100644 --- a/digital/io-hub/tools/io_hub/mex.py +++ b/digital/io-hub/tools/io_hub/mex.py @@ -44,9 +44,21 @@ class Mex: """ - def __init__ (self): + def __init__ (self, node, instance, index): Observable.__init__ (self) - self.value = None + self.value = 0 + self.__node = node + self.__mtype = node.reserve (instance + ':adc') + self.__index = index + self.register (self.__notified) + + def __notified (self): + m = simu.mex.msg.Msg (self.__mtype) + v = int (1024 * self.value / 5) + v = min (v, 1023) + v = max (0, v) + m.push ('BH', self.__index, v) + self.__node.send (m) class PWM (Observable): """PWM output. @@ -110,9 +122,9 @@ class Mex: self.node.send (m) def __init__ (self, node, instance = 'io-hub0'): - self.adc = tuple (self.ADC () for i in range (0, ADC_NB)) + self.adc = tuple (self.ADC (node, instance, i) for i in range (0, ADC_NB)) self.pwm = tuple (self.PWM () for i in range (0, PWM_NB)) - self.__adc_pwm = self.PWM.Pack (node, instance, self.pwm) + self.__pwm_pack = self.PWM.Pack (node, instance, self.pwm) self.__contact_pack = self.Contact.Pack (node, instance) self.contact = tuple (self.Contact (self.__contact_pack, i) for i in range (CONTACT_NB)) -- cgit v1.2.3