fixes on small furnace

This commit is contained in:
2025-04-08 17:12:00 +02:00
parent ad76a5d752
commit 6a2aece383
6 changed files with 293 additions and 22 deletions

View File

@ -66,8 +66,9 @@ class Power(HasIO, Readable):
class Output(HasIO, Writable):
value = Parameter(datatype=FloatRange(0,100,unit='%'))
value = Parameter(datatype=FloatRange(0,100,unit='%'), default=0)
target = Parameter(datatype=FloatRange(0,100,unit='%'))
p_value = Parameter(datatype=FloatRange(0,100,unit='%'), default=0)
maxvolt = Parameter('voltage at 100%',datatype=FloatRange(0,60,unit='V'),default=50,readonly=False)
maxcurrent = Parameter('current at 100%',datatype=FloatRange(0,5,unit='A'),default=2,readonly=False)
output_enable = Parameter('control on/off', BoolType(), readonly=False)
@ -78,8 +79,10 @@ class Output(HasIO, Writable):
def write_target(self, target):
self.write_output_enable(target != 0)
self.communicate(f'VOLT{round(max(8,target*self.maxvolt/10)):03d}')
self.communicate(f'CURR{round(target*self.maxcurrent):03d}')
self.communicate(f'VOLT{round(max(8,(target)**0.5 * self.maxvolt)):03d}')
self.communicate(f'CURR{round((target)**0.5* 10 * self.maxcurrent):03d}')
#self.communicate(f'VOLT{round(max(8,target*self.maxvolt/10)):03d}')
#self.communicate(f'CURR{round(target*self.maxcurrent):03d}')
self.value = target
def write_output_enable(self, value):