]> jspc29.x-matter.uni-frankfurt.de Git - hadesdaq.git/commitdiff
update various configuration scripts
authorhadaq <jan@lxhadeb07>
Sun, 4 Feb 2024 13:01:29 +0000 (14:01 +0100)
committerhadaq <jan@lxhadeb07>
Sun, 4 Feb 2024 13:01:29 +0000 (14:01 +0100)
22 files changed:
evtbuild/configgbe_ip_hosts.db
evtbuild/eb.conf
evtbuild/eb_2023_4builders.conf [new file with mode: 0644]
evtbuild/generate_ebhub_config.pl
evtbuild/start_eb_gbe.pl
evtbuild/start_eb_gbe_2023_4builders.pl [new file with mode: 0755]
hub/startup.script
main/main_hades.script
main/subevtids.db
nettools/missingipfix.pl
nettools/revivedirich.pl
start/addresses_dirich5d.db
start/register_tdc.db
start/startup.script
start/threshold/thresholds_T0.txt
trg/old/register_monitoring_trigger_mult3_minusNoise.db
trg/triggerbox.trbcmd
trg/triggerbox_pt4forHKR_240124.trbcmd [new file with mode: 0644]
trg/triggerbox_secmult2_as_outp4_forHKR_240124.trbcmd [new file with mode: 0644]
utils/MDC_Powercycle_2PSx.pl
utils/doyoureallywant.pl
utils/monoff

index c4853f58ccf708cf940d14f10020e2a827289af3..c98de0e9bebb5fea855ec1bc163bbc8ab435182d 100644 (file)
@@ -12,7 +12,8 @@ lxhadeb12   0xc0a8690c   0x6b8b601f   0xac1f    # enp19s0f1 - ac:1f:6b:8b:60:1f
 lxhadeb14   0xc0a86972   0xb73cb20c   0x40a6    # enp67s0f0 - 40:a6:b7:3c:b2:0c - 192.168.105.114 
 lxhadeb15   0xc0a86973   0xb73c5e0c   0x40a6    # enp67s0f0 - 40:a6:b7:3c:5e:0c - 192.168.105.115 
 lxhadeb16   0xc0a86974   0xb73c6d98   0x40a6    # enp67s0f0 - 40:a6:b7:3c:6d:98 - 192.168.105.116 
-
+lxhadeb17   0xc0a86975   0xef922dc5   0x3cec    # eno2np1   - 3c:ec:ef:92:2d:c5 - 192.168.105.117
+lxhadeb18   0xc0a86976   0xef922ce7   0x3cec    # eno2np1f  - 3c:ec:ef:92:2c:e7 - 192.168.105.118
 
  
                                                             
index 868be2db3cdf52eb1521bf6164a716331b6dd589..d8d7879fa617786d2c7f295e033bd92ca6a5540e 120000 (symlink)
@@ -1 +1 @@
-eb_feb22.conf
\ No newline at end of file
+eb_2023_4builders.conf
\ No newline at end of file
diff --git a/evtbuild/eb_2023_4builders.conf b/evtbuild/eb_2023_4builders.conf
new file mode 100644 (file)
index 0000000..5723eb4
--- /dev/null
@@ -0,0 +1,94 @@
+#
+# JAM 7-2021: cleanup historic config file and leave only what is required for bnet
+#----------------------------------------------
+[Main]
+#maybe put some general flags here again?
+
+#----------------------------------------------
+[Parallel]
+
+
+# JAM 12/2016-
+# the following list configures BNET for each EB SERVER node:
+# this will always imply DABC eventbuilder software.
+# BNETINP gives number of input processes per server node
+# BNETBLD gives maximum number of builder processes per node
+# set BNETINP to 0 for conventional EB setup
+# EB server     0 1 2 3
+#BNETINP:      0 0 0 0 0
+# JAM 26-04-2023: extended for 9 input server nodes
+BNETINP:       0 0 0 0 1 1 1 1 1
+
+## below enough ltsm connections? default with new servers
+BNETBLD:       5 5 5 5 0 0 0 0 0
+
+
+### JAM May2017 something new:
+# LTSM - RFIO successor for tape storage interface
+# LTSM switch (on=1/off=0) for upt to 16 EB processes
+# EB Nr        0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
+LTSM:          1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
+#LTSM:          0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+#LTSM:          0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+
+
+# LTSM default options for all EB processes
+
+# beamtime config:
+
+LTSM_PATH:      /lustre/hades/raw/feb24
+#LTSM_Server: lxltsm01
+LTSM_Server: ltsmi1
+
+
+
+# for hadestest:
+#LTSM_PATH:      /lustre/hades/raw/fsqtest/jul23
+#LTSM_Server: lxltsm02
+# 
+# 
+#LTSM_Node:    hadestest
+#LTSM_Passwd:    hadestest
+
+## PRODUCTION SETUP HERE
+LTSM_Node:     hades
+LTSM_Passwd:    wDhgcvFF7
+
+LTSM_Filesystem:       /lustre
+
+
+
+LTSM_USEFSD: 1
+# we need at least 5 entries here (number of eventbuilder servers)
+#LTSM_FSD_SERVERS: lxfsd01 lxfsd02-eth lxfsd03 lxfsd01
+#LTSM_FSD_SERVERS: lxfsd04-eth lxfsd07-eth lxfsd04-eth lxfsd07-eth lxfsd04-eth
+# setup feb2022:
+#LTSM_FSD_SERVERS: lxfsd01-eth lxfsd02-eth lxfsd03-eth lxfsd04-eth lxfsd05-eth
+#LTSM_FSD_SERVERS: lxfsd04-eth lxfsd05-eth lxfsd06-eth lxfsd07-eth lxfsd08-eth
+
+# frist feb22 setup - 10-02-21 (JAM)
+#LTSM_FSD_SERVERS: lxfsd01-eth lxfsd03-eth lxfsd04-eth lxfsd05-eth lxfsd07-eth
+
+# beamtime setup feb22:
+#LTSM_FSD_SERVERS: lxfsd01-eth lxfsd03-eth lxfsd02-eth lxfsd05-eth lxfsd07-eth
+
+# JAM 9-22: test new api servers
+LTSM_FSD_SERVERS: lxfsq12 lxfsq09 lxfsq10 lxfsq11 lxfsq12
+
+#LTSM_FSD_SERVERS: lxfsd01-eth lxfsd02 lxfsd03-eth lxfsd01-eth lxfsd02
+#LTSM_FSD_SERVERS: lxfsd01-eth lxfsd03-eth lxfsd01-eth lxfsd03-eth lxfsd01-eth
+LTSM_FSD_PORT: 7625 7625 7625 7625 7625
+
+# below we can optionally change storage destination: 0 - null, 1 - only FSQ server local, 2 - lustre, 3 -tsm, 4 - lustre+tsm,  
+LTSM_USEFSQDEST: 1
+LTSM_FSQDEST: 4
+#4
+########## end LTSM
+
+
+# Table with active data sources
+DATA_SOURCES: ../main/data_sources.db
+# this is main configuration of hubs and bnet:
+GBE_CONF: ../hub/register_configgbe_ip.db
+
+
index 110c907c4ea6882e475ae7c0e00507f1201f2139..e78cb651c3d6d7c82428f58c4e9a0abd5c1136e7 100755 (executable)
@@ -2,6 +2,7 @@
 
 # generate hades eventbuilder hub configuration from setup files
 # 27-01-2023 JAM
+# 24-11-2023 JAM: use different source ips
 
 use English;
 use strict;
@@ -95,15 +96,15 @@ close(SIFILE) || die "Couldn't close file $datasources_file properly";
 # first loop for ips and udp ports:
 
 my $port=50768;
+my $ipbase=3232261264;
 
 foreach my $hub(@addresses)
 {
-#my $srcip=$hexips{$hosts{$hub}}; # src and dest ip the same here?
-my $srcip="0xc0a86490"; # try any dummy 
-# or use real ip for each hub in setup table?
+my $srcip=sprintf("0x%x", $ipbase);
 my $hexport=sprintf("0x%x", $port);
 print OUTFILE " $hub 0 $hexport 0xdead$hub $srcip $hexport $hexips{$hosts{$hub}} $flags{$hub} # $names{$hub} - $hosts{$hub} \n";
 $port++;
+$ipbase++
 }
 
 # second loop for macs definitions
@@ -114,8 +115,6 @@ print OUTFILE "#################################################################
 
 foreach my $hub(@addresses)
 {
-my $srcip=$hexips{$hosts{$hub}}; # src and dest ip the same here?
-# or use real ip for each hub in setup table?
 print OUTFILE " $hub 100  $lomacs{$hosts{$hub}}  $himacs{$hosts{$hub}} $hexips{$hosts{$hub}} 0x0230 0x0578 # $names{$hub} - $hosts{$hub}\n";
 }
 
