From: Leandro Lucarella Date: Sun, 2 Oct 2005 04:18:12 +0000 (+0000) Subject: Agrega sensor calibrado. X-Git-Tag: darcs_import~17 X-Git-Url: https://git.llucax.com/z.facultad/75.59/weathemulator.git/commitdiff_plain/82a461b46a90cbbf783ff4b7bb0a13c6bb3f5f7d Agrega sensor calibrado. --- diff --git a/src/sensor.py b/src/sensor.py index e677b6b..f073387 100644 --- a/src/sensor.py +++ b/src/sensor.py @@ -117,10 +117,43 @@ class SensorDireccionViento(Sensor): self, self.valorActual) +class SensorCalibrado(Sensor): + + valorBruto = SyncProp("Valor en bruto leido del dispositivo.") + valorBajo = SyncProp("Valor bajo de calibrado como tupla (valorBruto, " \ + "valorCalibrado).") + valorAlto = SyncProp("Valor alto de calibrado como tupla (valorBruto, " \ + "valorCalibrado).") + + def __init__(self, valorBajo, valorAlto, sigma, periodo): + self.valorBajo = valorBajo + self.valorAlto = valorAlto + Sensor.__init__(self, sigma, periodo) + + def getValor(self): + "Simula la medición del dispositivo físico." + self.valorBruto = self.mu = Sensor.getValor(self) + (x1, y1) = self.valorBajo + (x2, y2) = self.valorAlto + return (y2 - y1) / (x2 - x1) * (self.mu - x1) + y1 + + def __repr__(self): + return "<%s valorActual=%s valorBruto=%f valorBajo=%s valorAlto=%s>" \ + % (self.__class__.__name__, self, self.valorBruto, self.valorBajo, + self.valorAlto) + + if __name__ == '__main__': DEBUG = True sensor = SensorDireccionViento() sensor.setDaemon(True) sensor.start() + SensorCalibrado.initMu = lambda self: 10 + sensor2 = SensorCalibrado((0.0,0.0), (100.0,100.0), 0.2, 0.5) + sensor2.setDaemon(True) + sensor2.start() + time.sleep(2) + sensor2.valorBajo = (0.0, -10.0) + sensor2.valorAlto = (100.0, 10.0) time.sleep(3)