From: hadaq Date: Sun, 4 Feb 2024 13:01:29 +0000 (+0100) Subject: update various configuration scripts X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=4d933647369a47182d0b30a43bd76432408378be;p=hadesdaq.git update various configuration scripts --- diff --git a/evtbuild/configgbe_ip_hosts.db b/evtbuild/configgbe_ip_hosts.db index c4853f5..c98de0e 100644 --- a/evtbuild/configgbe_ip_hosts.db +++ b/evtbuild/configgbe_ip_hosts.db @@ -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 diff --git a/evtbuild/eb.conf b/evtbuild/eb.conf index 868be2d..d8d7879 120000 --- a/evtbuild/eb.conf +++ b/evtbuild/eb.conf @@ -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 index 0000000..5723eb4 --- /dev/null +++ b/evtbuild/eb_2023_4builders.conf @@ -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 + + diff --git a/evtbuild/generate_ebhub_config.pl b/evtbuild/generate_ebhub_config.pl index 110c907..e78cb65 100755 --- a/evtbuild/generate_ebhub_config.pl +++ b/evtbuild/generate_ebhub_config.pl @@ -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"; } diff --git a/evtbuild/start_eb_gbe.pl b/evtbuild/start_eb_gbe.pl index d46c132..bb16717 120000 --- a/evtbuild/start_eb_gbe.pl +++ b/evtbuild/start_eb_gbe.pl @@ -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 index 0000000..9e4025d --- /dev/null +++ b/evtbuild/start_eb_gbe_2023_4builders.pl @@ -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 to the config file (default: ../evtbuild/eb.conf). + [-e|--eb ] : Start or stop Event Builders (default: start). + [-p|--prefix ] : Prefix of hld file. + [-b|--bnet ] : 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 1senderlog_$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 1senderlog_$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 1builderlog_$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"); +} + diff --git a/hub/startup.script b/hub/startup.script index 2ba8b9a..98a6c4a 100644 --- a/hub/startup.script +++ b/hub/startup.script @@ -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 diff --git a/main/main_hades.script b/main/main_hades.script index 4b1089d..27244ab 100644 --- a/main/main_hades.script +++ b/main/main_hades.script @@ -52,6 +52,7 @@ wait !ifndef MDCNOCOMPILETIME exec_cmd{nofork} check_compile_time oep 0x4c3b2466 !endif +wait !ifndef NOMDC diff --git a/main/subevtids.db b/main/subevtids.db index c58088f..fb0c76c 100644 --- a/main/subevtids.db +++ b/main/subevtids.db @@ -19,6 +19,9 @@ #0x8410 #Hub2 #0x8600 #Hub2 #0x8700 #Hub2 +0x8700 #FWALL1 +0x8701 #FWALL2 +0x8702 #FWALL3 0x8800 #Hub2 0x8880 #StartTRB3 0x8890 #VetoTRB3 diff --git a/nettools/missingipfix.pl b/nettools/missingipfix.pl index d67dd0c..e6d1ae2 100755 --- a/nettools/missingipfix.pl +++ b/nettools/missingipfix.pl @@ -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"; diff --git a/nettools/revivedirich.pl b/nettools/revivedirich.pl index 68385e4..578a8e3 100755 --- a/nettools/revivedirich.pl +++ b/nettools/revivedirich.pl @@ -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); } diff --git a/start/addresses_dirich5d.db b/start/addresses_dirich5d.db index f4fcd2a..32adacf 100644 --- a/start/addresses_dirich5d.db +++ b/start/addresses_dirich5d.db @@ -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 diff --git a/start/register_tdc.db b/start/register_tdc.db index f9287c8..10ae9fa 100644 --- a/start/register_tdc.db +++ b/start/register_tdc.db @@ -14,10 +14,10 @@ 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 diff --git a/start/startup.script b/start/startup.script index 9af0e75..e811724 100644 --- a/start/startup.script +++ b/start/startup.script @@ -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 diff --git a/start/threshold/thresholds_T0.txt b/start/threshold/thresholds_T0.txt index 3b782e7..78c7978 100644 --- a/start/threshold/thresholds_T0.txt +++ b/start/threshold/thresholds_T0.txt @@ -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 diff --git a/trg/old/register_monitoring_trigger_mult3_minusNoise.db b/trg/old/register_monitoring_trigger_mult3_minusNoise.db index 6b4648f..1f9bf7f 100644 --- a/trg/old/register_monitoring_trigger_mult3_minusNoise.db +++ b/trg/old/register_monitoring_trigger_mult3_minusNoise.db @@ -24,17 +24,18 @@ 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 diff --git a/trg/triggerbox.trbcmd b/trg/triggerbox.trbcmd index ecf2206..88431ba 120000 --- a/trg/triggerbox.trbcmd +++ b/trg/triggerbox.trbcmd @@ -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 index 0000000..981707c --- /dev/null +++ b/trg/triggerbox_pt4forHKR_240124.trbcmd @@ -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 index 0000000..5abb6c6 --- /dev/null +++ b/trg/triggerbox_secmult2_as_outp4_forHKR_240124.trbcmd @@ -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 diff --git a/utils/MDC_Powercycle_2PSx.pl b/utils/MDC_Powercycle_2PSx.pl index 91f4978..7e19256 100755 --- a/utils/MDC_Powercycle_2PSx.pl +++ b/utils/MDC_Powercycle_2PSx.pl @@ -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); #----------- diff --git a/utils/doyoureallywant.pl b/utils/doyoureallywant.pl index 5c5674f..2368632 100755 --- a/utils/doyoureallywant.pl +++ b/utils/doyoureallywant.pl @@ -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); diff --git a/utils/monoff b/utils/monoff index 143dec4..3878d46 100755 --- a/utils/monoff +++ b/utils/monoff @@ -1,2 +1,2 @@ -xset -display :0 dpms force off +XAUTHORITY=$(ls -1 /tmp/xauth_*| tail -1) xset -display :0 dpms force off