index d46c1326c5fc803f30ef12f5f3073f29bd74df3f..bb16717fb063ecc0fb30ffa1e7cb60739072138c 120000 (symlink)
@@ -1 +1 @@
-start_eb_gbe_feb22.pl
\ No newline at end of file
+start_eb_gbe_2023_4builders.pl
\ No newline at end of file
diff --git a/evtbuild/start_eb_gbe_2023_4builders.pl b/evtbuild/start_eb_gbe_2023_4builders.pl
new file mode 100755 (executable)
index 0000000..9e4025d
--- /dev/null
@@ -0,0 +1,1045 @@
+#!/usr/bin/perl -w
+
+use English;
+use strict;
+use Getopt::Long;
+use Data::Dumper;
+use Config::Std;
+use FileHandle;
+use List::MoreUtils qw(any apply first_index);
+use File::Basename;
+use Cwd;
+
+#- Copy all the arguments because
+#  later on the @ARGV becomes empty
+my @arg_list = @ARGV;
+
+#- the command line option flags
+my $opt_help    = 0;
+my $opt_ebconf  = "/home/hadaq/trbsoft/hadesdaq/evtbuild/eb.conf";
+my $opt_test = 0;
+my $opt_verb = 0;
+my $opt_eb = "";
+my @opt_ebrange = ();
+#my $opt_rfio = 'undef';
+my $opt_disk = 'undef';
+#my $opt_online = 'undef';
+my $opt_bnet = 3;
+my $opt_prefix;
+
+GetOptions ('h|help'      => \$opt_help,
+            'c|conf=s'    => \$opt_ebconf,
+            'e|eb=s'      => \$opt_eb,
+            'n|nr=s'      => \@opt_ebrange,
+            'd|disk=s'    => \$opt_disk,
+            'p|prefix=s'  => \$opt_prefix,
+            'b|bnet=s'    => \$opt_bnet,
+            'v|verb'      => \$opt_verb);
+
+if ( $opt_help ) {
+  &help();
+  exit(0);
+}
+
+#- List of EBs provided via command line options
+my $active_EBs_aref = &setArgs();
+
+#- Hash with status of CPU cores of EBs (used for 'taskset')
+my %EB_CPU_status;
+my $EB_CPU_status_href = \%EB_CPU_status;
+&init_CPU_status($EB_CPU_status_href);
+
+#my $expect_ioc_script = "/tmp/ioc_exit.exp";
+my $log_path          = "/home/hadaq/tmp/log"; 
+my %temp_args;
+my $temp_args_href = \%temp_args;
+read_config $opt_ebconf => %$temp_args_href;
+#print Dumper $temp_args_href;
+#exit;
+
+my @bnetservers = ("192.168.100.8", "192.168.100.9", "192.168.100.10", "192.168.105.11", "192.168.105.114", "192.168.105.115", "192.168.105.116", "192.168.105.117", "192.168.105.118");
+
+# JAM 4-02-2022: enable this instead of the above to replace lxhadeb11 by lxhadeb12
+#my @bnetservers = ("192.168.100.8","192.168.100.9","192.168.105.114", "192.168.105.115", "192.168.105.116", "192.168.100.10", "192.168.105.12");
+
+my %IP_GSI_lookup = (
+                     '192.168.100.8'    => 'lxhadeb08',
+                     '192.168.100.9'    => 'lxhadeb09',
+                     '192.168.100.10'   => 'lxhadeb10',
+                     '192.168.105.11'   => 'lxhadeb11',
+                     '192.168.105.12'   => 'lxhadeb12',
+                     '192.168.105.13'   => 'lxhadeb13',
+                     '192.168.105.114'   => 'lxhadeb14',
+                     '192.168.105.115'   => 'lxhadeb15',
+                     '192.168.105.116'   => 'lxhadeb16',
+                     '192.168.105.117'   => 'lxhadeb17',
+                     '192.168.105.118'   => 'lxhadeb18',
+                    );
+
+
+my $IP_GSI_href = \%IP_GSI_lookup;
+
+
+my $numOfEBProcs = 0;
+my %EB_Args;
+my $EB_Args_href = \%EB_Args;
+
+#my @EB_IP_list;s
+
+
+
+&getEBArgs( $EB_Args_href );
+
+
+if ($opt_eb eq "start") {
+  &writeArgs2file();
+  &startEvtBuilders();
+} elsif ($opt_eb eq "stop") {
+  &stopEvtBuilders();
+} elsif ($opt_eb eq "restart") {
+  &stopEvtBuilders();
+  sleep 10;
+  &writeArgs2file();
+  &startEvtBuilders();
+}
+
+exit(0);
+
+################### END OF MAIN ####################
+
+sub help() {
+  print "\n";
+  print << 'EOF';
+start_eb_gbe.pl
+
+   This script starts parallel Event Building processes.
+   The script also starts IOC processes for the run control.
+
+Usage:
+
+   Command line:  start_eb_gbe.pl 
+   [-h|--help]                     : Show this help.
+   [-c|--conf <path/name>]         : Path to the config file (default: ../evtbuild/eb.conf).
+   [-e|--eb <start|stop|restart>]  : Start or stop Event Builders (default: start).
+   [-p|--prefix <prefix>]          : Prefix of hld file.
+   [-b|--bnet <on|off>]            : Specify number of bnet builder nodes(default: 5).   
+   [-t|--test]                     : Test without execution.
+   [-v|--verb]                     : More verbouse.
+
+Examples:
+
+   Start 6 EBs with the numbers 1,2,3,5,7 and prefix 'md':
+   start_eb_gbe.pl -e start -n 1-3 -n 5 -n 7 -p md
+
+EOF
+}
+
+sub init_CPU_status()   {
+
+  # JAM 17-oct-2018 - for BNET this cpu reservation is deprecated TODO: remove it
+  my ($EB_CPU_status_href) = @_;
+
+  
+  # MT 2020-12: reserve lower 16 (8?) cpus for network interrupts
+  $EB_CPU_status_href->{'192.168.100.8'}->{'input'}  = "10-11";
+  $EB_CPU_status_href->{'192.168.100.8'}->{'build'}  = "12-31";
+  $EB_CPU_status_href->{'192.168.100.9'}->{'input'}  = "10-11";
+  $EB_CPU_status_href->{'192.168.100.9'}->{'build'}  = "12-31";
+  $EB_CPU_status_href->{'192.168.100.10'}->{'input'} = "10-11";
+  $EB_CPU_status_href->{'192.168.100.10'}->{'build'} = "12-31";
+  $EB_CPU_status_href->{'192.168.105.11'}->{'input'} = "10-11";
+  $EB_CPU_status_href->{'192.168.105.11'}->{'build'} = "12-31";
+  $EB_CPU_status_href->{'192.168.105.12'}->{'input'} = "10-25";
+  $EB_CPU_status_href->{'192.168.105.12'}->{'build'} = "26-31";
+
+  # JAM 7-2021: new servers have 64 cores, reserve lower 32 cpus for network interrupts - TODO with new set_eth_affinity.pl
+   #$EB_CPU_status_href->{'192.168.105.114'}->{'input'} = "32-60";
+   # distribute load of mdc hubs on more cores here JAM 10-23:
+   $EB_CPU_status_href->{'192.168.105.114'}->{'input'} = "16-60";
+   $EB_CPU_status_href->{'192.168.105.114'}->{'build'} = "61-63";
+  
+#   $EB_CPU_status_href->{'192.168.105.114'}->{'input'} = "10-25";
+#  $EB_CPU_status_href->{'192.168.105.114'}->{'build'} = "26-31";
+  
+  
+  
+  $EB_CPU_status_href->{'192.168.105.115'}->{'input'} = "32-60";
+  $EB_CPU_status_href->{'192.168.105.115'}->{'build'} = "61-63";
+  $EB_CPU_status_href->{'192.168.105.116'}->{'input'} = "32-60";
+  $EB_CPU_status_href->{'192.168.105.116'}->{'build'} = "61-63";
+  
+  # below servers with 48 cores:
+  $EB_CPU_status_href->{'192.168.105.117'}->{'input'} = "16-60";
+  $EB_CPU_status_href->{'192.168.105.117'}->{'build'} = "61-63";
+  $EB_CPU_status_href->{'192.168.105.118'}->{'input'} = "16-60";
+  $EB_CPU_status_href->{'192.168.105.118'}->{'build'} = "61-63";
+  # JAM2023 - note that we may use more cores for inputs when these servers do not have builder processes
+  
+  # MT, separate scheme, doesn't do so well
+  #$EB_CPU_status_href->{'192.168.105.12'}->{'input'} = "16-23";
+  #$EB_CPU_status_href->{'192.168.105.12'}->{'build'} = "24-31";
+
+
+}
+
+
+sub getCoreNr()  {
+  #my ($ip) = @_;
+  my ($ip, $role) = @_;
+  my $core_nr;
+  if (defined $role) {
+    $core_nr = $EB_CPU_status_href->{$ip}->{$role}
+  } 
+
+  unless( defined $core_nr ){
+    print "No free cores left on CPU $ip. Exit.\n";
+    exit(0);
+  }
+
+  print "found core numbers $core_nr for node $ip, role $role\n";  
+  return $core_nr;
+}
+
+
+
+
+sub setArgs()   {
+  my @active_EBs;
+
+  if (@opt_ebrange) {
+    foreach my $range (@opt_ebrange) {
+      if ($range =~ /(\d+)-(\d+)/) {
+        my $max = $1;
+        my $min = $2;
+
+        foreach my $eb ($max..$min) {
+          #- 1 must be subtracted to match
+          #  EB numbering in the register_configgbe_ip.db
+          #  which starts from zero
+          &checkEB_nr($eb);
+          push(@active_EBs, $eb-1);
+        }
+      } elsif ($range =~ /(\d+)/) {
+        &checkEB_nr($1);
+        push(@active_EBs, $1-1);
+      }
+    }
+  }
+
+  return \@active_EBs;
+}
+
+sub checkEB_nr()  {
+  my ($eb_nr) = @_;
+
+  if ( $eb_nr < 1 || $eb_nr > 16 ) {
+    print "ERROR: EB number should be in the range 1-16. Exit.";
+    exit(0);
+  }
+}
+
+sub getEBArgs()   {
+  my ($href) = @_;
+
+
+  #- Number of EB process
+  my $ebproc = 0;
+
+  # BNET setup:
+  my $listOfBnetInputs = $temp_args_href->{'Parallel'}->{'BNETINP'};
+  my @bnet_in_list = split(/\s+/, $listOfBnetInputs);
+
+  my $listOfBnetBuilders = $temp_args_href->{'Parallel'}->{'BNETBLD'};
+  my @bnet_bld_list = split(/\s+/, $listOfBnetBuilders);
+  #print Dumper @bnet_bld_list;
+
+
+  #- LTSM settings
+  my $listOfLTSM = $temp_args_href->{'Parallel'}->{'LTSM'};
+  my @ltsm_list = split(/\s+/, $listOfLTSM);
+
+  my $ltsm_path          = $temp_args_href->{'Parallel'}->{'LTSM_PATH'};
+  my $ltsm_server        = $temp_args_href->{'Parallel'}->{'LTSM_Server'};
+  my $ltsm_node          = $temp_args_href->{'Parallel'}->{'LTSM_Node'};
+  my $ltsm_passwd        = $temp_args_href->{'Parallel'}->{'LTSM_Passwd'};
+  my $ltsm_filesys       = $temp_args_href->{'Parallel'}->{'LTSM_Filesystem'};
+
+  my $ltsm_usefsd       = $temp_args_href->{'Parallel'}->{'LTSM_USEFSD'};
+  my $ltsm_fsd_servers       = $temp_args_href->{'Parallel'}->{'LTSM_FSD_SERVERS'};
+  my @ltsm_fsd_server_list = split(/\s+/, $ltsm_fsd_servers);
+  my $ltsm_fsd_ports      = $temp_args_href->{'Parallel'}->{'LTSM_FSD_PORT'};
+  my @ltsm_fsd_port_list = split(/\s+/, $ltsm_fsd_ports);
+  
+  my $ltsm_usefsqdest    = $temp_args_href->{'Parallel'}->{'LTSM_USEFSQDEST'};
+  my $ltsm_fsqdest       = $temp_args_href->{'Parallel'}->{'LTSM_FSQDEST'};
+
+  #--- Read GbE configuration
+  my %eb_ids_gbe_hash;
+  my $eb_ids_gbe_href = \%eb_ids_gbe_hash;
+
+  &getGbEconfig($eb_ids_gbe_href);
+
+  #--- Loop over all EB processes
+  #print Dumper $eb_ids_gbe_href;
+  #exit;
+  #foreach my $ebproc ( sort keys %{$eb_ids_gbe_href} ){
+  foreach my $ebproc ( 0 ..  $#bnetservers) {
+
+
+    
+    $href->{$ebproc}->{'IP'} = $bnetservers[$ebproc];
+    $href->{$ebproc}->{'EBNUM'}     = $ebproc+1;
+    
+    $href->{$ebproc}->{'PORT_LIST'} = $eb_ids_gbe_href->{$ebproc}->{'port_list'};
+
+    # JAM2016: bnet requieres udp destination nodes in a list like the ports:
+    $href->{$ebproc}->{'IP_LIST'} = $eb_ids_gbe_href->{$ebproc}->{'ip_list'};
+
+    # JAM2018: bnet requieres calibration modes in a list like the ports:
+    $href->{$ebproc}->{'CALIB_LIST'} = $eb_ids_gbe_href->{$ebproc}->{'calib_list'};
+
+    # JAM2018: bnet requires hub addresses/subevents in a list like the ports:
+    $href->{$ebproc}->{'HUB_LIST'} = $eb_ids_gbe_href->{$ebproc}->{'addr_list'};
+
+
+
+    $href->{$ebproc}->{'LTSM'}             = $ltsm_list[$ebproc]; # 0|1
+    $href->{$ebproc}->{'LTSM_PATH'}        = $ltsm_path;
+    $href->{$ebproc}->{'LTSM_Server'}      = $ltsm_server;
+    $href->{$ebproc}->{'LTSM_Node'}        = $ltsm_node;
+    $href->{$ebproc}->{'LTSM_Passwd'}      = $ltsm_passwd;
+    $href->{$ebproc}->{'LTSM_Filesystem'}  = $ltsm_filesys;
+
+    $href->{$ebproc}->{'LTSM_USEFSD'}  = $ltsm_usefsd;
+    $href->{$ebproc}->{'LTSM_FSD_PORT'}  = $ltsm_fsd_port_list[$ebproc];
+    $href->{$ebproc}->{'LTSM_FSD_SERVER'}  = $ltsm_fsd_server_list[$ebproc];
+    
+    
+    $href->{$ebproc}->{'LTSM_USEFSQDEST'}  = $ltsm_usefsqdest;    
+    $href->{$ebproc}->{'LTSM_FSQDEST'}     = $ltsm_fsqdest;  
+    
+
+
+ #   if ($ebproc<7) {
+      # note that for bnet setup, index does not mean eb number, but machine number!
+      # we misuse this here to save complexity of setup
+      $href->{$ebproc}->{'BNET_INP'}       = $bnet_in_list[$ebproc]; # 0|1|2...
+      $href->{$ebproc}->{'BNET_BLD'}       = $bnet_bld_list[$ebproc]; # 0|1|2|3
+      #print "dump bnet_bld\n";
+      #print Dumper \$bnet_bld_list[$ebproc];
+#    }
+
+  } #foreach
+
+  $numOfEBProcs = $ebproc;
+  #print "result\n";
+  #print Dumper $ebproc;
+  # exit;
+}
+
+
+
+
+sub startBnet()   {
+  # here we launch the dabc bnet.
+  # parameters in eb.conf can specify how many input and builder processes run on each node.
+  # we misuse daq gbe setup for EB 15 to specify ports and destination nodes.
+  my (@process_list);
+  # setup for first EB
+  my $ebproc =0;             # setup for first EB will define the BNET
+  my $username = "hadaq";
+  my $cdworkdir = "cd /home/hadaq/oper;";
+
+  # here the default installation. always the most recent... 
+  # new 11-2022: installation checked out from git JAM
+  my $dabclogin = ". /home/hadaq/soft/dabc/bin/dabclogin.master; ";
+  my $cmd_dabc = "/home/hadaq/soft/dabc/bin/dabc_exe.master ";
+  my $conf_bnet_inp = " BnetInputHades.master.xml";
+  my $conf_bnet_bld = " BnetBuilderHadesFSD.master.xml";
+    
+  
+  # below previous default installation on svn checkout
+#   my $dabclogin = ". /home/hadaq/soft/dabc/bin/dabclogin.head; ";
+#   my $cmd_dabc = "/home/hadaq/soft/dabc/bin/dabc_exe.head ";
+#   #   my $cmd_dabc = "/usr/bin/gdb  -x /home/hadaq/soft/dabc/head/base/run/gdbcmd.txt --args /home/hadaq/soft/dabc/bin/dabc_exe.head ";
+#   my $conf_bnet_inp = " BnetInputHades.head.xml";
+#   #my $conf_bnet_bld = " BnetBuilderHades.head.xml";
+#   my $conf_bnet_bld = " BnetBuilderHadesFSD.head.xml";
+
+  # JAM2020- enable this to switch different dabc version: 
+  #    my $dabclogin = ". /home/hadaq/soft/dabc/bin/dabclogin.feb22; ";
+  #    my $cmd_dabc = "/home/hadaq/soft/dabc/bin/dabc_exe.feb22 ";
+  #    my $conf_bnet_inp = " BnetInputHades.feb22.xml";
+  #    my $conf_bnet_bld = " BnetBuilderHadesFSD.feb22.xml";
+
+
+  # variable master node now:
+  my $bnetmaster = "lxhadeb12";
+  # "lxhadeb07";
+  #lxhadeb12";
+
+  # before we start inidividual bnet processes, need to evaluate list of ports and nodes:
+  # BNETSENDERS=[localhost:12501,localhost:12502]
+  # BNETRECEIVERS= [localhost:12101,localhost:12102] 
+  # HADAQPORTS =[50000,50001,50002]
+
+  my $bnetsenders = "[";
+  my $bnetrcvs = "[";
+  my @bnet_port_list   = ();
+  my @bnet_calib_list  = ();
+  my @bnet_subevt_list = ();
+  my $firstsnd = 1;
+  my $firstrcv = 1;
+
+  my $maxbuildservers = 4;      #first servers only for builders JAM2021
+  my $maxbuilders=1;
+  if ($opt_bnet>0 && $opt_bnet <=16) {
+    $maxbuilders=$opt_bnet;
+  }
+
+  print "Using $maxbuilders event builder nodes from option -b $opt_bnet\n";
+  my $totalbuilders=0;
+  my @localbuilders = (0,0,0,0,0,0,0); # JAM21 entries also for servers that were deactivated as builders
+  while ($totalbuilders < $maxbuilders) {
+    my $lasttotalbuilders=$totalbuilders;
+    for ( my $ebserver=0; $ebserver<$maxbuildservers; $ebserver=$ebserver+1) {
+      my $bnet_numbuilders =  $EB_Args_href->{$ebserver}->{'BNET_BLD'};
+      print "numbuilders for $ebserver is $bnet_numbuilders \n";
+      if ($totalbuilders < $maxbuilders) {
+        if ($localbuilders[$ebserver] < $bnet_numbuilders) {
+          $localbuilders[$ebserver]++;
+          $totalbuilders++;
+          print "Added 1 builder on EB server: $ebserver\n";
+        }
+      }
+    }
+    if ($totalbuilders==$lasttotalbuilders) {
+      last;
+    }                 # more ebs demanded than configured
+  }
+
+  for ( my $ebserver=0; $ebserver<$maxbuildservers; $ebserver=$ebserver+1) {
+    print "Found $localbuilders[$ebserver]  builders on EB server: $ebserver\n";
+  }
+
+  my $rcvport = 12100;
+  for ( my $ebserver=0; $ebserver<$#bnetservers+1; $ebserver=$ebserver+1) {
+    print "Gathering processes at EB server: $ebserver\n";
+    my $sendport = 12501;
+    my $ip = $bnetservers[$ebserver];
+
+    # JAM2018 - need to transform HADES VLAN IPs into GSI VLAN for BNET!
+    my $gsi_ip = getIP_hades2gsi($ip);
+    # array of BNET values is already indexed with server id:
+    my $bnet_numsenders =  $EB_Args_href->{$ebserver}->{'BNET_INP'};
+    for (my $six=0; $six<$bnet_numsenders; $six=$six+1) {
+      $bnetsenders=$bnetsenders . "," unless ($firstsnd>0);
+      $bnetsenders=$bnetsenders . $gsi_ip.":". $sendport;
+      $sendport=$sendport+1;
+      $firstsnd=0 if($firstsnd>0);
+    }
+    for (my $rix=0; $rix<$localbuilders[$ebserver]; $rix=$rix+1) {
+      $bnetrcvs=$bnetrcvs . "," unless ($firstrcv>0);
+      $bnetrcvs=$bnetrcvs . $gsi_ip.":". $rcvport;
+      $rcvport=$rcvport+1;
+      $firstrcv=0 if($firstrcv>0);
+    }
+    my $hadaqports = "[";
+    my $calibflags = "[";
+    my $subevents  = "[";
+    my $firstport = 1;
+
+    #- add ports: note that we only use eb 1 from hub setup and do check which ports belong to our eb server:
+    my $ix =0;
+    foreach my $port (@{$EB_Args_href->{$ebproc}->{'PORT_LIST'}}) { 
+      # here we only gather such ports that are assigned to our node:
+      # todo: how to distribute the ports to more than one bnet input process per server?
+      my $cflag = $EB_Args_href->{$ebproc}->{'CALIB_LIST'}[$ix];
+      my $hub = $EB_Args_href->{$ebproc}->{'HUB_LIST'}[$ix];
+      #print "ip" . $ip . " with port:" . $port ." index:" . $ix . " ip: ". $EB_Args_href->{$ebproc}->{'IP_LIST'}[$ix] . " calib: ". $cflag ." hub: ". $hub ."\n" ;
+      if ($ip eq $EB_Args_href->{$ebproc}->{'IP_LIST'}[$ix]) {
+        $hadaqports=$hadaqports . "," unless ($firstport>0);
+        $hadaqports = $hadaqports . $port;
+        $calibflags=$calibflags . "," unless ($firstport>0);
+        $calibflags = $calibflags . $cflag;
+        $subevents=$subevents . "," unless ($firstport>0);
+        $subevents = $subevents . $hub;
+        $firstport=0 if($firstport>0);
+      }
+      $ix++;
+    }
+    $hadaqports=$hadaqports . "]";
+    push(@bnet_port_list, $hadaqports); # ports are per server
+    $calibflags=$calibflags . "]";
+    push(@bnet_calib_list, $calibflags); # flags per server
+    $subevents=$subevents . "]";
+    push(@bnet_subevt_list, $subevents); # flags per server
+    # print "node ". $gsi_ip . " uses ports ".$hadaqports . ", calibflags " .$calibflags . " hubs: ". $subevents ."\n";
+  }
+  $bnetsenders = $bnetsenders . "]";
+  $bnetrcvs = $bnetrcvs . "]";
+
+  print "bnetsenders: ".   $bnetsenders ."\n";
+  print "bnetreceivers: ". $bnetrcvs ."\n";
+
+  my $portid=0;                 #
+  my $sendid=0;
+
+  my $bnebport=12100;
+  for ( my $ebserver=0; $ebserver<$#bnetservers+1; $ebserver=$ebserver+1) {
+    print "Starting input processes on EB server: $ebserver\n";
+    my $ebid=$ebserver + 1; # still need unique eventbuilder ids on cluster because of epics!
+    my $cpu = $bnetservers[$ebserver];
+
+    my $gsi_cpu = getIP_hades2gsi($cpu);
+    # in the following, the port and ip setup of the bnet is taken from ebproc 0 only!
+    my $bnet_numsenders =  $EB_Args_href->{$ebserver}->{'BNET_INP'};
+    #my $bnet_numbuilders =  $EB_Args_href->{$ebserver}->{'BNET_BLD'};
+    print "found $bnet_numsenders senders on node $cpu \n";
+
+    my $bninpport=12501;
+    # loop over senders on this node and start them:
+    for (my $sender=0; $sender<$bnet_numsenders; $sender=$sender+1) {
+      my $sendnum= $sendid + 1;
+      my $exports = " export MYHOST=" . $gsi_cpu . ";" .
+        " export BNETMASTER=" . $bnetmaster . ";" .       
+        " export BNINPNUM=" . $sendnum . ";" . # independent of actual server id in general list. server may be excluded from sending! 
+        " export BNINPID=" . $sendid . "; " .
+        " export BNINPPORT=" . $bninpport . "; " .
+        " export BNETSENDERS=" . $bnetsenders . ";" .
+        " export BNETRECEIVERS=" . $bnetrcvs . ";" .
+        " export HADAQPORTS=" . $bnet_port_list[$ebserver] .";" .
+        " export SUBEVENTS=" . $bnet_subevt_list[$ebserver] .";" .
+        " export CALIBFLAGS=" . $bnet_calib_list[$ebserver] .";";
+      # todo: how to configure situation with more than one bnet input per node? hadaqports must be distributed on them...
+       #" export BNINPNUM=" . $ebid . ";" . # todo: extend if more than one sender per node
+      #
+      #my $core_nr = &getCoreNr($cpu) . "," . &getCoreNr($cpu);
+      my $core_nr = &getCoreNr($cpu, 'input'); 
+      # my $exe_dabc = "ssh -n $cpu -l $username \"$dabclogin $cdworkdir $exports taskset -c $core_nr  $cmd_dabc $conf_bnet_inp 1</dev/null & (sleep 2; ~/bin/optimize_taskset.sh) &\"";
+      # JAM21 - try without optimize taskset
+        my $exe_dabc = "ssh -n $cpu -l $username \"$dabclogin $cdworkdir $exports taskset -c $core_nr  $cmd_dabc $conf_bnet_inp 1</dev/null &\"";
+      #strace -s 200 -ff -o strace_out.txt
+         # my $exe_dabc = "ssh -n $cpu -l $username \"$dabclogin $cdworkdir $exports taskset -c $core_nr strace -o strace_out.txt -ebind,open  $cmd_dabc $conf_bnet_inp >senderlog_$cpu.log 2>&1  &\"" ; 
+          
+          #   JAM 24-01-22: without senderlog, but keep strace to be safe at EB startup
+          # my $exe_dabc = "ssh -n $cpu -l $username \"$dabclogin $cdworkdir $exports taskset -c $core_nr strace -o strace_out.txt -ebind,open  $cmd_dabc $conf_bnet_inp 1</dev/null  &\"" ; 
+           
+         #  my $exe_dabc = "ssh -n $cpu -l $username \"$dabclogin $cdworkdir $exports taskset -c $core_nr  $cmd_dabc $conf_bnet_inp >senderlog_$cpu.log 2>&1   & (sleep 2; ~/bin/optimize_taskset.sh) &\"";
+      #    my $exe_dabc = "ssh -n $cpu -l $username \"$dabclogin $cdworkdir $exports   $cmd_dabc $conf_bnet_inp >senderlog_$cpu.log 2>&1  &\"";
+
+
+      my $log = $log_path . "/log_" . $ebserver . "_" . "startBnetInp_". $sender. ".txt";
+      #my $log = "/dev/null 2>&1";
+
+      print "Forking:" . $exe_dabc ."\n";
+      forkMe($exe_dabc, $log, \@process_list) unless($opt_test);
+
+      $sendid = $sendid +1;
+      $bninpport =     $bninpport +1;
+    }                           # bnet sender/input processes
+  }                             # end senders
+
+  sleep 1;
+  # JAM12-2021 -maybe this helps for connection, wait until server sockets of senders are all up?
+  # todo: loop over builders
+  # reduced to 1 second again, mt
+
+  for ( my $ebserver=0; $ebserver<$maxbuildservers; $ebserver=$ebserver+1) {
+    print "Starting builder processes on EB server: $ebserver\n";
+    my $ebid=$ebserver + 1; # still need unique eventbuilder ids on cluster because of epics! (and dabc?)
+    my $cpu = $bnetservers[$ebserver];
+    my $gsi_cpu = getIP_hades2gsi($cpu);
+    # in the following, the port and ip setup of the bnet is taken from ebproc 15 or 0 only!
+    #my $bnet_numbuilders =  $EB_Args_href->{$ebserver}->{'BNET_BLD'};
+    print "start $localbuilders[$ebserver] builders on node $cpu \n";     
+
+    for (my $builder=0; $builder<$localbuilders[$ebserver]; $builder=$builder+1) {
+      my $exports = " export MYHOST=" . $gsi_cpu . ";" .
+        " export BNETMASTER=" . $bnetmaster . ";" .
+        " export BNEBNUM=" . $ebid . ";" .
+        " export BNEBID=" . $portid . "; " .
+        " export BNEBPORT=" . $bnebport . "; " .
+        # ignore prefix at startup. always start without files and show it:
+        #" export PREFIX=" . $EB_Args_href->{$ebproc}->{'PREFIX'}. "; " .
+        " export PREFIX=--;" .
+        " export BNETSENDERS=" . $bnetsenders . ";" .
+        " export BNETRECEIVERS=" . $bnetrcvs . ";" .
+        " export HADAQPORTS=" . $bnet_port_list[$ebserver]. "; " ;
+
+        # no daqdisk demon anymore for raid6-
+        $exports = $exports . "export DAQDISK=0; export OUTDIR=/data01/data; ";
+
+        if ( $EB_Args_href->{$ebproc}->{'LTSM'} ) {
+
+          # switch on by number of outputs
+          $exports = $exports . " export FILEOUTPUTS=3;";
+          # additional exports for LTSM
+
+          $exports = $exports . " export LTSMPATH=". $EB_Args_href->{$ebproc}->{'LTSM_PATH'} . ";";
+          $exports = $exports . " export LTSMSERVER=". $EB_Args_href->{$ebproc}->{'LTSM_Server'} . ";";
+          $exports = $exports . " export LTSMNODE=". $EB_Args_href->{$ebproc}->{'LTSM_Node'} . ";";
+          $exports = $exports . " export LTSMPASSWD=". $EB_Args_href->{$ebproc}->{'LTSM_Passwd'} . ";";
+          $exports = $exports . " export LTSMFSNAME=". $EB_Args_href->{$ebproc}->{'LTSM_Filesystem'} . ";";
+          $exports = $exports . " export DSM_LOG=/home/hadaq/oper/ltsm". $ebid .".log;";
+
+          # new for file system daemon JAM2020:
+          if ($EB_Args_href->{$ebproc}->{'LTSM_USEFSD'}) {
+            $exports = $exports . " export USEFSD=true;";
+            $exports = $exports . " export LTSMSESSIONFILES=999999;";
+            # increase number of session files if fsd is used:
+          } else {
+            $exports = $exports . " export USEFSD=false;";
+            $exports = $exports . " export LTSMSESSIONFILES=10;"
+          }
+          #  JAM2021: for FSQ api with data destination flag:
+           if ($EB_Args_href->{$ebproc}->{'LTSM_USEFSQDEST'}) {
+            $exports = $exports . " export FSQDEST=". $EB_Args_href->{$ebproc}->{'LTSM_FSQDEST'}. ";";
+          }
+          else
+          {
+            # stick to full storage lustre and tsm-
+            $exports = $exports . " export FSQDEST=4;";          
+          }
+
+          #       $exports = $exports . " export FSDPORT=". $EB_Args_href->{$ebproc}->{'LTSM_FSD_PORT'} . ";";           
+          #        $exports = $exports . " export FSDSERVER=". $EB_Args_href->{$ebproc}->{'LTSM_FSD_SERVER'} . ";";
+          my $fsdix=$ebserver % 6; # number of FSD servers used TODO get from configuration
+          # in this case, server 4 will use first fsd
+          $exports = $exports . " export FSDPORT=". $EB_Args_href->{$fsdix}->{'LTSM_FSD_PORT'} . ";";    
+          $exports = $exports . " export FSDSERVER=". $EB_Args_href->{$fsdix}->{'LTSM_FSD_SERVER'} . ";";
+        } else {
+          # no ltsm, just local file 
+          $exports = $exports . " export FILEOUTPUTS=2;";
+        }
+
+
+      my $core_nr = &getCoreNr($cpu, 'build');
+      #y $exe_dabc = "ssh -n $cpu -l $username \"$dabclogin $cdworkdir $exports taskset -c $core_nr  $cmd_dabc $conf_bnet_bld 1</dev/null & (sleep 4; ~/bin/optimize_taskset.sh) &\"";
+      #JAM21 - disable further taskset optimization for the moment.
+      #strace -o strace_out.txt
+      my $exe_dabc = "ssh -n $cpu -l $username \"$dabclogin $cdworkdir $exports taskset -c $core_nr   $cmd_dabc $conf_bnet_bld 1</dev/null &\"";
+
+      #my $exe_dabc = "ssh -n $cpu -l $username \"$dabclogin $cdworkdir $exports   $cmd_dabc $conf_bnet_bld  >builderlog_$cpu.log 2>&1  &\"";
+
+
+      my $log = $log_path . "/log_" . $ebserver . "_" . "startBnetBld_". $builder . ".txt";
+      #my $log = "/dev/null 2>&1";
+      print "Forking:" . $exe_dabc ."\n";
+      forkMe($exe_dabc, $log, \@process_list) unless($opt_test);
+
+      $ebid = $ebid + $maxbuildservers; #5 ; # increment ebnum by 5 (JAM2020) per ebserver to re-use EPICS iocs (deprecated, but keep numbering logic JAM2021)
+      $portid = $portid + 1; 
+      $bnebport = $bnebport +1;
+      # 
+    } # builder processes
+  }                             # servers
+
+  # finally, we need to set eb lut on cts for setup of EB1 => bnet distribution
+  #trbcmd w 0x0003 0xa0f0 0x8000`;
+  #`trbcmd w 0x0003 0xa0f0 0x1`; 
+  `trbcmd setbit 0x0003 0xa0f0 0x1`; 
+  # use EB1 as pseude for BNET now
+  # all calibration triggers also assigned to pseudo EB1=> bnet distribution for the moment
+  #trbcmd w 0x0003 0xa0f3 0xfff`;
+  # `trbcmd w 0x0003 0xa0f3 0xff0`; 
+  `trbcmd setbit 0x0003 0xa0f3 0xff0`; 
+  # use EB1 as pseudo receiver for calib triggers
+
+  sleep (5);              # seems also to be fine: michael, 2019-02-18
+
+  # sleep (20) # old # need to wait until forking is done, otherwise it does not work via gui control xterm
+
+}
+
+
+
+sub startEvtBuilders()   {
+ # JAM21 - always use bnet now, disable support of old scheme
+ # if ( $EB_Args_href->{0}->{'BNET_INP'} ) {
+    print "Starting Builder network...\n";
+    startBnet();
+    return;
+ # }
+ }
+
+sub stopEvtBuilders()   {
+  my $username = "hadaq";
+
+  my @process_list = ();
+
+  #--- Loop over server IPs
+  foreach my $ip (@bnetservers) {
+
+    #my $exe = "ssh -n $ip -l $username \"/home/hadaq/bin/cleanup_evtbuild.pl; /home/hadaq/bin/ipcrm.pl\"";
+    my $exe = "ssh -n $ip -l $username \"/home/hadaq/bin/cleanup_evtbuild.pl\"";
+    if ($opt_verb) {
+      print "Killing running EBs...\n";
+      print "Exec: $exe\n";
+    }
+
+    my $log = $log_path . "/log_" . $ip . "_" . "stopEB.txt";
+
+    forkMe($exe, $log, \@process_list) unless($opt_test);
+  }
+
+  #- Wait for children
+  foreach my $cur_child_pid (@process_list) {
+    print "wait for $cur_child_pid\n";
+    waitpid($cur_child_pid,0);
+  }
+}
+
+
+sub forkMe()   {
+  my ($cmd, $log, $proc_list) = @_;
+
+  my $child = fork();
+
+  if ( $child ) {               # parent
+    push( @$proc_list, $child );
+  } elsif ( $child == 0 ) {     # child
+    system("$cmd >$log 2>&1 ");
+    exit(0);
+  } else {
+    print "Could not fork: $!\n";
+    exit(1);
+  }
+}
+
+
+sub getGbEconfig()   {
+  #
+  # Read DB configurations of GbE and CTS,
+  # look for active data sources as well as
+  # for EB IPs and ports.
+  #
+
+  my ($eb_ids_href) = @_;
+
+  my $data_sources = $temp_args_href->{'Parallel'}->{'DATA_SOURCES'};
+  my $gbe_conf     = $temp_args_href->{'Parallel'}->{'GBE_CONF'};
+
+  my %activeSources_hash;
+  my $activeSources_href = \%activeSources_hash;
+
+  &readActiveSources($data_sources, $activeSources_href);
+
+  my @id_list;
+  my $id_list_aref = \@id_list;
+
+  #- Overwrite array with EB numbers
+  @id_list = (0 .. 15);
+  #print Dumper $id_list_aref;
+
+  &readEBports($gbe_conf, $activeSources_href, $id_list_aref, $eb_ids_href);
+}
+
+sub readEBids()   {
+  #
+  # Read EB Ids
+  #
+
+  my ($file, $id_list_aref) = @_;
+
+  my $nnn_table = 0;
+  my $val_table = 0;
+
+  my $SPACE = "";
+
+  my $fh = new FileHandle("$file", "r");
+
+  while (<$fh>) {
+
+    #- Remove all comments
+    $_ =~ s{                # Substitue...
+             \#             # ...a literal octothorpe
+             [^\n]*         # ...followed by any number of non-newlines
+         }
+           {
+$SPACE}gxms;                  # Raplace it with a single space        
+
+    #- Skip line if it contains only whitespaces
+    next unless(/\S/);
+
+    if (/^(\s+)?!Value\stable/) {
+      $val_table = 1;
+      $nnn_table = 0;
+      next;
+    } elsif (/^(\s+)?!\w+/) {
+      $val_table = 0;
+      $nnn_table = 1;
+    }
+
+    if ($val_table) {
+      my (@vals)   = split(" ", $_);
+      my @id_list1 = split("", $vals[12]);
+      my @id_list2 = split("", $vals[13]);
+      foreach my $id (@id_list1) {
+        push(@$id_list_aref, hex($id));
+      }
+      foreach my $id (@id_list2) {
+        push(@$id_list_aref, hex($id));
+      }
+    } elsif ($nnn_table) {
+    }
+  }
+
+  $fh->close;
+}
+
+sub readEBports()   {
+  #
+  # Read EB IPs and ports accoring to EB Id (type) 
+  # and TRB-Net addresses of active data sources.
+  #
+
+  my ($file, $activeSources_href, $id_list_aref, $ports_href) = @_;
+
+  my $nnn_table = 0;
+  my $val_table = 0;
+
+  my $fh = new FileHandle("$file", "r");
+
+  &isFileDefined($fh, $file);
+
+  my %tmp;
+  my $tmp_href = \%tmp; 
+
+  my $SPACE = "";
+
+  while (<$fh>) {
+
+    #print $_;
+    #- Remove all comments
+    $_ =~ s{                # Substitue...
+             \#             # ...a literal octothorpe
+             [^\n]*         # ...followed by any number of non-newlines
+         }
+           {
+$SPACE}gxms;                    # Raplace it with a single space
+
+    #- Skip line if it contains only whitespaces
+    next unless(/\S/);
+
+    #print $_;
+    if (/^(\s+)?!Value\stable/) {
+      $val_table = 1;
+      $nnn_table = 0;
+      next;
+    } elsif (/^(\s+)?!\w+/) {
+      $nnn_table = 1;
+      $val_table = 0;
+    }
+
+    if ($val_table) {
+      my (@vals)   = split(" ", $_);
+      my $id = $vals[1];
+
+
+      #- Accept only EB Ids from CTS config file
+      #print "value: $_";
+      next unless( any {$_ eq $id} @$id_list_aref );
+
+      #print Dumper \@vals;
+      #print "active sources: "; print Dumper $activeSources_href->{'addr_list'};
+      #exit;
+
+      my $ip   = &getIP_hex2dec($vals[6]);
+      my $port = &getPort_hex2dec($vals[2]);
+      my $addr = $vals[0];
+      my $calib = $vals[7]; # jam2018 - add list of trb3 tdc calibration modes
+
+   # print "got: ip: $ip, port: $port, addr: $addr\n";
+      #- Accept only sources from active source list
+      if ( any {hex($_) == hex($addr)} @{$activeSources_href->{'addr_list'}} ) {
+        $tmp_href->{$id}->{'IP'} = $ip;
+        push( @{$tmp_href->{$id}->{'port_list'}}, $port );
+        push( @{$tmp_href->{$id}->{'addr_list'}}, $addr );
+        push( @{$tmp_href->{$id}->{'calib_list'}}, $calib );
+
+        # JAM2016: for bnet we need the receiver nodes per port as list also:
+        push( @{$tmp_href->{$id}->{'ip_list'}}, $ip );
+
+      }
+    }
+  }
+
+  $fh->close;
+
+  # print Dumper $tmp_href;
+
+  #- Sort hash according to active data source list
+  my $numids= scalar keys %tmp;
+  #print "number of ids: $numids \n";
+  foreach my $id (keys %tmp) {
+    $ports_href->{$id}->{'IP'} = $tmp_href->{$id}->{'IP'};
+
+    foreach my $addr (@{$activeSources_href->{'addr_list'}}) {
+
+      my $ind1 = first_index {$_ eq $addr} @{$tmp_href->{$id}->{'addr_list'}};
+      my $ind2 = first_index {$_ eq $addr} @{$activeSources_href->{'addr_list'}};
+
+      next if($ind1 == -1);
+
+
+      if ($id == 0 && $numids==1) {
+        # fill all ids of active inputs with setup for id 0 of bnet
+        foreach my $bid (0 .. $#bnetservers) {
+          push( @{$ports_href->{$bid}->{'port_list'}}, $tmp_href->{$id}->{'port_list'}->[$ind1]);
+          push( @{$ports_href->{$bid}->{'ip_list'}}, $tmp_href->{$id}->{'ip_list'}->[$ind1]);
+          push( @{$ports_href->{$bid}->{'calib_list'}}, $tmp_href->{$id}->{'calib_list'}->[$ind1]);
+          push( @{$ports_href->{$bid}->{'addr_list'}}, $addr);
+          #push( @{$ports_href->{$bid}->{'bufsize_list'}}, $activeSources_href->{'bufsize_list'}->[$ind2]);
+        }
+      } else {
+#         #old EB mode/no bnet: config file defines all. DO WE NEED THIS STILL?
+#         push( @{$ports_href->{$id}->{'port_list'}}, $tmp_href->{$id}->{'port_list'}->[$ind1]);
+#         # added for bnet JAM:
+#         #push( @{$ports_href->{$id}->{'ip_list'}}, $tmp_href->{$id}->{'ip_list'}->[$ind1]);
+#         #push( @{$ports_href->{$id}->{'calib_list'}}, $tmp_href->{$id}->{'calib_list'}->[$ind1]);            
+#         push( @{$ports_href->{$id}->{'addr_list'}}, $addr);
+#         push( @{$ports_href->{$id}->{'bufsize_list'}}, $activeSources_href->{'bufsize_list'}->[$ind2]);
+      }
+    }
+  }
+
+   #print Dumper $ports_href;
+}
+
+sub readActiveSources()   {
+  #
+  # Read TRB-Net addresses of active data sources
+  #
+
+  my ($file, $activeSources_href) = @_;
+
+  my $fh = new FileHandle("$file", "r");
+
+  &isFileDefined($fh, $file);
+
+  my $SPACE = "";
+
+  # this one contains list of deactivated data sources
+  my $log="/home/hadaq/trbsoft/hadesdaq/evtbuild/tmp/EB_NotActiveSources.txt";
+  system("truncate -s 0 $log ;");
+  while (<$fh>) {
+    #- Remove all comments
+    $_ =~ s{                # Substitue...
+             \#             # ...a literal octothorpe
+             [^\n]*         # ...followed by any number of non-newlines
+         }
+           {
+$SPACE}gxms;                    # Raplace it with a single space
+
+    #- Skip line if it contains only whitespaces
+    next unless(/\S/);
+
+    my ($addr, $astat, $sys, $size)  = split(" ", $_);
+
+    if ($astat == 0) {
+      system("echo $addr >> $log 2>&1;");
+      next;
+    }
+    push( @{$activeSources_href->{'addr_list'}}, $addr);
+    #push( @{$activeSources_href->{'bufsize_list'}}, &getBufSize($size)); 
+  }
+
+  $fh->close;
+}
+
+
+sub getIP_hex2dec()   {
+  my ($ip_hex) = @_;
+
+  my $ip_dec;
+
+  if ( $ip_hex =~ /0x(\w{2})(\w{2})(\w{2})(\w{2})/ ) {
+    $ip_dec = hex($1) . "." . hex($2) . "." . hex($3) . "." . hex($4);
+  } else {
+    print "getIP_hex2dec(): cannot extract ip address because of diferent format! Exit.";
+    exit(0);
+  }
+
+  return $ip_dec;
+}
+
+sub getPort_hex2dec()   {
+  my ($port_hex) = @_;
+
+  my $port_dec;
+
+  if ( $port_hex =~ /0x(\w+)/ ) {
+    $port_dec = hex($1);
+  } else {
+    print "getPort_hex2dec(): cannot extract port number because of diferent format! Exit.";
+    exit(0);
+  }
+
+  return $port_dec;
+}
+
+sub getIP_hades2gsi() {
+  my ($ip_hades) = @_;
+  my $ip_gsi = "";
+  if (exists $IP_GSI_href->{$ip_hades}) { 
+    $ip_gsi = $IP_GSI_href->{$ip_hades};
+  } else {
+    print "getIP_hades2gsi(): WARNING - unknown hades ip $ip_hades";
+  }
+  return $ip_gsi;
+}
+
+
+
+
+sub isFileDefined() {
+  my ($fh, $name) = @_;
+
+  if (!$fh) {
+    my $txt = "\nError! Could not open file \'$name\'. Exit.\n";
+    print STDERR $txt;
+    print $txt;
+    exit(128);
+  }
+
+  return 0;
+}
+
+sub writeArgs2file() {
+  my $fileName = $0;
+
+  #- Replace .pl with .sh
+  $fileName =~ s/\.pl/\.sh/;
+
+  my $fh = new FileHandle(">./$fileName");
+  if (!$fh) {
+    my $txt = "\nError! Could not open file \"$fileName\" for output. Exit.\n";
+    print STDERR $txt;
+    print $txt;
+    exit(128);
+  }
+
+  my $current_dir = cwd();
+  my $ptogName = $0;
+
+
+  #- Write to the file the script name itself
+  print $fh $0;
+
+  #- Write to the file the arguments
+  foreach my $arg (@arg_list) {
+    print $fh " $arg";
+  }
+  print $fh ";\n";
+  ## do not start te files by default. user should actively restart the file JAM 29-06-2018
+  # here put command to start the correct file prefix in bnet builders:
+  #my $prefix=$EB_Args_href->{0}->{'PREFIX'};
+  #print $fh "/usr/bin/wget  -a /tmp/EB_filestart.log  -O /tmp/EB_fileres.txt \"http://lxhadeb03:8090/Master/BNET/StartRun/execute?prefix=$prefix&oninit=10\"\n"; 
+  $fh->close();
+
+  system("chmod 755 ./$fileName");
+}
+
index 2ba8b9ab454602c867441fbbd47c368b2a2ddcf7..98a6c4add6e9cdbbeda84dfe71b8cae24a7a07a4 100644 (file)
@@ -7,7 +7,12 @@ wait
 
   trbcmd w 0xfffe 0xc5 0x4000
 
