From 5af1743b28af909d3bc6ec7e087939f7076c1951 Mon Sep 17 00:00:00 2001 From: Hades DAQ Date: Fri, 1 Mar 2019 04:18:12 +0100 Subject: [PATCH] should survive a restart of the DAQ now, MT --- control/ctsmon/mon_cts.pl | 45 ++++++++++++++++++++++++++++++++------- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/control/ctsmon/mon_cts.pl b/control/ctsmon/mon_cts.pl index d154ec1..26e062e 100755 --- a/control/ctsmon/mon_cts.pl +++ b/control/ctsmon/mon_cts.pl @@ -1836,16 +1836,45 @@ sub readRegs_trbcmd() } - my $rh1=trb_register_read_mem(0x3,0xa000, 0, 111); - my $rh2=trb_register_read_mem(0x3,0xa0c0, 0, 52); - - if(!$rh1 || !$rh2) { - $msg = trb_strerror(); - $Gtk2_errmsg_lbl->set_text("$msg"); - $Gtk2_errmsg_lbl->set_name("red".1); - return; + my $res; + my $success = 0; + my $rh1; my $rh2; + while ($success == 0) { + + $rh1=trb_register_read_mem(0x3,0xa000, 0, 111); + if (!defined $rh1) { + $res = trb_strerror(); + $Gtk2_errmsg_lbl->set_text("$res"); + $Gtk2_errmsg_lbl->set_name("red".1); + if ($res =~ /^RPC:/) { + sleep 1; + trb_init_ports(); + next; + } + else { + next; + } } + $rh2=trb_register_read_mem(0x3,0xa0c0, 0, 52); + if (!defined $rh2) { + $res = trb_strerror(); + $Gtk2_errmsg_lbl->set_text("$res"); + $Gtk2_errmsg_lbl->set_name("red".1); + sleep 1; + if ($res =~ /^RPC:/) { + trb_init_ports(); + next; + } + else { + next; + } + } + + $success = 1; + + } + my $addr; $addr = 0x00; foreach my $i (0..110) { -- 2.43.0