- made on-methods private

- added AStirrer::_on_process() for monitoring
This commit is contained in:
jens
2021-08-12 09:32:02 +02:00
parent 71b5ac848f
commit a95f5195d1
3 changed files with 17 additions and 8 deletions
+4 -3
View File
@@ -11,12 +11,10 @@ class StirrerPololu1376(AStirrer):
def __init__(self, dt, params): def __init__(self, dt, params):
AStirrer.__init__(self, dt) AStirrer.__init__(self, dt)
self.isMasterOn = 0
ser = serial.Serial(params['port'], params['speed']) ser = serial.Serial(params['port'], params['speed'])
ser.set_output_flow_control(False) ser.set_output_flow_control(False)
self.drv = Pololu1376(ser) self.drv = Pololu1376(ser)
self.activate(False)
@contextmanager @contextmanager
def remote_open(self): def remote_open(self):
@@ -38,10 +36,13 @@ class StirrerPololu1376(AStirrer):
else: else:
self.drv.stop() self.drv.stop()
def on_set_speed(self, speed): def _on_set_speed(self, speed):
self.drv.motor_forward(speed) self.drv.motor_forward(speed)
print("Set speed to {} %".format(speed)) print("Set speed to {} %".format(speed))
def _on_process(self):
print("STATUS = OK!")
if __name__ == '__main__': if __name__ == '__main__':
s = StirrerPololu1376(dt=1.0, params={'port': "/dev/ttyACM0", 'speed': 115200}) s = StirrerPololu1376(dt=1.0, params={'port': "/dev/ttyACM0", 'speed': 115200})
+4 -1
View File
@@ -14,9 +14,12 @@ class StirrerSim(AStirrer):
return self.speed return self.speed
return 0 return 0
def on_set_speed(self, speed): def _on_set_speed(self, speed):
print("Set speed to {} %".format(speed)) print("Set speed to {} %".format(speed))
def _on_process(self):
print("STATUS = OK!")
if __name__ == '__main__': if __name__ == '__main__':
s = StirrerSim(1.0) s = StirrerSim(1.0)
+9 -4
View File
@@ -26,16 +26,17 @@ class AStirrer(AttributeChange):
if self.isOn != isOn: if self.isOn != isOn:
if isOn: if isOn:
self.on_set_speed(self.speed) self._on_set_speed(self.speed)
else: else:
self.on_set_speed(0) self._on_set_speed(0)
self.isOn = isOn self.isOn = isOn
self._on_process()
def set_speed(self, speed): def set_speed(self, speed):
self.speed = speed self.speed = speed
if self.isOn or self.dutyCycle == 1: if self.isOn or self.dutyCycle == 1:
self.on_set_speed(speed) self._on_set_speed(speed)
def set_cycle_time(self, time): def set_cycle_time(self, time):
self.cycleTime = time self.cycleTime = time
@@ -48,7 +49,11 @@ class AStirrer(AttributeChange):
return None return None
@abc.abstractmethod @abc.abstractmethod
def on_set_speed(self, speed): def _on_set_speed(self, speed):
pass
@abc.abstractmethod
def _on_process(self):
pass pass
@contextmanager @contextmanager