Merge branch 'master' of gitlab.psi.ch-samenv:samenv/sea

This commit is contained in:
2023-09-06 08:41:14 +02:00
94 changed files with 8356 additions and 21 deletions

View File

@ -385,12 +385,14 @@ proc stdConfig::ccu4 {{title CCU4} args} {
} elseif {[string match valve* $a]} {
set nvalve [string range $a 5 end]
for {set ch 1} {$ch <= 12} {incr ch} {
node v$ch upd
node v$ch rd -int 10
prop read ccu4::readValve v$ch
prop enum valve_off,valve_on,no_valve,timeout,timeout1,boost
if {$ch > $nvalve} {
prop visible false
}
node vc$ch out -int
prop write ccu4::writeValve v$ch
prop enum valve_off,valve_on
if {$ch > $nvalve} {
prop visible false
@ -404,6 +406,20 @@ proc stdConfig::ccu4 {{title CCU4} args} {
return "CCU4"
}
proc ccu4::readValve {valve} {
# for some strange reason, v... are not queried with '?'
# we have to do it here
sct send $valve
return ccu4::complete
}
proc ccu4::writeValve {valve} {
set res [ccu4::write]
# update readback value immediately
hupdate [sct parent]/$valve [sct target]
return $res
}
proc ccu4::completeStart {name} {
set resval(cid) 0
set resval(cir) ""

View File

@ -72,7 +72,6 @@ proc ccu4ext::changestate {type state} {
cc $auto 1
}
fill {
clientlog FILL$type
cc $cmd 1
cc $auto 1
}

View File

@ -264,6 +264,7 @@ proc stdConfig::dil12 args {
}
hset $name/heatermode 0
dolater 0 hset $name/autoprop/integ 5
dolater 0 apply_dilpars
}
proc dil12::check_set {} {

18
tcl/drivers/dilpars.tcl Normal file
View File

@ -0,0 +1,18 @@
# any parameter to be entered by hand
namespace eval dilpars {} {
}
proc stdConfig::dilpars {args} {
variable hostport none
variable name
controller syncedprot
scanargs $args var -circulateflow 4 -condenseflow 8
obj dummy -none
kids hidden {
node condenseflow par $condenseflow
node circulateflow par $circulateflow
}
dolater 0 apply_dilargs
}

View File

@ -61,6 +61,13 @@ proc stdConfig::sensirion {} {
proc sensirion::updateFlow {} {
lassign [sct result] flow stddev
if {$flow == 0 && $stddev == 0} {
if {[hgetpropval /nvflow flowsource] eq "flowmeter"} {
hsetprop /nvflow flowsource flowpress
hepump eco 0
error "invalid flow -> switched to pressure"
}
}
sct update $flow
updateval [sct]/stddev $stddev
if {[silent "" hgetpropval [sct]/save saved] eq "" && [silent "" currentCalib] ne ""} {

View File

@ -497,9 +497,9 @@ proc trun::read_run {} {
set now [DoubleTime]
set tr [silent none sct target]
set prev_tr [silent $tr sct prev_tr]
sct prev_tr $tr
if {$tr eq "none"} {
set tr $tmain
sct prev_tr $tr
} else {
set dif [expr $tr - $prev_tr]
updateval_u [sct]/target $tr 0