From 8fcd4f8e1a25b26b3a314fbb3ab92f3b86864c17 Mon Sep 17 00:00:00 2001 From: zebra Date: Thu, 5 Oct 2023 08:22:50 +0200 Subject: [PATCH] fix stick sensors on reload it seems stick sensors are not installed properly sometimes after restart. fix_stick_sensors is triggered for execution on creation of an lsc object --- tcl/drivers/lsc.tcl | 3 ++- tcl/seacom.tcl | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/tcl/drivers/lsc.tcl b/tcl/drivers/lsc.tcl index 176ff80..b89ac9d 100644 --- a/tcl/drivers/lsc.tcl +++ b/tcl/drivers/lsc.tcl @@ -895,7 +895,7 @@ proc lsc::set_curve {} { } #write action, direct -proc lsc::check_header {id} { +proc lsc::check_header {{id unknown}} { upvar #0 lsc::cache_$id cache if {[lsc::hdreq $cache([sct curveno]) [sct result]]} { sct oldhdr [sct result] @@ -4626,6 +4626,7 @@ proc stdConfig::lsc_end {} { if {$lsc(samplesensor) eq ""} { set lsc(samplesensor) $lsc(mainsensor) } + dolater 0 fix_stick_sensors hsetprop $path getcmd "hvali $path/$lsc(mainsensor)" hsetprop $path getsample "hvali $path/$lsc(samplesensor)" if {[silent "" set lsc(setsample)] ne ""} { diff --git a/tcl/seacom.tcl b/tcl/seacom.tcl index eadf5de..b1bfb82 100644 --- a/tcl/seacom.tcl +++ b/tcl/seacom.tcl @@ -652,6 +652,16 @@ proc stick_sensors {sensor1 sensor2} { } } +proc fix_stick_sensors {} { + # fix stick sensors + foreach path {/tt/ts/curve /tt/ts_2/curve} { + set curv [silent "" hval $path] + if {$curv ne ""} { + hset $path $curv + } + } +} + proc ts_sensor {sensor} { catch { catch {