Directly patch the parameters in the PPSS entry that triggeres the OP
heater once per minute.
Due to the nonlinearity of the regulator we can alway roughly assume we
heat with DC=70%. We need to adjust the setpoint with a correspondig
offset. This offset depends on the gain. The default gain is
`shift=0`. The DC will be ADC-setpoint. A shift of 1, 2, or 3 will
reduce the DC by a power of two, i.e.,
DC = (ADC - setpoint) >> shift
This patch keeps shift=0.
The target temperatures are
HET/EPT1: -6.0°C
HET/EPT2: -0.5°C
Usage:
(stephan)blaulicht:~/solo/solo_config$ ./solopath.py
SOLOPATH> from solo.configurations.hetept1.v0009.hetept_config_opheater_patch4 import *
…
SOLOPATH> main()
…
SOLOPATH> msg=solo.solomsgclass.msg_print()
SOLOPATH> patch1.send(msg)
msg(0x000f, 3, 0x0000093500090004)
Temp SPY: -6.0°C -3.2°C -8.8°C
Temp SPY: -6.0°C -3.3°C -5.9°C
Temp SPY: -6.0°C -3.2°C -6.0°C
Temp SPY: -6.0°C -3.2°C -6.0°C
Temp SPY: -6.0°C -3.2°C -6.0°C
msg(0x268c, 3, 0x0000af1f0000c002)
msg(0x268d, 3, 0x007270e009f99000)
OP heater setpoint: -6 C = 2553 ADC
msg(0x2697, 1, 0x00000000000000ff)
msg(0x2696, 3, 0x0003e8010000413c)
SOLOPATH> patch1.OH_SHIFT=1
SOLOPATH> patch1.send(msg)
msg(0x000f, 3, 0x0000093500090004)
Temp SPY: -6.0°C -0.2°C -11.8°C
Temp SPY: -6.0°C -0.5°C -5.7°C
Temp SPY: -6.0°C -0.5°C -6.0°C
Temp SPY: -6.0°C -0.5°C -6.0°C
Temp SPY: -6.0°C -0.5°C -6.0°C
msg(0x268c, 3, 0x0000af1f0000c002)
msg(0x268d, 3, 0x007270e019739000)
OP heater setpoint: -6 C = 2419 ADC
msg(0x2697, 1, 0x00000000000000ff)
msg(0x2696, 3, 0x0003e8010000413c)
solo.l1l2.l2trigger.set() changes only the given parameters. It does not
imply a .reset(). Those lines were a NOP. We only need to clear none=(),
to prevent any anticoincidences.
The commandline flag `-q` shall reset the verbosity to 0, or -1 if it is
already at 0. Do _not_ decrement below -1. `-vq` will set the verbosity to 0,
independendly of earlier options. `verbose` is a module variable that
carries over from earlier `l3.compile()`s.
Fix `l3.diff()` for cases of different length codes. Remove any `None` from
the final list.