]> jspc29.x-matter.uni-frankfurt.de Git - hadesdaq.git/commitdiff
should survive a restart of the DAQ now, MT
authorHades DAQ <jan@lxhadeb07>
Fri, 1 Mar 2019 03:18:12 +0000 (04:18 +0100)
committerHades DAQ <jan@lxhadeb07>
Fri, 1 Mar 2019 03:18:12 +0000 (04:18 +0100)
control/ctsmon/mon_cts.pl

index d154ec1fac038c4875423ebf753608fa159b3ee1..26e062ea66a2d7bfcabd4743a489cf7dab14c469 100755 (executable)
@@ -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) {