-
+#exec_cmd{con} echo Start test
+#trbcmd  setbit 0x7093 0x22 0x80000000
+#trbcmd  r 0x7093 0x22
+#trbcmd  clearbit 0xfffd 0x22 0x80000000
+#trbcmd  r 0x7093 0x22
+#trbcmd r 0xfffd 0x22
 
 #Retransmission on as early as possible
  trbcmd setbit 0xfffd 0x22 0x08000000   #enable retransmission on oep
index 4b1089d6eff5b9af524722d05e17744a9de17b25..27244ab4b34802479035cfcbac567df72ccca91a 100644 (file)
@@ -52,6 +52,7 @@ wait
 !ifndef MDCNOCOMPILETIME
   exec_cmd{nofork} check_compile_time oep 0x4c3b2466
 !endif
+wait
 
 
 !ifndef NOMDC
index c58088fd63f184751961377385c7f4dbbcd7c9e4..fb0c76ccda3b5ceb0d26f095645c435bd9717a73 100644 (file)
@@ -19,6 +19,9 @@
 #0x8410          #Hub2
 #0x8600          #Hub2
 #0x8700          #Hub2
+0x8700          #FWALL1
+0x8701          #FWALL2
+0x8702          #FWALL3
 0x8800          #Hub2
 0x8880          #StartTRB3
 0x8890          #VetoTRB3
