diff --git a/components/actor/heater_sim.py b/components/actor/heater_sim.py index 47f3845..a6802e4 100644 --- a/components/actor/heater_sim.py +++ b/components/actor/heater_sim.py @@ -21,7 +21,8 @@ class HeaterSim(AHeater): return self.is_active def process(self): - self.power_eff = self.power_set if self.is_active else 0 + power_set = 100*round(self.power_set/100, 0) + self.power_eff = power_set if self.is_active else 0 def set_power(self, power): self.power_set = max(self.get_power_min(), min(self.get_power_max(), power)) diff --git a/components/actor/hendiCtrl.py b/components/actor/hendiCtrl.py index 9888fb2..4f1be84 100644 --- a/components/actor/hendiCtrl.py +++ b/components/actor/hendiCtrl.py @@ -4,17 +4,10 @@ import time import serial import sys import numpy as np -import logging +from contextlib import contextmanager class HendiCtrl: - def name(self): - return "HendiCtrl" - - def log(self, s): - d = {'user': self.name()} - logging.info ("{}".format(s), extra=d) - def __init__(self, port, baudrate): self.ser = serial.Serial(port, baudrate) try: @@ -40,7 +33,14 @@ class HendiCtrl: self.poly_d2w = np.polyfit(digits, powers, 5) self.sw_id = self.getSoftwareIdentifier() self.sw_ver = self.getSoftwareVersion() - self.log("Create {}, Version {}".format(self.sw_id, self.sw_ver)) + + @contextmanager + def remote_open(self): + try: + self.remoteEnable(True) + yield None + finally: + self.remoteEnable(False) def toDigits(self, power_watts): return np.polyval(self.poly_w2d, float(power_watts)) @@ -176,10 +176,6 @@ class HendiCtrl: if __name__ == '__main__': - logging.getLogger().setLevel(logging.INFO) - FORMAT = '%(asctime)-15s %(user)-8s %(message)s' - logging.basicConfig(format=FORMAT) - hendi = HendiCtrl('/dev/ttyUSB0', 115200) # hendi.firmware_update("HendiCtrl.srec") @@ -199,18 +195,16 @@ if __name__ == '__main__': print("power", power) print("Test Hendi") - hendi.remoteEnable(True) - hendi.setSwitch(1) - time.sleep(1.0) - for pwr in range(500, 3600, 100): - hendi.setPowerWatts(pwr) - pw = hendi.getPowerWatts() - print("power_w", pw) + with hendi.remote_open(): + hendi.setSwitch(1) time.sleep(1.0) + for pwr in range(500, 3600, 100): + hendi.setPowerWatts(pwr) + pw = hendi.getPowerWatts() + print("power_w", pw) + time.sleep(1.0) - - hendi.setSwitch(0) - hendi.remoteEnable(False) + hendi.setSwitch(0) if 0: hendi.remoteEnable(True)