# horst T controller for humidity cell # serial settings: 9600 baud/8 bits/parity even/1 stop # special binary protocol, byte order is inversed! (float3 means byte 0 is at position 3) namespace eval vaisala {} { } proc stdConfig::vaisala {{label ""} {temp_path "/t"}} { if {$label eq ""} { variable name set label $name } controller std "\r\n" prop startcmd "vers" obj Vaisala_hmt330 rd prop readcmd "send" prop update vaisala::update kids $label { node tpath -text par $temp_path node td upd #node tdf upd :# taupunkt ueber eis } } proc vaisala::update {} { lassign [sct result] td tdf updateval [sct]/td $td # updateval [sct]/tdf $tdf set p0 [hcell::psat $td] set p1 [hcell::psat [hvali [hval [sct]/tpath]]] sct update [expr min(120., 100.0 * $p0 / $p1)] return idle }