index d67dd0ca90bd8419e18581387ca58a231da45be1..e6d1ae2d546044b06734508c4af1857f8dfd1831 100755 (executable)
@@ -23,9 +23,9 @@ foreach my $b (keys %$o) {
   next if $o->{$b}[0] != 0; 
   next if $o->{$b}[3] != 0;
   
-  my $str = sprintf("%04x\n",$b);
-  print "Without IP: $str. Rebooting.";
+  my $str = sprintf("%04x",$b);
+  print "Without IP: $str. Rebooting.\n";
   system("trbcmd reload 0x$str");
 
   }
-print "If some errors or boards are listed above: Restart DAQ. \n If not: continue;";
+print "\n If some errors or boards are listed above: Restart DAQ. \n If not: continue \n\n";
index 68385e4f81b9b17b143bd8d8b1b4f183f439e75e..578a8e396d9df393b472469c479445a7da70b2e5 100755 (executable)
@@ -177,7 +177,7 @@ system("ssh -X lxhadesdaqp 'cd /home/hadaq/trbsoft/daq/main/;./startup.pl -f ../
 
 
 foreach my $h (@boardstoloadthresh) {
-  my $cmd = sprintf("ssh lxhadesdaq 'sleep 2 && /home/hadaq/trbsoft/hadesdaq/utils/RICH_Thr_Call.sh --loading-file /home/hadaq/hadesdaq/rich/trb_dirich_threshold/threshold_files/standard_baselines.thr -l 0 -t 0x%04x 70' &",$h);
+  my $cmd = sprintf("ssh lxhadesdaqp 'sleep 2 && /home/hadaq/trbsoft/hadesdaq/utils/RICH_Thr_Call.sh --loading-file /home/hadaq/hadesdaq/rich/trb_dirich_threshold/threshold_files/standard_baselines.thr -l 0 -t 0x%04x 70' &",$h);
   printf("Loading thresholds for %04x\n",$h);
   }
 
index f4fcd2a75e936320074e985da13997f18b7aa521..32adacf561bf889b793ed5f28dccaf7130650bcf 100644 (file)
@@ -3,9 +3,15 @@
 
 # Address #  S/N  #  FPGA
 
-0x5000    004     1
-0x5001    005     1
-0x5002    006     1
-0x5003    003     1
-0x5004    007     1
+0x5003    004     1  #  StartY2  
+0x5000    005     1  #  StartX2
+0x5001    006     1  #  StartY1
+0x5002    007     1  #  StartX1
+
+# 0x5000    004     1  #  
+# 0x5001    005     1  #
+# 0x5002    006     1  #
+# 0x5003    007     1  #
+
+0x5004    003     1  # Veto
 
index f9287c8b5831eada50a8f4791c3b84ba92090f4a..10ae9fa5ea5517385490746aacdd07afdf985ac9 100644 (file)
                                                                                                              
 0xfe58          0   0x50003000   0x80640096   0x000000ff   0x00000000   0x00000010   0x00000000   0x00000000
 
-0x5000          0   0x50003000   0x80640096   0x000000ff   0x00000000   0x00000010   0x00000000   0x00000000
-0x5001          0   0x50003000   0x80640096   0x000000ff   0x00000000   0x00000010   0x000000ff   0x00000000
-0x5002          0   0x50003000   0x80640096   0x000000ff   0x00000000   0x00000010   0x00000000   0x00000000
-0x5003          0   0x50003000   0x80640096   0x000000ff   0x00000000   0x00000010   0x000000ff   0x00000000
+0x5000          0   0x50003000   0x80640096   0x000000ff   0x00000000   0x00000010   0x000000ff   0x00000000
+0x5001          0   0x50003000   0x80640096   0x000000ff   0x00000000   0x00000010   0x00000000   0x00000000
+0x5002          0   0x50003000   0x80640096   0x000000ff   0x00000000   0x00000010   0x000000ff   0x00000000
+0x5003          0   0x50003000   0x80640096   0x000000ff   0x00000000   0x00000010   0x00000000   0x00000000
 0x5004          0   0x50003000   0x80640096   0x000000ff   0x00000000   0x00000010   0x000000ff   0x00000000
 
 
index 9af0e759d8770e55d177b2018a6d208b1979dbbe..e811724c6bd00e735c4fc27180ee90039b3a3e12 100644 (file)
@@ -18,10 +18,10 @@ trbcmd w 0x5002 0xe012 0x1fe  #activate 8 channels
 trbcmd w 0x5003 0xe012 0x1fe  #activate 8 channels 
 trbcmd w 0x5004 0xe012 0x1fe  #activate 8 channels 
 
-trbcmd w 0x5000 0xe011 0x0  #invert 8 channels 
-trbcmd w 0x5001 0xe011 0x1fe  #invert 8 channels 
-trbcmd w 0x5002 0xe011 0x0  #invert 8 channels 
-trbcmd w 0x5003 0xe011 0x1fe  #invert 8 channels 
+trbcmd w 0x5000 0xe011 0x1fe  #invert 8 channels 
+trbcmd w 0x5001 0xe011 0x0  #dont invert 8 channels 
+trbcmd w 0x5002 0xe011 0x1fe  #invert 8 channels 
+trbcmd w 0x5003 0xe011 0x0  #dont invert 8 channels 
 trbcmd w 0x5004 0xe011 0x1fe  #invert 8 channels 
 
 # set the LV of preamp of DiRich5d1
index 3b782e7ba0fe4447f9c44c824b2606f9a5f3bd52..78c7978f7c77bad917576af13cdfaa1c710f24ce 100644 (file)
@@ -1,40 +1,40 @@
-2023/12/22 21:45:42 endpoint: 0x5000, chain: 00, channel:  0 threshold: 0x4850, uid: 0
-2023/12/22 21:45:42 endpoint: 0x5000, chain: 00, channel:  1 threshold: 0x529f, uid: 0
-2023/12/22 21:45:42 endpoint: 0x5000, chain: 00, channel:  2 threshold: 0x5ba3, uid: 0
-2023/12/22 21:45:42 endpoint: 0x5000, chain: 00, channel:  3 threshold: 0x510e, uid: 0
-2023/12/22 21:45:42 endpoint: 0x5000, chain: 00, channel:  4 threshold: 0x4e42, uid: 0
-2023/12/22 21:45:42 endpoint: 0x5000, chain: 00, channel:  5 threshold: 0x5b5f, uid: 0
-2023/12/22 21:45:42 endpoint: 0x5000, chain: 00, channel:  6 threshold: 0x4a09, uid: 0
-2023/12/22 21:45:42 endpoint: 0x5000, chain: 00, channel:  7 threshold: 0x53a4, uid: 0
-2023/12/22 21:45:56 endpoint: 0x5001, chain: 00, channel:  0 threshold: 0x643d, uid: 0
-2023/12/22 21:45:56 endpoint: 0x5001, chain: 00, channel:  1 threshold: 0x6583, uid: 0
-2023/12/22 21:45:56 endpoint: 0x5001, chain: 00, channel:  2 threshold: 0x5f65, uid: 0
-2023/12/22 21:45:56 endpoint: 0x5001, chain: 00, channel:  3 threshold: 0x638f, uid: 0
-2023/12/22 21:45:56 endpoint: 0x5001, chain: 00, channel:  4 threshold: 0x62d5, uid: 0
-2023/12/22 21:45:56 endpoint: 0x5001, chain: 00, channel:  5 threshold: 0x5e59, uid: 0
-2023/12/22 21:45:56 endpoint: 0x5001, chain: 00, channel:  6 threshold: 0x648f, uid: 0
-2023/12/22 21:45:56 endpoint: 0x5001, chain: 00, channel:  7 threshold: 0x65ed, uid: 0
-2023/12/22 21:46:11 endpoint: 0x5002, chain: 00, channel:  0 threshold: 0x47f0, uid: 0
-2023/12/22 21:46:11 endpoint: 0x5002, chain: 00, channel:  1 threshold: 0x4cc6, uid: 0
-2023/12/22 21:46:11 endpoint: 0x5002, chain: 00, channel:  2 threshold: 0x5bfb, uid: 0
-2023/12/22 21:46:11 endpoint: 0x5002, chain: 00, channel:  3 threshold: 0x523d, uid: 0
-2023/12/22 21:46:11 endpoint: 0x5002, chain: 00, channel:  4 threshold: 0x4d53, uid: 0
-2023/12/22 21:46:11 endpoint: 0x5002, chain: 00, channel:  5 threshold: 0x5b95, uid: 0
-2023/12/22 21:46:11 endpoint: 0x5002, chain: 00, channel:  6 threshold: 0x463e, uid: 0
-2023/12/22 21:46:11 endpoint: 0x5002, chain: 00, channel:  7 threshold: 0x5302, uid: 0
-2023/12/22 21:46:25 endpoint: 0x5003, chain: 00, channel:  0 threshold: 0x635f, uid: 0
-2023/12/22 21:46:25 endpoint: 0x5003, chain: 00, channel:  1 threshold: 0x6825, uid: 0
-2023/12/22 21:46:25 endpoint: 0x5003, chain: 00, channel:  2 threshold: 0x5d1b, uid: 0
-2023/12/22 21:46:25 endpoint: 0x5003, chain: 00, channel:  3 threshold: 0x68bb, uid: 0
-2023/12/22 21:46:25 endpoint: 0x5003, chain: 00, channel:  4 threshold: 0x60ef, uid: 0
-2023/12/22 21:46:25 endpoint: 0x5003, chain: 00, channel:  5 threshold: 0x5d0b, uid: 0
-2023/12/22 21:46:25 endpoint: 0x5003, chain: 00, channel:  6 threshold: 0x6237, uid: 0
-2023/12/22 21:46:25 endpoint: 0x5003, chain: 00, channel:  7 threshold: 0x65d3, uid: 0
-2023/12/22 21:46:40 endpoint: 0x5004, chain: 00, channel:  0 threshold: 0x7c87, uid: 0
-2023/12/22 21:46:40 endpoint: 0x5004, chain: 00, channel:  1 threshold: 0x7c57, uid: 0
-2023/12/22 21:46:40 endpoint: 0x5004, chain: 00, channel:  2 threshold: 0x7b55, uid: 0
-2023/12/22 21:46:40 endpoint: 0x5004, chain: 00, channel:  3 threshold: 0x7b4b, uid: 0
-2023/12/22 21:46:40 endpoint: 0x5004, chain: 00, channel:  4 threshold: 0x7c07, uid: 0
-2023/12/22 21:46:40 endpoint: 0x5004, chain: 00, channel:  5 threshold: 0x7c29, uid: 0
-2023/12/22 21:46:40 endpoint: 0x5004, chain: 00, channel:  6 threshold: 0x7bee, uid: 0
-2023/12/22 21:46:40 endpoint: 0x5004, chain: 00, channel:  7 threshold: 0x7ca3, uid: 0
+2024/02/01 14:19:38 endpoint: 0x5000, chain: 00, channel:  0 threshold: 0x616d, uid: 0
+2024/02/01 14:19:38 endpoint: 0x5000, chain: 00, channel:  1 threshold: 0x6063, uid: 0
+2024/02/01 14:19:38 endpoint: 0x5000, chain: 00, channel:  2 threshold: 0xfffa, uid: 0
+2024/02/01 14:19:38 endpoint: 0x5000, chain: 00, channel:  3 threshold: 0x5fb3, uid: 0
+2024/02/01 14:19:38 endpoint: 0x5000, chain: 00, channel:  4 threshold: 0x6009, uid: 0
+2024/02/01 14:19:38 endpoint: 0x5000, chain: 00, channel:  5 threshold: 0xfffa, uid: 0
+2024/02/01 14:19:38 endpoint: 0x5000, chain: 00, channel:  6 threshold: 0x6145, uid: 0
+2024/02/01 14:19:38 endpoint: 0x5000, chain: 00, channel:  7 threshold: 0x60d5, uid: 0
+2024/02/01 14:19:52 endpoint: 0x5001, chain: 00, channel:  0 threshold: 0x54d5, uid: 0
+2024/02/01 14:19:52 endpoint: 0x5001, chain: 00, channel:  1 threshold: 0x5600, uid: 0
+2024/02/01 14:19:52 endpoint: 0x5001, chain: 00, channel:  2 threshold: 0x000f, uid: 0
+2024/02/01 14:19:52 endpoint: 0x5001, chain: 00, channel:  3 threshold: 0x583e, uid: 0
+2024/02/01 14:19:52 endpoint: 0x5001, chain: 00, channel:  4 threshold: 0x5706, uid: 0
+2024/02/01 14:19:52 endpoint: 0x5001, chain: 00, channel:  5 threshold: 0x000f, uid: 0
+2024/02/01 14:19:52 endpoint: 0x5001, chain: 00, channel:  6 threshold: 0x5401, uid: 0
+2024/02/01 14:19:52 endpoint: 0x5001, chain: 00, channel:  7 threshold: 0x5943, uid: 0
+2024/02/01 14:20:07 endpoint: 0x5002, chain: 00, channel:  0 threshold: 0x5f89, uid: 0
+2024/02/01 14:20:07 endpoint: 0x5002, chain: 00, channel:  1 threshold: 0x61eb, uid: 0
+2024/02/01 14:20:07 endpoint: 0x5002, chain: 00, channel:  2 threshold: 0xfffa, uid: 0
+2024/02/01 14:20:07 endpoint: 0x5002, chain: 00, channel:  3 threshold: 0x6191, uid: 0
+2024/02/01 14:20:07 endpoint: 0x5002, chain: 00, channel:  4 threshold: 0x5e9b, uid: 0
+2024/02/01 14:20:07 endpoint: 0x5002, chain: 00, channel:  5 threshold: 0xfffa, uid: 0
+2024/02/01 14:20:07 endpoint: 0x5002, chain: 00, channel:  6 threshold: 0x5e7b, uid: 0
+2024/02/01 14:20:07 endpoint: 0x5002, chain: 00, channel:  7 threshold: 0x5fc7, uid: 0
+2024/02/01 14:20:21 endpoint: 0x5003, chain: 00, channel:  0 threshold: 0x54cd, uid: 0
+2024/02/01 14:20:21 endpoint: 0x5003, chain: 00, channel:  1 threshold: 0x5913, uid: 0
+2024/02/01 14:20:21 endpoint: 0x5003, chain: 00, channel:  2 threshold: 0x000f, uid: 0
+2024/02/01 14:20:21 endpoint: 0x5003, chain: 00, channel:  3 threshold: 0x5833, uid: 0
+2024/02/01 14:20:21 endpoint: 0x5003, chain: 00, channel:  4 threshold: 0x575a, uid: 0
+2024/02/01 14:20:21 endpoint: 0x5003, chain: 00, channel:  5 threshold: 0x000f, uid: 0
+2024/02/01 14:20:21 endpoint: 0x5003, chain: 00, channel:  6 threshold: 0x5657, uid: 0
+2024/02/01 14:20:21 endpoint: 0x5003, chain: 00, channel:  7 threshold: 0x58e2, uid: 0
+2024/02/01 14:20:36 endpoint: 0x5004, chain: 00, channel:  0 threshold: 0x7cf9, uid: 0
+2024/02/01 14:20:36 endpoint: 0x5004, chain: 00, channel:  1 threshold: 0x7d79, uid: 0
+2024/02/01 14:20:36 endpoint: 0x5004, chain: 00, channel:  2 threshold: 0x7d85, uid: 0
+2024/02/01 14:20:36 endpoint: 0x5004, chain: 00, channel:  3 threshold: 0x7bd1, uid: 0
+2024/02/01 14:20:36 endpoint: 0x5004, chain: 00, channel:  4 threshold: 0x7c01, uid: 0
+2024/02/01 14:20:36 endpoint: 0x5004, chain: 00, channel:  5 threshold: 0x7c6d, uid: 0
+2024/02/01 14:20:36 endpoint: 0x5004, chain: 00, channel:  6 threshold: 0x7b2f, uid: 0
+2024/02/01 14:20:36 endpoint: 0x5004, chain: 00, channel:  7 threshold: 0x7cdb, uid: 0
index 6b4648f40469b3a10bd3147d7e82c210a37ccfd4..1f9bf7f018e3534d3e6d4fcbb619ad6a8324b12b 100644 (file)
  0xfe71      10     0x00000000   0x00000000   0x00000000   0x00000000   0x00000000   0xffffffff   0x0000ffff    0x00000000   0x00000000
  0xfe71       2     0x00ffffff   0x00030000   0x00000400
 
- 0xfe61       0     0x000fffff   0x00000000   0x00000000   0x00000000   0x00000000   0x00000000   0x00000000    0x00000000   0x00000000
- 0x8a00       1                  0x00000015                0x00000000   
- 0x8a01       1                  0x00000051                0x00015100
- 0x8a02       1                  0x00000000                0x00015400
- 0x8a03       1                  0x00000054                0x00000000
- 0x8a04       1                  0x00000015                0x00015400
- 0x8a05       1                  0x00000000                0x00015100
+ 0xfe61       0     0xffffffff   0x00000000   0x00000000   0x00000000   0x00000000   0x00000000   0x00000000    0x00000000   0x00000000
+ 0x8a00       1                  0x00000045                0x00015400   
+ 0x8a01       1                  0x00000051                0x00014500
+ 0x8a02       1                  0x00000015                0x00015400
+ 0x8a03       1                  0x00000054                0x00015400
+ 0x8a04       1                  0x00000015                0x00005500
+ 0x8a05       1                  0x00000054                0x00015100
         #left half of crate on output 1, right half on output 2
         
 # 0x0100       0     0x00007e7e   0x00007e7e   0x00000000   0x00000000   0x00000000   0x00007e7e   0x00000000    0x00000000   0x00000000
- 0x0100       0      0x00003f7f   0x00003e3e   0x00000000   0x00000000   0x00000000   0x00003f3f   0x00000000    0x00000000   0x00000000
+# 0x0100       0      0x00003f7f   0x00003e3e   0x00000000   0x00000000   0x00000000   0x00003f3f   0x00000000    0x00000000   0x00000000
+ 0x0100       0      0xffffffff   0x00000000   0x00003f3f   0x00000000   0x00000000   0x00000000   0x00003f3f    0x00000000   0x00000000
         #0..5: output 1, #8..13 output 2, #6 from pulser addon
         
  0x0100       2     0x00007c7c   0x00020000   0x00000200
index ecf2206b98683e6e6ee32fe28701e273f3da847e..88431ba0222eab2aa9694a4bb90af3c777212e49 120000 (symlink)
@@ -1 +1 @@
-20230530_FW_analogsum_as_PT8.trbcmd
\ No newline at end of file
+triggerbox_secmult2_as_outp4_forHKR_240124.trbcmd
\ No newline at end of file
diff --git a/trg/triggerbox_pt4forHKR_240124.trbcmd b/trg/triggerbox_pt4forHKR_240124.trbcmd
new file mode 100644 (file)
index 0000000..981707c
--- /dev/null
@@ -0,0 +1,377 @@
+w 0x0010 40960 0x007c0112
+w 0x0010 40961 0x00700112
+w 0x0010 40962 0x00700112
+w 0x0010 40963 0x00700112
+w 0x0010 40964 0x007c0112
+w 0x0010 40965 0x00700112
+w 0x0010 40966 0x00700112
+w 0x0010 40967 0x00700112
+w 0x0010 40968 0x007c0112
+w 0x0010 40969 0x00700112
+w 0x0010 40970 0x00700112
+w 0x0010 40971 0x00700112
+w 0x0010 40972 0x00780112
+w 0x0010 40973 0x00700112
+w 0x0010 40974 0x00700112
+w 0x0010 40975 0x00700112
+w 0x0010 40976 0x007c0112
+w 0x0010 40977 0x00700112
+w 0x0010 40978 0x00700112
+w 0x0010 40979 0x00700112
+w 0x0010 40980 0x007c0112
+w 0x0010 40981 0x00700112
+w 0x0010 40982 0x00700112
+w 0x0010 40983 0x00700112
+w 0x0010 40984 0x00000002
+w 0x0010 40985 0x0000000a
+w 0x0010 40986 0x00000000
+w 0x0010 40987 0x00000002
+w 0x0010 40988 0x00000000
+w 0x0010 40989 0x00000000
+w 0x0010 40990 0x00000000
+w 0x0010 40991 0x00000000
+w 0x0010 40992 0x0004019a
+w 0x0010 40993 0x0004019a
+w 0x0010 40994 0x0004019a
+w 0x0010 40995 0x0004019a
+w 0x0010 40996 0x0004019a
+w 0x0010 40997 0x0004019a
+w 0x0010 40998 0x00000000
+w 0x0010 40999 0x00000000
+w 0x0010 41000 0x0004019a
+w 0x0010 41001 0x0004019a
+w 0x0010 41002 0x0004019a
+w 0x0010 41003 0x0004019a
+w 0x0010 41004 0x00000000
+w 0x0010 41005 0x0004019a
+w 0x0010 41006 0x0004019a
+w 0x0010 41007 0x00000000
+w 0x0010 41008 0x00380006
+w 0x0010 41009 0x00000006
+w 0x0010 41010 0x00000006
+w 0x0010 41011 0x00000000
+w 0x0010 41012 0x00000000
+w 0x0010 41013 0x00000000
+w 0x0010 41014 0x00000000
+w 0x0010 41015 0x00000000
+w 0x0010 41016 0x00000002
+w 0x0010 41017 0x00000002
+w 0x0010 41018 0x00000002
+w 0x0010 41019 0x00000002
+w 0x0010 41020 0x00000002
+w 0x0010 41021 0x00000002
+w 0x0010 41022 0x00000000
+w 0x0010 41023 0x00000000
+w 0x0010 41024 0x0000009a
+w 0x0010 41025 0x0000009a
+w 0x0010 41026 0x0000001a
+w 0x0010 41027 0x00000000
+w 0x0010 41028 0x00000000
+w 0x0010 41029 0x00000000
+w 0x0010 41030 0x00000000
+w 0x0010 41031 0x00000000
+w 0x0010 41032 0x00000000
+w 0x0010 41033 0x00000000
+w 0x0010 41034 0x00000000
+w 0x0010 41035 0x00000000
+w 0x0010 41036 0x00000000
+w 0x0010 41037 0x00000000
+w 0x0010 41038 0x00000000
+w 0x0010 41039 0x00000002
+w 0x0010 41088 0x0000000e
+w 0x0010 41089 0x00000000
+w 0x0010 41090 0x00000000
+w 0x0010 41091 0x00000000
+w 0x0010 41092 0x000000e0
+w 0x0010 41093 0x00000000
+w 0x0010 41094 0x00000000
+w 0x0010 41095 0x00000000
+w 0x0010 41096 0x00000e00
+w 0x0010 41097 0x00000000
+w 0x0010 41098 0x00000000
+w 0x0010 41099 0x00000000
+w 0x0010 41100 0x0000e000
+w 0x0010 41101 0x00000000
+w 0x0010 41102 0x00000000
+w 0x0010 41103 0x00000000
+w 0x0010 41104 0x000e0000
+w 0x0010 41105 0x00000000
+w 0x0010 41106 0x00000000
+w 0x0010 41107 0x00000000
+w 0x0010 41108 0x00e00000
+w 0x0010 41109 0x00000000
+w 0x0010 41110 0x00000000
+w 0x0010 41111 0x00000000
+w 0x0010 41112 0x00000000
+w 0x0010 41113 0x00000100
+w 0x0010 41114 0x00000000
+w 0x0010 41115 0x00000000
+w 0x0010 41116 0x00000000
+w 0x0010 41117 0x00000200
+w 0x0010 41118 0x00000000
+w 0x0010 41119 0x00000000
+w 0x0010 41120 0x00000000
+w 0x0010 41121 0x00000400
+w 0x0010 41122 0x00000000
+w 0x0010 41123 0x00000000
+w 0x0010 41124 0x00000000
+w 0x0010 41125 0x00000800
+w 0x0010 41126 0x00000000
+w 0x0010 41127 0x00000000
+w 0x0010 41128 0x00000000
+w 0x0010 41129 0x00002000
+w 0x0010 41130 0x00000000
+w 0x0010 41131 0x00000000
+w 0x0010 41132 0x00000000
+w 0x0010 41133 0x00004000
+w 0x0010 41134 0x00000000
+w 0x0010 41135 0x00000000
+w 0x0010 41136 0x00000000
+w 0x0010 41137 0x00000000
+w 0x0010 41138 0x00000000
+w 0x0010 41139 0x00000000
+w 0x0010 41140 0x00000000
+w 0x0010 41141 0x00000000
+w 0x0010 41142 0x00000000
+w 0x0010 41143 0x00000000
+w 0x0010 41144 0x00000000
+w 0x0010 41145 0x00000000
+w 0x0010 41146 0x00000000
+w 0x0010 41147 0x00000000
+w 0x0010 41148 0x00000000
+w 0x0010 41149 0x00000000
+w 0x0010 41150 0x00000000
+w 0x0010 41151 0x00000000
+w 0x0010 41216 0x00000050
+w 0x0010 41217 0x00000051
+w 0x0010 41218 0x00000052
+w 0x0010 41219 0x00000000
+w 0x0010 41220 0x00000000
+w 0x0010 41221 0x00000000
+w 0x0010 41222 0x00000000
+w 0x0010 41223 0x00000000
+w 0x0010 41224 0x0000003b
+w 0x0010 41225 0x0000003f
+w 0x0010 41226 0x0000004b
+w 0x0010 41227 0x0000004f
+w 0x0010 41228 0x00000044
+w 0x0010 41229 0x00000045
+w 0x0010 41230 0x00000046
+w 0x0010 41231 0x00000000
+w 0x0010 41232 0x0000005e
+w 0x0010 41233 0x0000005e
+w 0x0010 41234 0x0000005f
+w 0x0010 41235 0x00000000
+w 0x0010 41236 0x00000000
+w 0x0010 41237 0x00000000
+w 0x0010 41238 0x00000000
+w 0x0010 41239 0x00000000
+w 0x0010 41240 0x00000000
+w 0x0010 41241 0x00000000
+w 0x0010 41242 0x00000000
+w 0x0010 41243 0x00000000
+w 0x0010 41244 0x00000000
+w 0x0010 41245 0x00000000
+w 0x0010 41246 0x00000000
+w 0x0010 41247 0x00000050
+w 0x0010 41248 0x78002820
+w 0x0010 41249 0x78042921
+w 0x0010 41250 0x78082a22
+w 0x0010 41251 0x780c2b23
+w 0x0010 41252 0x78102d24
+w 0x0010 41253 0x78142e25
+w 0x0010 41254 0x70626161
+w 0x0010 41255 0x00000000
+w 0x0010 41256 0x00000000
+w 0x0010 41257 0x00000000
+w 0x0010 41258 0x00000000
+w 0x0010 41259 0x00000000
+w 0x0010 41260 0x00000000
+w 0x0010 41261 0x00000000
+w 0x0010 41262 0x00000000
+w 0x0010 41263 0x68300019
+w 0x0010 41280 0x00000001
+w 0x0010 41281 0x00000003
+w 0x0010 41282 0x00000002
+w 0x0010 41283 0x0000000f
+w 0x0010 41284 0x00000001
+w 0x0010 41285 0x00000002
+w 0x0010 41286 0x00000000
+w 0x0010 41287 0x00000000
+w 0x0010 41312 0x000000d1
+w 0x0010 41313 0x000000d2
+w 0x0010 41314 0x000000d3
+w 0x0010 41315 0x000000c6
+w 0x0010 41316 0x000000d8
+w 0x0010 41317 0x000000d9
+w 0x0010 41318 0x000000da
+w 0x0010 41319 0x00000071
+w 0x0010 41320 0x00000072
+w 0x0010 41321 0x00000073
+w 0x0010 41322 0x0000008e
+w 0x0010 41323 0x00000089
+w 0x0010 41324 0x00000088
+w 0x0010 41325 0x00000000
+w 0x0010 41326 0x0000009f
+w 0x0010 41327 0x00000092
+w 0x0010 41344 0x003f0000
+w 0x0010 41345 0x00000000
+w 0x0010 41346 0x00000000
+w 0x0010 41347 0x00000000
+w 0x0010 41348 0x00000000
+w 0x0010 41349 0x00eeeeee
+w 0x0010 41350 0x00000000
+w 0x0010 41351 0x00000000
+w 0x0010 41352 0x003f0000
+w 0x0010 41353 0x00000000
+w 0x0010 41354 0x00000000
+w 0x0010 41355 0x00000000
+w 0x0010 41356 0x003f0000
+w 0x0010 41357 0x00000000
+w 0x0010 41358 0x00000000
+w 0x0010 41359 0x00000000
+w 0x0010 41360 0x00000000
+w 0x0010 41361 0x00eeeeee
+w 0x0010 41362 0x00000000
+w 0x0010 41363 0x00000000
+w 0x0010 41364 0x00000fc0
+w 0x0010 41365 0x00000000
+w 0x0010 41366 0x00000000
+w 0x0010 41367 0x00000000
+w 0x0010 41368 0x00000000
+w 0x0010 41369 0x00000000
+w 0x0010 41370 0x00000000
+w 0x0010 41371 0x00000000
+w 0x0010 41372 0x00000000
+w 0x0010 41373 0x00000000
+w 0x0010 41374 0x00000000
+w 0x0010 41375 0x00000000
+w 0x0010 41408 0x00000000
+w 0x0010 41472 0x00000000
+w 0x0010 41473 0x00010000
+w 0x0010 41474 0x00000000
+w 0x0010 41475 0x00000000
+w 0x0010 41476 0x00000000
+w 0x0010 41477 0x00000000
+w 0x0010 41478 0x00000000
+w 0x0010 41479 0x00000000
+w 0x0010 41480 0x00000000
+w 0x0010 41481 0x00000000
+w 0x0010 41482 0x00000000
+w 0x0010 41483 0x00000001
+w 0x0010 41484 0x00000000
+w 0x0010 41485 0x00000000
+w 0x0010 41486 0x00000000
+w 0x0010 41487 0x00000000
+w 0x0010 41488 0x00000000
+w 0x0010 41489 0x00000000
+w 0x0010 41490 0x00400000
+w 0x0010 41491 0x00000008
+w 0x0010 41492 0x00000000
+w 0x0010 41493 0x00000000
+w 0x0010 41494 0x00000000
+w 0x0010 41495 0x00000000
+w 0x0010 41496 0x00000000
+w 0x0010 41497 0x00000000
+w 0x0010 41498 0x00008000
+w 0x0010 41499 0x00000000
+w 0x0010 41500 0x00000000
+w 0x0010 41501 0x00000000
+w 0x0010 41502 0x00000000
+w 0x0010 41503 0x00000000
+w 0x0010 41504 0x00000000
+w 0x0010 41505 0x00000000
+w 0x0010 41506 0x00000000
+w 0x0010 41507 0x00000010
+w 0x0010 41508 0x00000000
+w 0x0010 41509 0x00000000
+w 0x0010 41510 0x00000000
+w 0x0010 41511 0x00000000
+w 0x0010 41512 0x00000000
+w 0x0010 41513 0x00000000
+w 0x0010 41514 0x00000000
+w 0x0010 41515 0x00000020
+w 0x0010 41516 0x00000000
+w 0x0010 41517 0x00000000
+w 0x0010 41518 0x00000000
+w 0x0010 41519 0x00000000
+w 0x0010 41520 0x00000000
+w 0x0010 41521 0x00000000
+w 0x0010 41522 0x00000002
+w 0x0010 41523 0x00000000
+w 0x0010 41524 0x00000000
+w 0x0010 41525 0x00000000
+w 0x0010 41526 0x00000000
+w 0x0010 41527 0x00000000
+w 0x0010 41528 0x00000000
+w 0x0010 41529 0x00000000
+w 0x0010 41530 0x00000004
+w 0x0010 41531 0x00000000
+w 0x0010 41532 0x00000000
+w 0x0010 41533 0x00000000
+w 0x0010 41534 0x00000000
+w 0x0010 41535 0x00000000
+w 0x0010 41728 0x00000000
+w 0x0010 41729 0x00010000
+w 0x0010 41730 0x00000000
+w 0x0010 41731 0x00000000
+w 0x0010 41732 0x00000000
+w 0x0010 41733 0x00000000
+w 0x0010 41734 0x00000000
+w 0x0010 41735 0x00000000
+w 0x0010 41736 0x00000000
+w 0x0010 41737 0x00000000
+w 0x0010 41738 0x00000000
+w 0x0010 41739 0x00000001
+w 0x0010 41740 0x00000000
+w 0x0010 41741 0x00000000
+w 0x0010 41742 0x00000000
+w 0x0010 41743 0x00000000
+w 0x0010 41744 0x00000000
+w 0x0010 41745 0x00000000
+w 0x0010 41746 0x00400000
+w 0x0010 41747 0x00000008
+w 0x0010 41748 0x00000000
+w 0x0010 41749 0x00000000
+w 0x0010 41750 0x00000000
+w 0x0010 41751 0x00000000
+w 0x0010 41752 0x00000000
+w 0x0010 41753 0x00000000
+w 0x0010 41754 0x00008000
+w 0x0010 41755 0x00000000
+w 0x0010 41756 0x00000000
+w 0x0010 41757 0x00000000
+w 0x0010 41758 0x00000000
+w 0x0010 41759 0x00000000
+w 0x0010 41760 0x00000000
+w 0x0010 41761 0x00000000
+w 0x0010 41762 0x00000000
+w 0x0010 41763 0x00000010
+w 0x0010 41764 0x00000000
+w 0x0010 41765 0x00000000
+w 0x0010 41766 0x00000000
+w 0x0010 41767 0x00000000
+w 0x0010 41768 0x00000000
+w 0x0010 41769 0x00000000
+w 0x0010 41770 0x00000000
+w 0x0010 41771 0x00000020
+w 0x0010 41772 0x00000000
+w 0x0010 41773 0x00000000
+w 0x0010 41774 0x00000000
+w 0x0010 41775 0x00000000
+w 0x0010 41776 0x00000000
+w 0x0010 41777 0x00000000
+w 0x0010 41778 0x00000002
+w 0x0010 41779 0x00000000
+w 0x0010 41780 0x00000000
+w 0x0010 41781 0x00000000
+w 0x0010 41782 0x00000000
+w 0x0010 41783 0x00000000
+w 0x0010 41784 0x00000000
+w 0x0010 41785 0x00000000
+w 0x0010 41786 0x00000004
+w 0x0010 41787 0x00000000
+w 0x0010 41788 0x00000000
+w 0x0010 41789 0x00000000
+w 0x0010 41790 0x00000000
+w 0x0010 41791 0x00000000
diff --git a/trg/triggerbox_secmult2_as_outp4_forHKR_240124.trbcmd b/trg/triggerbox_secmult2_as_outp4_forHKR_240124.trbcmd
new file mode 100644 (file)
index 0000000..5abb6c6
--- /dev/null
@@ -0,0 +1,377 @@
+w 0x0010 40960 0x007c0112
+w 0x0010 40961 0x00700112
+w 0x0010 40962 0x00700112
+w 0x0010 40963 0x00700112
+w 0x0010 40964 0x007c0112
+w 0x0010 40965 0x00700112
+w 0x0010 40966 0x00700112
+w 0x0010 40967 0x00700112
+w 0x0010 40968 0x007c0112
+w 0x0010 40969 0x00700112
+w 0x0010 40970 0x00700112
+w 0x0010 40971 0x00700112
+w 0x0010 40972 0x00780112
+w 0x0010 40973 0x00700112
+w 0x0010 40974 0x00700112
+w 0x0010 40975 0x00700112
+w 0x0010 40976 0x007c0112
+w 0x0010 40977 0x00700112
+w 0x0010 40978 0x00700112
+w 0x0010 40979 0x00700112
+w 0x0010 40980 0x007c0112
+w 0x0010 40981 0x00700112
+w 0x0010 40982 0x00700112
+w 0x0010 40983 0x00700112
+w 0x0010 40984 0x00000002
+w 0x0010 40985 0x0000000a
+w 0x0010 40986 0x00000000
+w 0x0010 40987 0x00000002
+w 0x0010 40988 0x00000000
+w 0x0010 40989 0x00000000
+w 0x0010 40990 0x00000000
+w 0x0010 40991 0x00000000
+w 0x0010 40992 0x0004019a
+w 0x0010 40993 0x0004019a
+w 0x0010 40994 0x0004019a
+w 0x0010 40995 0x0004019a
+w 0x0010 40996 0x0004019a
+w 0x0010 40997 0x0004019a
+w 0x0010 40998 0x00000000
+w 0x0010 40999 0x00000000
+w 0x0010 41000 0x0004019a
+w 0x0010 41001 0x0004019a
+w 0x0010 41002 0x0004019a
+w 0x0010 41003 0x0004019a
+w 0x0010 41004 0x00000000
+w 0x0010 41005 0x0004019a
+w 0x0010 41006 0x0004019a
+w 0x0010 41007 0x00000000
+w 0x0010 41008 0x00380006
+w 0x0010 41009 0x00000006
+w 0x0010 41010 0x00000006
+w 0x0010 41011 0x00000000
+w 0x0010 41012 0x00000000
+w 0x0010 41013 0x00000000
+w 0x0010 41014 0x00000000
+w 0x0010 41015 0x00000000
+w 0x0010 41016 0x00000002
+w 0x0010 41017 0x00000002
+w 0x0010 41018 0x00000002
+w 0x0010 41019 0x00000002
+w 0x0010 41020 0x00000002
+w 0x0010 41021 0x00000002
+w 0x0010 41022 0x00000000
+w 0x0010 41023 0x00000000
+w 0x0010 41024 0x0000009a
+w 0x0010 41025 0x0000009a
+w 0x0010 41026 0x0000001a
+w 0x0010 41027 0x00000000
+w 0x0010 41028 0x00000000
+w 0x0010 41029 0x00000000
+w 0x0010 41030 0x00000000
+w 0x0010 41031 0x00000000
+w 0x0010 41032 0x00000000
+w 0x0010 41033 0x00000000
+w 0x0010 41034 0x00000000
+w 0x0010 41035 0x00000000
+w 0x0010 41036 0x00000000
+w 0x0010 41037 0x00000000
+w 0x0010 41038 0x00000000
+w 0x0010 41039 0x00000002
+w 0x0010 41088 0x0000000e
+w 0x0010 41089 0x00000000
+w 0x0010 41090 0x00000000
+w 0x0010 41091 0x00000000
+w 0x0010 41092 0x000000e0
+w 0x0010 41093 0x00000000
+w 0x0010 41094 0x00000000
+w 0x0010 41095 0x00000000
+w 0x0010 41096 0x00000e00
+w 0x0010 41097 0x00000000
+w 0x0010 41098 0x00000000
+w 0x0010 41099 0x00000000
+w 0x0010 41100 0x0000e000
+w 0x0010 41101 0x00000000
+w 0x0010 41102 0x00000000
+w 0x0010 41103 0x00000000
+w 0x0010 41104 0x000e0000
+w 0x0010 41105 0x00000000
+w 0x0010 41106 0x00000000
+w 0x0010 41107 0x00000000
+w 0x0010 41108 0x00e00000
+w 0x0010 41109 0x00000000
+w 0x0010 41110 0x00000000
+w 0x0010 41111 0x00000000
+w 0x0010 41112 0x00000000
+w 0x0010 41113 0x00000100
+w 0x0010 41114 0x00000000
+w 0x0010 41115 0x00000000
+w 0x0010 41116 0x00000000
+w 0x0010 41117 0x00000200
+w 0x0010 41118 0x00000000
+w 0x0010 41119 0x00000000
+w 0x0010 41120 0x00000000
+w 0x0010 41121 0x00000400
+w 0x0010 41122 0x00000000
+w 0x0010 41123 0x00000000
+w 0x0010 41124 0x00000000
+w 0x0010 41125 0x00000800
+w 0x0010 41126 0x00000000
+w 0x0010 41127 0x00000000
+w 0x0010 41128 0x00000000
+w 0x0010 41129 0x00002000
+w 0x0010 41130 0x00000000
+w 0x0010 41131 0x00000000
+w 0x0010 41132 0x00000000
+w 0x0010 41133 0x00004000
+w 0x0010 41134 0x00000000
+w 0x0010 41135 0x00000000
+w 0x0010 41136 0x00000000
+w 0x0010 41137 0x00000000
+w 0x0010 41138 0x00000000
+w 0x0010 41139 0x00000000
+w 0x0010 41140 0x00000000
+w 0x0010 41141 0x00000000
+w 0x0010 41142 0x00000000
+w 0x0010 41143 0x00000000
+w 0x0010 41144 0x00000000
+w 0x0010 41145 0x00000000
+w 0x0010 41146 0x00000000
+w 0x0010 41147 0x00000000
+w 0x0010 41148 0x00000000
+w 0x0010 41149 0x00000000
+w 0x0010 41150 0x00000000
+w 0x0010 41151 0x00000000
+w 0x0010 41216 0x00000050
+w 0x0010 41217 0x00000051
+w 0x0010 41218 0x00000052
+w 0x0010 41219 0x00000000
+w 0x0010 41220 0x00000000
+w 0x0010 41221 0x00000000
+w 0x0010 41222 0x00000000
+w 0x0010 41223 0x00000000
+w 0x0010 41224 0x0000003b
+w 0x0010 41225 0x0000003f
+w 0x0010 41226 0x0000004b
+w 0x0010 41227 0x0000004f
+w 0x0010 41228 0x00000044
+w 0x0010 41229 0x00000045
+w 0x0010 41230 0x00000046
+w 0x0010 41231 0x00000000
+w 0x0010 41232 0x0000005e
+w 0x0010 41233 0x0000005e
+w 0x0010 41234 0x0000005f
+w 0x0010 41235 0x00000000
+w 0x0010 41236 0x00000000
+w 0x0010 41237 0x00000000
+w 0x0010 41238 0x00000000
+w 0x0010 41239 0x00000000
+w 0x0010 41240 0x00000000
+w 0x0010 41241 0x00000000
+w 0x0010 41242 0x00000000
+w 0x0010 41243 0x00000000
+w 0x0010 41244 0x00000000
+w 0x0010 41245 0x00000000
+w 0x0010 41246 0x00000000
+w 0x0010 41247 0x00000050
+w 0x0010 41248 0x58002820
+w 0x0010 41249 0x58042921
+w 0x0010 41250 0x58082a22
+w 0x0010 41251 0x580c2b23
+w 0x0010 41252 0x58102d24
+w 0x0010 41253 0x58142e25
+w 0x0010 41254 0x70626161
+w 0x0010 41255 0x00000000
+w 0x0010 41256 0x00000000
+w 0x0010 41257 0x00000000
+w 0x0010 41258 0x00000000
+w 0x0010 41259 0x00000000
+w 0x0010 41260 0x00000000
+w 0x0010 41261 0x00000000
+w 0x0010 41262 0x00000000
+w 0x0010 41263 0x68300019
+w 0x0010 41280 0x00000001
+w 0x0010 41281 0x00000003
+w 0x0010 41282 0x00000002
+w 0x0010 41283 0x0000000f
+w 0x0010 41284 0x00000001
+w 0x0010 41285 0x00000002
+w 0x0010 41286 0x00000000
+w 0x0010 41287 0x00000000
+w 0x0010 41312 0x000000d1
+w 0x0010 41313 0x000000d2
+w 0x0010 41314 0x000000d3
+w 0x0010 41315 0x000000c6
+w 0x0010 41316 0x000000d8
+w 0x0010 41317 0x000000d9
+w 0x0010 41318 0x000000da
+w 0x0010 41319 0x00000071
+w 0x0010 41320 0x00000072
+w 0x0010 41321 0x00000073
+w 0x0010 41322 0x0000008e
+w 0x0010 41323 0x00000089
+w 0x0010 41324 0x00000088
+w 0x0010 41325 0x00000000
+w 0x0010 41326 0x0000009f
+w 0x0010 41327 0x00000092
+w 0x0010 41344 0x003f0000
+w 0x0010 41345 0x00000000
+w 0x0010 41346 0x00000000
+w 0x0010 41347 0x00000000
+w 0x0010 41348 0x00000000
+w 0x0010 41349 0x00eeeeee
+w 0x0010 41350 0x00000000
+w 0x0010 41351 0x00000000
+w 0x0010 41352 0x003f0000
+w 0x0010 41353 0x00000000
+w 0x0010 41354 0x00000000
+w 0x0010 41355 0x00000000
+w 0x0010 41356 0x003f0000
+w 0x0010 41357 0x00000000
+w 0x0010 41358 0x00000000
+w 0x0010 41359 0x00000000
+w 0x0010 41360 0x00000000
+w 0x0010 41361 0x00eeeeee
+w 0x0010 41362 0x00000000
+w 0x0010 41363 0x00000000
+w 0x0010 41364 0x00000fc0
+w 0x0010 41365 0x00000000
+w 0x0010 41366 0x00000000
+w 0x0010 41367 0x00000000
+w 0x0010 41368 0x00000000
+w 0x0010 41369 0x00000000
+w 0x0010 41370 0x00000000
+w 0x0010 41371 0x00000000
+w 0x0010 41372 0x00000000
+w 0x0010 41373 0x00000000
+w 0x0010 41374 0x00000000
+w 0x0010 41375 0x00000000
+w 0x0010 41408 0x00000000
+w 0x0010 41472 0x00000000
+w 0x0010 41473 0x00010000
+w 0x0010 41474 0x00000000
+w 0x0010 41475 0x00000000
+w 0x0010 41476 0x00000000
+w 0x0010 41477 0x00000000
+w 0x0010 41478 0x00000000
+w 0x0010 41479 0x00000000
+w 0x0010 41480 0x00000000
+w 0x0010 41481 0x00000000
+w 0x0010 41482 0x00000000
+w 0x0010 41483 0x00000001
+w 0x0010 41484 0x00000000
+w 0x0010 41485 0x00000000
+w 0x0010 41486 0x00000000
+w 0x0010 41487 0x00000000
+w 0x0010 41488 0x00000000
+w 0x0010 41489 0x00000000
+w 0x0010 41490 0x00400000
+w 0x0010 41491 0x00000008
+w 0x0010 41492 0x00000000
+w 0x0010 41493 0x00000000
+w 0x0010 41494 0x00000000
+w 0x0010 41495 0x00000000
+w 0x0010 41496 0x00000000
+w 0x0010 41497 0x00000000
+w 0x0010 41498 0x00000000
+w 0x0010 41499 0x00000004
+w 0x0010 41500 0x00000000
+w 0x0010 41501 0x00000000
+w 0x0010 41502 0x00000000
+w 0x0010 41503 0x00000000
+w 0x0010 41504 0x00000000
+w 0x0010 41505 0x00000000
+w 0x0010 41506 0x00000000
+w 0x0010 41507 0x00000010
+w 0x0010 41508 0x00000000
+w 0x0010 41509 0x00000000
+w 0x0010 41510 0x00000000
+w 0x0010 41511 0x00000000
+w 0x0010 41512 0x00000000
+w 0x0010 41513 0x00000000
+w 0x0010 41514 0x00000000
+w 0x0010 41515 0x00000020
+w 0x0010 41516 0x00000000
+w 0x0010 41517 0x00000000
+w 0x0010 41518 0x00000000
+w 0x0010 41519 0x00000000
+w 0x0010 41520 0x00000000
+w 0x0010 41521 0x00000000
+w 0x0010 41522 0x00000002
+w 0x0010 41523 0x00000000
+w 0x0010 41524 0x00000000
+w 0x0010 41525 0x00000000
+w 0x0010 41526 0x00000000
+w 0x0010 41527 0x00000000
+w 0x0010 41528 0x00000000
+w 0x0010 41529 0x00000000
+w 0x0010 41530 0x00000004
+w 0x0010 41531 0x00000000
+w 0x0010 41532 0x00000000
+w 0x0010 41533 0x00000000
+w 0x0010 41534 0x00000000
+w 0x0010 41535 0x00000000
+w 0x0010 41728 0x00000000
+w 0x0010 41729 0x00010000
+w 0x0010 41730 0x00000000
+w 0x0010 41731 0x00000000
+w 0x0010 41732 0x00000000
+w 0x0010 41733 0x00000000
+w 0x0010 41734 0x00000000
+w 0x0010 41735 0x00000000
+w 0x0010 41736 0x00000000
+w 0x0010 41737 0x00000000
+w 0x0010 41738 0x00000000
+w 0x0010 41739 0x00000001
+w 0x0010 41740 0x00000000
+w 0x0010 41741 0x00000000
+w 0x0010 41742 0x00000000
+w 0x0010 41743 0x00000000
+w 0x0010 41744 0x00000000
+w 0x0010 41745 0x00000000
+w 0x0010 41746 0x00400000
+w 0x0010 41747 0x00000008
+w 0x0010 41748 0x00000000
+w 0x0010 41749 0x00000000
+w 0x0010 41750 0x00000000
+w 0x0010 41751 0x00000000
+w 0x0010 41752 0x00000000
+w 0x0010 41753 0x00000000
+w 0x0010 41754 0x00000000
+w 0x0010 41755 0x00000004
+w 0x0010 41756 0x00000000
+w 0x0010 41757 0x00000000
+w 0x0010 41758 0x00000000
+w 0x0010 41759 0x00000000
+w 0x0010 41760 0x00000000
+w 0x0010 41761 0x00000000
+w 0x0010 41762 0x00000000
+w 0x0010 41763 0x00000010
+w 0x0010 41764 0x00000000
+w 0x0010 41765 0x00000000
+w 0x0010 41766 0x00000000
+w 0x0010 41767 0x00000000
+w 0x0010 41768 0x00000000
+w 0x0010 41769 0x00000000
+w 0x0010 41770 0x00000000
+w 0x0010 41771 0x00000020
+w 0x0010 41772 0x00000000
+w 0x0010 41773 0x00000000
+w 0x0010 41774 0x00000000
+w 0x0010 41775 0x00000000
+w 0x0010 41776 0x00000000
+w 0x0010 41777 0x00000000
+w 0x0010 41778 0x00000002
+w 0x0010 41779 0x00000000
+w 0x0010 41780 0x00000000
+w 0x0010 41781 0x00000000
+w 0x0010 41782 0x00000000
+w 0x0010 41783 0x00000000
+w 0x0010 41784 0x00000000
+w 0x0010 41785 0x00000000
+w 0x0010 41786 0x00000004
+w 0x0010 41787 0x00000000
+w 0x0010 41788 0x00000000
+w 0x0010 41789 0x00000000
+w 0x0010 41790 0x00000000
+w 0x0010 41791 0x00000000
index 91f49789e17d965029a4454eba153a59e5ab4653..7e19256dd47bbd509442d30ece210c2880119c4f 100755 (executable)
@@ -22,8 +22,8 @@ if( $opt_help ) {
     &help();
     exit(0);
 }
-print $ENV{'EPICS_CA_ADDR_LIST'}."\n";
-print $ENV{'EPICS_CA_AUTO_ADDR_LIST'}."\n";
+#print $ENV{'EPICS_CA_ADDR_LIST'}."\n";
+#print $ENV{'EPICS_CA_AUTO_ADDR_LIST'}."\n";
 
 my $P=$opt_plane;
 my $S=$opt_sector;
@@ -60,6 +60,7 @@ print "Switching on.\n";
 Perl2Epics::Put("MDC_LV_Switch",$on);
 Perl2Epics::Update(0.2);
 sleep 2;
+#print "Done. Do a Reboot OEP!\n"; #not useful because of some cycles that have to touch two sectors
 exit(0);
 #-----------
 
index 5c5674f5a84af23927b1b932eaae0cd10ca1a3cc..23686329b2b40e2fb9a7b2e144e7f30b94f2d89b 100755 (executable)
@@ -14,7 +14,7 @@ $text="You really want to $ARGV[0]?";
 #my $cmd = "gdialog --yesno \"$text\" --title \"Restart/Stop DAQ\"";
 #my $cmd = "Xdialog --title \"Restart/Stop DAQ\" --yesno \"$text\" 10 100";
 
-my $cmd = "zenity --question --title=\"Restart/Stop DAQ\" --text=\"$text\" --height=10 --width=100";
+my $cmd = "zenity --question --title=\"DAQ Control\" --text=\"$text\" --height=10 --width=100";
 
 my $r = system($cmd);
 
index 143dec4fd20d135015c57332dcfc748dca7d1c64..3878d463a7510cfcf600f992f7642d6543b6a4a6 100755 (executable)
@@ -1,2 +1,2 @@
-xset -display :0 dpms force off
+XAUTHORITY=$(ls -1 /tmp/xauth_*| tail -1) xset -display :0 dpms force off