WIP: hetept-v0010 #1

Draft
Alexander wants to merge 1 commit from hetept-v0010 into master
Showing only changes of commit 928e002788 - Show all commits

v10.1: add DC estimate to OP heater setpoint.

The ppss table misses the dc_estimate parameter for the operational
heater setpoint.  The regulator is a purely proportional.  The
charactristic is very nonlinear.  The dc_estimate account for the
required DC to turn on the transistor and reach the required power.

This patch reprograms the PPSS entry that kicks the operational heater
once per minute.
Stephan I. Böttcher 2024-06-26 10:46:32 +02:00

View file

@ -0,0 +1,44 @@
#! /usr/bin/python3
from solo.patch import patch
class hetept101(patch):
def assemble(self, T, **aa):
self.OH_C = T
if self.config is None:
raise ValueError("Please provide a config=")
self.scratch(subversion=1)
self.ppss_oh = self.config.ppss.find_flags("OPHEATER")[0]
OH_DC_ESTIMATE = 60
OH_SHIFT = 0
OH_DCMAX = 70
def send(self, msg):
self.send_scratch(msg)
self.config.ppss.set_opheater_setpoint(
msg = msg,
T = self.OH_C,
dcmax = self.OH_DCMAX *192//100,
dc_estimate=self.OH_DC_ESTIMATE *192//100,
shift = self.OH_SHIFT )
self.send_ping(msg)
def revert(self, msg):
self.ppss_oh(msg)
self.send_ping(msg)
def main(self, fmts=["xml", "msg"]):
for fmt in fmts:
fn = "hetept%s_v0010_patch1.%s" % (self.config.unit[-1], fmt)
self.emit(f=fn, fmt=fmt)
fn = "hetept%s_v0010_revert1.%s" % (self.config.unit[-1], fmt)
self.emit(f=fn, fmt=fmt, revert=True)
import solo.hetept.config
patch1 = hetept101(name="fm1", T=-6.0, config=solo.hetept.config.fm1(config_page=0x0, patch=0))
patch2 = hetept101(name="fm2", T=-1.0, config=solo.hetept.config.fm2(config_page=0x0, patch=0))
def main():
patch1.main()
patch2.main()