[WIP] fi furnace improvements

- still under development

Change-Id: I5fc22f041fb136b549016f510f06ea703122bee5
This commit is contained in:
2025-05-08 08:29:45 +02:00
parent ccc66468d4
commit dad9536eb5
4 changed files with 134 additions and 70 deletions

View File

@@ -31,13 +31,13 @@ class IO(StringIO):
class Power(HasIO, Readable):
value = Parameter(datatype=FloatRange(0,3300,unit='W'))
voltage = Parameter('voltage', FloatRange(0,8, unit='V'))
current = Parameter('current', FloatRange(0,400, unit='A'))
def read_value(self):
reply_volt = self.communicate('MV?')
reply_current = self.communicate('MC?')
volt = float(reply_volt)
current = float(reply_current)
return volt*current
self.voltage = float(self.communicate('MV?'))
self.current = float(self.communicate('MC?'))
return self.voltage * self.current
class Output(HasIO, Writable):
@@ -59,7 +59,7 @@ class Output(HasIO, Writable):
# take care of proper order
if target == 0:
self.write_output_enable(False)
prev_curr = self.communicate(f'PC?')
prev_curr = float(self.communicate(f'PC?'))
volt = self.maxvolt if self.mode == 'current' else self.maxvolt * 0.01 * target
curr = self.maxcurrent if self.mode == 'voltage' else self.maxcurrent * 0.01 * target
if curr < prev_curr: