]> jspc29.x-matter.uni-frankfurt.de Git - daqtools.git/commitdiff
New from the rich guys
authorCbm Rich <richdaq@wuppertal>
Sun, 23 Nov 2014 11:17:42 +0000 (12:17 +0100)
committerCbm Rich <richdaq@wuppertal>
Sun, 23 Nov 2014 11:17:42 +0000 (12:17 +0100)
19 files changed:
dmon/scripts/dmon_beamintensity.pl
dmon/scripts/dmon_heatmaprich.pl
thresholds/thresholds_automatic_jan.pl
thresholds/write_thresholds.pl
users/cern_cbmrich/ChannelMapping.pm [changed from file to symlink]
users/cern_cbmrich/ChannelMapping.pm_PADIWA6364switched [new file with mode: 0644]
users/cern_cbmrich/ChannelMapping.pm_orig [new file with mode: 0644]
users/cern_cbmrich/HV_scan.pl [new file with mode: 0755]
users/cern_cbmrich/Mirror_scan.pl [new file with mode: 0755]
users/cern_cbmrich/README
users/cern_cbmrich/dmon_config.pl
users/cern_cbmrich/evtbuilder_multi.sh [new file with mode: 0755]
users/cern_cbmrich/evtbuilder_single.sh [new file with mode: 0755]
users/cern_cbmrich/evtbuilder_start.sh [changed from file to symlink]
users/cern_cbmrich/offset_scan.pl
users/cern_cbmrich/register_config_tdc.db
users/cern_cbmrich/startup.sh
users/cern_cbmrich/thresh/current_thresholds.thr
users/cern_cbmrich/thresh/thresholds_padiwa_amps.thr

index ab7877a284f959209a61299ea4c2aedcf1d96062..2399e247da17ff01442c38023840f3424ec24ec4 100755 (executable)
@@ -30,10 +30,8 @@ while(1) {
       Dmon::WriteQALog($config{flog},"beamintensity",60,$status,$title,$value,$longtext);
       $value = 0;
       }
-    }      
-
-
-
+    }  
+    
   $old = $curr;
   sleep 1;
   }
index 5b166c1c9c7c84864dee6bffbd7678032c653573..b3669335673ab4c47f794179e0455e39e008682a 100755 (executable)
@@ -36,7 +36,7 @@ $plot2->{xmax}    = 32.5;
 $plot2->{ymin}    = 0.5;
 $plot2->{ymax}    = 32.5;
 $plot2->{cbmin}   = "0";
-$plot2->{cbmax}   = "100<*<1000000";
+$plot2->{cbmax}   = "100<*<1000";
 $plot2->{showvalues} = 0;
 $plot2->{xlabel} = "column";
 $plot2->{ylabel} = "row";
index 4c87e64f2745fa48d668abdb1b4aa5c040b53cc0..fccd8459a978dcf41bbe36575ff3524d8af2f465 100755 (executable)
@@ -18,9 +18,9 @@ my $hitregister = 0xc001;
 my $interval_step = 0x0400;
 my $start_value =  0x7000;
 
-my $sleep_time = 1.0;
+my $sleep_time = 2.0;
 my $accepted_dark_rate = 150;
-my $number_of_iterations = 50;
+my $number_of_iterations = 40;
 
 my $endpoint = 0x0303;
 my $mode = "padiwa";
@@ -154,7 +154,7 @@ while ($number_of_steps < $number_of_iterations) {
       $hit_diff += 2**24 if $hit_diff < 0;
       $hit_diff[$i] = $hit_diff;
 
-      if($number_of_steps  > $number_of_iterations - 10 || $opt_finetune) {
+      if($number_of_steps  > $number_of_iterations - 20 || $opt_finetune) {
         # select best  threshold, closest from bottom
         if(   $hit_diff[$i] <= $accepted_dark_rate
           && $best_thresh[$i] <= $current_thresh[$i]
@@ -226,7 +226,7 @@ my $str;
 
 $logger_data->info("\t".time);
 foreach my $i (0..15) {
-  $logger_data->info(sprintf "endpoint: 0x%04x, chain: %02d, channel: %2d threshold: 0x%04x, uid: %s", $endpoint, $chain, $i, $best_thresh[$i], $uid );
+  $logger_data->info(sprintf "endpoint: 0x%04x, chain: %02d, channel: %2d threshold: 0x%04x, uid: %s", $endpoint, $chain, $i, $best_thresh[$i]||$current_thresh[$i], $uid );
 }
 
 
index cc18e8da915a4b22b534bfde12e614956cc75b6a..6bd9d9a7218db5f5adebde842514f23c368ab41e 100755 (executable)
@@ -52,7 +52,9 @@ chomp $f[0];
 system("echo \"".strftime("%Y-%m-%d %H:%M:%S",localtime()).'\t'.time.'\t'.
               $offset.'\t'.$f[0]."\">>threshold_log.txt");
 my ($t) = $f[0] =~ /(\d{10})/;
-system("echo $t>thresh/billboard_info");
+system("echo $t>thresh/billboard_timestamp");
+my $offsetV = (32768 + $offset) & 0xffff;;
+system("echo $offsetV > thresh/billboard_offset");
 
 
 my $count=0;
deleted file mode 100644 (file)
index c58f2fc1868282bb94b97f89f7ca8fc4dcd187c1..0000000000000000000000000000000000000000
+++ /dev/null
-package ChannelMapping;
-use warnings;
-use strict;
-
-our $chanmap;
-$chanmap->{xsize} = 32;
-$chanmap->{ysize} = 32;
-
-$chanmap->{fpga}->[32]->[ 32]=0x0010;
-$chanmap->{fpga}->[32]->[ 31]=0x0010;
-$chanmap->{fpga}->[32]->[ 30]=0x0010;
-$chanmap->{fpga}->[32]->[ 29]=0x0010;
-$chanmap->{fpga}->[32]->[ 28]=0x0010;
-$chanmap->{fpga}->[32]->[ 27]=0x0010;
-$chanmap->{fpga}->[32]->[ 26]=0x0010;
-$chanmap->{fpga}->[32]->[ 25]=0x0010;
-$chanmap->{fpga}->[31]->[ 32]=0x0010;
-$chanmap->{fpga}->[31]->[ 31]=0x0010;
-$chanmap->{fpga}->[31]->[ 30]=0x0010;
-$chanmap->{fpga}->[31]->[ 29]=0x0010;
-$chanmap->{fpga}->[31]->[ 28]=0x0010;
-$chanmap->{fpga}->[31]->[ 27]=0x0010;
-$chanmap->{fpga}->[31]->[ 26]=0x0010;
-$chanmap->{fpga}->[31]->[ 25]=0x0010;
-$chanmap->{fpga}->[30]->[ 32]=0x0011;
-$chanmap->{fpga}->[30]->[ 31]=0x0011;
-$chanmap->{fpga}->[30]->[ 30]=0x0011;
-$chanmap->{fpga}->[30]->[ 29]=0x0011;
-$chanmap->{fpga}->[30]->[ 28]=0x0011;
-$chanmap->{fpga}->[30]->[ 27]=0x0011;
-$chanmap->{fpga}->[30]->[ 26]=0x0011;
-$chanmap->{fpga}->[30]->[ 25]=0x0011;
-$chanmap->{fpga}->[29]->[ 32]=0x0011;
-$chanmap->{fpga}->[29]->[ 31]=0x0011;
-$chanmap->{fpga}->[29]->[ 30]=0x0011;
-$chanmap->{fpga}->[29]->[ 29]=0x0011;
-$chanmap->{fpga}->[29]->[ 28]=0x0011;
-$chanmap->{fpga}->[29]->[ 27]=0x0011;
-$chanmap->{fpga}->[29]->[ 26]=0x0011;
-$chanmap->{fpga}->[29]->[ 25]=0x0011;
-$chanmap->{fpga}->[28]->[ 32]=0x0012;
-$chanmap->{fpga}->[28]->[ 31]=0x0012;
-$chanmap->{fpga}->[28]->[ 30]=0x0012;
-$chanmap->{fpga}->[28]->[ 29]=0x0012;
-$chanmap->{fpga}->[28]->[ 28]=0x0012;
-$chanmap->{fpga}->[28]->[ 27]=0x0012;
-$chanmap->{fpga}->[28]->[ 26]=0x0012;
-$chanmap->{fpga}->[28]->[ 25]=0x0012;
-$chanmap->{fpga}->[27]->[ 32]=0x0012;
-$chanmap->{fpga}->[27]->[ 31]=0x0012;
-$chanmap->{fpga}->[27]->[ 30]=0x0012;
-$chanmap->{fpga}->[27]->[ 29]=0x0012;
-$chanmap->{fpga}->[27]->[ 28]=0x0012;
-$chanmap->{fpga}->[27]->[ 27]=0x0012;
-$chanmap->{fpga}->[27]->[ 26]=0x0012;
-$chanmap->{fpga}->[27]->[ 25]=0x0012;
-$chanmap->{fpga}->[26]->[ 32]=0x0013;
-$chanmap->{fpga}->[26]->[ 31]=0x0013;
-$chanmap->{fpga}->[26]->[ 30]=0x0013;
-$chanmap->{fpga}->[26]->[ 29]=0x0013;
-$chanmap->{fpga}->[26]->[ 28]=0x0013;
-$chanmap->{fpga}->[26]->[ 27]=0x0013;
-$chanmap->{fpga}->[26]->[ 26]=0x0013;
-$chanmap->{fpga}->[26]->[ 25]=0x0013;
-$chanmap->{fpga}->[25]->[ 32]=0x0013;
-$chanmap->{fpga}->[25]->[ 31]=0x0013;
-$chanmap->{fpga}->[25]->[ 30]=0x0013;
-$chanmap->{fpga}->[25]->[ 29]=0x0013;
-$chanmap->{fpga}->[25]->[ 28]=0x0013;
-$chanmap->{fpga}->[25]->[ 27]=0x0013;
-$chanmap->{fpga}->[25]->[ 26]=0x0013;
-$chanmap->{fpga}->[25]->[ 25]=0x0013;
-$chanmap->{fpga}->[32]->[ 24]=0x0020;
-$chanmap->{fpga}->[32]->[ 23]=0x0020;
-$chanmap->{fpga}->[32]->[ 22]=0x0020;
-$chanmap->{fpga}->[32]->[ 21]=0x0020;
-$chanmap->{fpga}->[32]->[ 20]=0x0020;
-$chanmap->{fpga}->[32]->[ 19]=0x0020;
-$chanmap->{fpga}->[32]->[ 18]=0x0020;
-$chanmap->{fpga}->[32]->[ 17]=0x0020;
-$chanmap->{fpga}->[31]->[ 24]=0x0020;
-$chanmap->{fpga}->[31]->[ 23]=0x0020;
-$chanmap->{fpga}->[31]->[ 22]=0x0020;
-$chanmap->{fpga}->[31]->[ 21]=0x0020;
-$chanmap->{fpga}->[31]->[ 20]=0x0020;
-$chanmap->{fpga}->[31]->[ 19]=0x0020;
-$chanmap->{fpga}->[31]->[ 18]=0x0020;
-$chanmap->{fpga}->[31]->[ 17]=0x0020;
-$chanmap->{fpga}->[30]->[ 24]=0x0021;
-$chanmap->{fpga}->[30]->[ 23]=0x0021;
-$chanmap->{fpga}->[30]->[ 22]=0x0021;
-$chanmap->{fpga}->[30]->[ 21]=0x0021;
-$chanmap->{fpga}->[30]->[ 20]=0x0021;
-$chanmap->{fpga}->[30]->[ 19]=0x0021;
-$chanmap->{fpga}->[30]->[ 18]=0x0021;
-$chanmap->{fpga}->[30]->[ 17]=0x0021;
-$chanmap->{fpga}->[29]->[ 24]=0x0021;
-$chanmap->{fpga}->[29]->[ 23]=0x0021;
-$chanmap->{fpga}->[29]->[ 22]=0x0021;
-$chanmap->{fpga}->[29]->[ 21]=0x0021;
-$chanmap->{fpga}->[29]->[ 20]=0x0021;
-$chanmap->{fpga}->[29]->[ 19]=0x0021;
-$chanmap->{fpga}->[29]->[ 18]=0x0021;
-$chanmap->{fpga}->[29]->[ 17]=0x0021;
-$chanmap->{fpga}->[28]->[ 24]=0x0022;
-$chanmap->{fpga}->[28]->[ 23]=0x0022;
-$chanmap->{fpga}->[28]->[ 22]=0x0022;
-$chanmap->{fpga}->[28]->[ 21]=0x0022;
-$chanmap->{fpga}->[28]->[ 20]=0x0022;
-$chanmap->{fpga}->[28]->[ 19]=0x0022;
-$chanmap->{fpga}->[28]->[ 18]=0x0022;
-$chanmap->{fpga}->[28]->[ 17]=0x0022;
-$chanmap->{fpga}->[27]->[ 24]=0x0022;
-$chanmap->{fpga}->[27]->[ 23]=0x0022;
-$chanmap->{fpga}->[27]->[ 22]=0x0022;
-$chanmap->{fpga}->[27]->[ 21]=0x0022;
-$chanmap->{fpga}->[27]->[ 20]=0x0022;
-$chanmap->{fpga}->[27]->[ 19]=0x0022;
-$chanmap->{fpga}->[27]->[ 18]=0x0022;
-$chanmap->{fpga}->[27]->[ 17]=0x0022;
-$chanmap->{fpga}->[26]->[ 24]=0x0023;
-$chanmap->{fpga}->[26]->[ 23]=0x0023;
-$chanmap->{fpga}->[26]->[ 22]=0x0023;
-$chanmap->{fpga}->[26]->[ 21]=0x0023;
-$chanmap->{fpga}->[26]->[ 20]=0x0023;
-$chanmap->{fpga}->[26]->[ 19]=0x0023;
-$chanmap->{fpga}->[26]->[ 18]=0x0023;
-$chanmap->{fpga}->[26]->[ 17]=0x0023;
-$chanmap->{fpga}->[25]->[ 24]=0x0023;
-$chanmap->{fpga}->[25]->[ 23]=0x0023;
-$chanmap->{fpga}->[25]->[ 22]=0x0023;
-$chanmap->{fpga}->[25]->[ 21]=0x0023;
-$chanmap->{fpga}->[25]->[ 20]=0x0023;
-$chanmap->{fpga}->[25]->[ 19]=0x0023;
-$chanmap->{fpga}->[25]->[ 18]=0x0023;
-$chanmap->{fpga}->[25]->[ 17]=0x0023;
-$chanmap->{fpga}->[32]->[ 16]=0x0030;
-$chanmap->{fpga}->[32]->[ 15]=0x0030;
-$chanmap->{fpga}->[32]->[ 14]=0x0030;
-$chanmap->{fpga}->[32]->[ 13]=0x0030;
-$chanmap->{fpga}->[32]->[ 12]=0x0030;
-$chanmap->{fpga}->[32]->[ 11]=0x0030;
-$chanmap->{fpga}->[32]->[ 10]=0x0030;
-$chanmap->{fpga}->[32]->[ 9 ]=0x0030;
-$chanmap->{fpga}->[31]->[ 16]=0x0030;
-$chanmap->{fpga}->[31]->[ 15]=0x0030;
-$chanmap->{fpga}->[31]->[ 14]=0x0030;
-$chanmap->{fpga}->[31]->[ 13]=0x0030;
-$chanmap->{fpga}->[31]->[ 12]=0x0030;
-$chanmap->{fpga}->[31]->[ 11]=0x0030;
-$chanmap->{fpga}->[31]->[ 10]=0x0030;
-$chanmap->{fpga}->[31]->[ 9 ]=0x0030;
-$chanmap->{fpga}->[30]->[ 16]=0x0031;
-$chanmap->{fpga}->[30]->[ 15]=0x0031;
-$chanmap->{fpga}->[30]->[ 14]=0x0031;
-$chanmap->{fpga}->[30]->[ 13]=0x0031;
-$chanmap->{fpga}->[30]->[ 12]=0x0031;
-$chanmap->{fpga}->[30]->[ 11]=0x0031;
-$chanmap->{fpga}->[30]->[ 10]=0x0031;
-$chanmap->{fpga}->[30]->[ 9 ]=0x0031;
-$chanmap->{fpga}->[29]->[ 16]=0x0031;
-$chanmap->{fpga}->[29]->[ 15]=0x0031;
-$chanmap->{fpga}->[29]->[ 14]=0x0031;
-$chanmap->{fpga}->[29]->[ 13]=0x0031;
-$chanmap->{fpga}->[29]->[ 12]=0x0031;
-$chanmap->{fpga}->[29]->[ 11]=0x0031;
-$chanmap->{fpga}->[29]->[ 10]=0x0031;
-$chanmap->{fpga}->[29]->[ 9 ]=0x0031;
-$chanmap->{fpga}->[28]->[ 16]=0x0032;
-$chanmap->{fpga}->[28]->[ 15]=0x0032;
-$chanmap->{fpga}->[28]->[ 14]=0x0032;
-$chanmap->{fpga}->[28]->[ 13]=0x0032;
-$chanmap->{fpga}->[28]->[ 12]=0x0032;
-$chanmap->{fpga}->[28]->[ 11]=0x0032;
-$chanmap->{fpga}->[28]->[ 10]=0x0032;
-$chanmap->{fpga}->[28]->[ 9 ]=0x0032;
-$chanmap->{fpga}->[27]->[ 16]=0x0032;
-$chanmap->{fpga}->[27]->[ 15]=0x0032;
-$chanmap->{fpga}->[27]->[ 14]=0x0032;
-$chanmap->{fpga}->[27]->[ 13]=0x0032;
-$chanmap->{fpga}->[27]->[ 12]=0x0032;
-$chanmap->{fpga}->[27]->[ 11]=0x0032;
-$chanmap->{fpga}->[27]->[ 10]=0x0032;
-$chanmap->{fpga}->[27]->[ 9 ]=0x0032;
-$chanmap->{fpga}->[26]->[ 16]=0x0033;
-$chanmap->{fpga}->[26]->[ 15]=0x0033;
-$chanmap->{fpga}->[26]->[ 14]=0x0033;
-$chanmap->{fpga}->[26]->[ 13]=0x0033;
-$chanmap->{fpga}->[26]->[ 12]=0x0033;
-$chanmap->{fpga}->[26]->[ 11]=0x0033;
-$chanmap->{fpga}->[26]->[ 10]=0x0033;
-$chanmap->{fpga}->[26]->[ 9 ]=0x0033;
-$chanmap->{fpga}->[25]->[ 16]=0x0033;
-$chanmap->{fpga}->[25]->[ 15]=0x0033;
-$chanmap->{fpga}->[25]->[ 14]=0x0033;
-$chanmap->{fpga}->[25]->[ 13]=0x0033;
-$chanmap->{fpga}->[25]->[ 12]=0x0033;
-$chanmap->{fpga}->[25]->[ 11]=0x0033;
-$chanmap->{fpga}->[25]->[ 10]=0x0033;
-$chanmap->{fpga}->[25]->[ 9 ]=0x0033;
-$chanmap->{fpga}->[32]->[ 8 ]=0x0040;
-$chanmap->{fpga}->[32]->[ 7 ]=0x0040;
-$chanmap->{fpga}->[32]->[ 6 ]=0x0040;
-$chanmap->{fpga}->[32]->[ 5 ]=0x0040;
-$chanmap->{fpga}->[32]->[ 4 ]=0x0040;
-$chanmap->{fpga}->[32]->[ 3 ]=0x0040;
-$chanmap->{fpga}->[32]->[ 2 ]=0x0040;
-$chanmap->{fpga}->[32]->[ 1 ]=0x0040;
-$chanmap->{fpga}->[31]->[ 8 ]=0x0040;
-$chanmap->{fpga}->[31]->[ 7 ]=0x0040;
-$chanmap->{fpga}->[31]->[ 6 ]=0x0040;
-$chanmap->{fpga}->[31]->[ 5 ]=0x0040;
-$chanmap->{fpga}->[31]->[ 4 ]=0x0040;
-$chanmap->{fpga}->[31]->[ 3 ]=0x0040;
-$chanmap->{fpga}->[31]->[ 2 ]=0x0040;
-$chanmap->{fpga}->[31]->[ 1 ]=0x0040;
-$chanmap->{fpga}->[30]->[ 8 ]=0x0041;
-$chanmap->{fpga}->[30]->[ 7 ]=0x0041;
-$chanmap->{fpga}->[30]->[ 6 ]=0x0041;
-$chanmap->{fpga}->[30]->[ 5 ]=0x0041;
-$chanmap->{fpga}->[30]->[ 4 ]=0x0041;
-$chanmap->{fpga}->[30]->[ 3 ]=0x0041;
-$chanmap->{fpga}->[30]->[ 2 ]=0x0041;
-$chanmap->{fpga}->[30]->[ 1 ]=0x0041;
-$chanmap->{fpga}->[29]->[ 8 ]=0x0041;
-$chanmap->{fpga}->[29]->[ 7 ]=0x0041;
-$chanmap->{fpga}->[29]->[ 6 ]=0x0041;
-$chanmap->{fpga}->[29]->[ 5 ]=0x0041;
-$chanmap->{fpga}->[29]->[ 4 ]=0x0041;
-$chanmap->{fpga}->[29]->[ 3 ]=0x0041;
-$chanmap->{fpga}->[29]->[ 2 ]=0x0041;
-$chanmap->{fpga}->[29]->[ 1 ]=0x0041;
-$chanmap->{fpga}->[28]->[ 8 ]=0x0042;
-$chanmap->{fpga}->[28]->[ 7 ]=0x0042;
-$chanmap->{fpga}->[28]->[ 6 ]=0x0042;
-$chanmap->{fpga}->[28]->[ 5 ]=0x0042;
-$chanmap->{fpga}->[28]->[ 4 ]=0x0042;
-$chanmap->{fpga}->[28]->[ 3 ]=0x0042;
-$chanmap->{fpga}->[28]->[ 2 ]=0x0042;
-$chanmap->{fpga}->[28]->[ 1 ]=0x0042;
-$chanmap->{fpga}->[27]->[ 8 ]=0x0042;
-$chanmap->{fpga}->[27]->[ 7 ]=0x0042;
-$chanmap->{fpga}->[27]->[ 6 ]=0x0042;
-$chanmap->{fpga}->[27]->[ 5 ]=0x0042;
-$chanmap->{fpga}->[27]->[ 4 ]=0x0042;
-$chanmap->{fpga}->[27]->[ 3 ]=0x0042;
-$chanmap->{fpga}->[27]->[ 2 ]=0x0042;
-$chanmap->{fpga}->[27]->[ 1 ]=0x0042;
-$chanmap->{fpga}->[26]->[ 8 ]=0x0043;
-$chanmap->{fpga}->[26]->[ 7 ]=0x0043;
-$chanmap->{fpga}->[26]->[ 6 ]=0x0043;
-$chanmap->{fpga}->[26]->[ 5 ]=0x0043;
-$chanmap->{fpga}->[26]->[ 4 ]=0x0043;
-$chanmap->{fpga}->[26]->[ 3 ]=0x0043;
-$chanmap->{fpga}->[26]->[ 2 ]=0x0043;
-$chanmap->{fpga}->[26]->[ 1 ]=0x0043;
-$chanmap->{fpga}->[25]->[ 8 ]=0x0043;
-$chanmap->{fpga}->[25]->[ 7 ]=0x0043;
-$chanmap->{fpga}->[25]->[ 6 ]=0x0043;
-$chanmap->{fpga}->[25]->[ 5 ]=0x0043;
-$chanmap->{fpga}->[25]->[ 4 ]=0x0043;
-$chanmap->{fpga}->[25]->[ 3 ]=0x0043;
-$chanmap->{fpga}->[25]->[ 2 ]=0x0043;
-$chanmap->{fpga}->[25]->[ 1 ]=0x0043;
-$chanmap->{fpga}->[24]->[ 32]=0x0050;
-$chanmap->{fpga}->[24]->[ 31]=0x0050;
-$chanmap->{fpga}->[24]->[ 30]=0x0050;
-$chanmap->{fpga}->[24]->[ 29]=0x0050;
-$chanmap->{fpga}->[24]->[ 28]=0x0050;
-$chanmap->{fpga}->[24]->[ 27]=0x0050;
-$chanmap->{fpga}->[24]->[ 26]=0x0050;
-$chanmap->{fpga}->[24]->[ 25]=0x0050;
-$chanmap->{fpga}->[23]->[ 32]=0x0050;
-$chanmap->{fpga}->[23]->[ 31]=0x0050;
-$chanmap->{fpga}->[23]->[ 30]=0x0050;
-$chanmap->{fpga}->[23]->[ 29]=0x0050;
-$chanmap->{fpga}->[23]->[ 28]=0x0050;
-$chanmap->{fpga}->[23]->[ 27]=0x0050;
-$chanmap->{fpga}->[23]->[ 26]=0x0050;
-$chanmap->{fpga}->[23]->[ 25]=0x0050;
-$chanmap->{fpga}->[22]->[ 32]=0x0051;
-$chanmap->{fpga}->[22]->[ 31]=0x0051;
-$chanmap->{fpga}->[22]->[ 30]=0x0051;
-$chanmap->{fpga}->[22]->[ 29]=0x0051;
-$chanmap->{fpga}->[22]->[ 28]=0x0051;
-$chanmap->{fpga}->[22]->[ 27]=0x0051;
-$chanmap->{fpga}->[22]->[ 26]=0x0051;
-$chanmap->{fpga}->[22]->[ 25]=0x0051;
-$chanmap->{fpga}->[21]->[ 32]=0x0051;
-$chanmap->{fpga}->[21]->[ 31]=0x0051;
-$chanmap->{fpga}->[21]->[ 30]=0x0051;
-$chanmap->{fpga}->[21]->[ 29]=0x0051;
-$chanmap->{fpga}->[21]->[ 28]=0x0051;
-$chanmap->{fpga}->[21]->[ 27]=0x0051;
-$chanmap->{fpga}->[21]->[ 26]=0x0051;
-$chanmap->{fpga}->[21]->[ 25]=0x0051;
-$chanmap->{fpga}->[20]->[ 32]=0x0052;
-$chanmap->{fpga}->[20]->[ 31]=0x0052;
-$chanmap->{fpga}->[20]->[ 30]=0x0052;
-$chanmap->{fpga}->[20]->[ 29]=0x0052;
-$chanmap->{fpga}->[20]->[ 28]=0x0052;
-$chanmap->{fpga}->[20]->[ 27]=0x0052;
-$chanmap->{fpga}->[20]->[ 26]=0x0052;
-$chanmap->{fpga}->[20]->[ 25]=0x0052;
-$chanmap->{fpga}->[19]->[ 32]=0x0052;
-$chanmap->{fpga}->[19]->[ 31]=0x0052;
-$chanmap->{fpga}->[19]->[ 30]=0x0052;
-$chanmap->{fpga}->[19]->[ 29]=0x0052;
-$chanmap->{fpga}->[19]->[ 28]=0x0052;
-$chanmap->{fpga}->[19]->[ 27]=0x0052;
-$chanmap->{fpga}->[19]->[ 26]=0x0052;
-$chanmap->{fpga}->[19]->[ 25]=0x0052;
-$chanmap->{fpga}->[18]->[ 32]=0x0053;
-$chanmap->{fpga}->[18]->[ 31]=0x0053;
-$chanmap->{fpga}->[18]->[ 30]=0x0053;
-$chanmap->{fpga}->[18]->[ 29]=0x0053;
-$chanmap->{fpga}->[18]->[ 28]=0x0053;
-$chanmap->{fpga}->[18]->[ 27]=0x0053;
-$chanmap->{fpga}->[18]->[ 26]=0x0053;
-$chanmap->{fpga}->[18]->[ 25]=0x0053;
-$chanmap->{fpga}->[17]->[ 32]=0x0053;
-$chanmap->{fpga}->[17]->[ 31]=0x0053;
-$chanmap->{fpga}->[17]->[ 30]=0x0053;
-$chanmap->{fpga}->[17]->[ 29]=0x0053;
-$chanmap->{fpga}->[17]->[ 28]=0x0053;
-$chanmap->{fpga}->[17]->[ 27]=0x0053;
-$chanmap->{fpga}->[17]->[ 26]=0x0053;
-$chanmap->{fpga}->[17]->[ 25]=0x0053;
-$chanmap->{fpga}->[24]->[ 24]=0x0060;
-$chanmap->{fpga}->[24]->[ 23]=0x0060;
-$chanmap->{fpga}->[24]->[ 22]=0x0060;
-$chanmap->{fpga}->[24]->[ 21]=0x0060;
-$chanmap->{fpga}->[24]->[ 20]=0x0060;
-$chanmap->{fpga}->[24]->[ 19]=0x0060;
-$chanmap->{fpga}->[24]->[ 18]=0x0060;
-$chanmap->{fpga}->[24]->[ 17]=0x0060;
-$chanmap->{fpga}->[23]->[ 24]=0x0060;
-$chanmap->{fpga}->[23]->[ 23]=0x0060;
-$chanmap->{fpga}->[23]->[ 22]=0x0060;
-$chanmap->{fpga}->[23]->[ 21]=0x0060;
-$chanmap->{fpga}->[23]->[ 20]=0x0060;
-$chanmap->{fpga}->[23]->[ 19]=0x0060;
-$chanmap->{fpga}->[23]->[ 18]=0x0060;
-$chanmap->{fpga}->[23]->[ 17]=0x0060;
-$chanmap->{fpga}->[22]->[ 24]=0x0061;
-$chanmap->{fpga}->[22]->[ 23]=0x0061;
-$chanmap->{fpga}->[22]->[ 22]=0x0061;
-$chanmap->{fpga}->[22]->[ 21]=0x0061;
-$chanmap->{fpga}->[22]->[ 20]=0x0061;
-$chanmap->{fpga}->[22]->[ 19]=0x0061;
-$chanmap->{fpga}->[22]->[ 18]=0x0061;
-$chanmap->{fpga}->[22]->[ 17]=0x0061;
-$chanmap->{fpga}->[21]->[ 24]=0x0061;
-$chanmap->{fpga}->[21]->[ 23]=0x0061;
-$chanmap->{fpga}->[21]->[ 22]=0x0061;
-$chanmap->{fpga}->[21]->[ 21]=0x0061;
-$chanmap->{fpga}->[21]->[ 20]=0x0061;
-$chanmap->{fpga}->[21]->[ 19]=0x0061;
-$chanmap->{fpga}->[21]->[ 18]=0x0061;
-$chanmap->{fpga}->[21]->[ 17]=0x0061;
-$chanmap->{fpga}->[20]->[ 24]=0x0062;
-$chanmap->{fpga}->[20]->[ 23]=0x0062;
-$chanmap->{fpga}->[20]->[ 22]=0x0062;
-$chanmap->{fpga}->[20]->[ 21]=0x0062;
-$chanmap->{fpga}->[20]->[ 20]=0x0062;
-$chanmap->{fpga}->[20]->[ 19]=0x0062;
-$chanmap->{fpga}->[20]->[ 18]=0x0062;
-$chanmap->{fpga}->[20]->[ 17]=0x0062;
-$chanmap->{fpga}->[19]->[ 24]=0x0062;
-$chanmap->{fpga}->[19]->[ 23]=0x0062;
-$chanmap->{fpga}->[19]->[ 22]=0x0062;
-$chanmap->{fpga}->[19]->[ 21]=0x0062;
-$chanmap->{fpga}->[19]->[ 20]=0x0062;
-$chanmap->{fpga}->[19]->[ 19]=0x0062;
-$chanmap->{fpga}->[19]->[ 18]=0x0062;
-$chanmap->{fpga}->[19]->[ 17]=0x0062;
-$chanmap->{fpga}->[18]->[ 24]=0x0063;
-$chanmap->{fpga}->[18]->[ 23]=0x0063;
-$chanmap->{fpga}->[18]->[ 22]=0x0063;
-$chanmap->{fpga}->[18]->[ 21]=0x0063;
-$chanmap->{fpga}->[18]->[ 20]=0x0063;
-$chanmap->{fpga}->[18]->[ 19]=0x0063;
-$chanmap->{fpga}->[18]->[ 18]=0x0063;
-$chanmap->{fpga}->[18]->[ 17]=0x0063;
-$chanmap->{fpga}->[17]->[ 24]=0x0063;
-$chanmap->{fpga}->[17]->[ 23]=0x0063;
-$chanmap->{fpga}->[17]->[ 22]=0x0063;
-$chanmap->{fpga}->[17]->[ 21]=0x0063;
-$chanmap->{fpga}->[17]->[ 20]=0x0063;
-$chanmap->{fpga}->[17]->[ 19]=0x0063;
-$chanmap->{fpga}->[17]->[ 18]=0x0063;
-$chanmap->{fpga}->[17]->[ 17]=0x0063;
-$chanmap->{fpga}->[24]->[ 16]=0x0070;
-$chanmap->{fpga}->[24]->[ 15]=0x0070;
-$chanmap->{fpga}->[24]->[ 14]=0x0070;
-$chanmap->{fpga}->[24]->[ 13]=0x0070;
-$chanmap->{fpga}->[24]->[ 12]=0x0070;
-$chanmap->{fpga}->[24]->[ 11]=0x0070;
-$chanmap->{fpga}->[24]->[ 10]=0x0070;
-$chanmap->{fpga}->[24]->[ 9 ]=0x0070;
-$chanmap->{fpga}->[23]->[ 16]=0x0070;
-$chanmap->{fpga}->[23]->[ 15]=0x0070;
-$chanmap->{fpga}->[23]->[ 14]=0x0070;
-$chanmap->{fpga}->[23]->[ 13]=0x0070;
-$chanmap->{fpga}->[23]->[ 12]=0x0070;
-$chanmap->{fpga}->[23]->[ 11]=0x0070;
-$chanmap->{fpga}->[23]->[ 10]=0x0070;
-$chanmap->{fpga}->[23]->[ 9 ]=0x0070;
-$chanmap->{fpga}->[22]->[ 16]=0x0071;
-$chanmap->{fpga}->[22]->[ 15]=0x0071;
-$chanmap->{fpga}->[22]->[ 14]=0x0071;
-$chanmap->{fpga}->[22]->[ 13]=0x0071;
-$chanmap->{fpga}->[22]->[ 12]=0x0071;
-$chanmap->{fpga}->[22]->[ 11]=0x0071;
-$chanmap->{fpga}->[22]->[ 10]=0x0071;
-$chanmap->{fpga}->[22]->[ 9 ]=0x0071;
-$chanmap->{fpga}->[21]->[ 16]=0x0071;
-$chanmap->{fpga}->[21]->[ 15]=0x0071;
-$chanmap->{fpga}->[21]->[ 14]=0x0071;
-$chanmap->{fpga}->[21]->[ 13]=0x0071;
-$chanmap->{fpga}->[21]->[ 12]=0x0071;
-$chanmap->{fpga}->[21]->[ 11]=0x0071;
-$chanmap->{fpga}->[21]->[ 10]=0x0071;
-$chanmap->{fpga}->[21]->[ 9 ]=0x0071;
-$chanmap->{fpga}->[20]->[ 16]=0x0072;
-$chanmap->{fpga}->[20]->[ 15]=0x0072;
-$chanmap->{fpga}->[20]->[ 14]=0x0072;
-$chanmap->{fpga}->[20]->[ 13]=0x0072;
-$chanmap->{fpga}->[20]->[ 12]=0x0072;
-$chanmap->{fpga}->[20]->[ 11]=0x0072;
-$chanmap->{fpga}->[20]->[ 10]=0x0072;
-$chanmap->{fpga}->[20]->[ 9 ]=0x0072;
-$chanmap->{fpga}->[19]->[ 16]=0x0072;
-$chanmap->{fpga}->[19]->[ 15]=0x0072;
-$chanmap->{fpga}->[19]->[ 14]=0x0072;
-$chanmap->{fpga}->[19]->[ 13]=0x0072;
-$chanmap->{fpga}->[19]->[ 12]=0x0072;
-$chanmap->{fpga}->[19]->[ 11]=0x0072;
-$chanmap->{fpga}->[19]->[ 10]=0x0072;
-$chanmap->{fpga}->[19]->[ 9 ]=0x0072;
-$chanmap->{fpga}->[18]->[ 16]=0x0073;
-$chanmap->{fpga}->[18]->[ 15]=0x0073;
-$chanmap->{fpga}->[18]->[ 14]=0x0073;
-$chanmap->{fpga}->[18]->[ 13]=0x0073;
-$chanmap->{fpga}->[18]->[ 12]=0x0073;
-$chanmap->{fpga}->[18]->[ 11]=0x0073;
-$chanmap->{fpga}->[18]->[ 10]=0x0073;
-$chanmap->{fpga}->[18]->[ 9 ]=0x0073;
-$chanmap->{fpga}->[17]->[ 16]=0x0073;
-$chanmap->{fpga}->[17]->[ 15]=0x0073;
-$chanmap->{fpga}->[17]->[ 14]=0x0073;
-$chanmap->{fpga}->[17]->[ 13]=0x0073;
-$chanmap->{fpga}->[17]->[ 12]=0x0073;
-$chanmap->{fpga}->[17]->[ 11]=0x0073;
-$chanmap->{fpga}->[17]->[ 10]=0x0073;
-$chanmap->{fpga}->[17]->[ 9 ]=0x0073;
-$chanmap->{fpga}->[24]->[ 8 ]=0x0080;
-$chanmap->{fpga}->[24]->[ 7 ]=0x0080;
-$chanmap->{fpga}->[24]->[ 6 ]=0x0080;
-$chanmap->{fpga}->[24]->[ 5 ]=0x0080;
-$chanmap->{fpga}->[24]->[ 4 ]=0x0080;
-$chanmap->{fpga}->[24]->[ 3 ]=0x0080;
-$chanmap->{fpga}->[24]->[ 2 ]=0x0080;
-$chanmap->{fpga}->[24]->[ 1 ]=0x0080;
-$chanmap->{fpga}->[23]->[ 8 ]=0x0080;
-$chanmap->{fpga}->[23]->[ 7 ]=0x0080;
-$chanmap->{fpga}->[23]->[ 6 ]=0x0080;
-$chanmap->{fpga}->[23]->[ 5 ]=0x0080;
-$chanmap->{fpga}->[23]->[ 4 ]=0x0080;
-$chanmap->{fpga}->[23]->[ 3 ]=0x0080;
-$chanmap->{fpga}->[23]->[ 2 ]=0x0080;
-$chanmap->{fpga}->[23]->[ 1 ]=0x0080;
-$chanmap->{fpga}->[22]->[ 8 ]=0x0081;
-$chanmap->{fpga}->[22]->[ 7 ]=0x0081;
-$chanmap->{fpga}->[22]->[ 6 ]=0x0081;
-$chanmap->{fpga}->[22]->[ 5 ]=0x0081;
-$chanmap->{fpga}->[22]->[ 4 ]=0x0081;
-$chanmap->{fpga}->[22]->[ 3 ]=0x0081;
-$chanmap->{fpga}->[22]->[ 2 ]=0x0081;
-$chanmap->{fpga}->[22]->[ 1 ]=0x0081;
-$chanmap->{fpga}->[21]->[ 8 ]=0x0081;
-$chanmap->{fpga}->[21]->[ 7 ]=0x0081;
-$chanmap->{fpga}->[21]->[ 6 ]=0x0081;
-$chanmap->{fpga}->[21]->[ 5 ]=0x0081;
-$chanmap->{fpga}->[21]->[ 4 ]=0x0081;
-$chanmap->{fpga}->[21]->[ 3 ]=0x0081;
-$chanmap->{fpga}->[21]->[ 2 ]=0x0081;
-$chanmap->{fpga}->[21]->[ 1 ]=0x0081;
-$chanmap->{fpga}->[20]->[ 8 ]=0x0082;
-$chanmap->{fpga}->[20]->[ 7 ]=0x0082;
-$chanmap->{fpga}->[20]->[ 6 ]=0x0082;
-$chanmap->{fpga}->[20]->[ 5 ]=0x0082;
-$chanmap->{fpga}->[20]->[ 4 ]=0x0082;
-$chanmap->{fpga}->[20]->[ 3 ]=0x0082;
-$chanmap->{fpga}->[20]->[ 2 ]=0x0082;
-$chanmap->{fpga}->[20]->[ 1 ]=0x0082;
-$chanmap->{fpga}->[19]->[ 8 ]=0x0082;
-$chanmap->{fpga}->[19]->[ 7 ]=0x0082;
-$chanmap->{fpga}->[19]->[ 6 ]=0x0082;
-$chanmap->{fpga}->[19]->[ 5 ]=0x0082;
-$chanmap->{fpga}->[19]->[ 4 ]=0x0082;
-$chanmap->{fpga}->[19]->[ 3 ]=0x0082;
-$chanmap->{fpga}->[19]->[ 2 ]=0x0082;
-$chanmap->{fpga}->[19]->[ 1 ]=0x0082;
-$chanmap->{fpga}->[18]->[ 8 ]=0x0083;
-$chanmap->{fpga}->[18]->[ 7 ]=0x0083;
-$chanmap->{fpga}->[18]->[ 6 ]=0x0083;
-$chanmap->{fpga}->[18]->[ 5 ]=0x0083;
-$chanmap->{fpga}->[18]->[ 4 ]=0x0083;
-$chanmap->{fpga}->[18]->[ 3 ]=0x0083;
-$chanmap->{fpga}->[18]->[ 2 ]=0x0083;
-$chanmap->{fpga}->[18]->[ 1 ]=0x0083;
-$chanmap->{fpga}->[17]->[ 8 ]=0x0083;
-$chanmap->{fpga}->[17]->[ 7 ]=0x0083;
-$chanmap->{fpga}->[17]->[ 6 ]=0x0083;
-$chanmap->{fpga}->[17]->[ 5 ]=0x0083;
-$chanmap->{fpga}->[17]->[ 4 ]=0x0083;
-$chanmap->{fpga}->[17]->[ 3 ]=0x0083;
-$chanmap->{fpga}->[17]->[ 2 ]=0x0083;
-$chanmap->{fpga}->[17]->[ 1 ]=0x0083;
-$chanmap->{fpga}->[16]->[ 32]=0x0090;
-$chanmap->{fpga}->[16]->[ 31]=0x0090;
-$chanmap->{fpga}->[16]->[ 30]=0x0090;
-$chanmap->{fpga}->[16]->[ 29]=0x0090;
-$chanmap->{fpga}->[16]->[ 28]=0x0090;
-$chanmap->{fpga}->[16]->[ 27]=0x0090;
-$chanmap->{fpga}->[16]->[ 26]=0x0090;
-$chanmap->{fpga}->[16]->[ 25]=0x0090;
-$chanmap->{fpga}->[15]->[ 32]=0x0090;
-$chanmap->{fpga}->[15]->[ 31]=0x0090;
-$chanmap->{fpga}->[15]->[ 30]=0x0090;
-$chanmap->{fpga}->[15]->[ 29]=0x0090;
-$chanmap->{fpga}->[15]->[ 28]=0x0090;
-$chanmap->{fpga}->[15]->[ 27]=0x0090;
-$chanmap->{fpga}->[15]->[ 26]=0x0090;
-$chanmap->{fpga}->[15]->[ 25]=0x0090;
-$chanmap->{fpga}->[14]->[ 32]=0x0091;
-$chanmap->{fpga}->[14]->[ 31]=0x0091;
-$chanmap->{fpga}->[14]->[ 30]=0x0091;
-$chanmap->{fpga}->[14]->[ 29]=0x0091;
-$chanmap->{fpga}->[14]->[ 28]=0x0091;
-$chanmap->{fpga}->[14]->[ 27]=0x0091;
-$chanmap->{fpga}->[14]->[ 26]=0x0091;
-$chanmap->{fpga}->[14]->[ 25]=0x0091;
-$chanmap->{fpga}->[13]->[ 32]=0x0091;
-$chanmap->{fpga}->[13]->[ 31]=0x0091;
-$chanmap->{fpga}->[13]->[ 30]=0x0091;
-$chanmap->{fpga}->[13]->[ 29]=0x0091;
-$chanmap->{fpga}->[13]->[ 28]=0x0091;
-$chanmap->{fpga}->[13]->[ 27]=0x0091;
-$chanmap->{fpga}->[13]->[ 26]=0x0091;
-$chanmap->{fpga}->[13]->[ 25]=0x0091;
-$chanmap->{fpga}->[12]->[ 32]=0x0092;
-$chanmap->{fpga}->[12]->[ 31]=0x0092;
-$chanmap->{fpga}->[12]->[ 30]=0x0092;
-$chanmap->{fpga}->[12]->[ 29]=0x0092;
-$chanmap->{fpga}->[12]->[ 28]=0x0092;
-$chanmap->{fpga}->[12]->[ 27]=0x0092;
-$chanmap->{fpga}->[12]->[ 26]=0x0092;
-$chanmap->{fpga}->[12]->[ 25]=0x0092;
-$chanmap->{fpga}->[11]->[ 32]=0x0092;
-$chanmap->{fpga}->[11]->[ 31]=0x0092;
-$chanmap->{fpga}->[11]->[ 30]=0x0092;
-$chanmap->{fpga}->[11]->[ 29]=0x0092;
-$chanmap->{fpga}->[11]->[ 28]=0x0092;
-$chanmap->{fpga}->[11]->[ 27]=0x0092;
-$chanmap->{fpga}->[11]->[ 26]=0x0092;
-$chanmap->{fpga}->[11]->[ 25]=0x0092;
-$chanmap->{fpga}->[10]->[ 32]=0x0093;
-$chanmap->{fpga}->[10]->[ 31]=0x0093;
-$chanmap->{fpga}->[10]->[ 30]=0x0093;
-$chanmap->{fpga}->[10]->[ 29]=0x0093;
-$chanmap->{fpga}->[10]->[ 28]=0x0093;
-$chanmap->{fpga}->[10]->[ 27]=0x0093;
-$chanmap->{fpga}->[10]->[ 26]=0x0093;
-$chanmap->{fpga}->[10]->[ 25]=0x0093;
-$chanmap->{fpga}->[9 ]->[32 ]=0x0093;
-$chanmap->{fpga}->[9 ]->[31 ]=0x0093;
-$chanmap->{fpga}->[9 ]->[30 ]=0x0093;
-$chanmap->{fpga}->[9 ]->[29 ]=0x0093;
-$chanmap->{fpga}->[9 ]->[28 ]=0x0093;
-$chanmap->{fpga}->[9 ]->[27 ]=0x0093;
-$chanmap->{fpga}->[9 ]->[26 ]=0x0093;
-$chanmap->{fpga}->[9 ]->[25 ]=0x0093;
-$chanmap->{fpga}->[16]->[ 24]=0x00a0;
-$chanmap->{fpga}->[16]->[ 23]=0x00a0;
-$chanmap->{fpga}->[16]->[ 22]=0x00a0;
-$chanmap->{fpga}->[16]->[ 21]=0x00a0;
-$chanmap->{fpga}->[16]->[ 20]=0x00a0;
-$chanmap->{fpga}->[16]->[ 19]=0x00a0;
-$chanmap->{fpga}->[16]->[ 18]=0x00a0;
-$chanmap->{fpga}->[16]->[ 17]=0x00a0;
-$chanmap->{fpga}->[15]->[ 24]=0x00a0;
-$chanmap->{fpga}->[15]->[ 23]=0x00a0;
-$chanmap->{fpga}->[15]->[ 22]=0x00a0;
-$chanmap->{fpga}->[15]->[ 21]=0x00a0;
-$chanmap->{fpga}->[15]->[ 20]=0x00a0;
-$chanmap->{fpga}->[15]->[ 19]=0x00a0;
-$chanmap->{fpga}->[15]->[ 18]=0x00a0;
-$chanmap->{fpga}->[15]->[ 17]=0x00a0;
-$chanmap->{fpga}->[14]->[ 24]=0x00a1;
-$chanmap->{fpga}->[14]->[ 23]=0x00a1;
-$chanmap->{fpga}->[14]->[ 22]=0x00a1;
-$chanmap->{fpga}->[14]->[ 21]=0x00a1;
-$chanmap->{fpga}->[14]->[ 20]=0x00a1;
-$chanmap->{fpga}->[14]->[ 19]=0x00a1;
-$chanmap->{fpga}->[14]->[ 18]=0x00a1;
-$chanmap->{fpga}->[14]->[ 17]=0x00a1;
-$chanmap->{fpga}->[13]->[ 24]=0x00a1;
-$chanmap->{fpga}->[13]->[ 23]=0x00a1;
-$chanmap->{fpga}->[13]->[ 22]=0x00a1;
-$chanmap->{fpga}->[13]->[ 21]=0x00a1;
-$chanmap->{fpga}->[13]->[ 20]=0x00a1;
-$chanmap->{fpga}->[13]->[ 19]=0x00a1;
-$chanmap->{fpga}->[13]->[ 18]=0x00a1;
-$chanmap->{fpga}->[13]->[ 17]=0x00a1;
-$chanmap->{fpga}->[12]->[ 24]=0x00a2;
-$chanmap->{fpga}->[12]->[ 23]=0x00a2;
-$chanmap->{fpga}->[12]->[ 22]=0x00a2;
-$chanmap->{fpga}->[12]->[ 21]=0x00a2;
-$chanmap->{fpga}->[12]->[ 20]=0x00a2;
-$chanmap->{fpga}->[12]->[ 19]=0x00a2;
-$chanmap->{fpga}->[12]->[ 18]=0x00a2;
-$chanmap->{fpga}->[12]->[ 17]=0x00a2;
-$chanmap->{fpga}->[11]->[ 24]=0x00a2;
-$chanmap->{fpga}->[11]->[ 23]=0x00a2;
-$chanmap->{fpga}->[11]->[ 22]=0x00a2;
-$chanmap->{fpga}->[11]->[ 21]=0x00a2;
-$chanmap->{fpga}->[11]->[ 20]=0x00a2;
-$chanmap->{fpga}->[11]->[ 19]=0x00a2;
-$chanmap->{fpga}->[11]->[ 18]=0x00a2;
-$chanmap->{fpga}->[11]->[ 17]=0x00a2;
-$chanmap->{fpga}->[10]->[ 24]=0x00a3;
-$chanmap->{fpga}->[10]->[ 23]=0x00a3;
-$chanmap->{fpga}->[10]->[ 22]=0x00a3;
-$chanmap->{fpga}->[10]->[ 21]=0x00a3;
-$chanmap->{fpga}->[10]->[ 20]=0x00a3;
-$chanmap->{fpga}->[10]->[ 19]=0x00a3;
-$chanmap->{fpga}->[10]->[ 18]=0x00a3;
-$chanmap->{fpga}->[10]->[ 17]=0x00a3;
-$chanmap->{fpga}->[9 ]->[24 ]=0x00a3;
-$chanmap->{fpga}->[9 ]->[23 ]=0x00a3;
-$chanmap->{fpga}->[9 ]->[22 ]=0x00a3;
-$chanmap->{fpga}->[9 ]->[21 ]=0x00a3;
-$chanmap->{fpga}->[9 ]->[20 ]=0x00a3;
-$chanmap->{fpga}->[9 ]->[19 ]=0x00a3;
-$chanmap->{fpga}->[9 ]->[18 ]=0x00a3;
-$chanmap->{fpga}->[9 ]->[17 ]=0x00a3;
-$chanmap->{fpga}->[16]->[ 16]=0x00b0;
-$chanmap->{fpga}->[16]->[ 15]=0x00b0;
-$chanmap->{fpga}->[16]->[ 14]=0x00b0;
-$chanmap->{fpga}->[16]->[ 13]=0x00b0;
-$chanmap->{fpga}->[16]->[ 12]=0x00b0;
-$chanmap->{fpga}->[16]->[ 11]=0x00b0;
-$chanmap->{fpga}->[16]->[ 10]=0x00b0;
-$chanmap->{fpga}->[16]->[ 9 ]=0x00b0;
-$chanmap->{fpga}->[15]->[ 16]=0x00b0;
-$chanmap->{fpga}->[15]->[ 15]=0x00b0;
-$chanmap->{fpga}->[15]->[ 14]=0x00b0;
-$chanmap->{fpga}->[15]->[ 13]=0x00b0;
-$chanmap->{fpga}->[15]->[ 12]=0x00b0;
-$chanmap->{fpga}->[15]->[ 11]=0x00b0;
-$chanmap->{fpga}->[15]->[ 10]=0x00b0;
-$chanmap->{fpga}->[15]->[ 9 ]=0x00b0;
-$chanmap->{fpga}->[14]->[ 16]=0x00b1;
-$chanmap->{fpga}->[14]->[ 15]=0x00b1;
-$chanmap->{fpga}->[14]->[ 14]=0x00b1;
-$chanmap->{fpga}->[14]->[ 13]=0x00b1;
-$chanmap->{fpga}->[14]->[ 12]=0x00b1;
-$chanmap->{fpga}->[14]->[ 11]=0x00b1;
-$chanmap->{fpga}->[14]->[ 10]=0x00b1;
-$chanmap->{fpga}->[14]->[ 9 ]=0x00b1;
-$chanmap->{fpga}->[13]->[ 16]=0x00b1;
-$chanmap->{fpga}->[13]->[ 15]=0x00b1;
-$chanmap->{fpga}->[13]->[ 14]=0x00b1;
-$chanmap->{fpga}->[13]->[ 13]=0x00b1;
-$chanmap->{fpga}->[13]->[ 12]=0x00b1;
-$chanmap->{fpga}->[13]->[ 11]=0x00b1;
-$chanmap->{fpga}->[13]->[ 10]=0x00b1;
-$chanmap->{fpga}->[13]->[ 9 ]=0x00b1;
-$chanmap->{fpga}->[12]->[ 16]=0x00b2;
-$chanmap->{fpga}->[12]->[ 15]=0x00b2;
-$chanmap->{fpga}->[12]->[ 14]=0x00b2;
-$chanmap->{fpga}->[12]->[ 13]=0x00b2;
-$chanmap->{fpga}->[12]->[ 12]=0x00b2;
-$chanmap->{fpga}->[12]->[ 11]=0x00b2;
-$chanmap->{fpga}->[12]->[ 10]=0x00b2;
-$chanmap->{fpga}->[12]->[ 9 ]=0x00b2;
-$chanmap->{fpga}->[11]->[ 16]=0x00b2;
-$chanmap->{fpga}->[11]->[ 15]=0x00b2;
-$chanmap->{fpga}->[11]->[ 14]=0x00b2;
-$chanmap->{fpga}->[11]->[ 13]=0x00b2;
-$chanmap->{fpga}->[11]->[ 12]=0x00b2;
-$chanmap->{fpga}->[11]->[ 11]=0x00b2;
-$chanmap->{fpga}->[11]->[ 10]=0x00b2;
-$chanmap->{fpga}->[11]->[ 9 ]=0x00b2;
-$chanmap->{fpga}->[10]->[ 16]=0x00b3;
-$chanmap->{fpga}->[10]->[ 15]=0x00b3;
-$chanmap->{fpga}->[10]->[ 14]=0x00b3;
-$chanmap->{fpga}->[10]->[ 13]=0x00b3;
-$chanmap->{fpga}->[10]->[ 12]=0x00b3;
-$chanmap->{fpga}->[10]->[ 11]=0x00b3;
-$chanmap->{fpga}->[10]->[ 10]=0x00b3;
-$chanmap->{fpga}->[10]->[ 9 ]=0x00b3;
-$chanmap->{fpga}->[9 ]->[16 ]=0x00b3;
-$chanmap->{fpga}->[9 ]->[15 ]=0x00b3;
-$chanmap->{fpga}->[9 ]->[14 ]=0x00b3;
-$chanmap->{fpga}->[9 ]->[13 ]=0x00b3;
-$chanmap->{fpga}->[9 ]->[12 ]=0x00b3;
-$chanmap->{fpga}->[9 ]->[11 ]=0x00b3;
-$chanmap->{fpga}->[9 ]->[10 ]=0x00b3;
-$chanmap->{fpga}->[9 ]->[9  ]=0x00b3;
-$chanmap->{fpga}->[16]->[ 8 ]=0x00c0;
-$chanmap->{fpga}->[16]->[ 7 ]=0x00c0;
-$chanmap->{fpga}->[16]->[ 6 ]=0x00c0;
-$chanmap->{fpga}->[16]->[ 5 ]=0x00c0;
-$chanmap->{fpga}->[16]->[ 4 ]=0x00c0;
-$chanmap->{fpga}->[16]->[ 3 ]=0x00c0;
-$chanmap->{fpga}->[16]->[ 2 ]=0x00c0;
-$chanmap->{fpga}->[16]->[ 1 ]=0x00c0;
-$chanmap->{fpga}->[15]->[ 8 ]=0x00c0;
-$chanmap->{fpga}->[15]->[ 7 ]=0x00c0;
-$chanmap->{fpga}->[15]->[ 6 ]=0x00c0;
-$chanmap->{fpga}->[15]->[ 5 ]=0x00c0;
-$chanmap->{fpga}->[15]->[ 4 ]=0x00c0;
-$chanmap->{fpga}->[15]->[ 3 ]=0x00c0;
-$chanmap->{fpga}->[15]->[ 2 ]=0x00c0;
-$chanmap->{fpga}->[15]->[ 1 ]=0x00c0;
-$chanmap->{fpga}->[14]->[ 8 ]=0x00c1;
-$chanmap->{fpga}->[14]->[ 7 ]=0x00c1;
-$chanmap->{fpga}->[14]->[ 6 ]=0x00c1;
-$chanmap->{fpga}->[14]->[ 5 ]=0x00c1;
-$chanmap->{fpga}->[14]->[ 4 ]=0x00c1;
-$chanmap->{fpga}->[14]->[ 3 ]=0x00c1;
-$chanmap->{fpga}->[14]->[ 2 ]=0x00c1;
-$chanmap->{fpga}->[14]->[ 1 ]=0x00c1;
-$chanmap->{fpga}->[13]->[ 8 ]=0x00c1;
-$chanmap->{fpga}->[13]->[ 7 ]=0x00c1;
-$chanmap->{fpga}->[13]->[ 6 ]=0x00c1;
-$chanmap->{fpga}->[13]->[ 5 ]=0x00c1;
-$chanmap->{fpga}->[13]->[ 4 ]=0x00c1;
-$chanmap->{fpga}->[13]->[ 3 ]=0x00c1;
-$chanmap->{fpga}->[13]->[ 2 ]=0x00c1;
-$chanmap->{fpga}->[13]->[ 1 ]=0x00c1;
-$chanmap->{fpga}->[12]->[ 8 ]=0x00c2;
-$chanmap->{fpga}->[12]->[ 7 ]=0x00c2;
-$chanmap->{fpga}->[12]->[ 6 ]=0x00c2;
-$chanmap->{fpga}->[12]->[ 5 ]=0x00c2;
-$chanmap->{fpga}->[12]->[ 4 ]=0x00c2;
-$chanmap->{fpga}->[12]->[ 3 ]=0x00c2;
-$chanmap->{fpga}->[12]->[ 2 ]=0x00c2;
-$chanmap->{fpga}->[12]->[ 1 ]=0x00c2;
-$chanmap->{fpga}->[11]->[ 8 ]=0x00c2;
-$chanmap->{fpga}->[11]->[ 7 ]=0x00c2;
-$chanmap->{fpga}->[11]->[ 6 ]=0x00c2;
-$chanmap->{fpga}->[11]->[ 5 ]=0x00c2;
-$chanmap->{fpga}->[11]->[ 4 ]=0x00c2;
-$chanmap->{fpga}->[11]->[ 3 ]=0x00c2;
-$chanmap->{fpga}->[11]->[ 2 ]=0x00c2;
-$chanmap->{fpga}->[11]->[ 1 ]=0x00c2;
-$chanmap->{fpga}->[10]->[ 8 ]=0x00c3;
-$chanmap->{fpga}->[10]->[ 7 ]=0x00c3;
-$chanmap->{fpga}->[10]->[ 6 ]=0x00c3;
-$chanmap->{fpga}->[10]->[ 5 ]=0x00c3;
-$chanmap->{fpga}->[10]->[ 4 ]=0x00c3;
-$chanmap->{fpga}->[10]->[ 3 ]=0x00c3;
-$chanmap->{fpga}->[10]->[ 2 ]=0x00c3;
-$chanmap->{fpga}->[10]->[ 1 ]=0x00c3;
-$chanmap->{fpga}->[9 ]->[8  ]=0x00c3;
-$chanmap->{fpga}->[9 ]->[7  ]=0x00c3;
-$chanmap->{fpga}->[9 ]->[6  ]=0x00c3;
-$chanmap->{fpga}->[9 ]->[5  ]=0x00c3;
-$chanmap->{fpga}->[9 ]->[4  ]=0x00c3;
-$chanmap->{fpga}->[9 ]->[3  ]=0x00c3;
-$chanmap->{fpga}->[9 ]->[2  ]=0x00c3;
-$chanmap->{fpga}->[9 ]->[1  ]=0x00c3;
-$chanmap->{fpga}->[8 ]->[32 ]=0x00d0;
-$chanmap->{fpga}->[8 ]->[31 ]=0x00d0;
-$chanmap->{fpga}->[8 ]->[30 ]=0x00d0;
-$chanmap->{fpga}->[8 ]->[29 ]=0x00d0;
-$chanmap->{fpga}->[8 ]->[28 ]=0x00d0;
-$chanmap->{fpga}->[8 ]->[27 ]=0x00d0;
-$chanmap->{fpga}->[8 ]->[26 ]=0x00d0;
-$chanmap->{fpga}->[8 ]->[25 ]=0x00d0;
-$chanmap->{fpga}->[7 ]->[32 ]=0x00d0;
-$chanmap->{fpga}->[7 ]->[31 ]=0x00d0;
-$chanmap->{fpga}->[7 ]->[30 ]=0x00d0;
-$chanmap->{fpga}->[7 ]->[29 ]=0x00d0;
-$chanmap->{fpga}->[7 ]->[28 ]=0x00d0;
-$chanmap->{fpga}->[7 ]->[27 ]=0x00d0;
-$chanmap->{fpga}->[7 ]->[26 ]=0x00d0;
-$chanmap->{fpga}->[7 ]->[25 ]=0x00d0;
-$chanmap->{fpga}->[6 ]->[32 ]=0x00d1;
-$chanmap->{fpga}->[6 ]->[31 ]=0x00d1;
-$chanmap->{fpga}->[6 ]->[30 ]=0x00d1;
-$chanmap->{fpga}->[6 ]->[29 ]=0x00d1;
-$chanmap->{fpga}->[6 ]->[28 ]=0x00d1;
-$chanmap->{fpga}->[6 ]->[27 ]=0x00d1;
-$chanmap->{fpga}->[6 ]->[26 ]=0x00d1;
-$chanmap->{fpga}->[6 ]->[25 ]=0x00d1;
-$chanmap->{fpga}->[5 ]->[32 ]=0x00d1;
-$chanmap->{fpga}->[5 ]->[31 ]=0x00d1;
-$chanmap->{fpga}->[5 ]->[30 ]=0x00d1;
-$chanmap->{fpga}->[5 ]->[29 ]=0x00d1;
-$chanmap->{fpga}->[5 ]->[28 ]=0x00d1;
-$chanmap->{fpga}->[5 ]->[27 ]=0x00d1;
-$chanmap->{fpga}->[5 ]->[26 ]=0x00d1;
-$chanmap->{fpga}->[5 ]->[25 ]=0x00d1;
-$chanmap->{fpga}->[4 ]->[32 ]=0x00d2;
-$chanmap->{fpga}->[4 ]->[31 ]=0x00d2;
-$chanmap->{fpga}->[4 ]->[30 ]=0x00d2;
-$chanmap->{fpga}->[4 ]->[29 ]=0x00d2;
-$chanmap->{fpga}->[4 ]->[28 ]=0x00d2;
-$chanmap->{fpga}->[4 ]->[27 ]=0x00d2;
-$chanmap->{fpga}->[4 ]->[26 ]=0x00d2;
-$chanmap->{fpga}->[4 ]->[25 ]=0x00d2;
-$chanmap->{fpga}->[3 ]->[32 ]=0x00d2;
-$chanmap->{fpga}->[3 ]->[31 ]=0x00d2;
-$chanmap->{fpga}->[3 ]->[30 ]=0x00d2;
-$chanmap->{fpga}->[3 ]->[29 ]=0x00d2;
-$chanmap->{fpga}->[3 ]->[28 ]=0x00d2;
-$chanmap->{fpga}->[3 ]->[27 ]=0x00d2;
-$chanmap->{fpga}->[3 ]->[26 ]=0x00d2;
-$chanmap->{fpga}->[3 ]->[25 ]=0x00d2;
-$chanmap->{fpga}->[2 ]->[32 ]=0x00d3;
-$chanmap->{fpga}->[2 ]->[31 ]=0x00d3;
-$chanmap->{fpga}->[2 ]->[30 ]=0x00d3;
-$chanmap->{fpga}->[2 ]->[29 ]=0x00d3;
-$chanmap->{fpga}->[2 ]->[28 ]=0x00d3;
-$chanmap->{fpga}->[2 ]->[27 ]=0x00d3;
-$chanmap->{fpga}->[2 ]->[26 ]=0x00d3;
-$chanmap->{fpga}->[2 ]->[25 ]=0x00d3;
-$chanmap->{fpga}->[1 ]->[32 ]=0x00d3;
-$chanmap->{fpga}->[1 ]->[31 ]=0x00d3;
-$chanmap->{fpga}->[1 ]->[30 ]=0x00d3;
-$chanmap->{fpga}->[1 ]->[29 ]=0x00d3;
-$chanmap->{fpga}->[1 ]->[28 ]=0x00d3;
-$chanmap->{fpga}->[1 ]->[27 ]=0x00d3;
-$chanmap->{fpga}->[1 ]->[26 ]=0x00d3;
-$chanmap->{fpga}->[1 ]->[25 ]=0x00d3;
-$chanmap->{fpga}->[8 ]->[24 ]=0x00e0;
-$chanmap->{fpga}->[8 ]->[23 ]=0x00e0;
-$chanmap->{fpga}->[8 ]->[22 ]=0x00e0;
-$chanmap->{fpga}->[8 ]->[21 ]=0x00e0;
-$chanmap->{fpga}->[8 ]->[20 ]=0x00e0;
-$chanmap->{fpga}->[8 ]->[19 ]=0x00e0;
-$chanmap->{fpga}->[8 ]->[18 ]=0x00e0;
-$chanmap->{fpga}->[8 ]->[17 ]=0x00e0;
-$chanmap->{fpga}->[7 ]->[24 ]=0x00e0;
-$chanmap->{fpga}->[7 ]->[23 ]=0x00e0;
-$chanmap->{fpga}->[7 ]->[22 ]=0x00e0;
-$chanmap->{fpga}->[7 ]->[21 ]=0x00e0;
-$chanmap->{fpga}->[7 ]->[20 ]=0x00e0;
-$chanmap->{fpga}->[7 ]->[19 ]=0x00e0;
-$chanmap->{fpga}->[7 ]->[18 ]=0x00e0;
-$chanmap->{fpga}->[7 ]->[17 ]=0x00e0;
-$chanmap->{fpga}->[6 ]->[24 ]=0x00e1;
-$chanmap->{fpga}->[6 ]->[23 ]=0x00e1;
-$chanmap->{fpga}->[6 ]->[22 ]=0x00e1;
-$chanmap->{fpga}->[6 ]->[21 ]=0x00e1;
-$chanmap->{fpga}->[6 ]->[20 ]=0x00e1;
-$chanmap->{fpga}->[6 ]->[19 ]=0x00e1;
-$chanmap->{fpga}->[6 ]->[18 ]=0x00e1;
-$chanmap->{fpga}->[6 ]->[17 ]=0x00e1;
-$chanmap->{fpga}->[5 ]->[24 ]=0x00e1;
-$chanmap->{fpga}->[5 ]->[23 ]=0x00e1;
-$chanmap->{fpga}->[5 ]->[22 ]=0x00e1;
-$chanmap->{fpga}->[5 ]->[21 ]=0x00e1;
-$chanmap->{fpga}->[5 ]->[20 ]=0x00e1;
-$chanmap->{fpga}->[5 ]->[19 ]=0x00e1;
-$chanmap->{fpga}->[5 ]->[18 ]=0x00e1;
-$chanmap->{fpga}->[5 ]->[17 ]=0x00e1;
-$chanmap->{fpga}->[4 ]->[24 ]=0x00e2;
-$chanmap->{fpga}->[4 ]->[23 ]=0x00e2;
-$chanmap->{fpga}->[4 ]->[22 ]=0x00e2;
-$chanmap->{fpga}->[4 ]->[21 ]=0x00e2;
-$chanmap->{fpga}->[4 ]->[20 ]=0x00e2;
-$chanmap->{fpga}->[4 ]->[19 ]=0x00e2;
-$chanmap->{fpga}->[4 ]->[18 ]=0x00e2;
-$chanmap->{fpga}->[4 ]->[17 ]=0x00e2;
-$chanmap->{fpga}->[3 ]->[24 ]=0x00e2;
-$chanmap->{fpga}->[3 ]->[23 ]=0x00e2;
-$chanmap->{fpga}->[3 ]->[22 ]=0x00e2;
-$chanmap->{fpga}->[3 ]->[21 ]=0x00e2;
-$chanmap->{fpga}->[3 ]->[20 ]=0x00e2;
-$chanmap->{fpga}->[3 ]->[19 ]=0x00e2;
-$chanmap->{fpga}->[3 ]->[18 ]=0x00e2;
-$chanmap->{fpga}->[3 ]->[17 ]=0x00e2;
-$chanmap->{fpga}->[2 ]->[24 ]=0x00e3;
-$chanmap->{fpga}->[2 ]->[23 ]=0x00e3;
-$chanmap->{fpga}->[2 ]->[22 ]=0x00e3;
-$chanmap->{fpga}->[2 ]->[21 ]=0x00e3;
-$chanmap->{fpga}->[2 ]->[20 ]=0x00e3;
-$chanmap->{fpga}->[2 ]->[19 ]=0x00e3;
-$chanmap->{fpga}->[2 ]->[18 ]=0x00e3;
-$chanmap->{fpga}->[2 ]->[17 ]=0x00e3;
-$chanmap->{fpga}->[1 ]->[24 ]=0x00e3;
-$chanmap->{fpga}->[1 ]->[23 ]=0x00e3;
-$chanmap->{fpga}->[1 ]->[22 ]=0x00e3;
-$chanmap->{fpga}->[1 ]->[21 ]=0x00e3;
-$chanmap->{fpga}->[1 ]->[20 ]=0x00e3;
-$chanmap->{fpga}->[1 ]->[19 ]=0x00e3;
-$chanmap->{fpga}->[1 ]->[18 ]=0x00e3;
-$chanmap->{fpga}->[1 ]->[17 ]=0x00e3;
-$chanmap->{fpga}->[8 ]->[16 ]=0x00f0;
-$chanmap->{fpga}->[8 ]->[15 ]=0x00f0;
-$chanmap->{fpga}->[8 ]->[14 ]=0x00f0;
-$chanmap->{fpga}->[8 ]->[13 ]=0x00f0;
-$chanmap->{fpga}->[8 ]->[12 ]=0x00f0;
-$chanmap->{fpga}->[8 ]->[11 ]=0x00f0;
-$chanmap->{fpga}->[8 ]->[10 ]=0x00f0;
-$chanmap->{fpga}->[8 ]->[9  ]=0x00f0;
-$chanmap->{fpga}->[7 ]->[16 ]=0x00f0;
-$chanmap->{fpga}->[7 ]->[15 ]=0x00f0;
-$chanmap->{fpga}->[7 ]->[14 ]=0x00f0;
-$chanmap->{fpga}->[7 ]->[13 ]=0x00f0;
-$chanmap->{fpga}->[7 ]->[12 ]=0x00f0;
-$chanmap->{fpga}->[7 ]->[11 ]=0x00f0;
-$chanmap->{fpga}->[7 ]->[10 ]=0x00f0;
-$chanmap->{fpga}->[7 ]->[9  ]=0x00f0;
-$chanmap->{fpga}->[6 ]->[16 ]=0x00f1;
-$chanmap->{fpga}->[6 ]->[15 ]=0x00f1;
-$chanmap->{fpga}->[6 ]->[14 ]=0x00f1;
-$chanmap->{fpga}->[6 ]->[13 ]=0x00f1;
-$chanmap->{fpga}->[6 ]->[12 ]=0x00f1;
-$chanmap->{fpga}->[6 ]->[11 ]=0x00f1;
-$chanmap->{fpga}->[6 ]->[10 ]=0x00f1;
-$chanmap->{fpga}->[6 ]->[9  ]=0x00f1;
-$chanmap->{fpga}->[5 ]->[16 ]=0x00f1;
-$chanmap->{fpga}->[5 ]->[15 ]=0x00f1;
-$chanmap->{fpga}->[5 ]->[14 ]=0x00f1;
-$chanmap->{fpga}->[5 ]->[13 ]=0x00f1;
-$chanmap->{fpga}->[5 ]->[12 ]=0x00f1;
-$chanmap->{fpga}->[5 ]->[11 ]=0x00f1;
-$chanmap->{fpga}->[5 ]->[10 ]=0x00f1;
-$chanmap->{fpga}->[5 ]->[9  ]=0x00f1;
-$chanmap->{fpga}->[4 ]->[16 ]=0x00f2;
-$chanmap->{fpga}->[4 ]->[15 ]=0x00f2;
-$chanmap->{fpga}->[4 ]->[14 ]=0x00f2;
-$chanmap->{fpga}->[4 ]->[13 ]=0x00f2;
-$chanmap->{fpga}->[4 ]->[12 ]=0x00f2;
-$chanmap->{fpga}->[4 ]->[11 ]=0x00f2;
-$chanmap->{fpga}->[4 ]->[10 ]=0x00f2;
-$chanmap->{fpga}->[4 ]->[9  ]=0x00f2;
-$chanmap->{fpga}->[3 ]->[16 ]=0x00f2;
-$chanmap->{fpga}->[3 ]->[15 ]=0x00f2;
-$chanmap->{fpga}->[3 ]->[14 ]=0x00f2;
-$chanmap->{fpga}->[3 ]->[13 ]=0x00f2;
-$chanmap->{fpga}->[3 ]->[12 ]=0x00f2;
-$chanmap->{fpga}->[3 ]->[11 ]=0x00f2;
-$chanmap->{fpga}->[3 ]->[10 ]=0x00f2;
-$chanmap->{fpga}->[3 ]->[9  ]=0x00f2;
-$chanmap->{fpga}->[2 ]->[16 ]=0x00f3;
-$chanmap->{fpga}->[2 ]->[15 ]=0x00f3;
-$chanmap->{fpga}->[2 ]->[14 ]=0x00f3;
-$chanmap->{fpga}->[2 ]->[13 ]=0x00f3;
-$chanmap->{fpga}->[2 ]->[12 ]=0x00f3;
-$chanmap->{fpga}->[2 ]->[11 ]=0x00f3;
-$chanmap->{fpga}->[2 ]->[10 ]=0x00f3;
-$chanmap->{fpga}->[2 ]->[9  ]=0x00f3;
-$chanmap->{fpga}->[1 ]->[16 ]=0x00f3;
-$chanmap->{fpga}->[1 ]->[15 ]=0x00f3;
-$chanmap->{fpga}->[1 ]->[14 ]=0x00f3;
-$chanmap->{fpga}->[1 ]->[13 ]=0x00f3;
-$chanmap->{fpga}->[1 ]->[12 ]=0x00f3;
-$chanmap->{fpga}->[1 ]->[11 ]=0x00f3;
-$chanmap->{fpga}->[1 ]->[10 ]=0x00f3;
-$chanmap->{fpga}->[1 ]->[9  ]=0x00f3;
-$chanmap->{fpga}->[8 ]->[8  ]=0x0100;
-$chanmap->{fpga}->[8 ]->[7  ]=0x0100;
-$chanmap->{fpga}->[8 ]->[6  ]=0x0100;
-$chanmap->{fpga}->[8 ]->[5  ]=0x0100;
-$chanmap->{fpga}->[8 ]->[4  ]=0x0100;
-$chanmap->{fpga}->[8 ]->[3  ]=0x0100;
-$chanmap->{fpga}->[8 ]->[2  ]=0x0100;
-$chanmap->{fpga}->[8 ]->[1  ]=0x0100;
-$chanmap->{fpga}->[7 ]->[8  ]=0x0100;
-$chanmap->{fpga}->[7 ]->[7  ]=0x0100;
-$chanmap->{fpga}->[7 ]->[6  ]=0x0100;
-$chanmap->{fpga}->[7 ]->[5  ]=0x0100;
-$chanmap->{fpga}->[7 ]->[4  ]=0x0100;
-$chanmap->{fpga}->[7 ]->[3  ]=0x0100;
-$chanmap->{fpga}->[7 ]->[2  ]=0x0100;
-$chanmap->{fpga}->[7 ]->[1  ]=0x0100;
-$chanmap->{fpga}->[6 ]->[8  ]=0x0101;
-$chanmap->{fpga}->[6 ]->[7  ]=0x0101;
-$chanmap->{fpga}->[6 ]->[6  ]=0x0101;
-$chanmap->{fpga}->[6 ]->[5  ]=0x0101;
-$chanmap->{fpga}->[6 ]->[4  ]=0x0101;
-$chanmap->{fpga}->[6 ]->[3  ]=0x0101;
-$chanmap->{fpga}->[6 ]->[2  ]=0x0101;
-$chanmap->{fpga}->[6 ]->[1  ]=0x0101;
-$chanmap->{fpga}->[5 ]->[8  ]=0x0101;
-$chanmap->{fpga}->[5 ]->[7  ]=0x0101;
-$chanmap->{fpga}->[5 ]->[6  ]=0x0101;
-$chanmap->{fpga}->[5 ]->[5  ]=0x0101;
-$chanmap->{fpga}->[5 ]->[4  ]=0x0101;
-$chanmap->{fpga}->[5 ]->[3  ]=0x0101;
-$chanmap->{fpga}->[5 ]->[2  ]=0x0101;
-$chanmap->{fpga}->[5 ]->[1  ]=0x0101;
-$chanmap->{fpga}->[4 ]->[8  ]=0x0102;
-$chanmap->{fpga}->[4 ]->[7  ]=0x0102;
-$chanmap->{fpga}->[4 ]->[6  ]=0x0102;
-$chanmap->{fpga}->[4 ]->[5  ]=0x0102;
-$chanmap->{fpga}->[4 ]->[4  ]=0x0102;
-$chanmap->{fpga}->[4 ]->[3  ]=0x0102;
-$chanmap->{fpga}->[4 ]->[2  ]=0x0102;
-$chanmap->{fpga}->[4 ]->[1  ]=0x0102;
-$chanmap->{fpga}->[3 ]->[8  ]=0x0102;
-$chanmap->{fpga}->[3 ]->[7  ]=0x0102;
-$chanmap->{fpga}->[3 ]->[6  ]=0x0102;
-$chanmap->{fpga}->[3 ]->[5  ]=0x0102;
-$chanmap->{fpga}->[3 ]->[4  ]=0x0102;
-$chanmap->{fpga}->[3 ]->[3  ]=0x0102;
-$chanmap->{fpga}->[3 ]->[2  ]=0x0102;
-$chanmap->{fpga}->[3 ]->[1  ]=0x0102;
-$chanmap->{fpga}->[2 ]->[8  ]=0x0103;
-$chanmap->{fpga}->[2 ]->[7  ]=0x0103;
-$chanmap->{fpga}->[2 ]->[6  ]=0x0103;
-$chanmap->{fpga}->[2 ]->[5  ]=0x0103;
-$chanmap->{fpga}->[2 ]->[4  ]=0x0103;
-$chanmap->{fpga}->[2 ]->[3  ]=0x0103;
-$chanmap->{fpga}->[2 ]->[2  ]=0x0103;
-$chanmap->{fpga}->[2 ]->[1  ]=0x0103;
-$chanmap->{fpga}->[1 ]->[8  ]=0x0103;
-$chanmap->{fpga}->[1 ]->[7  ]=0x0103;
-$chanmap->{fpga}->[1 ]->[6  ]=0x0103;
-$chanmap->{fpga}->[1 ]->[5  ]=0x0103;
-$chanmap->{fpga}->[1 ]->[4  ]=0x0103;
-$chanmap->{fpga}->[1 ]->[3  ]=0x0103;
-$chanmap->{fpga}->[1 ]->[2  ]=0x0103;
-$chanmap->{fpga}->[1 ]->[1  ]=0x0103;
-
-
-
-
-
-
-
-
-
-$chanmap->{chan}->[32]->[ 32]= 1 ;
-$chanmap->{chan}->[32]->[ 31]= 3 ;
-$chanmap->{chan}->[32]->[ 30]= 9 ;
-$chanmap->{chan}->[32]->[ 29]= 11;
-$chanmap->{chan}->[32]->[ 28]= 21;
-$chanmap->{chan}->[32]->[ 27]= 19;
-$chanmap->{chan}->[32]->[ 26]= 31;
-$chanmap->{chan}->[32]->[ 25]= 29;
-$chanmap->{chan}->[31]->[ 32]= 5 ;
-$chanmap->{chan}->[31]->[ 31]= 7 ;
-$chanmap->{chan}->[31]->[ 30]= 13;
-$chanmap->{chan}->[31]->[ 29]= 15;
-$chanmap->{chan}->[31]->[ 28]= 23;
-$chanmap->{chan}->[31]->[ 27]= 17;
-$chanmap->{chan}->[31]->[ 26]= 27;
-$chanmap->{chan}->[31]->[ 25]= 25;
-$chanmap->{chan}->[30]->[ 32]= 27;
-$chanmap->{chan}->[30]->[ 31]= 31;
-$chanmap->{chan}->[30]->[ 30]= 17;
-$chanmap->{chan}->[30]->[ 29]= 19;
-$chanmap->{chan}->[30]->[ 28]= 15;
-$chanmap->{chan}->[30]->[ 27]= 11;
-$chanmap->{chan}->[30]->[ 26]= 7 ;
-$chanmap->{chan}->[30]->[ 25]= 3 ;
-$chanmap->{chan}->[29]->[ 32]= 29;
-$chanmap->{chan}->[29]->[ 31]= 25;
-$chanmap->{chan}->[29]->[ 30]= 21;
-$chanmap->{chan}->[29]->[ 29]= 23;
-$chanmap->{chan}->[29]->[ 28]= 13;
-$chanmap->{chan}->[29]->[ 27]= 9 ;
-$chanmap->{chan}->[29]->[ 26]= 1 ;
-$chanmap->{chan}->[29]->[ 25]= 5 ;
-$chanmap->{chan}->[28]->[ 32]= 7 ;
-$chanmap->{chan}->[28]->[ 31]= 5 ;
-$chanmap->{chan}->[28]->[ 30]= 15;
-$chanmap->{chan}->[28]->[ 29]= 13;
-$chanmap->{chan}->[28]->[ 28]= 17;
-$chanmap->{chan}->[28]->[ 27]= 21;
-$chanmap->{chan}->[28]->[ 26]= 25;
-$chanmap->{chan}->[28]->[ 25]= 29;
-$chanmap->{chan}->[27]->[ 32]= 1 ;
-$chanmap->{chan}->[27]->[ 31]= 3 ;
-$chanmap->{chan}->[27]->[ 30]= 9 ;
-$chanmap->{chan}->[27]->[ 29]= 11;
-$chanmap->{chan}->[27]->[ 28]= 19;
-$chanmap->{chan}->[27]->[ 27]= 23;
-$chanmap->{chan}->[27]->[ 26]= 27;
-$chanmap->{chan}->[27]->[ 25]= 31;
-$chanmap->{chan}->[26]->[ 32]= 27;
-$chanmap->{chan}->[26]->[ 31]= 25;
-$chanmap->{chan}->[26]->[ 30]= 17;
-$chanmap->{chan}->[26]->[ 29]= 19;
-$chanmap->{chan}->[26]->[ 28]= 9 ;
-$chanmap->{chan}->[26]->[ 27]= 13;
-$chanmap->{chan}->[26]->[ 26]= 7 ;
-$chanmap->{chan}->[26]->[ 25]= 5 ;
-$chanmap->{chan}->[25]->[ 32]= 29;
-$chanmap->{chan}->[25]->[ 31]= 31;
-$chanmap->{chan}->[25]->[ 30]= 21;
-$chanmap->{chan}->[25]->[ 29]= 23;
-$chanmap->{chan}->[25]->[ 28]= 15;
-$chanmap->{chan}->[25]->[ 27]= 11;
-$chanmap->{chan}->[25]->[ 26]= 3 ;
-$chanmap->{chan}->[25]->[ 25]= 1 ;
-$chanmap->{chan}->[32]->[ 24]= 1 ;
-$chanmap->{chan}->[32]->[ 23]= 3 ;
-$chanmap->{chan}->[32]->[ 22]= 9 ;
-$chanmap->{chan}->[32]->[ 21]= 11;
-$chanmap->{chan}->[32]->[ 20]= 21;
-$chanmap->{chan}->[32]->[ 19]= 19;
-$chanmap->{chan}->[32]->[ 18]= 31;
-$chanmap->{chan}->[32]->[ 17]= 29;
-$chanmap->{chan}->[31]->[ 24]= 5 ;
-$chanmap->{chan}->[31]->[ 23]= 7 ;
-$chanmap->{chan}->[31]->[ 22]= 13;
-$chanmap->{chan}->[31]->[ 21]= 15;
-$chanmap->{chan}->[31]->[ 20]= 23;
-$chanmap->{chan}->[31]->[ 19]= 17;
-$chanmap->{chan}->[31]->[ 18]= 27;
-$chanmap->{chan}->[31]->[ 17]= 25;
-$chanmap->{chan}->[30]->[ 24]= 27;
-$chanmap->{chan}->[30]->[ 23]= 31;
-$chanmap->{chan}->[30]->[ 22]= 17;
-$chanmap->{chan}->[30]->[ 21]= 19;
-$chanmap->{chan}->[30]->[ 20]= 15;
-$chanmap->{chan}->[30]->[ 19]= 11;
-$chanmap->{chan}->[30]->[ 18]= 7 ;
-$chanmap->{chan}->[30]->[ 17]= 3 ;
-$chanmap->{chan}->[29]->[ 24]= 29;
-$chanmap->{chan}->[29]->[ 23]= 25;
-$chanmap->{chan}->[29]->[ 22]= 21;
-$chanmap->{chan}->[29]->[ 21]= 23;
-$chanmap->{chan}->[29]->[ 20]= 13;
-$chanmap->{chan}->[29]->[ 19]= 9 ;
-$chanmap->{chan}->[29]->[ 18]= 1 ;
-$chanmap->{chan}->[29]->[ 17]= 5 ;
-$chanmap->{chan}->[28]->[ 24]= 7 ;
-$chanmap->{chan}->[28]->[ 23]= 5 ;
-$chanmap->{chan}->[28]->[ 22]= 15;
-$chanmap->{chan}->[28]->[ 21]= 13;
-$chanmap->{chan}->[28]->[ 20]= 17;
-$chanmap->{chan}->[28]->[ 19]= 21;
-$chanmap->{chan}->[28]->[ 18]= 25;
-$chanmap->{chan}->[28]->[ 17]= 29;
-$chanmap->{chan}->[27]->[ 24]= 1 ;
-$chanmap->{chan}->[27]->[ 23]= 3 ;
-$chanmap->{chan}->[27]->[ 22]= 9 ;
-$chanmap->{chan}->[27]->[ 21]= 11;
-$chanmap->{chan}->[27]->[ 20]= 19;
-$chanmap->{chan}->[27]->[ 19]= 23;
-$chanmap->{chan}->[27]->[ 18]= 27;
-$chanmap->{chan}->[27]->[ 17]= 31;
-$chanmap->{chan}->[26]->[ 24]= 27;
-$chanmap->{chan}->[26]->[ 23]= 25;
-$chanmap->{chan}->[26]->[ 22]= 17;
-$chanmap->{chan}->[26]->[ 21]= 19;
-$chanmap->{chan}->[26]->[ 20]= 9 ;
-$chanmap->{chan}->[26]->[ 19]= 13;
-$chanmap->{chan}->[26]->[ 18]= 7 ;
-$chanmap->{chan}->[26]->[ 17]= 5 ;
-$chanmap->{chan}->[25]->[ 24]= 29;
-$chanmap->{chan}->[25]->[ 23]= 31;
-$chanmap->{chan}->[25]->[ 22]= 21;
-$chanmap->{chan}->[25]->[ 21]= 23;
-$chanmap->{chan}->[25]->[ 20]= 15;
-$chanmap->{chan}->[25]->[ 19]= 11;
-$chanmap->{chan}->[25]->[ 18]= 3 ;
-$chanmap->{chan}->[25]->[ 17]= 1 ;
-$chanmap->{chan}->[32]->[ 16]= 1 ;
-$chanmap->{chan}->[32]->[ 15]= 3 ;
-$chanmap->{chan}->[32]->[ 14]= 9 ;
-$chanmap->{chan}->[32]->[ 13]= 11;
-$chanmap->{chan}->[32]->[ 12]= 21;
-$chanmap->{chan}->[32]->[ 11]= 19;
-$chanmap->{chan}->[32]->[ 10]= 31;
-$chanmap->{chan}->[32]->[ 9 ]= 29;
-$chanmap->{chan}->[31]->[ 16]= 5 ;
-$chanmap->{chan}->[31]->[ 15]= 7 ;
-$chanmap->{chan}->[31]->[ 14]= 13;
-$chanmap->{chan}->[31]->[ 13]= 15;
-$chanmap->{chan}->[31]->[ 12]= 23;
-$chanmap->{chan}->[31]->[ 11]= 17;
-$chanmap->{chan}->[31]->[ 10]= 27;
-$chanmap->{chan}->[31]->[ 9 ]= 25;
-$chanmap->{chan}->[30]->[ 16]= 27;
-$chanmap->{chan}->[30]->[ 15]= 31;
-$chanmap->{chan}->[30]->[ 14]= 17;
-$chanmap->{chan}->[30]->[ 13]= 19;
-$chanmap->{chan}->[30]->[ 12]= 15;
-$chanmap->{chan}->[30]->[ 11]= 11;
-$chanmap->{chan}->[30]->[ 10]= 7 ;
-$chanmap->{chan}->[30]->[ 9 ]= 3 ;
-$chanmap->{chan}->[29]->[ 16]= 29;
-$chanmap->{chan}->[29]->[ 15]= 25;
-$chanmap->{chan}->[29]->[ 14]= 21;
-$chanmap->{chan}->[29]->[ 13]= 23;
-$chanmap->{chan}->[29]->[ 12]= 13;
-$chanmap->{chan}->[29]->[ 11]= 9 ;
-$chanmap->{chan}->[29]->[ 10]= 1 ;
-$chanmap->{chan}->[29]->[ 9 ]= 5 ;
-$chanmap->{chan}->[28]->[ 16]= 7 ;
-$chanmap->{chan}->[28]->[ 15]= 5 ;
-$chanmap->{chan}->[28]->[ 14]= 15;
-$chanmap->{chan}->[28]->[ 13]= 13;
-$chanmap->{chan}->[28]->[ 12]= 17;
-$chanmap->{chan}->[28]->[ 11]= 21;
-$chanmap->{chan}->[28]->[ 10]= 25;
-$chanmap->{chan}->[28]->[ 9 ]= 29;
-$chanmap->{chan}->[27]->[ 16]= 1 ;
-$chanmap->{chan}->[27]->[ 15]= 3 ;
-$chanmap->{chan}->[27]->[ 14]= 9 ;
-$chanmap->{chan}->[27]->[ 13]= 11;
-$chanmap->{chan}->[27]->[ 12]= 19;
-$chanmap->{chan}->[27]->[ 11]= 23;
-$chanmap->{chan}->[27]->[ 10]= 27;
-$chanmap->{chan}->[27]->[ 9 ]= 31;
-$chanmap->{chan}->[26]->[ 16]= 27;
-$chanmap->{chan}->[26]->[ 15]= 25;
-$chanmap->{chan}->[26]->[ 14]= 17;
-$chanmap->{chan}->[26]->[ 13]= 19;
-$chanmap->{chan}->[26]->[ 12]= 9 ;
-$chanmap->{chan}->[26]->[ 11]= 13;
-$chanmap->{chan}->[26]->[ 10]= 7 ;
-$chanmap->{chan}->[26]->[ 9 ]= 5 ;
-$chanmap->{chan}->[25]->[ 16]= 29;
-$chanmap->{chan}->[25]->[ 15]= 31;
-$chanmap->{chan}->[25]->[ 14]= 21;
-$chanmap->{chan}->[25]->[ 13]= 23;
-$chanmap->{chan}->[25]->[ 12]= 15;
-$chanmap->{chan}->[25]->[ 11]= 11;
-$chanmap->{chan}->[25]->[ 10]= 3 ;
-$chanmap->{chan}->[25]->[ 9 ]= 1 ;
-$chanmap->{chan}->[32]->[ 8 ]= 1 ;
-$chanmap->{chan}->[32]->[ 7 ]= 3 ;
-$chanmap->{chan}->[32]->[ 6 ]= 9 ;
-$chanmap->{chan}->[32]->[ 5 ]= 11;
-$chanmap->{chan}->[32]->[ 4 ]= 21;
-$chanmap->{chan}->[32]->[ 3 ]= 19;
-$chanmap->{chan}->[32]->[ 2 ]= 31;
-$chanmap->{chan}->[32]->[ 1 ]= 29;
-$chanmap->{chan}->[31]->[ 8 ]= 5 ;
-$chanmap->{chan}->[31]->[ 7 ]= 7 ;
-$chanmap->{chan}->[31]->[ 6 ]= 13;
-$chanmap->{chan}->[31]->[ 5 ]= 15;
-$chanmap->{chan}->[31]->[ 4 ]= 23;
-$chanmap->{chan}->[31]->[ 3 ]= 17;
-$chanmap->{chan}->[31]->[ 2 ]= 27;
-$chanmap->{chan}->[31]->[ 1 ]= 25;
-$chanmap->{chan}->[30]->[ 8 ]= 27;
-$chanmap->{chan}->[30]->[ 7 ]= 31;
-$chanmap->{chan}->[30]->[ 6 ]= 17;
-$chanmap->{chan}->[30]->[ 5 ]= 19;
-$chanmap->{chan}->[30]->[ 4 ]= 15;
-$chanmap->{chan}->[30]->[ 3 ]= 11;
-$chanmap->{chan}->[30]->[ 2 ]= 7 ;
-$chanmap->{chan}->[30]->[ 1 ]= 3 ;
-$chanmap->{chan}->[29]->[ 8 ]= 29;
-$chanmap->{chan}->[29]->[ 7 ]= 25;
-$chanmap->{chan}->[29]->[ 6 ]= 21;
-$chanmap->{chan}->[29]->[ 5 ]= 23;
-$chanmap->{chan}->[29]->[ 4 ]= 13;
-$chanmap->{chan}->[29]->[ 3 ]= 9 ;
-$chanmap->{chan}->[29]->[ 2 ]= 1 ;
-$chanmap->{chan}->[29]->[ 1 ]= 5 ;
-$chanmap->{chan}->[28]->[ 8 ]= 7 ;
-$chanmap->{chan}->[28]->[ 7 ]= 5 ;
-$chanmap->{chan}->[28]->[ 6 ]= 15;
-$chanmap->{chan}->[28]->[ 5 ]= 13;
-$chanmap->{chan}->[28]->[ 4 ]= 17;
-$chanmap->{chan}->[28]->[ 3 ]= 21;
-$chanmap->{chan}->[28]->[ 2 ]= 25;
-$chanmap->{chan}->[28]->[ 1 ]= 29;
-$chanmap->{chan}->[27]->[ 8 ]= 1 ;
-$chanmap->{chan}->[27]->[ 7 ]= 3 ;
-$chanmap->{chan}->[27]->[ 6 ]= 9 ;
-$chanmap->{chan}->[27]->[ 5 ]= 11;
-$chanmap->{chan}->[27]->[ 4 ]= 19;
-$chanmap->{chan}->[27]->[ 3 ]= 23;
-$chanmap->{chan}->[27]->[ 2 ]= 27;
-$chanmap->{chan}->[27]->[ 1 ]= 31;
-$chanmap->{chan}->[26]->[ 8 ]= 27;
-$chanmap->{chan}->[26]->[ 7 ]= 25;
-$chanmap->{chan}->[26]->[ 6 ]= 17;
-$chanmap->{chan}->[26]->[ 5 ]= 19;
-$chanmap->{chan}->[26]->[ 4 ]= 9 ;
-$chanmap->{chan}->[26]->[ 3 ]= 13;
-$chanmap->{chan}->[26]->[ 2 ]= 7 ;
-$chanmap->{chan}->[26]->[ 1 ]= 5 ;
-$chanmap->{chan}->[25]->[ 8 ]= 29;
-$chanmap->{chan}->[25]->[ 7 ]= 31;
-$chanmap->{chan}->[25]->[ 6 ]= 21;
-$chanmap->{chan}->[25]->[ 5 ]= 23;
-$chanmap->{chan}->[25]->[ 4 ]= 15;
-$chanmap->{chan}->[25]->[ 3 ]= 11;
-$chanmap->{chan}->[25]->[ 2 ]= 3 ;
-$chanmap->{chan}->[25]->[ 1 ]= 1 ;
-$chanmap->{chan}->[24]->[ 32]= 1 ;
-$chanmap->{chan}->[24]->[ 31]= 3 ;
-$chanmap->{chan}->[24]->[ 30]= 9 ;
-$chanmap->{chan}->[24]->[ 29]= 11;
-$chanmap->{chan}->[24]->[ 28]= 21;
-$chanmap->{chan}->[24]->[ 27]= 19;
-$chanmap->{chan}->[24]->[ 26]= 31;
-$chanmap->{chan}->[24]->[ 25]= 29;
-$chanmap->{chan}->[23]->[ 32]= 5 ;
-$chanmap->{chan}->[23]->[ 31]= 7 ;
-$chanmap->{chan}->[23]->[ 30]= 13;
-$chanmap->{chan}->[23]->[ 29]= 15;
-$chanmap->{chan}->[23]->[ 28]= 23;
-$chanmap->{chan}->[23]->[ 27]= 17;
-$chanmap->{chan}->[23]->[ 26]= 27;
-$chanmap->{chan}->[23]->[ 25]= 25;
-$chanmap->{chan}->[22]->[ 32]= 27;
-$chanmap->{chan}->[22]->[ 31]= 31;
-$chanmap->{chan}->[22]->[ 30]= 17;
-$chanmap->{chan}->[22]->[ 29]= 19;
-$chanmap->{chan}->[22]->[ 28]= 15;
-$chanmap->{chan}->[22]->[ 27]= 11;
-$chanmap->{chan}->[22]->[ 26]= 7 ;
-$chanmap->{chan}->[22]->[ 25]= 3 ;
-$chanmap->{chan}->[21]->[ 32]= 29;
-$chanmap->{chan}->[21]->[ 31]= 25;
-$chanmap->{chan}->[21]->[ 30]= 21;
-$chanmap->{chan}->[21]->[ 29]= 23;
-$chanmap->{chan}->[21]->[ 28]= 13;
-$chanmap->{chan}->[21]->[ 27]= 9 ;
-$chanmap->{chan}->[21]->[ 26]= 1 ;
-$chanmap->{chan}->[21]->[ 25]= 5 ;
-$chanmap->{chan}->[20]->[ 32]= 7 ;
-$chanmap->{chan}->[20]->[ 31]= 5 ;
-$chanmap->{chan}->[20]->[ 30]= 15;
-$chanmap->{chan}->[20]->[ 29]= 13;
-$chanmap->{chan}->[20]->[ 28]= 17;
-$chanmap->{chan}->[20]->[ 27]= 21;
-$chanmap->{chan}->[20]->[ 26]= 25;
-$chanmap->{chan}->[20]->[ 25]= 29;
-$chanmap->{chan}->[19]->[ 32]= 1 ;
-$chanmap->{chan}->[19]->[ 31]= 3 ;
-$chanmap->{chan}->[19]->[ 30]= 9 ;
-$chanmap->{chan}->[19]->[ 29]= 11;
-$chanmap->{chan}->[19]->[ 28]= 19;
-$chanmap->{chan}->[19]->[ 27]= 23;
-$chanmap->{chan}->[19]->[ 26]= 27;
-$chanmap->{chan}->[19]->[ 25]= 31;
-$chanmap->{chan}->[18]->[ 32]= 27;
-$chanmap->{chan}->[18]->[ 31]= 25;
-$chanmap->{chan}->[18]->[ 30]= 17;
-$chanmap->{chan}->[18]->[ 29]= 19;
-$chanmap->{chan}->[18]->[ 28]= 9 ;
-$chanmap->{chan}->[18]->[ 27]= 13;
-$chanmap->{chan}->[18]->[ 26]= 7 ;
-$chanmap->{chan}->[18]->[ 25]= 5 ;
-$chanmap->{chan}->[17]->[ 32]= 29;
-$chanmap->{chan}->[17]->[ 31]= 31;
-$chanmap->{chan}->[17]->[ 30]= 21;
-$chanmap->{chan}->[17]->[ 29]= 23;
-$chanmap->{chan}->[17]->[ 28]= 15;
-$chanmap->{chan}->[17]->[ 27]= 11;
-$chanmap->{chan}->[17]->[ 26]= 3 ;
-$chanmap->{chan}->[17]->[ 25]= 1 ;
-$chanmap->{chan}->[24]->[ 24]= 1 ;
-$chanmap->{chan}->[24]->[ 23]= 3 ;
-$chanmap->{chan}->[24]->[ 22]= 9 ;
-$chanmap->{chan}->[24]->[ 21]= 11;
-$chanmap->{chan}->[24]->[ 20]= 21;
-$chanmap->{chan}->[24]->[ 19]= 19;
-$chanmap->{chan}->[24]->[ 18]= 31;
-$chanmap->{chan}->[24]->[ 17]= 29;
-$chanmap->{chan}->[23]->[ 24]= 5 ;
-$chanmap->{chan}->[23]->[ 23]= 7 ;
-$chanmap->{chan}->[23]->[ 22]= 13;
-$chanmap->{chan}->[23]->[ 21]= 15;
-$chanmap->{chan}->[23]->[ 20]= 23;
-$chanmap->{chan}->[23]->[ 19]= 17;
-$chanmap->{chan}->[23]->[ 18]= 27;
-$chanmap->{chan}->[23]->[ 17]= 25;
-$chanmap->{chan}->[22]->[ 24]= 27;
-$chanmap->{chan}->[22]->[ 23]= 31;
-$chanmap->{chan}->[22]->[ 22]= 17;
-$chanmap->{chan}->[22]->[ 21]= 19;
-$chanmap->{chan}->[22]->[ 20]= 15;
-$chanmap->{chan}->[22]->[ 19]= 11;
-$chanmap->{chan}->[22]->[ 18]= 7 ;
-$chanmap->{chan}->[22]->[ 17]= 3 ;
-$chanmap->{chan}->[21]->[ 24]= 29;
-$chanmap->{chan}->[21]->[ 23]= 25;
-$chanmap->{chan}->[21]->[ 22]= 21;
-$chanmap->{chan}->[21]->[ 21]= 23;
-$chanmap->{chan}->[21]->[ 20]= 13;
-$chanmap->{chan}->[21]->[ 19]= 9 ;
-$chanmap->{chan}->[21]->[ 18]= 1 ;
-$chanmap->{chan}->[21]->[ 17]= 5 ;
-$chanmap->{chan}->[20]->[ 24]= 7 ;
-$chanmap->{chan}->[20]->[ 23]= 5 ;
-$chanmap->{chan}->[20]->[ 22]= 15;
-$chanmap->{chan}->[20]->[ 21]= 13;
-$chanmap->{chan}->[20]->[ 20]= 17;
-$chanmap->{chan}->[20]->[ 19]= 21;
-$chanmap->{chan}->[20]->[ 18]= 25;
-$chanmap->{chan}->[20]->[ 17]= 29;
-$chanmap->{chan}->[19]->[ 24]= 1 ;
-$chanmap->{chan}->[19]->[ 23]= 3 ;
-$chanmap->{chan}->[19]->[ 22]= 9 ;
-$chanmap->{chan}->[19]->[ 21]= 11;
-$chanmap->{chan}->[19]->[ 20]= 19;
-$chanmap->{chan}->[19]->[ 19]= 23;
-$chanmap->{chan}->[19]->[ 18]= 27;
-$chanmap->{chan}->[19]->[ 17]= 31;
-$chanmap->{chan}->[18]->[ 24]= 27;
-$chanmap->{chan}->[18]->[ 23]= 25;
-$chanmap->{chan}->[18]->[ 22]= 17;
-$chanmap->{chan}->[18]->[ 21]= 19;
-$chanmap->{chan}->[18]->[ 20]= 9 ;
-$chanmap->{chan}->[18]->[ 19]= 13;
-$chanmap->{chan}->[18]->[ 18]= 7 ;
-$chanmap->{chan}->[18]->[ 17]= 5 ;
-$chanmap->{chan}->[17]->[ 24]= 29;
-$chanmap->{chan}->[17]->[ 23]= 31;
-$chanmap->{chan}->[17]->[ 22]= 21;
-$chanmap->{chan}->[17]->[ 21]= 23;
-$chanmap->{chan}->[17]->[ 20]= 15;
-$chanmap->{chan}->[17]->[ 19]= 11;
-$chanmap->{chan}->[17]->[ 18]= 3 ;
-$chanmap->{chan}->[17]->[ 17]= 1 ;
-$chanmap->{chan}->[24]->[ 16]= 1 ;
-$chanmap->{chan}->[24]->[ 15]= 3 ;
-$chanmap->{chan}->[24]->[ 14]= 9 ;
-$chanmap->{chan}->[24]->[ 13]= 11;
-$chanmap->{chan}->[24]->[ 12]= 21;
-$chanmap->{chan}->[24]->[ 11]= 19;
-$chanmap->{chan}->[24]->[ 10]= 31;
-$chanmap->{chan}->[24]->[ 9 ]= 29;
-$chanmap->{chan}->[23]->[ 16]= 5 ;
-$chanmap->{chan}->[23]->[ 15]= 7 ;
-$chanmap->{chan}->[23]->[ 14]= 13;
-$chanmap->{chan}->[23]->[ 13]= 15;
-$chanmap->{chan}->[23]->[ 12]= 23;
-$chanmap->{chan}->[23]->[ 11]= 17;
-$chanmap->{chan}->[23]->[ 10]= 27;
-$chanmap->{chan}->[23]->[ 9 ]= 25;
-$chanmap->{chan}->[22]->[ 16]= 27;
-$chanmap->{chan}->[22]->[ 15]= 31;
-$chanmap->{chan}->[22]->[ 14]= 17;
-$chanmap->{chan}->[22]->[ 13]= 19;
-$chanmap->{chan}->[22]->[ 12]= 15;
-$chanmap->{chan}->[22]->[ 11]= 11;
-$chanmap->{chan}->[22]->[ 10]= 7 ;
-$chanmap->{chan}->[22]->[ 9 ]= 3 ;
-$chanmap->{chan}->[21]->[ 16]= 29;
-$chanmap->{chan}->[21]->[ 15]= 25;
-$chanmap->{chan}->[21]->[ 14]= 21;
-$chanmap->{chan}->[21]->[ 13]= 23;
-$chanmap->{chan}->[21]->[ 12]= 13;
-$chanmap->{chan}->[21]->[ 11]= 9 ;
-$chanmap->{chan}->[21]->[ 10]= 1 ;
-$chanmap->{chan}->[21]->[ 9 ]= 5 ;
-$chanmap->{chan}->[20]->[ 16]= 7 ;
-$chanmap->{chan}->[20]->[ 15]= 5 ;
-$chanmap->{chan}->[20]->[ 14]= 15;
-$chanmap->{chan}->[20]->[ 13]= 13;
-$chanmap->{chan}->[20]->[ 12]= 17;
-$chanmap->{chan}->[20]->[ 11]= 21;
-$chanmap->{chan}->[20]->[ 10]= 25;
-$chanmap->{chan}->[20]->[ 9 ]= 29;
-$chanmap->{chan}->[19]->[ 16]= 1 ;
-$chanmap->{chan}->[19]->[ 15]= 3 ;
-$chanmap->{chan}->[19]->[ 14]= 9 ;
-$chanmap->{chan}->[19]->[ 13]= 11;
-$chanmap->{chan}->[19]->[ 12]= 19;
-$chanmap->{chan}->[19]->[ 11]= 23;
-$chanmap->{chan}->[19]->[ 10]= 27;
-$chanmap->{chan}->[19]->[ 9 ]= 31;
-$chanmap->{chan}->[18]->[ 16]= 27;
-$chanmap->{chan}->[18]->[ 15]= 25;
-$chanmap->{chan}->[18]->[ 14]= 17;
-$chanmap->{chan}->[18]->[ 13]= 19;
-$chanmap->{chan}->[18]->[ 12]= 9 ;
-$chanmap->{chan}->[18]->[ 11]= 13;
-$chanmap->{chan}->[18]->[ 10]= 7 ;
-$chanmap->{chan}->[18]->[ 9 ]= 5 ;
-$chanmap->{chan}->[17]->[ 16]= 29;
-$chanmap->{chan}->[17]->[ 15]= 31;
-$chanmap->{chan}->[17]->[ 14]= 21;
-$chanmap->{chan}->[17]->[ 13]= 23;
-$chanmap->{chan}->[17]->[ 12]= 15;
-$chanmap->{chan}->[17]->[ 11]= 11;
-$chanmap->{chan}->[17]->[ 10]= 3 ;
-$chanmap->{chan}->[17]->[ 9 ]= 1 ;
-$chanmap->{chan}->[24]->[ 8 ]= 1 ;
-$chanmap->{chan}->[24]->[ 7 ]= 3 ;
-$chanmap->{chan}->[24]->[ 6 ]= 9 ;
-$chanmap->{chan}->[24]->[ 5 ]= 11;
-$chanmap->{chan}->[24]->[ 4 ]= 21;
-$chanmap->{chan}->[24]->[ 3 ]= 19;
-$chanmap->{chan}->[24]->[ 2 ]= 31;
-$chanmap->{chan}->[24]->[ 1 ]= 29;
-$chanmap->{chan}->[23]->[ 8 ]= 5 ;
-$chanmap->{chan}->[23]->[ 7 ]= 7 ;
-$chanmap->{chan}->[23]->[ 6 ]= 13;
-$chanmap->{chan}->[23]->[ 5 ]= 15;
-$chanmap->{chan}->[23]->[ 4 ]= 23;
-$chanmap->{chan}->[23]->[ 3 ]= 17;
-$chanmap->{chan}->[23]->[ 2 ]= 27;
-$chanmap->{chan}->[23]->[ 1 ]= 25;
-$chanmap->{chan}->[22]->[ 8 ]= 27;
-$chanmap->{chan}->[22]->[ 7 ]= 31;
-$chanmap->{chan}->[22]->[ 6 ]= 17;
-$chanmap->{chan}->[22]->[ 5 ]= 19;
-$chanmap->{chan}->[22]->[ 4 ]= 15;
-$chanmap->{chan}->[22]->[ 3 ]= 11;
-$chanmap->{chan}->[22]->[ 2 ]= 7 ;
-$chanmap->{chan}->[22]->[ 1 ]= 3 ;
-$chanmap->{chan}->[21]->[ 8 ]= 29;
-$chanmap->{chan}->[21]->[ 7 ]= 25;
-$chanmap->{chan}->[21]->[ 6 ]= 21;
-$chanmap->{chan}->[21]->[ 5 ]= 23;
-$chanmap->{chan}->[21]->[ 4 ]= 13;
-$chanmap->{chan}->[21]->[ 3 ]= 9 ;
-$chanmap->{chan}->[21]->[ 2 ]= 1 ;
-$chanmap->{chan}->[21]->[ 1 ]= 5 ;
-$chanmap->{chan}->[20]->[ 8 ]= 7 ;
-$chanmap->{chan}->[20]->[ 7 ]= 5 ;
-$chanmap->{chan}->[20]->[ 6 ]= 15;
-$chanmap->{chan}->[20]->[ 5 ]= 13;
-$chanmap->{chan}->[20]->[ 4 ]= 17;
-$chanmap->{chan}->[20]->[ 3 ]= 21;
-$chanmap->{chan}->[20]->[ 2 ]= 25;
-$chanmap->{chan}->[20]->[ 1 ]= 29;
-$chanmap->{chan}->[19]->[ 8 ]= 1 ;
-$chanmap->{chan}->[19]->[ 7 ]= 3 ;
-$chanmap->{chan}->[19]->[ 6 ]= 9 ;
-$chanmap->{chan}->[19]->[ 5 ]= 11;
-$chanmap->{chan}->[19]->[ 4 ]= 19;
-$chanmap->{chan}->[19]->[ 3 ]= 23;
-$chanmap->{chan}->[19]->[ 2 ]= 27;
-$chanmap->{chan}->[19]->[ 1 ]= 31;
-$chanmap->{chan}->[18]->[ 8 ]= 27;
-$chanmap->{chan}->[18]->[ 7 ]= 25;
-$chanmap->{chan}->[18]->[ 6 ]= 17;
-$chanmap->{chan}->[18]->[ 5 ]= 19;
-$chanmap->{chan}->[18]->[ 4 ]= 9 ;
-$chanmap->{chan}->[18]->[ 3 ]= 13;
-$chanmap->{chan}->[18]->[ 2 ]= 7 ;
-$chanmap->{chan}->[18]->[ 1 ]= 5 ;
-$chanmap->{chan}->[17]->[ 8 ]= 29;
-$chanmap->{chan}->[17]->[ 7 ]= 31;
-$chanmap->{chan}->[17]->[ 6 ]= 21;
-$chanmap->{chan}->[17]->[ 5 ]= 23;
-$chanmap->{chan}->[17]->[ 4 ]= 15;
-$chanmap->{chan}->[17]->[ 3 ]= 11;
-$chanmap->{chan}->[17]->[ 2 ]= 3 ;
-$chanmap->{chan}->[17]->[ 1 ]= 1 ;
-$chanmap->{chan}->[16]->[ 32]= 1 ;
-$chanmap->{chan}->[16]->[ 31]= 3 ;
-$chanmap->{chan}->[16]->[ 30]= 9 ;
-$chanmap->{chan}->[16]->[ 29]= 11;
-$chanmap->{chan}->[16]->[ 28]= 21;
-$chanmap->{chan}->[16]->[ 27]= 19;
-$chanmap->{chan}->[16]->[ 26]= 31;
-$chanmap->{chan}->[16]->[ 25]= 29;
-$chanmap->{chan}->[15]->[ 32]= 5 ;
-$chanmap->{chan}->[15]->[ 31]= 7 ;
-$chanmap->{chan}->[15]->[ 30]= 13;
-$chanmap->{chan}->[15]->[ 29]= 15;
-$chanmap->{chan}->[15]->[ 28]= 23;
-$chanmap->{chan}->[15]->[ 27]= 17;
-$chanmap->{chan}->[15]->[ 26]= 27;
-$chanmap->{chan}->[15]->[ 25]= 25;
-$chanmap->{chan}->[14]->[ 32]= 27;
-$chanmap->{chan}->[14]->[ 31]= 31;
-$chanmap->{chan}->[14]->[ 30]= 17;
-$chanmap->{chan}->[14]->[ 29]= 19;
-$chanmap->{chan}->[14]->[ 28]= 15;
-$chanmap->{chan}->[14]->[ 27]= 11;
-$chanmap->{chan}->[14]->[ 26]= 7 ;
-$chanmap->{chan}->[14]->[ 25]= 3 ;
-$chanmap->{chan}->[13]->[ 32]= 29;
-$chanmap->{chan}->[13]->[ 31]= 25;
-$chanmap->{chan}->[13]->[ 30]= 21;
-$chanmap->{chan}->[13]->[ 29]= 23;
-$chanmap->{chan}->[13]->[ 28]= 13;
-$chanmap->{chan}->[13]->[ 27]= 9 ;
-$chanmap->{chan}->[13]->[ 26]= 1 ;
-$chanmap->{chan}->[13]->[ 25]= 5 ;
-$chanmap->{chan}->[12]->[ 32]= 7 ;
-$chanmap->{chan}->[12]->[ 31]= 5 ;
-$chanmap->{chan}->[12]->[ 30]= 15;
-$chanmap->{chan}->[12]->[ 29]= 13;
-$chanmap->{chan}->[12]->[ 28]= 17;
-$chanmap->{chan}->[12]->[ 27]= 21;
-$chanmap->{chan}->[12]->[ 26]= 25;
-$chanmap->{chan}->[12]->[ 25]= 29;
-$chanmap->{chan}->[11]->[ 32]= 1 ;
-$chanmap->{chan}->[11]->[ 31]= 3 ;
-$chanmap->{chan}->[11]->[ 30]= 9 ;
-$chanmap->{chan}->[11]->[ 29]= 11;
-$chanmap->{chan}->[11]->[ 28]= 19;
-$chanmap->{chan}->[11]->[ 27]= 23;
-$chanmap->{chan}->[11]->[ 26]= 27;
-$chanmap->{chan}->[11]->[ 25]= 31;
-$chanmap->{chan}->[10]->[ 32]= 27;
-$chanmap->{chan}->[10]->[ 31]= 25;
-$chanmap->{chan}->[10]->[ 30]= 17;
-$chanmap->{chan}->[10]->[ 29]= 19;
-$chanmap->{chan}->[10]->[ 28]= 9 ;
-$chanmap->{chan}->[10]->[ 27]= 13;
-$chanmap->{chan}->[10]->[ 26]= 7 ;
-$chanmap->{chan}->[10]->[ 25]= 5 ;
-$chanmap->{chan}->[9 ]->[32 ]= 29;
-$chanmap->{chan}->[9 ]->[31 ]= 31;
-$chanmap->{chan}->[9 ]->[30 ]= 21;
-$chanmap->{chan}->[9 ]->[29 ]= 23;
-$chanmap->{chan}->[9 ]->[28 ]= 15;
-$chanmap->{chan}->[9 ]->[27 ]= 11;
-$chanmap->{chan}->[9 ]->[26 ]= 3 ;
-$chanmap->{chan}->[9 ]->[25 ]= 1 ;
-$chanmap->{chan}->[16]->[ 24]= 1 ;
-$chanmap->{chan}->[16]->[ 23]= 3 ;
-$chanmap->{chan}->[16]->[ 22]= 9 ;
-$chanmap->{chan}->[16]->[ 21]= 11;
-$chanmap->{chan}->[16]->[ 20]= 21;
-$chanmap->{chan}->[16]->[ 19]= 19;
-$chanmap->{chan}->[16]->[ 18]= 31;
-$chanmap->{chan}->[16]->[ 17]= 29;
-$chanmap->{chan}->[15]->[ 24]= 5 ;
-$chanmap->{chan}->[15]->[ 23]= 7 ;
-$chanmap->{chan}->[15]->[ 22]= 13;
-$chanmap->{chan}->[15]->[ 21]= 15;
-$chanmap->{chan}->[15]->[ 20]= 23;
-$chanmap->{chan}->[15]->[ 19]= 17;
-$chanmap->{chan}->[15]->[ 18]= 27;
-$chanmap->{chan}->[15]->[ 17]= 25;
-$chanmap->{chan}->[14]->[ 24]= 27;
-$chanmap->{chan}->[14]->[ 23]= 31;
-$chanmap->{chan}->[14]->[ 22]= 17;
-$chanmap->{chan}->[14]->[ 21]= 19;
-$chanmap->{chan}->[14]->[ 20]= 15;
-$chanmap->{chan}->[14]->[ 19]= 11;
-$chanmap->{chan}->[14]->[ 18]= 7 ;
-$chanmap->{chan}->[14]->[ 17]= 3 ;
-$chanmap->{chan}->[13]->[ 24]= 29;
-$chanmap->{chan}->[13]->[ 23]= 25;
-$chanmap->{chan}->[13]->[ 22]= 21;
-$chanmap->{chan}->[13]->[ 21]= 23;
-$chanmap->{chan}->[13]->[ 20]= 13;
-$chanmap->{chan}->[13]->[ 19]= 9 ;
-$chanmap->{chan}->[13]->[ 18]= 1 ;
-$chanmap->{chan}->[13]->[ 17]= 5 ;
-$chanmap->{chan}->[12]->[ 24]= 7 ;
-$chanmap->{chan}->[12]->[ 23]= 5 ;
-$chanmap->{chan}->[12]->[ 22]= 15;
-$chanmap->{chan}->[12]->[ 21]= 13;
-$chanmap->{chan}->[12]->[ 20]= 17;
-$chanmap->{chan}->[12]->[ 19]= 21;
-$chanmap->{chan}->[12]->[ 18]= 25;
-$chanmap->{chan}->[12]->[ 17]= 29;
-$chanmap->{chan}->[11]->[ 24]= 1 ;
-$chanmap->{chan}->[11]->[ 23]= 3 ;
-$chanmap->{chan}->[11]->[ 22]= 9 ;
-$chanmap->{chan}->[11]->[ 21]= 11;
-$chanmap->{chan}->[11]->[ 20]= 19;
-$chanmap->{chan}->[11]->[ 19]= 23;
-$chanmap->{chan}->[11]->[ 18]= 27;
-$chanmap->{chan}->[11]->[ 17]= 31;
-$chanmap->{chan}->[10]->[ 24]= 27;
-$chanmap->{chan}->[10]->[ 23]= 25;
-$chanmap->{chan}->[10]->[ 22]= 17;
-$chanmap->{chan}->[10]->[ 21]= 19;
-$chanmap->{chan}->[10]->[ 20]= 9 ;
-$chanmap->{chan}->[10]->[ 19]= 13;
-$chanmap->{chan}->[10]->[ 18]= 7 ;
-$chanmap->{chan}->[10]->[ 17]= 5 ;
-$chanmap->{chan}->[9 ]->[24 ]= 29;
-$chanmap->{chan}->[9 ]->[23 ]= 31;
-$chanmap->{chan}->[9 ]->[22 ]= 21;
-$chanmap->{chan}->[9 ]->[21 ]= 23;
-$chanmap->{chan}->[9 ]->[20 ]= 15;
-$chanmap->{chan}->[9 ]->[19 ]= 11;
-$chanmap->{chan}->[9 ]->[18 ]= 3 ;
-$chanmap->{chan}->[9 ]->[17 ]= 1 ;
-$chanmap->{chan}->[16]->[ 16]= 1 ;
-$chanmap->{chan}->[16]->[ 15]= 3 ;
-$chanmap->{chan}->[16]->[ 14]= 9 ;
-$chanmap->{chan}->[16]->[ 13]= 11;
-$chanmap->{chan}->[16]->[ 12]= 21;
-$chanmap->{chan}->[16]->[ 11]= 19;
-$chanmap->{chan}->[16]->[ 10]= 31;
-$chanmap->{chan}->[16]->[ 9 ]= 29;
-$chanmap->{chan}->[15]->[ 16]= 5 ;
-$chanmap->{chan}->[15]->[ 15]= 7 ;
-$chanmap->{chan}->[15]->[ 14]= 13;
-$chanmap->{chan}->[15]->[ 13]= 15;
-$chanmap->{chan}->[15]->[ 12]= 23;
-$chanmap->{chan}->[15]->[ 11]= 17;
-$chanmap->{chan}->[15]->[ 10]= 27;
-$chanmap->{chan}->[15]->[ 9 ]= 25;
-$chanmap->{chan}->[14]->[ 16]= 27;
-$chanmap->{chan}->[14]->[ 15]= 31;
-$chanmap->{chan}->[14]->[ 14]= 17;
-$chanmap->{chan}->[14]->[ 13]= 19;
-$chanmap->{chan}->[14]->[ 12]= 15;
-$chanmap->{chan}->[14]->[ 11]= 11;
-$chanmap->{chan}->[14]->[ 10]= 7 ;
-$chanmap->{chan}->[14]->[ 9 ]= 3 ;
-$chanmap->{chan}->[13]->[ 16]= 29;
-$chanmap->{chan}->[13]->[ 15]= 25;
-$chanmap->{chan}->[13]->[ 14]= 21;
-$chanmap->{chan}->[13]->[ 13]= 23;
-$chanmap->{chan}->[13]->[ 12]= 13;
-$chanmap->{chan}->[13]->[ 11]= 9 ;
-$chanmap->{chan}->[13]->[ 10]= 1 ;
-$chanmap->{chan}->[13]->[ 9 ]= 5 ;
-$chanmap->{chan}->[12]->[ 16]= 7 ;
-$chanmap->{chan}->[12]->[ 15]= 5 ;
-$chanmap->{chan}->[12]->[ 14]= 15;
-$chanmap->{chan}->[12]->[ 13]= 13;
-$chanmap->{chan}->[12]->[ 12]= 17;
-$chanmap->{chan}->[12]->[ 11]= 21;
-$chanmap->{chan}->[12]->[ 10]= 25;
-$chanmap->{chan}->[12]->[ 9 ]= 29;
-$chanmap->{chan}->[11]->[ 16]= 1 ;
-$chanmap->{chan}->[11]->[ 15]= 3 ;
-$chanmap->{chan}->[11]->[ 14]= 9 ;
-$chanmap->{chan}->[11]->[ 13]= 11;
-$chanmap->{chan}->[11]->[ 12]= 19;
-$chanmap->{chan}->[11]->[ 11]= 23;
-$chanmap->{chan}->[11]->[ 10]= 27;
-$chanmap->{chan}->[11]->[ 9 ]= 31;
-$chanmap->{chan}->[10]->[ 16]= 27;
-$chanmap->{chan}->[10]->[ 15]= 25;
-$chanmap->{chan}->[10]->[ 14]= 17;
-$chanmap->{chan}->[10]->[ 13]= 19;
-$chanmap->{chan}->[10]->[ 12]= 9 ;
-$chanmap->{chan}->[10]->[ 11]= 13;
-$chanmap->{chan}->[10]->[ 10]= 7 ;
-$chanmap->{chan}->[10]->[ 9 ]= 5 ;
-$chanmap->{chan}->[9 ]->[16 ]= 29;
-$chanmap->{chan}->[9 ]->[15 ]= 31;
-$chanmap->{chan}->[9 ]->[14 ]= 21;
-$chanmap->{chan}->[9 ]->[13 ]= 23;
-$chanmap->{chan}->[9 ]->[12 ]= 15;
-$chanmap->{chan}->[9 ]->[11 ]= 11;
-$chanmap->{chan}->[9 ]->[10 ]= 3 ;
-$chanmap->{chan}->[9 ]->[9  ]= 1 ;
-$chanmap->{chan}->[16]->[ 8 ]= 1 ;
-$chanmap->{chan}->[16]->[ 7 ]= 3 ;
-$chanmap->{chan}->[16]->[ 6 ]= 9 ;
-$chanmap->{chan}->[16]->[ 5 ]= 11;
-$chanmap->{chan}->[16]->[ 4 ]= 21;
-$chanmap->{chan}->[16]->[ 3 ]= 19;
-$chanmap->{chan}->[16]->[ 2 ]= 31;
-$chanmap->{chan}->[16]->[ 1 ]= 29;
-$chanmap->{chan}->[15]->[ 8 ]= 5 ;
-$chanmap->{chan}->[15]->[ 7 ]= 7 ;
-$chanmap->{chan}->[15]->[ 6 ]= 13;
-$chanmap->{chan}->[15]->[ 5 ]= 15;
-$chanmap->{chan}->[15]->[ 4 ]= 23;
-$chanmap->{chan}->[15]->[ 3 ]= 17;
-$chanmap->{chan}->[15]->[ 2 ]= 27;
-$chanmap->{chan}->[15]->[ 1 ]= 25;
-$chanmap->{chan}->[14]->[ 8 ]= 27;
-$chanmap->{chan}->[14]->[ 7 ]= 31;
-$chanmap->{chan}->[14]->[ 6 ]= 17;
-$chanmap->{chan}->[14]->[ 5 ]= 19;
-$chanmap->{chan}->[14]->[ 4 ]= 15;
-$chanmap->{chan}->[14]->[ 3 ]= 11;
-$chanmap->{chan}->[14]->[ 2 ]= 7 ;
-$chanmap->{chan}->[14]->[ 1 ]= 3 ;
-$chanmap->{chan}->[13]->[ 8 ]= 29;
-$chanmap->{chan}->[13]->[ 7 ]= 25;
-$chanmap->{chan}->[13]->[ 6 ]= 21;
-$chanmap->{chan}->[13]->[ 5 ]= 23;
-$chanmap->{chan}->[13]->[ 4 ]= 13;
-$chanmap->{chan}->[13]->[ 3 ]= 9 ;
-$chanmap->{chan}->[13]->[ 2 ]= 1 ;
-$chanmap->{chan}->[13]->[ 1 ]= 5 ;
-$chanmap->{chan}->[12]->[ 8 ]= 7 ;
-$chanmap->{chan}->[12]->[ 7 ]= 5 ;
-$chanmap->{chan}->[12]->[ 6 ]= 15;
-$chanmap->{chan}->[12]->[ 5 ]= 13;
-$chanmap->{chan}->[12]->[ 4 ]= 17;
-$chanmap->{chan}->[12]->[ 3 ]= 21;
-$chanmap->{chan}->[12]->[ 2 ]= 25;
-$chanmap->{chan}->[12]->[ 1 ]= 29;
-$chanmap->{chan}->[11]->[ 8 ]= 1 ;
-$chanmap->{chan}->[11]->[ 7 ]= 3 ;
-$chanmap->{chan}->[11]->[ 6 ]= 9 ;
-$chanmap->{chan}->[11]->[ 5 ]= 11;
-$chanmap->{chan}->[11]->[ 4 ]= 19;
-$chanmap->{chan}->[11]->[ 3 ]= 23;
-$chanmap->{chan}->[11]->[ 2 ]= 27;
-$chanmap->{chan}->[11]->[ 1 ]= 31;
-$chanmap->{chan}->[10]->[ 8 ]= 27;
-$chanmap->{chan}->[10]->[ 7 ]= 25;
-$chanmap->{chan}->[10]->[ 6 ]= 17;
-$chanmap->{chan}->[10]->[ 5 ]= 19;
-$chanmap->{chan}->[10]->[ 4 ]= 9 ;
-$chanmap->{chan}->[10]->[ 3 ]= 13;
-$chanmap->{chan}->[10]->[ 2 ]= 7 ;
-$chanmap->{chan}->[10]->[ 1 ]= 5 ;
-$chanmap->{chan}->[9 ]->[8  ]= 29;
-$chanmap->{chan}->[9 ]->[7  ]= 31;
-$chanmap->{chan}->[9 ]->[6  ]= 21;
-$chanmap->{chan}->[9 ]->[5  ]= 23;
-$chanmap->{chan}->[9 ]->[4  ]= 15;
-$chanmap->{chan}->[9 ]->[3  ]= 11;
-$chanmap->{chan}->[9 ]->[2  ]= 3 ;
-$chanmap->{chan}->[9 ]->[1  ]= 1 ;
-$chanmap->{chan}->[8 ]->[32 ]= 1 ;
-$chanmap->{chan}->[8 ]->[31 ]= 3 ;
-$chanmap->{chan}->[8 ]->[30 ]= 9 ;
-$chanmap->{chan}->[8 ]->[29 ]= 11;
-$chanmap->{chan}->[8 ]->[28 ]= 21;
-$chanmap->{chan}->[8 ]->[27 ]= 19;
-$chanmap->{chan}->[8 ]->[26 ]= 31;
-$chanmap->{chan}->[8 ]->[25 ]= 29;
-$chanmap->{chan}->[7 ]->[32 ]= 5 ;
-$chanmap->{chan}->[7 ]->[31 ]= 7 ;
-$chanmap->{chan}->[7 ]->[30 ]= 13;
-$chanmap->{chan}->[7 ]->[29 ]= 15;
-$chanmap->{chan}->[7 ]->[28 ]= 23;
-$chanmap->{chan}->[7 ]->[27 ]= 17;
-$chanmap->{chan}->[7 ]->[26 ]= 27;
-$chanmap->{chan}->[7 ]->[25 ]= 25;
-$chanmap->{chan}->[6 ]->[32 ]= 27;
-$chanmap->{chan}->[6 ]->[31 ]= 31;
-$chanmap->{chan}->[6 ]->[30 ]= 17;
-$chanmap->{chan}->[6 ]->[29 ]= 19;
-$chanmap->{chan}->[6 ]->[28 ]= 15;
-$chanmap->{chan}->[6 ]->[27 ]= 11;
-$chanmap->{chan}->[6 ]->[26 ]= 7 ;
-$chanmap->{chan}->[6 ]->[25 ]= 3 ;
-$chanmap->{chan}->[5 ]->[32 ]= 29;
-$chanmap->{chan}->[5 ]->[31 ]= 25;
-$chanmap->{chan}->[5 ]->[30 ]= 21;
-$chanmap->{chan}->[5 ]->[29 ]= 23;
-$chanmap->{chan}->[5 ]->[28 ]= 13;
-$chanmap->{chan}->[5 ]->[27 ]= 9 ;
-$chanmap->{chan}->[5 ]->[26 ]= 1 ;
-$chanmap->{chan}->[5 ]->[25 ]= 5 ;
-$chanmap->{chan}->[4 ]->[32 ]= 7 ;
-$chanmap->{chan}->[4 ]->[31 ]= 5 ;
-$chanmap->{chan}->[4 ]->[30 ]= 15;
-$chanmap->{chan}->[4 ]->[29 ]= 13;
-$chanmap->{chan}->[4 ]->[28 ]= 17;
-$chanmap->{chan}->[4 ]->[27 ]= 21;
-$chanmap->{chan}->[4 ]->[26 ]= 25;
-$chanmap->{chan}->[4 ]->[25 ]= 29;
-$chanmap->{chan}->[3 ]->[32 ]= 1 ;
-$chanmap->{chan}->[3 ]->[31 ]= 3 ;
-$chanmap->{chan}->[3 ]->[30 ]= 9 ;
-$chanmap->{chan}->[3 ]->[29 ]= 11;
-$chanmap->{chan}->[3 ]->[28 ]= 19;
-$chanmap->{chan}->[3 ]->[27 ]= 23;
-$chanmap->{chan}->[3 ]->[26 ]= 27;
-$chanmap->{chan}->[3 ]->[25 ]= 31;
-$chanmap->{chan}->[2 ]->[32 ]= 27;
-$chanmap->{chan}->[2 ]->[31 ]= 25;
-$chanmap->{chan}->[2 ]->[30 ]= 17;
-$chanmap->{chan}->[2 ]->[29 ]= 19;
-$chanmap->{chan}->[2 ]->[28 ]= 9 ;
-$chanmap->{chan}->[2 ]->[27 ]= 13;
-$chanmap->{chan}->[2 ]->[26 ]= 7 ;
-$chanmap->{chan}->[2 ]->[25 ]= 5 ;
-$chanmap->{chan}->[1 ]->[32 ]= 29;
-$chanmap->{chan}->[1 ]->[31 ]= 31;
-$chanmap->{chan}->[1 ]->[30 ]= 21;
-$chanmap->{chan}->[1 ]->[29 ]= 23;
-$chanmap->{chan}->[1 ]->[28 ]= 15;
-$chanmap->{chan}->[1 ]->[27 ]= 11;
-$chanmap->{chan}->[1 ]->[26 ]= 3 ;
-$chanmap->{chan}->[1 ]->[25 ]= 1 ;
-$chanmap->{chan}->[8 ]->[24 ]= 1 ;
-$chanmap->{chan}->[8 ]->[23 ]= 3 ;
-$chanmap->{chan}->[8 ]->[22 ]= 9 ;
-$chanmap->{chan}->[8 ]->[21 ]= 11;
-$chanmap->{chan}->[8 ]->[20 ]= 21;
-$chanmap->{chan}->[8 ]->[19 ]= 19;
-$chanmap->{chan}->[8 ]->[18 ]= 31;
-$chanmap->{chan}->[8 ]->[17 ]= 29;
-$chanmap->{chan}->[7 ]->[24 ]= 5 ;
-$chanmap->{chan}->[7 ]->[23 ]= 7 ;
-$chanmap->{chan}->[7 ]->[22 ]= 13;
-$chanmap->{chan}->[7 ]->[21 ]= 15;
-$chanmap->{chan}->[7 ]->[20 ]= 23;
-$chanmap->{chan}->[7 ]->[19 ]= 17;
-$chanmap->{chan}->[7 ]->[18 ]= 27;
-$chanmap->{chan}->[7 ]->[17 ]= 25;
-$chanmap->{chan}->[6 ]->[24 ]= 27;
-$chanmap->{chan}->[6 ]->[23 ]= 31;
-$chanmap->{chan}->[6 ]->[22 ]= 17;
-$chanmap->{chan}->[6 ]->[21 ]= 19;
-$chanmap->{chan}->[6 ]->[20 ]= 15;
-$chanmap->{chan}->[6 ]->[19 ]= 11;
-$chanmap->{chan}->[6 ]->[18 ]= 7 ;
-$chanmap->{chan}->[6 ]->[17 ]= 3 ;
-$chanmap->{chan}->[5 ]->[24 ]= 29;
-$chanmap->{chan}->[5 ]->[23 ]= 25;
-$chanmap->{chan}->[5 ]->[22 ]= 21;
-$chanmap->{chan}->[5 ]->[21 ]= 23;
-$chanmap->{chan}->[5 ]->[20 ]= 13;
-$chanmap->{chan}->[5 ]->[19 ]= 9 ;
-$chanmap->{chan}->[5 ]->[18 ]= 1 ;
-$chanmap->{chan}->[5 ]->[17 ]= 5 ;
-$chanmap->{chan}->[4 ]->[24 ]= 7 ;
-$chanmap->{chan}->[4 ]->[23 ]= 5 ;
-$chanmap->{chan}->[4 ]->[22 ]= 15;
-$chanmap->{chan}->[4 ]->[21 ]= 13;
-$chanmap->{chan}->[4 ]->[20 ]= 17;
-$chanmap->{chan}->[4 ]->[19 ]= 21;
-$chanmap->{chan}->[4 ]->[18 ]= 25;
-$chanmap->{chan}->[4 ]->[17 ]= 29;
-$chanmap->{chan}->[3 ]->[24 ]= 1 ;
-$chanmap->{chan}->[3 ]->[23 ]= 3 ;
-$chanmap->{chan}->[3 ]->[22 ]= 9 ;
-$chanmap->{chan}->[3 ]->[21 ]= 11;
-$chanmap->{chan}->[3 ]->[20 ]= 19;
-$chanmap->{chan}->[3 ]->[19 ]= 23;
-$chanmap->{chan}->[3 ]->[18 ]= 27;
-$chanmap->{chan}->[3 ]->[17 ]= 31;
-$chanmap->{chan}->[2 ]->[24 ]= 27;
-$chanmap->{chan}->[2 ]->[23 ]= 25;
-$chanmap->{chan}->[2 ]->[22 ]= 17;
-$chanmap->{chan}->[2 ]->[21 ]= 19;
-$chanmap->{chan}->[2 ]->[20 ]= 9 ;
-$chanmap->{chan}->[2 ]->[19 ]= 13;
-$chanmap->{chan}->[2 ]->[18 ]= 7 ;
-$chanmap->{chan}->[2 ]->[17 ]= 5 ;
-$chanmap->{chan}->[1 ]->[24 ]= 29;
-$chanmap->{chan}->[1 ]->[23 ]= 31;
-$chanmap->{chan}->[1 ]->[22 ]= 21;
-$chanmap->{chan}->[1 ]->[21 ]= 23;
-$chanmap->{chan}->[1 ]->[20 ]= 15;
-$chanmap->{chan}->[1 ]->[19 ]= 11;
-$chanmap->{chan}->[1 ]->[18 ]= 3 ;
-$chanmap->{chan}->[1 ]->[17 ]= 1 ;
-$chanmap->{chan}->[8 ]->[16 ]= 1 ;
-$chanmap->{chan}->[8 ]->[15 ]= 3 ;
-$chanmap->{chan}->[8 ]->[14 ]= 9 ;
-$chanmap->{chan}->[8 ]->[13 ]= 11;
-$chanmap->{chan}->[8 ]->[12 ]= 21;
-$chanmap->{chan}->[8 ]->[11 ]= 19;
-$chanmap->{chan}->[8 ]->[10 ]= 31;
-$chanmap->{chan}->[8 ]->[9  ]= 29;
-$chanmap->{chan}->[7 ]->[16 ]= 5 ;
-$chanmap->{chan}->[7 ]->[15 ]= 7 ;
-$chanmap->{chan}->[7 ]->[14 ]= 13;
-$chanmap->{chan}->[7 ]->[13 ]= 15;
-$chanmap->{chan}->[7 ]->[12 ]= 23;
-$chanmap->{chan}->[7 ]->[11 ]= 17;
-$chanmap->{chan}->[7 ]->[10 ]= 27;
-$chanmap->{chan}->[7 ]->[9  ]= 25;
-$chanmap->{chan}->[6 ]->[16 ]= 27;
-$chanmap->{chan}->[6 ]->[15 ]= 31;
-$chanmap->{chan}->[6 ]->[14 ]= 17;
-$chanmap->{chan}->[6 ]->[13 ]= 19;
-$chanmap->{chan}->[6 ]->[12 ]= 15;
-$chanmap->{chan}->[6 ]->[11 ]= 11;
-$chanmap->{chan}->[6 ]->[10 ]= 7 ;
-$chanmap->{chan}->[6 ]->[9  ]= 3 ;
-$chanmap->{chan}->[5 ]->[16 ]= 29;
-$chanmap->{chan}->[5 ]->[15 ]= 25;
-$chanmap->{chan}->[5 ]->[14 ]= 21;
-$chanmap->{chan}->[5 ]->[13 ]= 23;
-$chanmap->{chan}->[5 ]->[12 ]= 13;
-$chanmap->{chan}->[5 ]->[11 ]= 9 ;
-$chanmap->{chan}->[5 ]->[10 ]= 1 ;
-$chanmap->{chan}->[5 ]->[9  ]= 5 ;
-$chanmap->{chan}->[4 ]->[16 ]= 7 ;
-$chanmap->{chan}->[4 ]->[15 ]= 5 ;
-$chanmap->{chan}->[4 ]->[14 ]= 15;
-$chanmap->{chan}->[4 ]->[13 ]= 13;
-$chanmap->{chan}->[4 ]->[12 ]= 17;
-$chanmap->{chan}->[4 ]->[11 ]= 21;
-$chanmap->{chan}->[4 ]->[10 ]= 25;
-$chanmap->{chan}->[4 ]->[9  ]= 29;
-$chanmap->{chan}->[3 ]->[16 ]= 1 ;
-$chanmap->{chan}->[3 ]->[15 ]= 3 ;
-$chanmap->{chan}->[3 ]->[14 ]= 9 ;
-$chanmap->{chan}->[3 ]->[13 ]= 11;
-$chanmap->{chan}->[3 ]->[12 ]= 19;
-$chanmap->{chan}->[3 ]->[11 ]= 23;
-$chanmap->{chan}->[3 ]->[10 ]= 27;
-$chanmap->{chan}->[3 ]->[9  ]= 31;
-$chanmap->{chan}->[2 ]->[16 ]= 27;
-$chanmap->{chan}->[2 ]->[15 ]= 25;
-$chanmap->{chan}->[2 ]->[14 ]= 17;
-$chanmap->{chan}->[2 ]->[13 ]= 19;
-$chanmap->{chan}->[2 ]->[12 ]= 9 ;
-$chanmap->{chan}->[2 ]->[11 ]= 13;
-$chanmap->{chan}->[2 ]->[10 ]= 7 ;
-$chanmap->{chan}->[2 ]->[9  ]= 5 ;
-$chanmap->{chan}->[1 ]->[16 ]= 29;
-$chanmap->{chan}->[1 ]->[15 ]= 31;
-$chanmap->{chan}->[1 ]->[14 ]= 21;
-$chanmap->{chan}->[1 ]->[13 ]= 23;
-$chanmap->{chan}->[1 ]->[12 ]= 15;
-$chanmap->{chan}->[1 ]->[11 ]= 11;
-$chanmap->{chan}->[1 ]->[10 ]= 3 ;
-$chanmap->{chan}->[1 ]->[9  ]= 1 ;
-$chanmap->{chan}->[8 ]->[8  ]= 1 ;
-$chanmap->{chan}->[8 ]->[7  ]= 3 ;
-$chanmap->{chan}->[8 ]->[6  ]= 9 ;
-$chanmap->{chan}->[8 ]->[5  ]= 11;
-$chanmap->{chan}->[8 ]->[4  ]= 21;
-$chanmap->{chan}->[8 ]->[3  ]= 19;
-$chanmap->{chan}->[8 ]->[2  ]= 31;
-$chanmap->{chan}->[8 ]->[1  ]= 29;
-$chanmap->{chan}->[7 ]->[8  ]= 5 ;
-$chanmap->{chan}->[7 ]->[7  ]= 7 ;
-$chanmap->{chan}->[7 ]->[6  ]= 13;
-$chanmap->{chan}->[7 ]->[5  ]= 15;
-$chanmap->{chan}->[7 ]->[4  ]= 23;
-$chanmap->{chan}->[7 ]->[3  ]= 17;
-$chanmap->{chan}->[7 ]->[2  ]= 27;
-$chanmap->{chan}->[7 ]->[1  ]= 25;
-$chanmap->{chan}->[6 ]->[8  ]= 27;
-$chanmap->{chan}->[6 ]->[7  ]= 31;
-$chanmap->{chan}->[6 ]->[6  ]= 17;
-$chanmap->{chan}->[6 ]->[5  ]= 19;
-$chanmap->{chan}->[6 ]->[4  ]= 15;
-$chanmap->{chan}->[6 ]->[3  ]= 11;
-$chanmap->{chan}->[6 ]->[2  ]= 7 ;
-$chanmap->{chan}->[6 ]->[1  ]= 3 ;
-$chanmap->{chan}->[5 ]->[8  ]= 29;
-$chanmap->{chan}->[5 ]->[7  ]= 25;
-$chanmap->{chan}->[5 ]->[6  ]= 21;
-$chanmap->{chan}->[5 ]->[5  ]= 23;
-$chanmap->{chan}->[5 ]->[4  ]= 13;
-$chanmap->{chan}->[5 ]->[3  ]= 9 ;
-$chanmap->{chan}->[5 ]->[2  ]= 1 ;
-$chanmap->{chan}->[5 ]->[1  ]= 5 ;
-$chanmap->{chan}->[4 ]->[8  ]= 7 ;
-$chanmap->{chan}->[4 ]->[7  ]= 5 ;
-$chanmap->{chan}->[4 ]->[6  ]= 15;
-$chanmap->{chan}->[4 ]->[5  ]= 13;
-$chanmap->{chan}->[4 ]->[4  ]= 17;
-$chanmap->{chan}->[4 ]->[3  ]= 21;
-$chanmap->{chan}->[4 ]->[2  ]= 25;
-$chanmap->{chan}->[4 ]->[1  ]= 29;
-$chanmap->{chan}->[3 ]->[8  ]= 1 ;
-$chanmap->{chan}->[3 ]->[7  ]= 3 ;
-$chanmap->{chan}->[3 ]->[6  ]= 9 ;
-$chanmap->{chan}->[3 ]->[5  ]= 11;
-$chanmap->{chan}->[3 ]->[4  ]= 19;
-$chanmap->{chan}->[3 ]->[3  ]= 23;
-$chanmap->{chan}->[3 ]->[2  ]= 27;
-$chanmap->{chan}->[3 ]->[1  ]= 31;
-$chanmap->{chan}->[2 ]->[8  ]= 27;
-$chanmap->{chan}->[2 ]->[7  ]= 25;
-$chanmap->{chan}->[2 ]->[6  ]= 17;
-$chanmap->{chan}->[2 ]->[5  ]= 19;
-$chanmap->{chan}->[2 ]->[4  ]= 9 ;
-$chanmap->{chan}->[2 ]->[3  ]= 13;
-$chanmap->{chan}->[2 ]->[2  ]= 7 ;
-$chanmap->{chan}->[2 ]->[1  ]= 5 ;
-$chanmap->{chan}->[1 ]->[8  ]= 29;
-$chanmap->{chan}->[1 ]->[7  ]= 31;
-$chanmap->{chan}->[1 ]->[6  ]= 21;
-$chanmap->{chan}->[1 ]->[5  ]= 23;
-$chanmap->{chan}->[1 ]->[4  ]= 15;
-$chanmap->{chan}->[1 ]->[3  ]= 11;
-$chanmap->{chan}->[1 ]->[2  ]= 3 ;
-$chanmap->{chan}->[1 ]->[1  ]= 1 ;
new file mode 120000 (symlink)
index 0000000000000000000000000000000000000000..310f796f27a44941ed9443cd9ff9b33edd9759ff
--- /dev/null
@@ -0,0 +1 @@
+ChannelMapping.pm_PADIWA6364switched
\ No newline at end of file
diff --git a/users/cern_cbmrich/ChannelMapping.pm_PADIWA6364switched b/users/cern_cbmrich/ChannelMapping.pm_PADIWA6364switched
new file mode 100644 (file)
index 0000000..97d3232
--- /dev/null
@@ -0,0 +1,2065 @@
+package ChannelMapping;
+use warnings;
+use strict;
+
+our $chanmap;
+$chanmap->{xsize} = 32;
+$chanmap->{ysize} = 32;
+
+$chanmap->{fpga}->[32]->[ 32]=0x0010;
+$chanmap->{fpga}->[32]->[ 31]=0x0010;
+$chanmap->{fpga}->[32]->[ 30]=0x0010;
+$chanmap->{fpga}->[32]->[ 29]=0x0010;
+$chanmap->{fpga}->[32]->[ 28]=0x0010;
+$chanmap->{fpga}->[32]->[ 27]=0x0010;
+$chanmap->{fpga}->[32]->[ 26]=0x0010;
+$chanmap->{fpga}->[32]->[ 25]=0x0010;
+$chanmap->{fpga}->[31]->[ 32]=0x0010;
+$chanmap->{fpga}->[31]->[ 31]=0x0010;
+$chanmap->{fpga}->[31]->[ 30]=0x0010;
+$chanmap->{fpga}->[31]->[ 29]=0x0010;
+$chanmap->{fpga}->[31]->[ 28]=0x0010;
+$chanmap->{fpga}->[31]->[ 27]=0x0010;
+$chanmap->{fpga}->[31]->[ 26]=0x0010;
+$chanmap->{fpga}->[31]->[ 25]=0x0010;
+$chanmap->{fpga}->[30]->[ 32]=0x0011;
+$chanmap->{fpga}->[30]->[ 31]=0x0011;
+$chanmap->{fpga}->[30]->[ 30]=0x0011;
+$chanmap->{fpga}->[30]->[ 29]=0x0011;
+$chanmap->{fpga}->[30]->[ 28]=0x0011;
+$chanmap->{fpga}->[30]->[ 27]=0x0011;
+$chanmap->{fpga}->[30]->[ 26]=0x0011;
+$chanmap->{fpga}->[30]->[ 25]=0x0011;
+$chanmap->{fpga}->[29]->[ 32]=0x0011;
+$chanmap->{fpga}->[29]->[ 31]=0x0011;
+$chanmap->{fpga}->[29]->[ 30]=0x0011;
+$chanmap->{fpga}->[29]->[ 29]=0x0011;
+$chanmap->{fpga}->[29]->[ 28]=0x0011;
+$chanmap->{fpga}->[29]->[ 27]=0x0011;
+$chanmap->{fpga}->[29]->[ 26]=0x0011;
+$chanmap->{fpga}->[29]->[ 25]=0x0011;
+$chanmap->{fpga}->[28]->[ 32]=0x0012;
+$chanmap->{fpga}->[28]->[ 31]=0x0012;
+$chanmap->{fpga}->[28]->[ 30]=0x0012;
+$chanmap->{fpga}->[28]->[ 29]=0x0012;
+$chanmap->{fpga}->[28]->[ 28]=0x0012;
+$chanmap->{fpga}->[28]->[ 27]=0x0012;
+$chanmap->{fpga}->[28]->[ 26]=0x0012;
+$chanmap->{fpga}->[28]->[ 25]=0x0012;
+$chanmap->{fpga}->[27]->[ 32]=0x0012;
+$chanmap->{fpga}->[27]->[ 31]=0x0012;
+$chanmap->{fpga}->[27]->[ 30]=0x0012;
+$chanmap->{fpga}->[27]->[ 29]=0x0012;
+$chanmap->{fpga}->[27]->[ 28]=0x0012;
+$chanmap->{fpga}->[27]->[ 27]=0x0012;
+$chanmap->{fpga}->[27]->[ 26]=0x0012;
+$chanmap->{fpga}->[27]->[ 25]=0x0012;
+$chanmap->{fpga}->[26]->[ 32]=0x0013;
+$chanmap->{fpga}->[26]->[ 31]=0x0013;
+$chanmap->{fpga}->[26]->[ 30]=0x0013;
+$chanmap->{fpga}->[26]->[ 29]=0x0013;
+$chanmap->{fpga}->[26]->[ 28]=0x0013;
+$chanmap->{fpga}->[26]->[ 27]=0x0013;
+$chanmap->{fpga}->[26]->[ 26]=0x0013;
+$chanmap->{fpga}->[26]->[ 25]=0x0013;
+$chanmap->{fpga}->[25]->[ 32]=0x0013;
+$chanmap->{fpga}->[25]->[ 31]=0x0013;
+$chanmap->{fpga}->[25]->[ 30]=0x0013;
+$chanmap->{fpga}->[25]->[ 29]=0x0013;
+$chanmap->{fpga}->[25]->[ 28]=0x0013;
+$chanmap->{fpga}->[25]->[ 27]=0x0013;
+$chanmap->{fpga}->[25]->[ 26]=0x0013;
+$chanmap->{fpga}->[25]->[ 25]=0x0013;
+$chanmap->{fpga}->[32]->[ 24]=0x0020;
+$chanmap->{fpga}->[32]->[ 23]=0x0020;
+$chanmap->{fpga}->[32]->[ 22]=0x0020;
+$chanmap->{fpga}->[32]->[ 21]=0x0020;
+$chanmap->{fpga}->[32]->[ 20]=0x0020;
+$chanmap->{fpga}->[32]->[ 19]=0x0020;
+$chanmap->{fpga}->[32]->[ 18]=0x0020;
+$chanmap->{fpga}->[32]->[ 17]=0x0020;
+$chanmap->{fpga}->[31]->[ 24]=0x0020;
+$chanmap->{fpga}->[31]->[ 23]=0x0020;
+$chanmap->{fpga}->[31]->[ 22]=0x0020;
+$chanmap->{fpga}->[31]->[ 21]=0x0020;
+$chanmap->{fpga}->[31]->[ 20]=0x0020;
+$chanmap->{fpga}->[31]->[ 19]=0x0020;
+$chanmap->{fpga}->[31]->[ 18]=0x0020;
+$chanmap->{fpga}->[31]->[ 17]=0x0020;
+$chanmap->{fpga}->[30]->[ 24]=0x0021;
+$chanmap->{fpga}->[30]->[ 23]=0x0021;
+$chanmap->{fpga}->[30]->[ 22]=0x0021;
+$chanmap->{fpga}->[30]->[ 21]=0x0021;
+$chanmap->{fpga}->[30]->[ 20]=0x0021;
+$chanmap->{fpga}->[30]->[ 19]=0x0021;
+$chanmap->{fpga}->[30]->[ 18]=0x0021;
+$chanmap->{fpga}->[30]->[ 17]=0x0021;
+$chanmap->{fpga}->[29]->[ 24]=0x0021;
+$chanmap->{fpga}->[29]->[ 23]=0x0021;
+$chanmap->{fpga}->[29]->[ 22]=0x0021;
+$chanmap->{fpga}->[29]->[ 21]=0x0021;
+$chanmap->{fpga}->[29]->[ 20]=0x0021;
+$chanmap->{fpga}->[29]->[ 19]=0x0021;
+$chanmap->{fpga}->[29]->[ 18]=0x0021;
+$chanmap->{fpga}->[29]->[ 17]=0x0021;
+$chanmap->{fpga}->[28]->[ 24]=0x0022;
+$chanmap->{fpga}->[28]->[ 23]=0x0022;
+$chanmap->{fpga}->[28]->[ 22]=0x0022;
+$chanmap->{fpga}->[28]->[ 21]=0x0022;
+$chanmap->{fpga}->[28]->[ 20]=0x0022;
+$chanmap->{fpga}->[28]->[ 19]=0x0022;
+$chanmap->{fpga}->[28]->[ 18]=0x0022;
+$chanmap->{fpga}->[28]->[ 17]=0x0022;
+$chanmap->{fpga}->[27]->[ 24]=0x0022;
+$chanmap->{fpga}->[27]->[ 23]=0x0022;
+$chanmap->{fpga}->[27]->[ 22]=0x0022;
+$chanmap->{fpga}->[27]->[ 21]=0x0022;
+$chanmap->{fpga}->[27]->[ 20]=0x0022;
+$chanmap->{fpga}->[27]->[ 19]=0x0022;
+$chanmap->{fpga}->[27]->[ 18]=0x0022;
+$chanmap->{fpga}->[27]->[ 17]=0x0022;
+$chanmap->{fpga}->[26]->[ 24]=0x0023;
+$chanmap->{fpga}->[26]->[ 23]=0x0023;
+$chanmap->{fpga}->[26]->[ 22]=0x0023;
+$chanmap->{fpga}->[26]->[ 21]=0x0023;
+$chanmap->{fpga}->[26]->[ 20]=0x0023;
+$chanmap->{fpga}->[26]->[ 19]=0x0023;
+$chanmap->{fpga}->[26]->[ 18]=0x0023;
+$chanmap->{fpga}->[26]->[ 17]=0x0023;
+$chanmap->{fpga}->[25]->[ 24]=0x0023;
+$chanmap->{fpga}->[25]->[ 23]=0x0023;
+$chanmap->{fpga}->[25]->[ 22]=0x0023;
+$chanmap->{fpga}->[25]->[ 21]=0x0023;
+$chanmap->{fpga}->[25]->[ 20]=0x0023;
+$chanmap->{fpga}->[25]->[ 19]=0x0023;
+$chanmap->{fpga}->[25]->[ 18]=0x0023;
+$chanmap->{fpga}->[25]->[ 17]=0x0023;
+$chanmap->{fpga}->[32]->[ 16]=0x0030;
+$chanmap->{fpga}->[32]->[ 15]=0x0030;
+$chanmap->{fpga}->[32]->[ 14]=0x0030;
+$chanmap->{fpga}->[32]->[ 13]=0x0030;
+$chanmap->{fpga}->[32]->[ 12]=0x0030;
+$chanmap->{fpga}->[32]->[ 11]=0x0030;
+$chanmap->{fpga}->[32]->[ 10]=0x0030;
+$chanmap->{fpga}->[32]->[ 9 ]=0x0030;
+$chanmap->{fpga}->[31]->[ 16]=0x0030;
+$chanmap->{fpga}->[31]->[ 15]=0x0030;
+$chanmap->{fpga}->[31]->[ 14]=0x0030;
+$chanmap->{fpga}->[31]->[ 13]=0x0030;
+$chanmap->{fpga}->[31]->[ 12]=0x0030;
+$chanmap->{fpga}->[31]->[ 11]=0x0030;
+$chanmap->{fpga}->[31]->[ 10]=0x0030;
+$chanmap->{fpga}->[31]->[ 9 ]=0x0030;
+$chanmap->{fpga}->[30]->[ 16]=0x0031;
+$chanmap->{fpga}->[30]->[ 15]=0x0031;
+$chanmap->{fpga}->[30]->[ 14]=0x0031;
+$chanmap->{fpga}->[30]->[ 13]=0x0031;
+$chanmap->{fpga}->[30]->[ 12]=0x0031;
+$chanmap->{fpga}->[30]->[ 11]=0x0031;
+$chanmap->{fpga}->[30]->[ 10]=0x0031;
+$chanmap->{fpga}->[30]->[ 9 ]=0x0031;
+$chanmap->{fpga}->[29]->[ 16]=0x0031;
+$chanmap->{fpga}->[29]->[ 15]=0x0031;
+$chanmap->{fpga}->[29]->[ 14]=0x0031;
+$chanmap->{fpga}->[29]->[ 13]=0x0031;
+$chanmap->{fpga}->[29]->[ 12]=0x0031;
+$chanmap->{fpga}->[29]->[ 11]=0x0031;
+$chanmap->{fpga}->[29]->[ 10]=0x0031;
+$chanmap->{fpga}->[29]->[ 9 ]=0x0031;
+$chanmap->{fpga}->[28]->[ 16]=0x0032;
+$chanmap->{fpga}->[28]->[ 15]=0x0032;
+$chanmap->{fpga}->[28]->[ 14]=0x0032;
+$chanmap->{fpga}->[28]->[ 13]=0x0032;
+$chanmap->{fpga}->[28]->[ 12]=0x0032;
+$chanmap->{fpga}->[28]->[ 11]=0x0032;
+$chanmap->{fpga}->[28]->[ 10]=0x0032;
+$chanmap->{fpga}->[28]->[ 9 ]=0x0032;
+$chanmap->{fpga}->[27]->[ 16]=0x0032;
+$chanmap->{fpga}->[27]->[ 15]=0x0032;
+$chanmap->{fpga}->[27]->[ 14]=0x0032;
+$chanmap->{fpga}->[27]->[ 13]=0x0032;
+$chanmap->{fpga}->[27]->[ 12]=0x0032;
+$chanmap->{fpga}->[27]->[ 11]=0x0032;
+$chanmap->{fpga}->[27]->[ 10]=0x0032;
+$chanmap->{fpga}->[27]->[ 9 ]=0x0032;
+$chanmap->{fpga}->[26]->[ 16]=0x0033;
+$chanmap->{fpga}->[26]->[ 15]=0x0033;
+$chanmap->{fpga}->[26]->[ 14]=0x0033;
+$chanmap->{fpga}->[26]->[ 13]=0x0033;
+$chanmap->{fpga}->[26]->[ 12]=0x0033;
+$chanmap->{fpga}->[26]->[ 11]=0x0033;
+$chanmap->{fpga}->[26]->[ 10]=0x0033;
+$chanmap->{fpga}->[26]->[ 9 ]=0x0033;
+$chanmap->{fpga}->[25]->[ 16]=0x0033;
+$chanmap->{fpga}->[25]->[ 15]=0x0033;
+$chanmap->{fpga}->[25]->[ 14]=0x0033;
+$chanmap->{fpga}->[25]->[ 13]=0x0033;
+$chanmap->{fpga}->[25]->[ 12]=0x0033;
+$chanmap->{fpga}->[25]->[ 11]=0x0033;
+$chanmap->{fpga}->[25]->[ 10]=0x0033;
+$chanmap->{fpga}->[25]->[ 9 ]=0x0033;
+$chanmap->{fpga}->[32]->[ 8 ]=0x0040;
+$chanmap->{fpga}->[32]->[ 7 ]=0x0040;
+$chanmap->{fpga}->[32]->[ 6 ]=0x0040;
+$chanmap->{fpga}->[32]->[ 5 ]=0x0040;
+$chanmap->{fpga}->[32]->[ 4 ]=0x0040;
+$chanmap->{fpga}->[32]->[ 3 ]=0x0040;
+$chanmap->{fpga}->[32]->[ 2 ]=0x0040;
+$chanmap->{fpga}->[32]->[ 1 ]=0x0040;
+$chanmap->{fpga}->[31]->[ 8 ]=0x0040;
+$chanmap->{fpga}->[31]->[ 7 ]=0x0040;
+$chanmap->{fpga}->[31]->[ 6 ]=0x0040;
+$chanmap->{fpga}->[31]->[ 5 ]=0x0040;
+$chanmap->{fpga}->[31]->[ 4 ]=0x0040;
+$chanmap->{fpga}->[31]->[ 3 ]=0x0040;
+$chanmap->{fpga}->[31]->[ 2 ]=0x0040;
+$chanmap->{fpga}->[31]->[ 1 ]=0x0040;
+$chanmap->{fpga}->[30]->[ 8 ]=0x0041;
+$chanmap->{fpga}->[30]->[ 7 ]=0x0041;
+$chanmap->{fpga}->[30]->[ 6 ]=0x0041;
+$chanmap->{fpga}->[30]->[ 5 ]=0x0041;
+$chanmap->{fpga}->[30]->[ 4 ]=0x0041;
+$chanmap->{fpga}->[30]->[ 3 ]=0x0041;
+$chanmap->{fpga}->[30]->[ 2 ]=0x0041;
+$chanmap->{fpga}->[30]->[ 1 ]=0x0041;
+$chanmap->{fpga}->[29]->[ 8 ]=0x0041;
+$chanmap->{fpga}->[29]->[ 7 ]=0x0041;
+$chanmap->{fpga}->[29]->[ 6 ]=0x0041;
+$chanmap->{fpga}->[29]->[ 5 ]=0x0041;
+$chanmap->{fpga}->[29]->[ 4 ]=0x0041;
+$chanmap->{fpga}->[29]->[ 3 ]=0x0041;
+$chanmap->{fpga}->[29]->[ 2 ]=0x0041;
+$chanmap->{fpga}->[29]->[ 1 ]=0x0041;
+$chanmap->{fpga}->[28]->[ 8 ]=0x0042;
+$chanmap->{fpga}->[28]->[ 7 ]=0x0042;
+$chanmap->{fpga}->[28]->[ 6 ]=0x0042;
+$chanmap->{fpga}->[28]->[ 5 ]=0x0042;
+$chanmap->{fpga}->[28]->[ 4 ]=0x0042;
+$chanmap->{fpga}->[28]->[ 3 ]=0x0042;
+$chanmap->{fpga}->[28]->[ 2 ]=0x0042;
+$chanmap->{fpga}->[28]->[ 1 ]=0x0042;
+$chanmap->{fpga}->[27]->[ 8 ]=0x0042;
+$chanmap->{fpga}->[27]->[ 7 ]=0x0042;
+$chanmap->{fpga}->[27]->[ 6 ]=0x0042;
+$chanmap->{fpga}->[27]->[ 5 ]=0x0042;
+$chanmap->{fpga}->[27]->[ 4 ]=0x0042;
+$chanmap->{fpga}->[27]->[ 3 ]=0x0042;
+$chanmap->{fpga}->[27]->[ 2 ]=0x0042;
+$chanmap->{fpga}->[27]->[ 1 ]=0x0042;
+$chanmap->{fpga}->[26]->[ 8 ]=0x0043;
+$chanmap->{fpga}->[26]->[ 7 ]=0x0043;
+$chanmap->{fpga}->[26]->[ 6 ]=0x0043;
+$chanmap->{fpga}->[26]->[ 5 ]=0x0043;
+$chanmap->{fpga}->[26]->[ 4 ]=0x0043;
+$chanmap->{fpga}->[26]->[ 3 ]=0x0043;
+$chanmap->{fpga}->[26]->[ 2 ]=0x0043;
+$chanmap->{fpga}->[26]->[ 1 ]=0x0043;
+$chanmap->{fpga}->[25]->[ 8 ]=0x0043;
+$chanmap->{fpga}->[25]->[ 7 ]=0x0043;
+$chanmap->{fpga}->[25]->[ 6 ]=0x0043;
+$chanmap->{fpga}->[25]->[ 5 ]=0x0043;
+$chanmap->{fpga}->[25]->[ 4 ]=0x0043;
+$chanmap->{fpga}->[25]->[ 3 ]=0x0043;
+$chanmap->{fpga}->[25]->[ 2 ]=0x0043;
+$chanmap->{fpga}->[25]->[ 1 ]=0x0043;
+$chanmap->{fpga}->[24]->[ 32]=0x0050;
+$chanmap->{fpga}->[24]->[ 31]=0x0050;
+$chanmap->{fpga}->[24]->[ 30]=0x0050;
+$chanmap->{fpga}->[24]->[ 29]=0x0050;
+$chanmap->{fpga}->[24]->[ 28]=0x0050;
+$chanmap->{fpga}->[24]->[ 27]=0x0050;
+$chanmap->{fpga}->[24]->[ 26]=0x0050;
+$chanmap->{fpga}->[24]->[ 25]=0x0050;
+$chanmap->{fpga}->[23]->[ 32]=0x0050;
+$chanmap->{fpga}->[23]->[ 31]=0x0050;
+$chanmap->{fpga}->[23]->[ 30]=0x0050;
+$chanmap->{fpga}->[23]->[ 29]=0x0050;
+$chanmap->{fpga}->[23]->[ 28]=0x0050;
+$chanmap->{fpga}->[23]->[ 27]=0x0050;
+$chanmap->{fpga}->[23]->[ 26]=0x0050;
+$chanmap->{fpga}->[23]->[ 25]=0x0050;
+$chanmap->{fpga}->[22]->[ 32]=0x0051;
+$chanmap->{fpga}->[22]->[ 31]=0x0051;
+$chanmap->{fpga}->[22]->[ 30]=0x0051;
+$chanmap->{fpga}->[22]->[ 29]=0x0051;
+$chanmap->{fpga}->[22]->[ 28]=0x0051;
+$chanmap->{fpga}->[22]->[ 27]=0x0051;
+$chanmap->{fpga}->[22]->[ 26]=0x0051;
+$chanmap->{fpga}->[22]->[ 25]=0x0051;
+$chanmap->{fpga}->[21]->[ 32]=0x0051;
+$chanmap->{fpga}->[21]->[ 31]=0x0051;
+$chanmap->{fpga}->[21]->[ 30]=0x0051;
+$chanmap->{fpga}->[21]->[ 29]=0x0051;
+$chanmap->{fpga}->[21]->[ 28]=0x0051;
+$chanmap->{fpga}->[21]->[ 27]=0x0051;
+$chanmap->{fpga}->[21]->[ 26]=0x0051;
+$chanmap->{fpga}->[21]->[ 25]=0x0051;
+$chanmap->{fpga}->[20]->[ 32]=0x0052;
+$chanmap->{fpga}->[20]->[ 31]=0x0052;
+$chanmap->{fpga}->[20]->[ 30]=0x0052;
+$chanmap->{fpga}->[20]->[ 29]=0x0052;
+$chanmap->{fpga}->[20]->[ 28]=0x0052;
+$chanmap->{fpga}->[20]->[ 27]=0x0052;
+$chanmap->{fpga}->[20]->[ 26]=0x0052;
+$chanmap->{fpga}->[20]->[ 25]=0x0052;
+$chanmap->{fpga}->[19]->[ 32]=0x0052;
+$chanmap->{fpga}->[19]->[ 31]=0x0052;
+$chanmap->{fpga}->[19]->[ 30]=0x0052;
+$chanmap->{fpga}->[19]->[ 29]=0x0052;
+$chanmap->{fpga}->[19]->[ 28]=0x0052;
+$chanmap->{fpga}->[19]->[ 27]=0x0052;
+$chanmap->{fpga}->[19]->[ 26]=0x0052;
+$chanmap->{fpga}->[19]->[ 25]=0x0052;
+$chanmap->{fpga}->[18]->[ 32]=0x0053;
+$chanmap->{fpga}->[18]->[ 31]=0x0053;
+$chanmap->{fpga}->[18]->[ 30]=0x0053;
+$chanmap->{fpga}->[18]->[ 29]=0x0053;
+$chanmap->{fpga}->[18]->[ 28]=0x0053;
+$chanmap->{fpga}->[18]->[ 27]=0x0053;
+$chanmap->{fpga}->[18]->[ 26]=0x0053;
+$chanmap->{fpga}->[18]->[ 25]=0x0053;
+$chanmap->{fpga}->[17]->[ 32]=0x0053;
+$chanmap->{fpga}->[17]->[ 31]=0x0053;
+$chanmap->{fpga}->[17]->[ 30]=0x0053;
+$chanmap->{fpga}->[17]->[ 29]=0x0053;
+$chanmap->{fpga}->[17]->[ 28]=0x0053;
+$chanmap->{fpga}->[17]->[ 27]=0x0053;
+$chanmap->{fpga}->[17]->[ 26]=0x0053;
+$chanmap->{fpga}->[17]->[ 25]=0x0053;
+$chanmap->{fpga}->[24]->[ 24]=0x0060;
+$chanmap->{fpga}->[24]->[ 23]=0x0060;
+$chanmap->{fpga}->[24]->[ 22]=0x0060;
+$chanmap->{fpga}->[24]->[ 21]=0x0060;
+$chanmap->{fpga}->[24]->[ 20]=0x0060;
+$chanmap->{fpga}->[24]->[ 19]=0x0060;
+$chanmap->{fpga}->[24]->[ 18]=0x0060;
+$chanmap->{fpga}->[24]->[ 17]=0x0060;
+$chanmap->{fpga}->[23]->[ 24]=0x0060;
+$chanmap->{fpga}->[23]->[ 23]=0x0060;
+$chanmap->{fpga}->[23]->[ 22]=0x0060;
+$chanmap->{fpga}->[23]->[ 21]=0x0060;
+$chanmap->{fpga}->[23]->[ 20]=0x0060;
+$chanmap->{fpga}->[23]->[ 19]=0x0060;
+$chanmap->{fpga}->[23]->[ 18]=0x0060;
+$chanmap->{fpga}->[23]->[ 17]=0x0060;
+$chanmap->{fpga}->[22]->[ 24]=0x0061;
+$chanmap->{fpga}->[22]->[ 23]=0x0061;
+$chanmap->{fpga}->[22]->[ 22]=0x0061;
+$chanmap->{fpga}->[22]->[ 21]=0x0061;
+$chanmap->{fpga}->[22]->[ 20]=0x0061;
+$chanmap->{fpga}->[22]->[ 19]=0x0061;
+$chanmap->{fpga}->[22]->[ 18]=0x0061;
+$chanmap->{fpga}->[22]->[ 17]=0x0061;
+$chanmap->{fpga}->[21]->[ 24]=0x0061;
+$chanmap->{fpga}->[21]->[ 23]=0x0061;
+$chanmap->{fpga}->[21]->[ 22]=0x0061;
+$chanmap->{fpga}->[21]->[ 21]=0x0061;
+$chanmap->{fpga}->[21]->[ 20]=0x0061;
+$chanmap->{fpga}->[21]->[ 19]=0x0061;
+$chanmap->{fpga}->[21]->[ 18]=0x0061;
+$chanmap->{fpga}->[21]->[ 17]=0x0061;
+$chanmap->{fpga}->[20]->[ 24]=0x0062;
+$chanmap->{fpga}->[20]->[ 23]=0x0062;
+$chanmap->{fpga}->[20]->[ 22]=0x0062;
+$chanmap->{fpga}->[20]->[ 21]=0x0062;
+$chanmap->{fpga}->[20]->[ 20]=0x0062;
+$chanmap->{fpga}->[20]->[ 19]=0x0062;
+$chanmap->{fpga}->[20]->[ 18]=0x0062;
+$chanmap->{fpga}->[20]->[ 17]=0x0062;
+$chanmap->{fpga}->[19]->[ 24]=0x0062;
+$chanmap->{fpga}->[19]->[ 23]=0x0062;
+$chanmap->{fpga}->[19]->[ 22]=0x0062;
+$chanmap->{fpga}->[19]->[ 21]=0x0062;
+$chanmap->{fpga}->[19]->[ 20]=0x0062;
+$chanmap->{fpga}->[19]->[ 19]=0x0062;
+$chanmap->{fpga}->[19]->[ 18]=0x0062;
+$chanmap->{fpga}->[19]->[ 17]=0x0062;
+$chanmap->{fpga}->[18]->[ 24]=0x0063;
+$chanmap->{fpga}->[18]->[ 23]=0x0063;
+$chanmap->{fpga}->[18]->[ 22]=0x0063;
+$chanmap->{fpga}->[18]->[ 21]=0x0063;
+$chanmap->{fpga}->[18]->[ 20]=0x0063;
+$chanmap->{fpga}->[18]->[ 19]=0x0063;
+$chanmap->{fpga}->[18]->[ 18]=0x0063;
+$chanmap->{fpga}->[18]->[ 17]=0x0063;
+$chanmap->{fpga}->[17]->[ 24]=0x0063;
+$chanmap->{fpga}->[17]->[ 23]=0x0063;
+$chanmap->{fpga}->[17]->[ 22]=0x0063;
+$chanmap->{fpga}->[17]->[ 21]=0x0063;
+$chanmap->{fpga}->[17]->[ 20]=0x0063;
+$chanmap->{fpga}->[17]->[ 19]=0x0063;
+$chanmap->{fpga}->[17]->[ 18]=0x0063;
+$chanmap->{fpga}->[17]->[ 17]=0x0063;
+$chanmap->{fpga}->[24]->[ 16]=0x0070;
+$chanmap->{fpga}->[24]->[ 15]=0x0070;
+$chanmap->{fpga}->[24]->[ 14]=0x0070;
+$chanmap->{fpga}->[24]->[ 13]=0x0070;
+$chanmap->{fpga}->[24]->[ 12]=0x0070;
+$chanmap->{fpga}->[24]->[ 11]=0x0070;
+$chanmap->{fpga}->[24]->[ 10]=0x0070;
+$chanmap->{fpga}->[24]->[ 9 ]=0x0070;
+$chanmap->{fpga}->[23]->[ 16]=0x0070;
+$chanmap->{fpga}->[23]->[ 15]=0x0070;
+$chanmap->{fpga}->[23]->[ 14]=0x0070;
+$chanmap->{fpga}->[23]->[ 13]=0x0070;
+$chanmap->{fpga}->[23]->[ 12]=0x0070;
+$chanmap->{fpga}->[23]->[ 11]=0x0070;
+$chanmap->{fpga}->[23]->[ 10]=0x0070;
+$chanmap->{fpga}->[23]->[ 9 ]=0x0070;
+$chanmap->{fpga}->[22]->[ 16]=0x0071;
+$chanmap->{fpga}->[22]->[ 15]=0x0071;
+$chanmap->{fpga}->[22]->[ 14]=0x0071;
+$chanmap->{fpga}->[22]->[ 13]=0x0071;
+$chanmap->{fpga}->[22]->[ 12]=0x0071;
+$chanmap->{fpga}->[22]->[ 11]=0x0071;
+$chanmap->{fpga}->[22]->[ 10]=0x0071;
+$chanmap->{fpga}->[22]->[ 9 ]=0x0071;
+$chanmap->{fpga}->[21]->[ 16]=0x0071;
+$chanmap->{fpga}->[21]->[ 15]=0x0071;
+$chanmap->{fpga}->[21]->[ 14]=0x0071;
+$chanmap->{fpga}->[21]->[ 13]=0x0071;
+$chanmap->{fpga}->[21]->[ 12]=0x0071;
+$chanmap->{fpga}->[21]->[ 11]=0x0071;
+$chanmap->{fpga}->[21]->[ 10]=0x0071;
+$chanmap->{fpga}->[21]->[ 9 ]=0x0071;
+$chanmap->{fpga}->[20]->[ 16]=0x0072;
+$chanmap->{fpga}->[20]->[ 15]=0x0072;
+$chanmap->{fpga}->[20]->[ 14]=0x0072;
+$chanmap->{fpga}->[20]->[ 13]=0x0072;
+$chanmap->{fpga}->[20]->[ 12]=0x0072;
+$chanmap->{fpga}->[20]->[ 11]=0x0072;
+$chanmap->{fpga}->[20]->[ 10]=0x0072;
+$chanmap->{fpga}->[20]->[ 9 ]=0x0072;
+$chanmap->{fpga}->[19]->[ 16]=0x0072;
+$chanmap->{fpga}->[19]->[ 15]=0x0072;
+$chanmap->{fpga}->[19]->[ 14]=0x0072;
+$chanmap->{fpga}->[19]->[ 13]=0x0072;
+$chanmap->{fpga}->[19]->[ 12]=0x0072;
+$chanmap->{fpga}->[19]->[ 11]=0x0072;
+$chanmap->{fpga}->[19]->[ 10]=0x0072;
+$chanmap->{fpga}->[19]->[ 9 ]=0x0072;
+$chanmap->{fpga}->[18]->[ 16]=0x0073;
+$chanmap->{fpga}->[18]->[ 15]=0x0073;
+$chanmap->{fpga}->[18]->[ 14]=0x0073;
+$chanmap->{fpga}->[18]->[ 13]=0x0073;
+$chanmap->{fpga}->[18]->[ 12]=0x0073;
+$chanmap->{fpga}->[18]->[ 11]=0x0073;
+$chanmap->{fpga}->[18]->[ 10]=0x0073;
+$chanmap->{fpga}->[18]->[ 9 ]=0x0073;
+$chanmap->{fpga}->[17]->[ 16]=0x0073;
+$chanmap->{fpga}->[17]->[ 15]=0x0073;
+$chanmap->{fpga}->[17]->[ 14]=0x0073;
+$chanmap->{fpga}->[17]->[ 13]=0x0073;
+$chanmap->{fpga}->[17]->[ 12]=0x0073;
+$chanmap->{fpga}->[17]->[ 11]=0x0073;
+$chanmap->{fpga}->[17]->[ 10]=0x0073;
+$chanmap->{fpga}->[17]->[ 9 ]=0x0073;
+$chanmap->{fpga}->[24]->[ 8 ]=0x0080;
+$chanmap->{fpga}->[24]->[ 7 ]=0x0080;
+$chanmap->{fpga}->[24]->[ 6 ]=0x0080;
+$chanmap->{fpga}->[24]->[ 5 ]=0x0080;
+$chanmap->{fpga}->[24]->[ 4 ]=0x0080;
+$chanmap->{fpga}->[24]->[ 3 ]=0x0080;
+$chanmap->{fpga}->[24]->[ 2 ]=0x0080;
+$chanmap->{fpga}->[24]->[ 1 ]=0x0080;
+$chanmap->{fpga}->[23]->[ 8 ]=0x0080;
+$chanmap->{fpga}->[23]->[ 7 ]=0x0080;
+$chanmap->{fpga}->[23]->[ 6 ]=0x0080;
+$chanmap->{fpga}->[23]->[ 5 ]=0x0080;
+$chanmap->{fpga}->[23]->[ 4 ]=0x0080;
+$chanmap->{fpga}->[23]->[ 3 ]=0x0080;
+$chanmap->{fpga}->[23]->[ 2 ]=0x0080;
+$chanmap->{fpga}->[23]->[ 1 ]=0x0080;
+$chanmap->{fpga}->[22]->[ 8 ]=0x0081;
+$chanmap->{fpga}->[22]->[ 7 ]=0x0081;
+$chanmap->{fpga}->[22]->[ 6 ]=0x0081;
+$chanmap->{fpga}->[22]->[ 5 ]=0x0081;
+$chanmap->{fpga}->[22]->[ 4 ]=0x0081;
+$chanmap->{fpga}->[22]->[ 3 ]=0x0081;
+$chanmap->{fpga}->[22]->[ 2 ]=0x0081;
+$chanmap->{fpga}->[22]->[ 1 ]=0x0081;
+$chanmap->{fpga}->[21]->[ 8 ]=0x0081;
+$chanmap->{fpga}->[21]->[ 7 ]=0x0081;
+$chanmap->{fpga}->[21]->[ 6 ]=0x0081;
+$chanmap->{fpga}->[21]->[ 5 ]=0x0081;
+$chanmap->{fpga}->[21]->[ 4 ]=0x0081;
+$chanmap->{fpga}->[21]->[ 3 ]=0x0081;
+$chanmap->{fpga}->[21]->[ 2 ]=0x0081;
+$chanmap->{fpga}->[21]->[ 1 ]=0x0081;
+$chanmap->{fpga}->[20]->[ 8 ]=0x0082;
+$chanmap->{fpga}->[20]->[ 7 ]=0x0082;
+$chanmap->{fpga}->[20]->[ 6 ]=0x0082;
+$chanmap->{fpga}->[20]->[ 5 ]=0x0082;
+$chanmap->{fpga}->[20]->[ 4 ]=0x0082;
+$chanmap->{fpga}->[20]->[ 3 ]=0x0082;
+$chanmap->{fpga}->[20]->[ 2 ]=0x0082;
+$chanmap->{fpga}->[20]->[ 1 ]=0x0082;
+$chanmap->{fpga}->[19]->[ 8 ]=0x0082;
+$chanmap->{fpga}->[19]->[ 7 ]=0x0082;
+$chanmap->{fpga}->[19]->[ 6 ]=0x0082;
+$chanmap->{fpga}->[19]->[ 5 ]=0x0082;
+$chanmap->{fpga}->[19]->[ 4 ]=0x0082;
+$chanmap->{fpga}->[19]->[ 3 ]=0x0082;
+$chanmap->{fpga}->[19]->[ 2 ]=0x0082;
+$chanmap->{fpga}->[19]->[ 1 ]=0x0082;
+$chanmap->{fpga}->[18]->[ 8 ]=0x0083;
+$chanmap->{fpga}->[18]->[ 7 ]=0x0083;
+$chanmap->{fpga}->[18]->[ 6 ]=0x0083;
+$chanmap->{fpga}->[18]->[ 5 ]=0x0083;
+$chanmap->{fpga}->[18]->[ 4 ]=0x0083;
+$chanmap->{fpga}->[18]->[ 3 ]=0x0083;
+$chanmap->{fpga}->[18]->[ 2 ]=0x0083;
+$chanmap->{fpga}->[18]->[ 1 ]=0x0083;
+$chanmap->{fpga}->[17]->[ 8 ]=0x0083;
+$chanmap->{fpga}->[17]->[ 7 ]=0x0083;
+$chanmap->{fpga}->[17]->[ 6 ]=0x0083;
+$chanmap->{fpga}->[17]->[ 5 ]=0x0083;
+$chanmap->{fpga}->[17]->[ 4 ]=0x0083;
+$chanmap->{fpga}->[17]->[ 3 ]=0x0083;
+$chanmap->{fpga}->[17]->[ 2 ]=0x0083;
+$chanmap->{fpga}->[17]->[ 1 ]=0x0083;
+$chanmap->{fpga}->[16]->[ 32]=0x0090;
+$chanmap->{fpga}->[16]->[ 31]=0x0090;
+$chanmap->{fpga}->[16]->[ 30]=0x0090;
+$chanmap->{fpga}->[16]->[ 29]=0x0090;
+$chanmap->{fpga}->[16]->[ 28]=0x0090;
+$chanmap->{fpga}->[16]->[ 27]=0x0090;
+$chanmap->{fpga}->[16]->[ 26]=0x0090;
+$chanmap->{fpga}->[16]->[ 25]=0x0090;
+$chanmap->{fpga}->[15]->[ 32]=0x0090;
+$chanmap->{fpga}->[15]->[ 31]=0x0090;
+$chanmap->{fpga}->[15]->[ 30]=0x0090;
+$chanmap->{fpga}->[15]->[ 29]=0x0090;
+$chanmap->{fpga}->[15]->[ 28]=0x0090;
+$chanmap->{fpga}->[15]->[ 27]=0x0090;
+$chanmap->{fpga}->[15]->[ 26]=0x0090;
+$chanmap->{fpga}->[15]->[ 25]=0x0090;
+$chanmap->{fpga}->[14]->[ 32]=0x0091;
+$chanmap->{fpga}->[14]->[ 31]=0x0091;
+$chanmap->{fpga}->[14]->[ 30]=0x0091;
+$chanmap->{fpga}->[14]->[ 29]=0x0091;
+$chanmap->{fpga}->[14]->[ 28]=0x0091;
+$chanmap->{fpga}->[14]->[ 27]=0x0091;
+$chanmap->{fpga}->[14]->[ 26]=0x0091;
+$chanmap->{fpga}->[14]->[ 25]=0x0091;
+$chanmap->{fpga}->[13]->[ 32]=0x0091;
+$chanmap->{fpga}->[13]->[ 31]=0x0091;
+$chanmap->{fpga}->[13]->[ 30]=0x0091;
+$chanmap->{fpga}->[13]->[ 29]=0x0091;
+$chanmap->{fpga}->[13]->[ 28]=0x0091;
+$chanmap->{fpga}->[13]->[ 27]=0x0091;
+$chanmap->{fpga}->[13]->[ 26]=0x0091;
+$chanmap->{fpga}->[13]->[ 25]=0x0091;
+$chanmap->{fpga}->[12]->[ 32]=0x0092;
+$chanmap->{fpga}->[12]->[ 31]=0x0092;
+$chanmap->{fpga}->[12]->[ 30]=0x0092;
+$chanmap->{fpga}->[12]->[ 29]=0x0092;
+$chanmap->{fpga}->[12]->[ 28]=0x0092;
+$chanmap->{fpga}->[12]->[ 27]=0x0092;
+$chanmap->{fpga}->[12]->[ 26]=0x0092;
+$chanmap->{fpga}->[12]->[ 25]=0x0092;
+$chanmap->{fpga}->[11]->[ 32]=0x0092;
+$chanmap->{fpga}->[11]->[ 31]=0x0092;
+$chanmap->{fpga}->[11]->[ 30]=0x0092;
+$chanmap->{fpga}->[11]->[ 29]=0x0092;
+$chanmap->{fpga}->[11]->[ 28]=0x0092;
+$chanmap->{fpga}->[11]->[ 27]=0x0092;
+$chanmap->{fpga}->[11]->[ 26]=0x0092;
+$chanmap->{fpga}->[11]->[ 25]=0x0092;
+$chanmap->{fpga}->[10]->[ 32]=0x0093;
+$chanmap->{fpga}->[10]->[ 31]=0x0093;
+$chanmap->{fpga}->[10]->[ 30]=0x0093;
+$chanmap->{fpga}->[10]->[ 29]=0x0093;
+$chanmap->{fpga}->[10]->[ 28]=0x0093;
+$chanmap->{fpga}->[10]->[ 27]=0x0093;
+$chanmap->{fpga}->[10]->[ 26]=0x0093;
+$chanmap->{fpga}->[10]->[ 25]=0x0093;
+$chanmap->{fpga}->[9 ]->[32 ]=0x0093;
+$chanmap->{fpga}->[9 ]->[31 ]=0x0093;
+$chanmap->{fpga}->[9 ]->[30 ]=0x0093;
+$chanmap->{fpga}->[9 ]->[29 ]=0x0093;
+$chanmap->{fpga}->[9 ]->[28 ]=0x0093;
+$chanmap->{fpga}->[9 ]->[27 ]=0x0093;
+$chanmap->{fpga}->[9 ]->[26 ]=0x0093;
+$chanmap->{fpga}->[9 ]->[25 ]=0x0093;
+$chanmap->{fpga}->[16]->[ 24]=0x00a0;
+$chanmap->{fpga}->[16]->[ 23]=0x00a0;
+$chanmap->{fpga}->[16]->[ 22]=0x00a0;
+$chanmap->{fpga}->[16]->[ 21]=0x00a0;
+$chanmap->{fpga}->[16]->[ 20]=0x00a0;
+$chanmap->{fpga}->[16]->[ 19]=0x00a0;
+$chanmap->{fpga}->[16]->[ 18]=0x00a0;
+$chanmap->{fpga}->[16]->[ 17]=0x00a0;
+$chanmap->{fpga}->[15]->[ 24]=0x00a0;
+$chanmap->{fpga}->[15]->[ 23]=0x00a0;
+$chanmap->{fpga}->[15]->[ 22]=0x00a0;
+$chanmap->{fpga}->[15]->[ 21]=0x00a0;
+$chanmap->{fpga}->[15]->[ 20]=0x00a0;
+$chanmap->{fpga}->[15]->[ 19]=0x00a0;
+$chanmap->{fpga}->[15]->[ 18]=0x00a0;
+$chanmap->{fpga}->[15]->[ 17]=0x00a0;
+$chanmap->{fpga}->[14]->[ 24]=0x00a1;
+$chanmap->{fpga}->[14]->[ 23]=0x00a1;
+$chanmap->{fpga}->[14]->[ 22]=0x00a1;
+$chanmap->{fpga}->[14]->[ 21]=0x00a1;
+$chanmap->{fpga}->[14]->[ 20]=0x00a1;
+$chanmap->{fpga}->[14]->[ 19]=0x00a1;
+$chanmap->{fpga}->[14]->[ 18]=0x00a1;
+$chanmap->{fpga}->[14]->[ 17]=0x00a1;
+$chanmap->{fpga}->[13]->[ 24]=0x00a1;
+$chanmap->{fpga}->[13]->[ 23]=0x00a1;
+$chanmap->{fpga}->[13]->[ 22]=0x00a1;
+$chanmap->{fpga}->[13]->[ 21]=0x00a1;
+$chanmap->{fpga}->[13]->[ 20]=0x00a1;
+$chanmap->{fpga}->[13]->[ 19]=0x00a1;
+$chanmap->{fpga}->[13]->[ 18]=0x00a1;
+$chanmap->{fpga}->[13]->[ 17]=0x00a1;
+$chanmap->{fpga}->[12]->[ 24]=0x00a2;
+$chanmap->{fpga}->[12]->[ 23]=0x00a2;
+$chanmap->{fpga}->[12]->[ 22]=0x00a2;
+$chanmap->{fpga}->[12]->[ 21]=0x00a2;
+$chanmap->{fpga}->[12]->[ 20]=0x00a2;
+$chanmap->{fpga}->[12]->[ 19]=0x00a2;
+$chanmap->{fpga}->[12]->[ 18]=0x00a2;
+$chanmap->{fpga}->[12]->[ 17]=0x00a2;
+$chanmap->{fpga}->[11]->[ 24]=0x00a2;
+$chanmap->{fpga}->[11]->[ 23]=0x00a2;
+$chanmap->{fpga}->[11]->[ 22]=0x00a2;
+$chanmap->{fpga}->[11]->[ 21]=0x00a2;
+$chanmap->{fpga}->[11]->[ 20]=0x00a2;
+$chanmap->{fpga}->[11]->[ 19]=0x00a2;
+$chanmap->{fpga}->[11]->[ 18]=0x00a2;
+$chanmap->{fpga}->[11]->[ 17]=0x00a2;
+$chanmap->{fpga}->[10]->[ 24]=0x00a3;
+$chanmap->{fpga}->[10]->[ 23]=0x00a3;
+$chanmap->{fpga}->[10]->[ 22]=0x00a3;
+$chanmap->{fpga}->[10]->[ 21]=0x00a3;
+$chanmap->{fpga}->[10]->[ 20]=0x00a3;
+$chanmap->{fpga}->[10]->[ 19]=0x00a3;
+$chanmap->{fpga}->[10]->[ 18]=0x00a3;
+$chanmap->{fpga}->[10]->[ 17]=0x00a3;
+$chanmap->{fpga}->[9 ]->[24 ]=0x00a3;
+$chanmap->{fpga}->[9 ]->[23 ]=0x00a3;
+$chanmap->{fpga}->[9 ]->[22 ]=0x00a3;
+$chanmap->{fpga}->[9 ]->[21 ]=0x00a3;
+$chanmap->{fpga}->[9 ]->[20 ]=0x00a3;
+$chanmap->{fpga}->[9 ]->[19 ]=0x00a3;
+$chanmap->{fpga}->[9 ]->[18 ]=0x00a3;
+$chanmap->{fpga}->[9 ]->[17 ]=0x00a3;
+$chanmap->{fpga}->[16]->[ 16]=0x00b0;
+$chanmap->{fpga}->[16]->[ 15]=0x00b0;
+$chanmap->{fpga}->[16]->[ 14]=0x00b0;
+$chanmap->{fpga}->[16]->[ 13]=0x00b0;
+$chanmap->{fpga}->[16]->[ 12]=0x00b0;
+$chanmap->{fpga}->[16]->[ 11]=0x00b0;
+$chanmap->{fpga}->[16]->[ 10]=0x00b0;
+$chanmap->{fpga}->[16]->[ 9 ]=0x00b0;
+$chanmap->{fpga}->[15]->[ 16]=0x00b0;
+$chanmap->{fpga}->[15]->[ 15]=0x00b0;
+$chanmap->{fpga}->[15]->[ 14]=0x00b0;
+$chanmap->{fpga}->[15]->[ 13]=0x00b0;
+$chanmap->{fpga}->[15]->[ 12]=0x00b0;
+$chanmap->{fpga}->[15]->[ 11]=0x00b0;
+$chanmap->{fpga}->[15]->[ 10]=0x00b0;
+$chanmap->{fpga}->[15]->[ 9 ]=0x00b0;
+$chanmap->{fpga}->[14]->[ 16]=0x00b1;
+$chanmap->{fpga}->[14]->[ 15]=0x00b1;
+$chanmap->{fpga}->[14]->[ 14]=0x00b1;
+$chanmap->{fpga}->[14]->[ 13]=0x00b1;
+$chanmap->{fpga}->[14]->[ 12]=0x00b1;
+$chanmap->{fpga}->[14]->[ 11]=0x00b1;
+$chanmap->{fpga}->[14]->[ 10]=0x00b1;
+$chanmap->{fpga}->[14]->[ 9 ]=0x00b1;
+$chanmap->{fpga}->[13]->[ 16]=0x00b1;
+$chanmap->{fpga}->[13]->[ 15]=0x00b1;
+$chanmap->{fpga}->[13]->[ 14]=0x00b1;
+$chanmap->{fpga}->[13]->[ 13]=0x00b1;
+$chanmap->{fpga}->[13]->[ 12]=0x00b1;
+$chanmap->{fpga}->[13]->[ 11]=0x00b1;
+$chanmap->{fpga}->[13]->[ 10]=0x00b1;
+$chanmap->{fpga}->[13]->[ 9 ]=0x00b1;
+$chanmap->{fpga}->[12]->[ 16]=0x00b2;
+$chanmap->{fpga}->[12]->[ 15]=0x00b2;
+$chanmap->{fpga}->[12]->[ 14]=0x00b2;
+$chanmap->{fpga}->[12]->[ 13]=0x00b2;
+$chanmap->{fpga}->[12]->[ 12]=0x00b2;
+$chanmap->{fpga}->[12]->[ 11]=0x00b2;
+$chanmap->{fpga}->[12]->[ 10]=0x00b2;
+$chanmap->{fpga}->[12]->[ 9 ]=0x00b2;
+$chanmap->{fpga}->[11]->[ 16]=0x00b2;
+$chanmap->{fpga}->[11]->[ 15]=0x00b2;
+$chanmap->{fpga}->[11]->[ 14]=0x00b2;
+$chanmap->{fpga}->[11]->[ 13]=0x00b2;
+$chanmap->{fpga}->[11]->[ 12]=0x00b2;
+$chanmap->{fpga}->[11]->[ 11]=0x00b2;
+$chanmap->{fpga}->[11]->[ 10]=0x00b2;
+$chanmap->{fpga}->[11]->[ 9 ]=0x00b2;
+$chanmap->{fpga}->[10]->[ 16]=0x00b3;
+$chanmap->{fpga}->[10]->[ 15]=0x00b3;
+$chanmap->{fpga}->[10]->[ 14]=0x00b3;
+$chanmap->{fpga}->[10]->[ 13]=0x00b3;
+$chanmap->{fpga}->[10]->[ 12]=0x00b3;
+$chanmap->{fpga}->[10]->[ 11]=0x00b3;
+$chanmap->{fpga}->[10]->[ 10]=0x00b3;
+$chanmap->{fpga}->[10]->[ 9 ]=0x00b3;
+$chanmap->{fpga}->[9 ]->[16 ]=0x00b3;
+$chanmap->{fpga}->[9 ]->[15 ]=0x00b3;
+$chanmap->{fpga}->[9 ]->[14 ]=0x00b3;
+$chanmap->{fpga}->[9 ]->[13 ]=0x00b3;
+$chanmap->{fpga}->[9 ]->[12 ]=0x00b3;
+$chanmap->{fpga}->[9 ]->[11 ]=0x00b3;
+$chanmap->{fpga}->[9 ]->[10 ]=0x00b3;
+$chanmap->{fpga}->[9 ]->[9  ]=0x00b3;
+$chanmap->{fpga}->[16]->[ 8 ]=0x00c0;
+$chanmap->{fpga}->[16]->[ 7 ]=0x00c0;
+$chanmap->{fpga}->[16]->[ 6 ]=0x00c0;
+$chanmap->{fpga}->[16]->[ 5 ]=0x00c0;
+$chanmap->{fpga}->[16]->[ 4 ]=0x00c0;
+$chanmap->{fpga}->[16]->[ 3 ]=0x00c0;
+$chanmap->{fpga}->[16]->[ 2 ]=0x00c0;
+$chanmap->{fpga}->[16]->[ 1 ]=0x00c0;
+$chanmap->{fpga}->[15]->[ 8 ]=0x00c0;
+$chanmap->{fpga}->[15]->[ 7 ]=0x00c0;
+$chanmap->{fpga}->[15]->[ 6 ]=0x00c0;
+$chanmap->{fpga}->[15]->[ 5 ]=0x00c0;
+$chanmap->{fpga}->[15]->[ 4 ]=0x00c0;
+$chanmap->{fpga}->[15]->[ 3 ]=0x00c0;
+$chanmap->{fpga}->[15]->[ 2 ]=0x00c0;
+$chanmap->{fpga}->[15]->[ 1 ]=0x00c0;
+$chanmap->{fpga}->[14]->[ 8 ]=0x00c1;
+$chanmap->{fpga}->[14]->[ 7 ]=0x00c1;
+$chanmap->{fpga}->[14]->[ 6 ]=0x00c1;
+$chanmap->{fpga}->[14]->[ 5 ]=0x00c1;
+$chanmap->{fpga}->[14]->[ 4 ]=0x00c1;
+$chanmap->{fpga}->[14]->[ 3 ]=0x00c1;
+$chanmap->{fpga}->[14]->[ 2 ]=0x00c1;
+$chanmap->{fpga}->[14]->[ 1 ]=0x00c1;
+$chanmap->{fpga}->[13]->[ 8 ]=0x00c1;
+$chanmap->{fpga}->[13]->[ 7 ]=0x00c1;
+$chanmap->{fpga}->[13]->[ 6 ]=0x00c1;
+$chanmap->{fpga}->[13]->[ 5 ]=0x00c1;
+$chanmap->{fpga}->[13]->[ 4 ]=0x00c1;
+$chanmap->{fpga}->[13]->[ 3 ]=0x00c1;
+$chanmap->{fpga}->[13]->[ 2 ]=0x00c1;
+$chanmap->{fpga}->[13]->[ 1 ]=0x00c1;
+$chanmap->{fpga}->[12]->[ 8 ]=0x00c2;
+$chanmap->{fpga}->[12]->[ 7 ]=0x00c2;
+$chanmap->{fpga}->[12]->[ 6 ]=0x00c2;
+$chanmap->{fpga}->[12]->[ 5 ]=0x00c2;
+$chanmap->{fpga}->[12]->[ 4 ]=0x00c2;
+$chanmap->{fpga}->[12]->[ 3 ]=0x00c2;
+$chanmap->{fpga}->[12]->[ 2 ]=0x00c2;
+$chanmap->{fpga}->[12]->[ 1 ]=0x00c2;
+$chanmap->{fpga}->[11]->[ 8 ]=0x00c2;
+$chanmap->{fpga}->[11]->[ 7 ]=0x00c2;
+$chanmap->{fpga}->[11]->[ 6 ]=0x00c2;
+$chanmap->{fpga}->[11]->[ 5 ]=0x00c2;
+$chanmap->{fpga}->[11]->[ 4 ]=0x00c2;
+$chanmap->{fpga}->[11]->[ 3 ]=0x00c2;
+$chanmap->{fpga}->[11]->[ 2 ]=0x00c2;
+$chanmap->{fpga}->[11]->[ 1 ]=0x00c2;
+$chanmap->{fpga}->[10]->[ 8 ]=0x00c3;
+$chanmap->{fpga}->[10]->[ 7 ]=0x00c3;
+$chanmap->{fpga}->[10]->[ 6 ]=0x00c3;
+$chanmap->{fpga}->[10]->[ 5 ]=0x00c3;
+$chanmap->{fpga}->[10]->[ 4 ]=0x00c3;
+$chanmap->{fpga}->[10]->[ 3 ]=0x00c3;
+$chanmap->{fpga}->[10]->[ 2 ]=0x00c3;
+$chanmap->{fpga}->[10]->[ 1 ]=0x00c3;
+$chanmap->{fpga}->[9 ]->[8  ]=0x00c3;
+$chanmap->{fpga}->[9 ]->[7  ]=0x00c3;
+$chanmap->{fpga}->[9 ]->[6  ]=0x00c3;
+$chanmap->{fpga}->[9 ]->[5  ]=0x00c3;
+$chanmap->{fpga}->[9 ]->[4  ]=0x00c3;
+$chanmap->{fpga}->[9 ]->[3  ]=0x00c3;
+$chanmap->{fpga}->[9 ]->[2  ]=0x00c3;
+$chanmap->{fpga}->[9 ]->[1  ]=0x00c3;
+$chanmap->{fpga}->[8 ]->[32 ]=0x00d0;
+$chanmap->{fpga}->[8 ]->[31 ]=0x00d0;
+$chanmap->{fpga}->[8 ]->[30 ]=0x00d0;
+$chanmap->{fpga}->[8 ]->[29 ]=0x00d0;
+$chanmap->{fpga}->[8 ]->[28 ]=0x00d0;
+$chanmap->{fpga}->[8 ]->[27 ]=0x00d0;
+$chanmap->{fpga}->[8 ]->[26 ]=0x00d0;
+$chanmap->{fpga}->[8 ]->[25 ]=0x00d0;
+$chanmap->{fpga}->[7 ]->[32 ]=0x00d0;
+$chanmap->{fpga}->[7 ]->[31 ]=0x00d0;
+$chanmap->{fpga}->[7 ]->[30 ]=0x00d0;
+$chanmap->{fpga}->[7 ]->[29 ]=0x00d0;
+$chanmap->{fpga}->[7 ]->[28 ]=0x00d0;
+$chanmap->{fpga}->[7 ]->[27 ]=0x00d0;
+$chanmap->{fpga}->[7 ]->[26 ]=0x00d0;
+$chanmap->{fpga}->[7 ]->[25 ]=0x00d0;
+$chanmap->{fpga}->[6 ]->[32 ]=0x00d1;
+$chanmap->{fpga}->[6 ]->[31 ]=0x00d1;
+$chanmap->{fpga}->[6 ]->[30 ]=0x00d1;
+$chanmap->{fpga}->[6 ]->[29 ]=0x00d1;
+$chanmap->{fpga}->[6 ]->[28 ]=0x00d1;
+$chanmap->{fpga}->[6 ]->[27 ]=0x00d1;
+$chanmap->{fpga}->[6 ]->[26 ]=0x00d1;
+$chanmap->{fpga}->[6 ]->[25 ]=0x00d1;
+$chanmap->{fpga}->[5 ]->[32 ]=0x00d1;
+$chanmap->{fpga}->[5 ]->[31 ]=0x00d1;
+$chanmap->{fpga}->[5 ]->[30 ]=0x00d1;
+$chanmap->{fpga}->[5 ]->[29 ]=0x00d1;
+$chanmap->{fpga}->[5 ]->[28 ]=0x00d1;
+$chanmap->{fpga}->[5 ]->[27 ]=0x00d1;
+$chanmap->{fpga}->[5 ]->[26 ]=0x00d1;
+$chanmap->{fpga}->[5 ]->[25 ]=0x00d1;
+$chanmap->{fpga}->[4 ]->[32 ]=0x00d2;
+$chanmap->{fpga}->[4 ]->[31 ]=0x00d2;
+$chanmap->{fpga}->[4 ]->[30 ]=0x00d2;
+$chanmap->{fpga}->[4 ]->[29 ]=0x00d2;
+$chanmap->{fpga}->[4 ]->[28 ]=0x00d2;
+$chanmap->{fpga}->[4 ]->[27 ]=0x00d2;
+$chanmap->{fpga}->[4 ]->[26 ]=0x00d2;
+$chanmap->{fpga}->[4 ]->[25 ]=0x00d2;
+$chanmap->{fpga}->[3 ]->[32 ]=0x00d2;
+$chanmap->{fpga}->[3 ]->[31 ]=0x00d2;
+$chanmap->{fpga}->[3 ]->[30 ]=0x00d2;
+$chanmap->{fpga}->[3 ]->[29 ]=0x00d2;
+$chanmap->{fpga}->[3 ]->[28 ]=0x00d2;
+$chanmap->{fpga}->[3 ]->[27 ]=0x00d2;
+$chanmap->{fpga}->[3 ]->[26 ]=0x00d2;
+$chanmap->{fpga}->[3 ]->[25 ]=0x00d2;
+$chanmap->{fpga}->[2 ]->[32 ]=0x00d3;
+$chanmap->{fpga}->[2 ]->[31 ]=0x00d3;
+$chanmap->{fpga}->[2 ]->[30 ]=0x00d3;
+$chanmap->{fpga}->[2 ]->[29 ]=0x00d3;
+$chanmap->{fpga}->[2 ]->[28 ]=0x00d3;
+$chanmap->{fpga}->[2 ]->[27 ]=0x00d3;
+$chanmap->{fpga}->[2 ]->[26 ]=0x00d3;
+$chanmap->{fpga}->[2 ]->[25 ]=0x00d3;
+$chanmap->{fpga}->[1 ]->[32 ]=0x00d3;
+$chanmap->{fpga}->[1 ]->[31 ]=0x00d3;
+$chanmap->{fpga}->[1 ]->[30 ]=0x00d3;
+$chanmap->{fpga}->[1 ]->[29 ]=0x00d3;
+$chanmap->{fpga}->[1 ]->[28 ]=0x00d3;
+$chanmap->{fpga}->[1 ]->[27 ]=0x00d3;
+$chanmap->{fpga}->[1 ]->[26 ]=0x00d3;
+$chanmap->{fpga}->[1 ]->[25 ]=0x00d3;
+$chanmap->{fpga}->[8 ]->[24 ]=0x00e0;
+$chanmap->{fpga}->[8 ]->[23 ]=0x00e0;
+$chanmap->{fpga}->[8 ]->[22 ]=0x00e0;
+$chanmap->{fpga}->[8 ]->[21 ]=0x00e0;
+$chanmap->{fpga}->[8 ]->[20 ]=0x00e0;
+$chanmap->{fpga}->[8 ]->[19 ]=0x00e0;
+$chanmap->{fpga}->[8 ]->[18 ]=0x00e0;
+$chanmap->{fpga}->[8 ]->[17 ]=0x00e0;
+$chanmap->{fpga}->[7 ]->[24 ]=0x00e0;
+$chanmap->{fpga}->[7 ]->[23 ]=0x00e0;
+$chanmap->{fpga}->[7 ]->[22 ]=0x00e0;
+$chanmap->{fpga}->[7 ]->[21 ]=0x00e0;
+$chanmap->{fpga}->[7 ]->[20 ]=0x00e0;
+$chanmap->{fpga}->[7 ]->[19 ]=0x00e0;
+$chanmap->{fpga}->[7 ]->[18 ]=0x00e0;
+$chanmap->{fpga}->[7 ]->[17 ]=0x00e0;
+$chanmap->{fpga}->[6 ]->[24 ]=0x00e1;
+$chanmap->{fpga}->[6 ]->[23 ]=0x00e1;
+$chanmap->{fpga}->[6 ]->[22 ]=0x00e1;
+$chanmap->{fpga}->[6 ]->[21 ]=0x00e1;
+$chanmap->{fpga}->[6 ]->[20 ]=0x00e1;
+$chanmap->{fpga}->[6 ]->[19 ]=0x00e1;
+$chanmap->{fpga}->[6 ]->[18 ]=0x00e1;
+$chanmap->{fpga}->[6 ]->[17 ]=0x00e1;
+$chanmap->{fpga}->[5 ]->[24 ]=0x00e1;
+$chanmap->{fpga}->[5 ]->[23 ]=0x00e1;
+$chanmap->{fpga}->[5 ]->[22 ]=0x00e1;
+$chanmap->{fpga}->[5 ]->[21 ]=0x00e1;
+$chanmap->{fpga}->[5 ]->[20 ]=0x00e1;
+$chanmap->{fpga}->[5 ]->[19 ]=0x00e1;
+$chanmap->{fpga}->[5 ]->[18 ]=0x00e1;
+$chanmap->{fpga}->[5 ]->[17 ]=0x00e1;
+$chanmap->{fpga}->[4 ]->[24 ]=0x00e2;
+$chanmap->{fpga}->[4 ]->[23 ]=0x00e2;
+$chanmap->{fpga}->[4 ]->[22 ]=0x00e2;
+$chanmap->{fpga}->[4 ]->[21 ]=0x00e2;
+$chanmap->{fpga}->[4 ]->[20 ]=0x00e2;
+$chanmap->{fpga}->[4 ]->[19 ]=0x00e2;
+$chanmap->{fpga}->[4 ]->[18 ]=0x00e2;
+$chanmap->{fpga}->[4 ]->[17 ]=0x00e2;
+$chanmap->{fpga}->[3 ]->[24 ]=0x00e2;
+$chanmap->{fpga}->[3 ]->[23 ]=0x00e2;
+$chanmap->{fpga}->[3 ]->[22 ]=0x00e2;
+$chanmap->{fpga}->[3 ]->[21 ]=0x00e2;
+$chanmap->{fpga}->[3 ]->[20 ]=0x00e2;
+$chanmap->{fpga}->[3 ]->[19 ]=0x00e2;
+$chanmap->{fpga}->[3 ]->[18 ]=0x00e2;
+$chanmap->{fpga}->[3 ]->[17 ]=0x00e2;
+$chanmap->{fpga}->[2 ]->[24 ]=0x00e3;
+$chanmap->{fpga}->[2 ]->[23 ]=0x00e3;
+$chanmap->{fpga}->[2 ]->[22 ]=0x00e3;
+$chanmap->{fpga}->[2 ]->[21 ]=0x00e3;
+$chanmap->{fpga}->[2 ]->[20 ]=0x00e3;
+$chanmap->{fpga}->[2 ]->[19 ]=0x00e3;
+$chanmap->{fpga}->[2 ]->[18 ]=0x00e3;
+$chanmap->{fpga}->[2 ]->[17 ]=0x00e3;
+$chanmap->{fpga}->[1 ]->[24 ]=0x00e3;
+$chanmap->{fpga}->[1 ]->[23 ]=0x00e3;
+$chanmap->{fpga}->[1 ]->[22 ]=0x00e3;
+$chanmap->{fpga}->[1 ]->[21 ]=0x00e3;
+$chanmap->{fpga}->[1 ]->[20 ]=0x00e3;
+$chanmap->{fpga}->[1 ]->[19 ]=0x00e3;
+$chanmap->{fpga}->[1 ]->[18 ]=0x00e3;
+$chanmap->{fpga}->[1 ]->[17 ]=0x00e3;
+$chanmap->{fpga}->[8 ]->[16 ]=0x00f0;
+$chanmap->{fpga}->[8 ]->[15 ]=0x00f0;
+$chanmap->{fpga}->[8 ]->[14 ]=0x00f0;
+$chanmap->{fpga}->[8 ]->[13 ]=0x00f0;
+$chanmap->{fpga}->[8 ]->[12 ]=0x00f0;
+$chanmap->{fpga}->[8 ]->[11 ]=0x00f0;
+$chanmap->{fpga}->[8 ]->[10 ]=0x00f0;
+$chanmap->{fpga}->[8 ]->[9  ]=0x00f0;
+$chanmap->{fpga}->[7 ]->[16 ]=0x00f0;
+$chanmap->{fpga}->[7 ]->[15 ]=0x00f0;
+$chanmap->{fpga}->[7 ]->[14 ]=0x00f0;
+$chanmap->{fpga}->[7 ]->[13 ]=0x00f0;
+$chanmap->{fpga}->[7 ]->[12 ]=0x00f0;
+$chanmap->{fpga}->[7 ]->[11 ]=0x00f0;
+$chanmap->{fpga}->[7 ]->[10 ]=0x00f0;
+$chanmap->{fpga}->[7 ]->[9  ]=0x00f0;
+$chanmap->{fpga}->[6 ]->[16 ]=0x00f1;
+$chanmap->{fpga}->[6 ]->[15 ]=0x00f1;
+$chanmap->{fpga}->[6 ]->[14 ]=0x00f1;
+$chanmap->{fpga}->[6 ]->[13 ]=0x00f1;
+$chanmap->{fpga}->[6 ]->[12 ]=0x00f1;
+$chanmap->{fpga}->[6 ]->[11 ]=0x00f1;
+$chanmap->{fpga}->[6 ]->[10 ]=0x00f1;
+$chanmap->{fpga}->[6 ]->[9  ]=0x00f1;
+$chanmap->{fpga}->[5 ]->[16 ]=0x00f1;
+$chanmap->{fpga}->[5 ]->[15 ]=0x00f1;
+$chanmap->{fpga}->[5 ]->[14 ]=0x00f1;
+$chanmap->{fpga}->[5 ]->[13 ]=0x00f1;
+$chanmap->{fpga}->[5 ]->[12 ]=0x00f1;
+$chanmap->{fpga}->[5 ]->[11 ]=0x00f1;
+$chanmap->{fpga}->[5 ]->[10 ]=0x00f1;
+$chanmap->{fpga}->[5 ]->[9  ]=0x00f1;
+$chanmap->{fpga}->[4 ]->[16 ]=0x00f2;
+$chanmap->{fpga}->[4 ]->[15 ]=0x00f2;
+$chanmap->{fpga}->[4 ]->[14 ]=0x00f2;
+$chanmap->{fpga}->[4 ]->[13 ]=0x00f2;
+$chanmap->{fpga}->[4 ]->[12 ]=0x00f2;
+$chanmap->{fpga}->[4 ]->[11 ]=0x00f2;
+$chanmap->{fpga}->[4 ]->[10 ]=0x00f2;
+$chanmap->{fpga}->[4 ]->[9  ]=0x00f2;
+$chanmap->{fpga}->[3 ]->[16 ]=0x00f2;
+$chanmap->{fpga}->[3 ]->[15 ]=0x00f2;
+$chanmap->{fpga}->[3 ]->[14 ]=0x00f2;
+$chanmap->{fpga}->[3 ]->[13 ]=0x00f2;
+$chanmap->{fpga}->[3 ]->[12 ]=0x00f2;
+$chanmap->{fpga}->[3 ]->[11 ]=0x00f2;
+$chanmap->{fpga}->[3 ]->[10 ]=0x00f2;
+$chanmap->{fpga}->[3 ]->[9  ]=0x00f2;
+$chanmap->{fpga}->[2 ]->[16 ]=0x00f3;
+$chanmap->{fpga}->[2 ]->[15 ]=0x00f3;
+$chanmap->{fpga}->[2 ]->[14 ]=0x00f3;
+$chanmap->{fpga}->[2 ]->[13 ]=0x00f3;
+$chanmap->{fpga}->[2 ]->[12 ]=0x00f3;
+$chanmap->{fpga}->[2 ]->[11 ]=0x00f3;
+$chanmap->{fpga}->[2 ]->[10 ]=0x00f3;
+$chanmap->{fpga}->[2 ]->[9  ]=0x00f3;
+$chanmap->{fpga}->[1 ]->[16 ]=0x00f3;
+$chanmap->{fpga}->[1 ]->[15 ]=0x00f3;
+$chanmap->{fpga}->[1 ]->[14 ]=0x00f3;
+$chanmap->{fpga}->[1 ]->[13 ]=0x00f3;
+$chanmap->{fpga}->[1 ]->[12 ]=0x00f3;
+$chanmap->{fpga}->[1 ]->[11 ]=0x00f3;
+$chanmap->{fpga}->[1 ]->[10 ]=0x00f3;
+$chanmap->{fpga}->[1 ]->[9  ]=0x00f3;
+$chanmap->{fpga}->[8 ]->[8  ]=0x0100;
+$chanmap->{fpga}->[8 ]->[7  ]=0x0100;
+$chanmap->{fpga}->[8 ]->[6  ]=0x0100;
+$chanmap->{fpga}->[8 ]->[5  ]=0x0100;
+$chanmap->{fpga}->[8 ]->[4  ]=0x0100;
+$chanmap->{fpga}->[8 ]->[3  ]=0x0100;
+$chanmap->{fpga}->[8 ]->[2  ]=0x0100;
+$chanmap->{fpga}->[8 ]->[1  ]=0x0100;
+$chanmap->{fpga}->[7 ]->[8  ]=0x0100;
+$chanmap->{fpga}->[7 ]->[7  ]=0x0100;
+$chanmap->{fpga}->[7 ]->[6  ]=0x0100;
+$chanmap->{fpga}->[7 ]->[5  ]=0x0100;
+$chanmap->{fpga}->[7 ]->[4  ]=0x0100;
+$chanmap->{fpga}->[7 ]->[3  ]=0x0100;
+$chanmap->{fpga}->[7 ]->[2  ]=0x0100;
+$chanmap->{fpga}->[7 ]->[1  ]=0x0100;
+$chanmap->{fpga}->[6 ]->[8  ]=0x0101;
+$chanmap->{fpga}->[6 ]->[7  ]=0x0101;
+$chanmap->{fpga}->[6 ]->[6  ]=0x0101;
+$chanmap->{fpga}->[6 ]->[5  ]=0x0101;
+$chanmap->{fpga}->[6 ]->[4  ]=0x0101;
+$chanmap->{fpga}->[6 ]->[3  ]=0x0101;
+$chanmap->{fpga}->[6 ]->[2  ]=0x0101;
+$chanmap->{fpga}->[6 ]->[1  ]=0x0101;
+$chanmap->{fpga}->[5 ]->[8  ]=0x0101;
+$chanmap->{fpga}->[5 ]->[7  ]=0x0101;
+$chanmap->{fpga}->[5 ]->[6  ]=0x0101;
+$chanmap->{fpga}->[5 ]->[5  ]=0x0101;
+$chanmap->{fpga}->[5 ]->[4  ]=0x0101;
+$chanmap->{fpga}->[5 ]->[3  ]=0x0101;
+$chanmap->{fpga}->[5 ]->[2  ]=0x0101;
+$chanmap->{fpga}->[5 ]->[1  ]=0x0101;
+$chanmap->{fpga}->[4 ]->[8  ]=0x0103;
+$chanmap->{fpga}->[4 ]->[7  ]=0x0103;
+$chanmap->{fpga}->[4 ]->[6  ]=0x0103;
+$chanmap->{fpga}->[4 ]->[5  ]=0x0103;
+$chanmap->{fpga}->[4 ]->[4  ]=0x0103;
+$chanmap->{fpga}->[4 ]->[3  ]=0x0103;
+$chanmap->{fpga}->[4 ]->[2  ]=0x0103;
+$chanmap->{fpga}->[4 ]->[1  ]=0x0103;
+$chanmap->{fpga}->[3 ]->[8  ]=0x0103;
+$chanmap->{fpga}->[3 ]->[7  ]=0x0103;
+$chanmap->{fpga}->[3 ]->[6  ]=0x0103;
+$chanmap->{fpga}->[3 ]->[5  ]=0x0103;
+$chanmap->{fpga}->[3 ]->[4  ]=0x0103;
+$chanmap->{fpga}->[3 ]->[3  ]=0x0103;
+$chanmap->{fpga}->[3 ]->[2  ]=0x0103;
+$chanmap->{fpga}->[3 ]->[1  ]=0x0103;
+$chanmap->{fpga}->[2 ]->[8  ]=0x0102;
+$chanmap->{fpga}->[2 ]->[7  ]=0x0102;
+$chanmap->{fpga}->[2 ]->[6  ]=0x0102;
+$chanmap->{fpga}->[2 ]->[5  ]=0x0102;
+$chanmap->{fpga}->[2 ]->[4  ]=0x0102;
+$chanmap->{fpga}->[2 ]->[3  ]=0x0102;
+$chanmap->{fpga}->[2 ]->[2  ]=0x0102;
+$chanmap->{fpga}->[2 ]->[1  ]=0x0102;
+$chanmap->{fpga}->[1 ]->[8  ]=0x0102;
+$chanmap->{fpga}->[1 ]->[7  ]=0x0102;
+$chanmap->{fpga}->[1 ]->[6  ]=0x0102;
+$chanmap->{fpga}->[1 ]->[5  ]=0x0102;
+$chanmap->{fpga}->[1 ]->[4  ]=0x0102;
+$chanmap->{fpga}->[1 ]->[3  ]=0x0102;
+$chanmap->{fpga}->[1 ]->[2  ]=0x0102;
+$chanmap->{fpga}->[1 ]->[1  ]=0x0102;
+
+
+
+
+
+
+
+
+
+$chanmap->{chan}->[32]->[ 32]= 1 ;
+$chanmap->{chan}->[32]->[ 31]= 3 ;
+$chanmap->{chan}->[32]->[ 30]= 9 ;
+$chanmap->{chan}->[32]->[ 29]= 11;
+$chanmap->{chan}->[32]->[ 28]= 21;
+$chanmap->{chan}->[32]->[ 27]= 19;
+$chanmap->{chan}->[32]->[ 26]= 31;
+$chanmap->{chan}->[32]->[ 25]= 29;
+$chanmap->{chan}->[31]->[ 32]= 5 ;
+$chanmap->{chan}->[31]->[ 31]= 7 ;
+$chanmap->{chan}->[31]->[ 30]= 13;
+$chanmap->{chan}->[31]->[ 29]= 15;
+$chanmap->{chan}->[31]->[ 28]= 23;
+$chanmap->{chan}->[31]->[ 27]= 17;
+$chanmap->{chan}->[31]->[ 26]= 27;
+$chanmap->{chan}->[31]->[ 25]= 25;
+$chanmap->{chan}->[30]->[ 32]= 27;
+$chanmap->{chan}->[30]->[ 31]= 31;
+$chanmap->{chan}->[30]->[ 30]= 17;
+$chanmap->{chan}->[30]->[ 29]= 19;
+$chanmap->{chan}->[30]->[ 28]= 15;
+$chanmap->{chan}->[30]->[ 27]= 11;
+$chanmap->{chan}->[30]->[ 26]= 7 ;
+$chanmap->{chan}->[30]->[ 25]= 3 ;
+$chanmap->{chan}->[29]->[ 32]= 29;
+$chanmap->{chan}->[29]->[ 31]= 25;
+$chanmap->{chan}->[29]->[ 30]= 21;
+$chanmap->{chan}->[29]->[ 29]= 23;
+$chanmap->{chan}->[29]->[ 28]= 13;
+$chanmap->{chan}->[29]->[ 27]= 9 ;
+$chanmap->{chan}->[29]->[ 26]= 1 ;
+$chanmap->{chan}->[29]->[ 25]= 5 ;
+$chanmap->{chan}->[28]->[ 32]= 7 ;
+$chanmap->{chan}->[28]->[ 31]= 5 ;
+$chanmap->{chan}->[28]->[ 30]= 15;
+$chanmap->{chan}->[28]->[ 29]= 13;
+$chanmap->{chan}->[28]->[ 28]= 17;
+$chanmap->{chan}->[28]->[ 27]= 21;
+$chanmap->{chan}->[28]->[ 26]= 25;
+$chanmap->{chan}->[28]->[ 25]= 29;
+$chanmap->{chan}->[27]->[ 32]= 1 ;
+$chanmap->{chan}->[27]->[ 31]= 3 ;
+$chanmap->{chan}->[27]->[ 30]= 9 ;
+$chanmap->{chan}->[27]->[ 29]= 11;
+$chanmap->{chan}->[27]->[ 28]= 19;
+$chanmap->{chan}->[27]->[ 27]= 23;
+$chanmap->{chan}->[27]->[ 26]= 27;
+$chanmap->{chan}->[27]->[ 25]= 31;
+$chanmap->{chan}->[26]->[ 32]= 27;
+$chanmap->{chan}->[26]->[ 31]= 25;
+$chanmap->{chan}->[26]->[ 30]= 17;
+$chanmap->{chan}->[26]->[ 29]= 19;
+$chanmap->{chan}->[26]->[ 28]= 9 ;
+$chanmap->{chan}->[26]->[ 27]= 13;
+$chanmap->{chan}->[26]->[ 26]= 7 ;
+$chanmap->{chan}->[26]->[ 25]= 5 ;
+$chanmap->{chan}->[25]->[ 32]= 29;
+$chanmap->{chan}->[25]->[ 31]= 31;
+$chanmap->{chan}->[25]->[ 30]= 21;
+$chanmap->{chan}->[25]->[ 29]= 23;
+$chanmap->{chan}->[25]->[ 28]= 15;
+$chanmap->{chan}->[25]->[ 27]= 11;
+$chanmap->{chan}->[25]->[ 26]= 3 ;
+$chanmap->{chan}->[25]->[ 25]= 1 ;
+$chanmap->{chan}->[32]->[ 24]= 1 ;
+$chanmap->{chan}->[32]->[ 23]= 3 ;
+$chanmap->{chan}->[32]->[ 22]= 9 ;
+$chanmap->{chan}->[32]->[ 21]= 11;
+$chanmap->{chan}->[32]->[ 20]= 21;
+$chanmap->{chan}->[32]->[ 19]= 19;
+$chanmap->{chan}->[32]->[ 18]= 31;
+$chanmap->{chan}->[32]->[ 17]= 29;
+$chanmap->{chan}->[31]->[ 24]= 5 ;
+$chanmap->{chan}->[31]->[ 23]= 7 ;
+$chanmap->{chan}->[31]->[ 22]= 13;
+$chanmap->{chan}->[31]->[ 21]= 15;
+$chanmap->{chan}->[31]->[ 20]= 23;
+$chanmap->{chan}->[31]->[ 19]= 17;
+$chanmap->{chan}->[31]->[ 18]= 27;
+$chanmap->{chan}->[31]->[ 17]= 25;
+$chanmap->{chan}->[30]->[ 24]= 27;
+$chanmap->{chan}->[30]->[ 23]= 31;
+$chanmap->{chan}->[30]->[ 22]= 17;
+$chanmap->{chan}->[30]->[ 21]= 19;
+$chanmap->{chan}->[30]->[ 20]= 15;
+$chanmap->{chan}->[30]->[ 19]= 11;
+$chanmap->{chan}->[30]->[ 18]= 7 ;
+$chanmap->{chan}->[30]->[ 17]= 3 ;
+$chanmap->{chan}->[29]->[ 24]= 29;
+$chanmap->{chan}->[29]->[ 23]= 25;
+$chanmap->{chan}->[29]->[ 22]= 21;
+$chanmap->{chan}->[29]->[ 21]= 23;
+$chanmap->{chan}->[29]->[ 20]= 13;
+$chanmap->{chan}->[29]->[ 19]= 9 ;
+$chanmap->{chan}->[29]->[ 18]= 1 ;
+$chanmap->{chan}->[29]->[ 17]= 5 ;
+$chanmap->{chan}->[28]->[ 24]= 7 ;
+$chanmap->{chan}->[28]->[ 23]= 5 ;
+$chanmap->{chan}->[28]->[ 22]= 15;
+$chanmap->{chan}->[28]->[ 21]= 13;
+$chanmap->{chan}->[28]->[ 20]= 17;
+$chanmap->{chan}->[28]->[ 19]= 21;
+$chanmap->{chan}->[28]->[ 18]= 25;
+$chanmap->{chan}->[28]->[ 17]= 29;
+$chanmap->{chan}->[27]->[ 24]= 1 ;
+$chanmap->{chan}->[27]->[ 23]= 3 ;
+$chanmap->{chan}->[27]->[ 22]= 9 ;
+$chanmap->{chan}->[27]->[ 21]= 11;
+$chanmap->{chan}->[27]->[ 20]= 19;
+$chanmap->{chan}->[27]->[ 19]= 23;
+$chanmap->{chan}->[27]->[ 18]= 27;
+$chanmap->{chan}->[27]->[ 17]= 31;
+$chanmap->{chan}->[26]->[ 24]= 27;
+$chanmap->{chan}->[26]->[ 23]= 25;
+$chanmap->{chan}->[26]->[ 22]= 17;
+$chanmap->{chan}->[26]->[ 21]= 19;
+$chanmap->{chan}->[26]->[ 20]= 9 ;
+$chanmap->{chan}->[26]->[ 19]= 13;
+$chanmap->{chan}->[26]->[ 18]= 7 ;
+$chanmap->{chan}->[26]->[ 17]= 5 ;
+$chanmap->{chan}->[25]->[ 24]= 29;
+$chanmap->{chan}->[25]->[ 23]= 31;
+$chanmap->{chan}->[25]->[ 22]= 21;
+$chanmap->{chan}->[25]->[ 21]= 23;
+$chanmap->{chan}->[25]->[ 20]= 15;
+$chanmap->{chan}->[25]->[ 19]= 11;
+$chanmap->{chan}->[25]->[ 18]= 3 ;
+$chanmap->{chan}->[25]->[ 17]= 1 ;
+$chanmap->{chan}->[32]->[ 16]= 1 ;
+$chanmap->{chan}->[32]->[ 15]= 3 ;
+$chanmap->{chan}->[32]->[ 14]= 9 ;
+$chanmap->{chan}->[32]->[ 13]= 11;
+$chanmap->{chan}->[32]->[ 12]= 21;
+$chanmap->{chan}->[32]->[ 11]= 19;
+$chanmap->{chan}->[32]->[ 10]= 31;
+$chanmap->{chan}->[32]->[ 9 ]= 29;
+$chanmap->{chan}->[31]->[ 16]= 5 ;
+$chanmap->{chan}->[31]->[ 15]= 7 ;
+$chanmap->{chan}->[31]->[ 14]= 13;
+$chanmap->{chan}->[31]->[ 13]= 15;
+$chanmap->{chan}->[31]->[ 12]= 23;
+$chanmap->{chan}->[31]->[ 11]= 17;
+$chanmap->{chan}->[31]->[ 10]= 27;
+$chanmap->{chan}->[31]->[ 9 ]= 25;
+$chanmap->{chan}->[30]->[ 16]= 27;
+$chanmap->{chan}->[30]->[ 15]= 31;
+$chanmap->{chan}->[30]->[ 14]= 17;
+$chanmap->{chan}->[30]->[ 13]= 19;
+$chanmap->{chan}->[30]->[ 12]= 15;
+$chanmap->{chan}->[30]->[ 11]= 11;
+$chanmap->{chan}->[30]->[ 10]= 7 ;
+$chanmap->{chan}->[30]->[ 9 ]= 3 ;
+$chanmap->{chan}->[29]->[ 16]= 29;
+$chanmap->{chan}->[29]->[ 15]= 25;
+$chanmap->{chan}->[29]->[ 14]= 21;
+$chanmap->{chan}->[29]->[ 13]= 23;
+$chanmap->{chan}->[29]->[ 12]= 13;
+$chanmap->{chan}->[29]->[ 11]= 9 ;
+$chanmap->{chan}->[29]->[ 10]= 1 ;
+$chanmap->{chan}->[29]->[ 9 ]= 5 ;
+$chanmap->{chan}->[28]->[ 16]= 7 ;
+$chanmap->{chan}->[28]->[ 15]= 5 ;
+$chanmap->{chan}->[28]->[ 14]= 15;
+$chanmap->{chan}->[28]->[ 13]= 13;
+$chanmap->{chan}->[28]->[ 12]= 17;
+$chanmap->{chan}->[28]->[ 11]= 21;
+$chanmap->{chan}->[28]->[ 10]= 25;
+$chanmap->{chan}->[28]->[ 9 ]= 29;
+$chanmap->{chan}->[27]->[ 16]= 1 ;
+$chanmap->{chan}->[27]->[ 15]= 3 ;
+$chanmap->{chan}->[27]->[ 14]= 9 ;
+$chanmap->{chan}->[27]->[ 13]= 11;
+$chanmap->{chan}->[27]->[ 12]= 19;
+$chanmap->{chan}->[27]->[ 11]= 23;
+$chanmap->{chan}->[27]->[ 10]= 27;
+$chanmap->{chan}->[27]->[ 9 ]= 31;
+$chanmap->{chan}->[26]->[ 16]= 27;
+$chanmap->{chan}->[26]->[ 15]= 25;
+$chanmap->{chan}->[26]->[ 14]= 17;
+$chanmap->{chan}->[26]->[ 13]= 19;
+$chanmap->{chan}->[26]->[ 12]= 9 ;
+$chanmap->{chan}->[26]->[ 11]= 13;
+$chanmap->{chan}->[26]->[ 10]= 7 ;
+$chanmap->{chan}->[26]->[ 9 ]= 5 ;
+$chanmap->{chan}->[25]->[ 16]= 29;
+$chanmap->{chan}->[25]->[ 15]= 31;
+$chanmap->{chan}->[25]->[ 14]= 21;
+$chanmap->{chan}->[25]->[ 13]= 23;
+$chanmap->{chan}->[25]->[ 12]= 15;
+$chanmap->{chan}->[25]->[ 11]= 11;
+$chanmap->{chan}->[25]->[ 10]= 3 ;
+$chanmap->{chan}->[25]->[ 9 ]= 1 ;
+$chanmap->{chan}->[32]->[ 8 ]= 1 ;
+$chanmap->{chan}->[32]->[ 7 ]= 3 ;
+$chanmap->{chan}->[32]->[ 6 ]= 9 ;
+$chanmap->{chan}->[32]->[ 5 ]= 11;
+$chanmap->{chan}->[32]->[ 4 ]= 21;
+$chanmap->{chan}->[32]->[ 3 ]= 19;
+$chanmap->{chan}->[32]->[ 2 ]= 31;
+$chanmap->{chan}->[32]->[ 1 ]= 29;
+$chanmap->{chan}->[31]->[ 8 ]= 5 ;
+$chanmap->{chan}->[31]->[ 7 ]= 7 ;
+$chanmap->{chan}->[31]->[ 6 ]= 13;
+$chanmap->{chan}->[31]->[ 5 ]= 15;
+$chanmap->{chan}->[31]->[ 4 ]= 23;
+$chanmap->{chan}->[31]->[ 3 ]= 17;
+$chanmap->{chan}->[31]->[ 2 ]= 27;
+$chanmap->{chan}->[31]->[ 1 ]= 25;
+$chanmap->{chan}->[30]->[ 8 ]= 27;
+$chanmap->{chan}->[30]->[ 7 ]= 31;
+$chanmap->{chan}->[30]->[ 6 ]= 17;
+$chanmap->{chan}->[30]->[ 5 ]= 19;
+$chanmap->{chan}->[30]->[ 4 ]= 15;
+$chanmap->{chan}->[30]->[ 3 ]= 11;
+$chanmap->{chan}->[30]->[ 2 ]= 7 ;
+$chanmap->{chan}->[30]->[ 1 ]= 3 ;
+$chanmap->{chan}->[29]->[ 8 ]= 29;
+$chanmap->{chan}->[29]->[ 7 ]= 25;
+$chanmap->{chan}->[29]->[ 6 ]= 21;
+$chanmap->{chan}->[29]->[ 5 ]= 23;
+$chanmap->{chan}->[29]->[ 4 ]= 13;
+$chanmap->{chan}->[29]->[ 3 ]= 9 ;
+$chanmap->{chan}->[29]->[ 2 ]= 1 ;
+$chanmap->{chan}->[29]->[ 1 ]= 5 ;
+$chanmap->{chan}->[28]->[ 8 ]= 7 ;
+$chanmap->{chan}->[28]->[ 7 ]= 5 ;
+$chanmap->{chan}->[28]->[ 6 ]= 15;
+$chanmap->{chan}->[28]->[ 5 ]= 13;
+$chanmap->{chan}->[28]->[ 4 ]= 17;
+$chanmap->{chan}->[28]->[ 3 ]= 21;
+$chanmap->{chan}->[28]->[ 2 ]= 25;
+$chanmap->{chan}->[28]->[ 1 ]= 29;
+$chanmap->{chan}->[27]->[ 8 ]= 1 ;
+$chanmap->{chan}->[27]->[ 7 ]= 3 ;
+$chanmap->{chan}->[27]->[ 6 ]= 9 ;
+$chanmap->{chan}->[27]->[ 5 ]= 11;
+$chanmap->{chan}->[27]->[ 4 ]= 19;
+$chanmap->{chan}->[27]->[ 3 ]= 23;
+$chanmap->{chan}->[27]->[ 2 ]= 27;
+$chanmap->{chan}->[27]->[ 1 ]= 31;
+$chanmap->{chan}->[26]->[ 8 ]= 27;
+$chanmap->{chan}->[26]->[ 7 ]= 25;
+$chanmap->{chan}->[26]->[ 6 ]= 17;
+$chanmap->{chan}->[26]->[ 5 ]= 19;
+$chanmap->{chan}->[26]->[ 4 ]= 9 ;
+$chanmap->{chan}->[26]->[ 3 ]= 13;
+$chanmap->{chan}->[26]->[ 2 ]= 7 ;
+$chanmap->{chan}->[26]->[ 1 ]= 5 ;
+$chanmap->{chan}->[25]->[ 8 ]= 29;
+$chanmap->{chan}->[25]->[ 7 ]= 31;
+$chanmap->{chan}->[25]->[ 6 ]= 21;
+$chanmap->{chan}->[25]->[ 5 ]= 23;
+$chanmap->{chan}->[25]->[ 4 ]= 15;
+$chanmap->{chan}->[25]->[ 3 ]= 11;
+$chanmap->{chan}->[25]->[ 2 ]= 3 ;
+$chanmap->{chan}->[25]->[ 1 ]= 1 ;
+$chanmap->{chan}->[24]->[ 32]= 1 ;
+$chanmap->{chan}->[24]->[ 31]= 3 ;
+$chanmap->{chan}->[24]->[ 30]= 9 ;
+$chanmap->{chan}->[24]->[ 29]= 11;
+$chanmap->{chan}->[24]->[ 28]= 21;
+$chanmap->{chan}->[24]->[ 27]= 19;
+$chanmap->{chan}->[24]->[ 26]= 31;
+$chanmap->{chan}->[24]->[ 25]= 29;
+$chanmap->{chan}->[23]->[ 32]= 5 ;
+$chanmap->{chan}->[23]->[ 31]= 7 ;
+$chanmap->{chan}->[23]->[ 30]= 13;
+$chanmap->{chan}->[23]->[ 29]= 15;
+$chanmap->{chan}->[23]->[ 28]= 23;
+$chanmap->{chan}->[23]->[ 27]= 17;
+$chanmap->{chan}->[23]->[ 26]= 27;
+$chanmap->{chan}->[23]->[ 25]= 25;
+$chanmap->{chan}->[22]->[ 32]= 27;
+$chanmap->{chan}->[22]->[ 31]= 31;
+$chanmap->{chan}->[22]->[ 30]= 17;
+$chanmap->{chan}->[22]->[ 29]= 19;
+$chanmap->{chan}->[22]->[ 28]= 15;
+$chanmap->{chan}->[22]->[ 27]= 11;
+$chanmap->{chan}->[22]->[ 26]= 7 ;
+$chanmap->{chan}->[22]->[ 25]= 3 ;
+$chanmap->{chan}->[21]->[ 32]= 29;
+$chanmap->{chan}->[21]->[ 31]= 25;
+$chanmap->{chan}->[21]->[ 30]= 21;
+$chanmap->{chan}->[21]->[ 29]= 23;
+$chanmap->{chan}->[21]->[ 28]= 13;
+$chanmap->{chan}->[21]->[ 27]= 9 ;
+$chanmap->{chan}->[21]->[ 26]= 1 ;
+$chanmap->{chan}->[21]->[ 25]= 5 ;
+$chanmap->{chan}->[20]->[ 32]= 7 ;
+$chanmap->{chan}->[20]->[ 31]= 5 ;
+$chanmap->{chan}->[20]->[ 30]= 15;
+$chanmap->{chan}->[20]->[ 29]= 13;
+$chanmap->{chan}->[20]->[ 28]= 17;
+$chanmap->{chan}->[20]->[ 27]= 21;
+$chanmap->{chan}->[20]->[ 26]= 25;
+$chanmap->{chan}->[20]->[ 25]= 29;
+$chanmap->{chan}->[19]->[ 32]= 1 ;
+$chanmap->{chan}->[19]->[ 31]= 3 ;
+$chanmap->{chan}->[19]->[ 30]= 9 ;
+$chanmap->{chan}->[19]->[ 29]= 11;
+$chanmap->{chan}->[19]->[ 28]= 19;
+$chanmap->{chan}->[19]->[ 27]= 23;
+$chanmap->{chan}->[19]->[ 26]= 27;
+$chanmap->{chan}->[19]->[ 25]= 31;
+$chanmap->{chan}->[18]->[ 32]= 27;
+$chanmap->{chan}->[18]->[ 31]= 25;
+$chanmap->{chan}->[18]->[ 30]= 17;
+$chanmap->{chan}->[18]->[ 29]= 19;
+$chanmap->{chan}->[18]->[ 28]= 9 ;
+$chanmap->{chan}->[18]->[ 27]= 13;
+$chanmap->{chan}->[18]->[ 26]= 7 ;
+$chanmap->{chan}->[18]->[ 25]= 5 ;
+$chanmap->{chan}->[17]->[ 32]= 29;
+$chanmap->{chan}->[17]->[ 31]= 31;
+$chanmap->{chan}->[17]->[ 30]= 21;
+$chanmap->{chan}->[17]->[ 29]= 23;
+$chanmap->{chan}->[17]->[ 28]= 15;
+$chanmap->{chan}->[17]->[ 27]= 11;
+$chanmap->{chan}->[17]->[ 26]= 3 ;
+$chanmap->{chan}->[17]->[ 25]= 1 ;
+$chanmap->{chan}->[24]->[ 24]= 1 ;
+$chanmap->{chan}->[24]->[ 23]= 3 ;
+$chanmap->{chan}->[24]->[ 22]= 9 ;
+$chanmap->{chan}->[24]->[ 21]= 11;
+$chanmap->{chan}->[24]->[ 20]= 21;
+$chanmap->{chan}->[24]->[ 19]= 19;
+$chanmap->{chan}->[24]->[ 18]= 31;
+$chanmap->{chan}->[24]->[ 17]= 29;
+$chanmap->{chan}->[23]->[ 24]= 5 ;
+$chanmap->{chan}->[23]->[ 23]= 7 ;
+$chanmap->{chan}->[23]->[ 22]= 13;
+$chanmap->{chan}->[23]->[ 21]= 15;
+$chanmap->{chan}->[23]->[ 20]= 23;
+$chanmap->{chan}->[23]->[ 19]= 17;
+$chanmap->{chan}->[23]->[ 18]= 27;
+$chanmap->{chan}->[23]->[ 17]= 25;
+$chanmap->{chan}->[22]->[ 24]= 27;
+$chanmap->{chan}->[22]->[ 23]= 31;
+$chanmap->{chan}->[22]->[ 22]= 17;
+$chanmap->{chan}->[22]->[ 21]= 19;
+$chanmap->{chan}->[22]->[ 20]= 15;
+$chanmap->{chan}->[22]->[ 19]= 11;
+$chanmap->{chan}->[22]->[ 18]= 7 ;
+$chanmap->{chan}->[22]->[ 17]= 3 ;
+$chanmap->{chan}->[21]->[ 24]= 29;
+$chanmap->{chan}->[21]->[ 23]= 25;
+$chanmap->{chan}->[21]->[ 22]= 21;
+$chanmap->{chan}->[21]->[ 21]= 23;
+$chanmap->{chan}->[21]->[ 20]= 13;
+$chanmap->{chan}->[21]->[ 19]= 9 ;
+$chanmap->{chan}->[21]->[ 18]= 1 ;
+$chanmap->{chan}->[21]->[ 17]= 5 ;
+$chanmap->{chan}->[20]->[ 24]= 7 ;
+$chanmap->{chan}->[20]->[ 23]= 5 ;
+$chanmap->{chan}->[20]->[ 22]= 15;
+$chanmap->{chan}->[20]->[ 21]= 13;
+$chanmap->{chan}->[20]->[ 20]= 17;
+$chanmap->{chan}->[20]->[ 19]= 21;
+$chanmap->{chan}->[20]->[ 18]= 25;
+$chanmap->{chan}->[20]->[ 17]= 29;
+$chanmap->{chan}->[19]->[ 24]= 1 ;
+$chanmap->{chan}->[19]->[ 23]= 3 ;
+$chanmap->{chan}->[19]->[ 22]= 9 ;
+$chanmap->{chan}->[19]->[ 21]= 11;
+$chanmap->{chan}->[19]->[ 20]= 19;
+$chanmap->{chan}->[19]->[ 19]= 23;
+$chanmap->{chan}->[19]->[ 18]= 27;
+$chanmap->{chan}->[19]->[ 17]= 31;
+$chanmap->{chan}->[18]->[ 24]= 27;
+$chanmap->{chan}->[18]->[ 23]= 25;
+$chanmap->{chan}->[18]->[ 22]= 17;
+$chanmap->{chan}->[18]->[ 21]= 19;
+$chanmap->{chan}->[18]->[ 20]= 9 ;
+$chanmap->{chan}->[18]->[ 19]= 13;
+$chanmap->{chan}->[18]->[ 18]= 7 ;
+$chanmap->{chan}->[18]->[ 17]= 5 ;
+$chanmap->{chan}->[17]->[ 24]= 29;
+$chanmap->{chan}->[17]->[ 23]= 31;
+$chanmap->{chan}->[17]->[ 22]= 21;
+$chanmap->{chan}->[17]->[ 21]= 23;
+$chanmap->{chan}->[17]->[ 20]= 15;
+$chanmap->{chan}->[17]->[ 19]= 11;
+$chanmap->{chan}->[17]->[ 18]= 3 ;
+$chanmap->{chan}->[17]->[ 17]= 1 ;
+$chanmap->{chan}->[24]->[ 16]= 1 ;
+$chanmap->{chan}->[24]->[ 15]= 3 ;
+$chanmap->{chan}->[24]->[ 14]= 9 ;
+$chanmap->{chan}->[24]->[ 13]= 11;
+$chanmap->{chan}->[24]->[ 12]= 21;
+$chanmap->{chan}->[24]->[ 11]= 19;
+$chanmap->{chan}->[24]->[ 10]= 31;
+$chanmap->{chan}->[24]->[ 9 ]= 29;
+$chanmap->{chan}->[23]->[ 16]= 5 ;
+$chanmap->{chan}->[23]->[ 15]= 7 ;
+$chanmap->{chan}->[23]->[ 14]= 13;
+$chanmap->{chan}->[23]->[ 13]= 15;
+$chanmap->{chan}->[23]->[ 12]= 23;
+$chanmap->{chan}->[23]->[ 11]= 17;
+$chanmap->{chan}->[23]->[ 10]= 27;
+$chanmap->{chan}->[23]->[ 9 ]= 25;
+$chanmap->{chan}->[22]->[ 16]= 27;
+$chanmap->{chan}->[22]->[ 15]= 31;
+$chanmap->{chan}->[22]->[ 14]= 17;
+$chanmap->{chan}->[22]->[ 13]= 19;
+$chanmap->{chan}->[22]->[ 12]= 15;
+$chanmap->{chan}->[22]->[ 11]= 11;
+$chanmap->{chan}->[22]->[ 10]= 7 ;
+$chanmap->{chan}->[22]->[ 9 ]= 3 ;
+$chanmap->{chan}->[21]->[ 16]= 29;
+$chanmap->{chan}->[21]->[ 15]= 25;
+$chanmap->{chan}->[21]->[ 14]= 21;
+$chanmap->{chan}->[21]->[ 13]= 23;
+$chanmap->{chan}->[21]->[ 12]= 13;
+$chanmap->{chan}->[21]->[ 11]= 9 ;
+$chanmap->{chan}->[21]->[ 10]= 1 ;
+$chanmap->{chan}->[21]->[ 9 ]= 5 ;
+$chanmap->{chan}->[20]->[ 16]= 7 ;
+$chanmap->{chan}->[20]->[ 15]= 5 ;
+$chanmap->{chan}->[20]->[ 14]= 15;
+$chanmap->{chan}->[20]->[ 13]= 13;
+$chanmap->{chan}->[20]->[ 12]= 17;
+$chanmap->{chan}->[20]->[ 11]= 21;
+$chanmap->{chan}->[20]->[ 10]= 25;
+$chanmap->{chan}->[20]->[ 9 ]= 29;
+$chanmap->{chan}->[19]->[ 16]= 1 ;
+$chanmap->{chan}->[19]->[ 15]= 3 ;
+$chanmap->{chan}->[19]->[ 14]= 9 ;
+$chanmap->{chan}->[19]->[ 13]= 11;
+$chanmap->{chan}->[19]->[ 12]= 19;
+$chanmap->{chan}->[19]->[ 11]= 23;
+$chanmap->{chan}->[19]->[ 10]= 27;
+$chanmap->{chan}->[19]->[ 9 ]= 31;
+$chanmap->{chan}->[18]->[ 16]= 27;
+$chanmap->{chan}->[18]->[ 15]= 25;
+$chanmap->{chan}->[18]->[ 14]= 17;
+$chanmap->{chan}->[18]->[ 13]= 19;
+$chanmap->{chan}->[18]->[ 12]= 9 ;
+$chanmap->{chan}->[18]->[ 11]= 13;
+$chanmap->{chan}->[18]->[ 10]= 7 ;
+$chanmap->{chan}->[18]->[ 9 ]= 5 ;
+$chanmap->{chan}->[17]->[ 16]= 29;
+$chanmap->{chan}->[17]->[ 15]= 31;
+$chanmap->{chan}->[17]->[ 14]= 21;
+$chanmap->{chan}->[17]->[ 13]= 23;
+$chanmap->{chan}->[17]->[ 12]= 15;
+$chanmap->{chan}->[17]->[ 11]= 11;
+$chanmap->{chan}->[17]->[ 10]= 3 ;
+$chanmap->{chan}->[17]->[ 9 ]= 1 ;
+$chanmap->{chan}->[24]->[ 8 ]= 1 ;
+$chanmap->{chan}->[24]->[ 7 ]= 3 ;
+$chanmap->{chan}->[24]->[ 6 ]= 9 ;
+$chanmap->{chan}->[24]->[ 5 ]= 11;
+$chanmap->{chan}->[24]->[ 4 ]= 21;
+$chanmap->{chan}->[24]->[ 3 ]= 19;
+$chanmap->{chan}->[24]->[ 2 ]= 31;
+$chanmap->{chan}->[24]->[ 1 ]= 29;
+$chanmap->{chan}->[23]->[ 8 ]= 5 ;
+$chanmap->{chan}->[23]->[ 7 ]= 7 ;
+$chanmap->{chan}->[23]->[ 6 ]= 13;
+$chanmap->{chan}->[23]->[ 5 ]= 15;
+$chanmap->{chan}->[23]->[ 4 ]= 23;
+$chanmap->{chan}->[23]->[ 3 ]= 17;
+$chanmap->{chan}->[23]->[ 2 ]= 27;
+$chanmap->{chan}->[23]->[ 1 ]= 25;
+$chanmap->{chan}->[22]->[ 8 ]= 27;
+$chanmap->{chan}->[22]->[ 7 ]= 31;
+$chanmap->{chan}->[22]->[ 6 ]= 17;
+$chanmap->{chan}->[22]->[ 5 ]= 19;
+$chanmap->{chan}->[22]->[ 4 ]= 15;
+$chanmap->{chan}->[22]->[ 3 ]= 11;
+$chanmap->{chan}->[22]->[ 2 ]= 7 ;
+$chanmap->{chan}->[22]->[ 1 ]= 3 ;
+$chanmap->{chan}->[21]->[ 8 ]= 29;
+$chanmap->{chan}->[21]->[ 7 ]= 25;
+$chanmap->{chan}->[21]->[ 6 ]= 21;
+$chanmap->{chan}->[21]->[ 5 ]= 23;
+$chanmap->{chan}->[21]->[ 4 ]= 13;
+$chanmap->{chan}->[21]->[ 3 ]= 9 ;
+$chanmap->{chan}->[21]->[ 2 ]= 1 ;
+$chanmap->{chan}->[21]->[ 1 ]= 5 ;
+$chanmap->{chan}->[20]->[ 8 ]= 7 ;
+$chanmap->{chan}->[20]->[ 7 ]= 5 ;
+$chanmap->{chan}->[20]->[ 6 ]= 15;
+$chanmap->{chan}->[20]->[ 5 ]= 13;
+$chanmap->{chan}->[20]->[ 4 ]= 17;
+$chanmap->{chan}->[20]->[ 3 ]= 21;
+$chanmap->{chan}->[20]->[ 2 ]= 25;
+$chanmap->{chan}->[20]->[ 1 ]= 29;
+$chanmap->{chan}->[19]->[ 8 ]= 1 ;
+$chanmap->{chan}->[19]->[ 7 ]= 3 ;
+$chanmap->{chan}->[19]->[ 6 ]= 9 ;
+$chanmap->{chan}->[19]->[ 5 ]= 11;
+$chanmap->{chan}->[19]->[ 4 ]= 19;
+$chanmap->{chan}->[19]->[ 3 ]= 23;
+$chanmap->{chan}->[19]->[ 2 ]= 27;
+$chanmap->{chan}->[19]->[ 1 ]= 31;
+$chanmap->{chan}->[18]->[ 8 ]= 27;
+$chanmap->{chan}->[18]->[ 7 ]= 25;
+$chanmap->{chan}->[18]->[ 6 ]= 17;
+$chanmap->{chan}->[18]->[ 5 ]= 19;
+$chanmap->{chan}->[18]->[ 4 ]= 9 ;
+$chanmap->{chan}->[18]->[ 3 ]= 13;
+$chanmap->{chan}->[18]->[ 2 ]= 7 ;
+$chanmap->{chan}->[18]->[ 1 ]= 5 ;
+$chanmap->{chan}->[17]->[ 8 ]= 29;
+$chanmap->{chan}->[17]->[ 7 ]= 31;
+$chanmap->{chan}->[17]->[ 6 ]= 21;
+$chanmap->{chan}->[17]->[ 5 ]= 23;
+$chanmap->{chan}->[17]->[ 4 ]= 15;
+$chanmap->{chan}->[17]->[ 3 ]= 11;
+$chanmap->{chan}->[17]->[ 2 ]= 3 ;
+$chanmap->{chan}->[17]->[ 1 ]= 1 ;
+$chanmap->{chan}->[16]->[ 32]= 1 ;
+$chanmap->{chan}->[16]->[ 31]= 3 ;
+$chanmap->{chan}->[16]->[ 30]= 9 ;
+$chanmap->{chan}->[16]->[ 29]= 11;
+$chanmap->{chan}->[16]->[ 28]= 21;
+$chanmap->{chan}->[16]->[ 27]= 19;
+$chanmap->{chan}->[16]->[ 26]= 31;
+$chanmap->{chan}->[16]->[ 25]= 29;
+$chanmap->{chan}->[15]->[ 32]= 5 ;
+$chanmap->{chan}->[15]->[ 31]= 7 ;
+$chanmap->{chan}->[15]->[ 30]= 13;
+$chanmap->{chan}->[15]->[ 29]= 15;
+$chanmap->{chan}->[15]->[ 28]= 23;
+$chanmap->{chan}->[15]->[ 27]= 17;
+$chanmap->{chan}->[15]->[ 26]= 27;
+$chanmap->{chan}->[15]->[ 25]= 25;
+$chanmap->{chan}->[14]->[ 32]= 27;
+$chanmap->{chan}->[14]->[ 31]= 31;
+$chanmap->{chan}->[14]->[ 30]= 17;
+$chanmap->{chan}->[14]->[ 29]= 19;
+$chanmap->{chan}->[14]->[ 28]= 15;
+$chanmap->{chan}->[14]->[ 27]= 11;
+$chanmap->{chan}->[14]->[ 26]= 7 ;
+$chanmap->{chan}->[14]->[ 25]= 3 ;
+$chanmap->{chan}->[13]->[ 32]= 29;
+$chanmap->{chan}->[13]->[ 31]= 25;
+$chanmap->{chan}->[13]->[ 30]= 21;
+$chanmap->{chan}->[13]->[ 29]= 23;
+$chanmap->{chan}->[13]->[ 28]= 13;
+$chanmap->{chan}->[13]->[ 27]= 9 ;
+$chanmap->{chan}->[13]->[ 26]= 1 ;
+$chanmap->{chan}->[13]->[ 25]= 5 ;
+$chanmap->{chan}->[12]->[ 32]= 7 ;
+$chanmap->{chan}->[12]->[ 31]= 5 ;
+$chanmap->{chan}->[12]->[ 30]= 15;
+$chanmap->{chan}->[12]->[ 29]= 13;
+$chanmap->{chan}->[12]->[ 28]= 17;
+$chanmap->{chan}->[12]->[ 27]= 21;
+$chanmap->{chan}->[12]->[ 26]= 25;
+$chanmap->{chan}->[12]->[ 25]= 29;
+$chanmap->{chan}->[11]->[ 32]= 1 ;
+$chanmap->{chan}->[11]->[ 31]= 3 ;
+$chanmap->{chan}->[11]->[ 30]= 9 ;
+$chanmap->{chan}->[11]->[ 29]= 11;
+$chanmap->{chan}->[11]->[ 28]= 19;
+$chanmap->{chan}->[11]->[ 27]= 23;
+$chanmap->{chan}->[11]->[ 26]= 27;
+$chanmap->{chan}->[11]->[ 25]= 31;
+$chanmap->{chan}->[10]->[ 32]= 27;
+$chanmap->{chan}->[10]->[ 31]= 25;
+$chanmap->{chan}->[10]->[ 30]= 17;
+$chanmap->{chan}->[10]->[ 29]= 19;
+$chanmap->{chan}->[10]->[ 28]= 9 ;
+$chanmap->{chan}->[10]->[ 27]= 13;
+$chanmap->{chan}->[10]->[ 26]= 7 ;
+$chanmap->{chan}->[10]->[ 25]= 5 ;
+$chanmap->{chan}->[9 ]->[32 ]= 29;
+$chanmap->{chan}->[9 ]->[31 ]= 31;
+$chanmap->{chan}->[9 ]->[30 ]= 21;
+$chanmap->{chan}->[9 ]->[29 ]= 23;
+$chanmap->{chan}->[9 ]->[28 ]= 15;
+$chanmap->{chan}->[9 ]->[27 ]= 11;
+$chanmap->{chan}->[9 ]->[26 ]= 3 ;
+$chanmap->{chan}->[9 ]->[25 ]= 1 ;
+$chanmap->{chan}->[16]->[ 24]= 1 ;
+$chanmap->{chan}->[16]->[ 23]= 3 ;
+$chanmap->{chan}->[16]->[ 22]= 9 ;
+$chanmap->{chan}->[16]->[ 21]= 11;
+$chanmap->{chan}->[16]->[ 20]= 21;
+$chanmap->{chan}->[16]->[ 19]= 19;
+$chanmap->{chan}->[16]->[ 18]= 31;
+$chanmap->{chan}->[16]->[ 17]= 29;
+$chanmap->{chan}->[15]->[ 24]= 5 ;
+$chanmap->{chan}->[15]->[ 23]= 7 ;
+$chanmap->{chan}->[15]->[ 22]= 13;
+$chanmap->{chan}->[15]->[ 21]= 15;
+$chanmap->{chan}->[15]->[ 20]= 23;
+$chanmap->{chan}->[15]->[ 19]= 17;
+$chanmap->{chan}->[15]->[ 18]= 27;
+$chanmap->{chan}->[15]->[ 17]= 25;
+$chanmap->{chan}->[14]->[ 24]= 27;
+$chanmap->{chan}->[14]->[ 23]= 31;
+$chanmap->{chan}->[14]->[ 22]= 17;
+$chanmap->{chan}->[14]->[ 21]= 19;
+$chanmap->{chan}->[14]->[ 20]= 15;
+$chanmap->{chan}->[14]->[ 19]= 11;
+$chanmap->{chan}->[14]->[ 18]= 7 ;
+$chanmap->{chan}->[14]->[ 17]= 3 ;
+$chanmap->{chan}->[13]->[ 24]= 29;
+$chanmap->{chan}->[13]->[ 23]= 25;
+$chanmap->{chan}->[13]->[ 22]= 21;
+$chanmap->{chan}->[13]->[ 21]= 23;
+$chanmap->{chan}->[13]->[ 20]= 13;
+$chanmap->{chan}->[13]->[ 19]= 9 ;
+$chanmap->{chan}->[13]->[ 18]= 1 ;
+$chanmap->{chan}->[13]->[ 17]= 5 ;
+$chanmap->{chan}->[12]->[ 24]= 7 ;
+$chanmap->{chan}->[12]->[ 23]= 5 ;
+$chanmap->{chan}->[12]->[ 22]= 15;
+$chanmap->{chan}->[12]->[ 21]= 13;
+$chanmap->{chan}->[12]->[ 20]= 17;
+$chanmap->{chan}->[12]->[ 19]= 21;
+$chanmap->{chan}->[12]->[ 18]= 25;
+$chanmap->{chan}->[12]->[ 17]= 29;
+$chanmap->{chan}->[11]->[ 24]= 1 ;
+$chanmap->{chan}->[11]->[ 23]= 3 ;
+$chanmap->{chan}->[11]->[ 22]= 9 ;
+$chanmap->{chan}->[11]->[ 21]= 11;
+$chanmap->{chan}->[11]->[ 20]= 19;
+$chanmap->{chan}->[11]->[ 19]= 23;
+$chanmap->{chan}->[11]->[ 18]= 27;
+$chanmap->{chan}->[11]->[ 17]= 31;
+$chanmap->{chan}->[10]->[ 24]= 27;
+$chanmap->{chan}->[10]->[ 23]= 25;
+$chanmap->{chan}->[10]->[ 22]= 17;
+$chanmap->{chan}->[10]->[ 21]= 19;
+$chanmap->{chan}->[10]->[ 20]= 9 ;
+$chanmap->{chan}->[10]->[ 19]= 13;
+$chanmap->{chan}->[10]->[ 18]= 7 ;
+$chanmap->{chan}->[10]->[ 17]= 5 ;
+$chanmap->{chan}->[9 ]->[24 ]= 29;
+$chanmap->{chan}->[9 ]->[23 ]= 31;
+$chanmap->{chan}->[9 ]->[22 ]= 21;
+$chanmap->{chan}->[9 ]->[21 ]= 23;
+$chanmap->{chan}->[9 ]->[20 ]= 15;
+$chanmap->{chan}->[9 ]->[19 ]= 11;
+$chanmap->{chan}->[9 ]->[18 ]= 3 ;
+$chanmap->{chan}->[9 ]->[17 ]= 1 ;
+$chanmap->{chan}->[16]->[ 16]= 1 ;
+$chanmap->{chan}->[16]->[ 15]= 3 ;
+$chanmap->{chan}->[16]->[ 14]= 9 ;
+$chanmap->{chan}->[16]->[ 13]= 11;
+$chanmap->{chan}->[16]->[ 12]= 21;
+$chanmap->{chan}->[16]->[ 11]= 19;
+$chanmap->{chan}->[16]->[ 10]= 31;
+$chanmap->{chan}->[16]->[ 9 ]= 29;
+$chanmap->{chan}->[15]->[ 16]= 5 ;
+$chanmap->{chan}->[15]->[ 15]= 7 ;
+$chanmap->{chan}->[15]->[ 14]= 13;
+$chanmap->{chan}->[15]->[ 13]= 15;
+$chanmap->{chan}->[15]->[ 12]= 23;
+$chanmap->{chan}->[15]->[ 11]= 17;
+$chanmap->{chan}->[15]->[ 10]= 27;
+$chanmap->{chan}->[15]->[ 9 ]= 25;
+$chanmap->{chan}->[14]->[ 16]= 27;
+$chanmap->{chan}->[14]->[ 15]= 31;
+$chanmap->{chan}->[14]->[ 14]= 17;
+$chanmap->{chan}->[14]->[ 13]= 19;
+$chanmap->{chan}->[14]->[ 12]= 15;
+$chanmap->{chan}->[14]->[ 11]= 11;
+$chanmap->{chan}->[14]->[ 10]= 7 ;
+$chanmap->{chan}->[14]->[ 9 ]= 3 ;
+$chanmap->{chan}->[13]->[ 16]= 29;
+$chanmap->{chan}->[13]->[ 15]= 25;
+$chanmap->{chan}->[13]->[ 14]= 21;
+$chanmap->{chan}->[13]->[ 13]= 23;
+$chanmap->{chan}->[13]->[ 12]= 13;
+$chanmap->{chan}->[13]->[ 11]= 9 ;
+$chanmap->{chan}->[13]->[ 10]= 1 ;
+$chanmap->{chan}->[13]->[ 9 ]= 5 ;
+$chanmap->{chan}->[12]->[ 16]= 7 ;
+$chanmap->{chan}->[12]->[ 15]= 5 ;
+$chanmap->{chan}->[12]->[ 14]= 15;
+$chanmap->{chan}->[12]->[ 13]= 13;
+$chanmap->{chan}->[12]->[ 12]= 17;
+$chanmap->{chan}->[12]->[ 11]= 21;
+$chanmap->{chan}->[12]->[ 10]= 25;
+$chanmap->{chan}->[12]->[ 9 ]= 29;
+$chanmap->{chan}->[11]->[ 16]= 1 ;
+$chanmap->{chan}->[11]->[ 15]= 3 ;
+$chanmap->{chan}->[11]->[ 14]= 9 ;
+$chanmap->{chan}->[11]->[ 13]= 11;
+$chanmap->{chan}->[11]->[ 12]= 19;
+$chanmap->{chan}->[11]->[ 11]= 23;
+$chanmap->{chan}->[11]->[ 10]= 27;
+$chanmap->{chan}->[11]->[ 9 ]= 31;
+$chanmap->{chan}->[10]->[ 16]= 27;
+$chanmap->{chan}->[10]->[ 15]= 25;
+$chanmap->{chan}->[10]->[ 14]= 17;
+$chanmap->{chan}->[10]->[ 13]= 19;
+$chanmap->{chan}->[10]->[ 12]= 9 ;
+$chanmap->{chan}->[10]->[ 11]= 13;
+$chanmap->{chan}->[10]->[ 10]= 7 ;
+$chanmap->{chan}->[10]->[ 9 ]= 5 ;
+$chanmap->{chan}->[9 ]->[16 ]= 29;
+$chanmap->{chan}->[9 ]->[15 ]= 31;
+$chanmap->{chan}->[9 ]->[14 ]= 21;
+$chanmap->{chan}->[9 ]->[13 ]= 23;
+$chanmap->{chan}->[9 ]->[12 ]= 15;
+$chanmap->{chan}->[9 ]->[11 ]= 11;
+$chanmap->{chan}->[9 ]->[10 ]= 3 ;
+$chanmap->{chan}->[9 ]->[9  ]= 1 ;
+$chanmap->{chan}->[16]->[ 8 ]= 1 ;
+$chanmap->{chan}->[16]->[ 7 ]= 3 ;
+$chanmap->{chan}->[16]->[ 6 ]= 9 ;
+$chanmap->{chan}->[16]->[ 5 ]= 11;
+$chanmap->{chan}->[16]->[ 4 ]= 21;
+$chanmap->{chan}->[16]->[ 3 ]= 19;
+$chanmap->{chan}->[16]->[ 2 ]= 31;
+$chanmap->{chan}->[16]->[ 1 ]= 29;
+$chanmap->{chan}->[15]->[ 8 ]= 5 ;
+$chanmap->{chan}->[15]->[ 7 ]= 7 ;
+$chanmap->{chan}->[15]->[ 6 ]= 13;
+$chanmap->{chan}->[15]->[ 5 ]= 15;
+$chanmap->{chan}->[15]->[ 4 ]= 23;
+$chanmap->{chan}->[15]->[ 3 ]= 17;
+$chanmap->{chan}->[15]->[ 2 ]= 27;
+$chanmap->{chan}->[15]->[ 1 ]= 25;
+$chanmap->{chan}->[14]->[ 8 ]= 27;
+$chanmap->{chan}->[14]->[ 7 ]= 31;
+$chanmap->{chan}->[14]->[ 6 ]= 17;
+$chanmap->{chan}->[14]->[ 5 ]= 19;
+$chanmap->{chan}->[14]->[ 4 ]= 15;
+$chanmap->{chan}->[14]->[ 3 ]= 11;
+$chanmap->{chan}->[14]->[ 2 ]= 7 ;
+$chanmap->{chan}->[14]->[ 1 ]= 3 ;
+$chanmap->{chan}->[13]->[ 8 ]= 29;
+$chanmap->{chan}->[13]->[ 7 ]= 25;
+$chanmap->{chan}->[13]->[ 6 ]= 21;
+$chanmap->{chan}->[13]->[ 5 ]= 23;
+$chanmap->{chan}->[13]->[ 4 ]= 13;
+$chanmap->{chan}->[13]->[ 3 ]= 9 ;
+$chanmap->{chan}->[13]->[ 2 ]= 1 ;
+$chanmap->{chan}->[13]->[ 1 ]= 5 ;
+$chanmap->{chan}->[12]->[ 8 ]= 7 ;
+$chanmap->{chan}->[12]->[ 7 ]= 5 ;
+$chanmap->{chan}->[12]->[ 6 ]= 15;
+$chanmap->{chan}->[12]->[ 5 ]= 13;
+$chanmap->{chan}->[12]->[ 4 ]= 17;
+$chanmap->{chan}->[12]->[ 3 ]= 21;
+$chanmap->{chan}->[12]->[ 2 ]= 25;
+$chanmap->{chan}->[12]->[ 1 ]= 29;
+$chanmap->{chan}->[11]->[ 8 ]= 1 ;
+$chanmap->{chan}->[11]->[ 7 ]= 3 ;
+$chanmap->{chan}->[11]->[ 6 ]= 9 ;
+$chanmap->{chan}->[11]->[ 5 ]= 11;
+$chanmap->{chan}->[11]->[ 4 ]= 19;
+$chanmap->{chan}->[11]->[ 3 ]= 23;
+$chanmap->{chan}->[11]->[ 2 ]= 27;
+$chanmap->{chan}->[11]->[ 1 ]= 31;
+$chanmap->{chan}->[10]->[ 8 ]= 27;
+$chanmap->{chan}->[10]->[ 7 ]= 25;
+$chanmap->{chan}->[10]->[ 6 ]= 17;
+$chanmap->{chan}->[10]->[ 5 ]= 19;
+$chanmap->{chan}->[10]->[ 4 ]= 9 ;
+$chanmap->{chan}->[10]->[ 3 ]= 13;
+$chanmap->{chan}->[10]->[ 2 ]= 7 ;
+$chanmap->{chan}->[10]->[ 1 ]= 5 ;
+$chanmap->{chan}->[9 ]->[8  ]= 29;
+$chanmap->{chan}->[9 ]->[7  ]= 31;
+$chanmap->{chan}->[9 ]->[6  ]= 21;
+$chanmap->{chan}->[9 ]->[5  ]= 23;
+$chanmap->{chan}->[9 ]->[4  ]= 15;
+$chanmap->{chan}->[9 ]->[3  ]= 11;
+$chanmap->{chan}->[9 ]->[2  ]= 3 ;
+$chanmap->{chan}->[9 ]->[1  ]= 1 ;
+$chanmap->{chan}->[8 ]->[32 ]= 1 ;
+$chanmap->{chan}->[8 ]->[31 ]= 3 ;
+$chanmap->{chan}->[8 ]->[30 ]= 9 ;
+$chanmap->{chan}->[8 ]->[29 ]= 11;
+$chanmap->{chan}->[8 ]->[28 ]= 21;
+$chanmap->{chan}->[8 ]->[27 ]= 19;
+$chanmap->{chan}->[8 ]->[26 ]= 31;
+$chanmap->{chan}->[8 ]->[25 ]= 29;
+$chanmap->{chan}->[7 ]->[32 ]= 5 ;
+$chanmap->{chan}->[7 ]->[31 ]= 7 ;
+$chanmap->{chan}->[7 ]->[30 ]= 13;
+$chanmap->{chan}->[7 ]->[29 ]= 15;
+$chanmap->{chan}->[7 ]->[28 ]= 23;
+$chanmap->{chan}->[7 ]->[27 ]= 17;
+$chanmap->{chan}->[7 ]->[26 ]= 27;
+$chanmap->{chan}->[7 ]->[25 ]= 25;
+$chanmap->{chan}->[6 ]->[32 ]= 27;
+$chanmap->{chan}->[6 ]->[31 ]= 31;
+$chanmap->{chan}->[6 ]->[30 ]= 17;
+$chanmap->{chan}->[6 ]->[29 ]= 19;
+$chanmap->{chan}->[6 ]->[28 ]= 15;
+$chanmap->{chan}->[6 ]->[27 ]= 11;
+$chanmap->{chan}->[6 ]->[26 ]= 7 ;
+$chanmap->{chan}->[6 ]->[25 ]= 3 ;
+$chanmap->{chan}->[5 ]->[32 ]= 29;
+$chanmap->{chan}->[5 ]->[31 ]= 25;
+$chanmap->{chan}->[5 ]->[30 ]= 21;
+$chanmap->{chan}->[5 ]->[29 ]= 23;
+$chanmap->{chan}->[5 ]->[28 ]= 13;
+$chanmap->{chan}->[5 ]->[27 ]= 9 ;
+$chanmap->{chan}->[5 ]->[26 ]= 1 ;
+$chanmap->{chan}->[5 ]->[25 ]= 5 ;
+$chanmap->{chan}->[4 ]->[32 ]= 7 ;
+$chanmap->{chan}->[4 ]->[31 ]= 5 ;
+$chanmap->{chan}->[4 ]->[30 ]= 15;
+$chanmap->{chan}->[4 ]->[29 ]= 13;
+$chanmap->{chan}->[4 ]->[28 ]= 17;
+$chanmap->{chan}->[4 ]->[27 ]= 21;
+$chanmap->{chan}->[4 ]->[26 ]= 25;
+$chanmap->{chan}->[4 ]->[25 ]= 29;
+$chanmap->{chan}->[3 ]->[32 ]= 1 ;
+$chanmap->{chan}->[3 ]->[31 ]= 3 ;
+$chanmap->{chan}->[3 ]->[30 ]= 9 ;
+$chanmap->{chan}->[3 ]->[29 ]= 11;
+$chanmap->{chan}->[3 ]->[28 ]= 19;
+$chanmap->{chan}->[3 ]->[27 ]= 23;
+$chanmap->{chan}->[3 ]->[26 ]= 27;
+$chanmap->{chan}->[3 ]->[25 ]= 31;
+$chanmap->{chan}->[2 ]->[32 ]= 27;
+$chanmap->{chan}->[2 ]->[31 ]= 25;
+$chanmap->{chan}->[2 ]->[30 ]= 17;
+$chanmap->{chan}->[2 ]->[29 ]= 19;
+$chanmap->{chan}->[2 ]->[28 ]= 9 ;
+$chanmap->{chan}->[2 ]->[27 ]= 13;
+$chanmap->{chan}->[2 ]->[26 ]= 7 ;
+$chanmap->{chan}->[2 ]->[25 ]= 5 ;
+$chanmap->{chan}->[1 ]->[32 ]= 29;
+$chanmap->{chan}->[1 ]->[31 ]= 31;
+$chanmap->{chan}->[1 ]->[30 ]= 21;
+$chanmap->{chan}->[1 ]->[29 ]= 23;
+$chanmap->{chan}->[1 ]->[28 ]= 15;
+$chanmap->{chan}->[1 ]->[27 ]= 11;
+$chanmap->{chan}->[1 ]->[26 ]= 3 ;
+$chanmap->{chan}->[1 ]->[25 ]= 1 ;
+$chanmap->{chan}->[8 ]->[24 ]= 1 ;
+$chanmap->{chan}->[8 ]->[23 ]= 3 ;
+$chanmap->{chan}->[8 ]->[22 ]= 9 ;
+$chanmap->{chan}->[8 ]->[21 ]= 11;
+$chanmap->{chan}->[8 ]->[20 ]= 21;
+$chanmap->{chan}->[8 ]->[19 ]= 19;
+$chanmap->{chan}->[8 ]->[18 ]= 31;
+$chanmap->{chan}->[8 ]->[17 ]= 29;
+$chanmap->{chan}->[7 ]->[24 ]= 5 ;
+$chanmap->{chan}->[7 ]->[23 ]= 7 ;
+$chanmap->{chan}->[7 ]->[22 ]= 13;
+$chanmap->{chan}->[7 ]->[21 ]= 15;
+$chanmap->{chan}->[7 ]->[20 ]= 23;
+$chanmap->{chan}->[7 ]->[19 ]= 17;
+$chanmap->{chan}->[7 ]->[18 ]= 27;
+$chanmap->{chan}->[7 ]->[17 ]= 25;
+$chanmap->{chan}->[6 ]->[24 ]= 27;
+$chanmap->{chan}->[6 ]->[23 ]= 31;
+$chanmap->{chan}->[6 ]->[22 ]= 17;
+$chanmap->{chan}->[6 ]->[21 ]= 19;
+$chanmap->{chan}->[6 ]->[20 ]= 15;
+$chanmap->{chan}->[6 ]->[19 ]= 11;
+$chanmap->{chan}->[6 ]->[18 ]= 7 ;
+$chanmap->{chan}->[6 ]->[17 ]= 3 ;
+$chanmap->{chan}->[5 ]->[24 ]= 29;
+$chanmap->{chan}->[5 ]->[23 ]= 25;
+$chanmap->{chan}->[5 ]->[22 ]= 21;
+$chanmap->{chan}->[5 ]->[21 ]= 23;
+$chanmap->{chan}->[5 ]->[20 ]= 13;
+$chanmap->{chan}->[5 ]->[19 ]= 9 ;
+$chanmap->{chan}->[5 ]->[18 ]= 1 ;
+$chanmap->{chan}->[5 ]->[17 ]= 5 ;
+$chanmap->{chan}->[4 ]->[24 ]= 7 ;
+$chanmap->{chan}->[4 ]->[23 ]= 5 ;
+$chanmap->{chan}->[4 ]->[22 ]= 15;
+$chanmap->{chan}->[4 ]->[21 ]= 13;
+$chanmap->{chan}->[4 ]->[20 ]= 17;
+$chanmap->{chan}->[4 ]->[19 ]= 21;
+$chanmap->{chan}->[4 ]->[18 ]= 25;
+$chanmap->{chan}->[4 ]->[17 ]= 29;
+$chanmap->{chan}->[3 ]->[24 ]= 1 ;
+$chanmap->{chan}->[3 ]->[23 ]= 3 ;
+$chanmap->{chan}->[3 ]->[22 ]= 9 ;
+$chanmap->{chan}->[3 ]->[21 ]= 11;
+$chanmap->{chan}->[3 ]->[20 ]= 19;
+$chanmap->{chan}->[3 ]->[19 ]= 23;
+$chanmap->{chan}->[3 ]->[18 ]= 27;
+$chanmap->{chan}->[3 ]->[17 ]= 31;
+$chanmap->{chan}->[2 ]->[24 ]= 27;
+$chanmap->{chan}->[2 ]->[23 ]= 25;
+$chanmap->{chan}->[2 ]->[22 ]= 17;
+$chanmap->{chan}->[2 ]->[21 ]= 19;
+$chanmap->{chan}->[2 ]->[20 ]= 9 ;
+$chanmap->{chan}->[2 ]->[19 ]= 13;
+$chanmap->{chan}->[2 ]->[18 ]= 7 ;
+$chanmap->{chan}->[2 ]->[17 ]= 5 ;
+$chanmap->{chan}->[1 ]->[24 ]= 29;
+$chanmap->{chan}->[1 ]->[23 ]= 31;
+$chanmap->{chan}->[1 ]->[22 ]= 21;
+$chanmap->{chan}->[1 ]->[21 ]= 23;
+$chanmap->{chan}->[1 ]->[20 ]= 15;
+$chanmap->{chan}->[1 ]->[19 ]= 11;
+$chanmap->{chan}->[1 ]->[18 ]= 3 ;
+$chanmap->{chan}->[1 ]->[17 ]= 1 ;
+$chanmap->{chan}->[8 ]->[16 ]= 1 ;
+$chanmap->{chan}->[8 ]->[15 ]= 3 ;
+$chanmap->{chan}->[8 ]->[14 ]= 9 ;
+$chanmap->{chan}->[8 ]->[13 ]= 11;
+$chanmap->{chan}->[8 ]->[12 ]= 21;
+$chanmap->{chan}->[8 ]->[11 ]= 19;
+$chanmap->{chan}->[8 ]->[10 ]= 31;
+$chanmap->{chan}->[8 ]->[9  ]= 29;
+$chanmap->{chan}->[7 ]->[16 ]= 5 ;
+$chanmap->{chan}->[7 ]->[15 ]= 7 ;
+$chanmap->{chan}->[7 ]->[14 ]= 13;
+$chanmap->{chan}->[7 ]->[13 ]= 15;
+$chanmap->{chan}->[7 ]->[12 ]= 23;
+$chanmap->{chan}->[7 ]->[11 ]= 17;
+$chanmap->{chan}->[7 ]->[10 ]= 27;
+$chanmap->{chan}->[7 ]->[9  ]= 25;
+$chanmap->{chan}->[6 ]->[16 ]= 27;
+$chanmap->{chan}->[6 ]->[15 ]= 31;
+$chanmap->{chan}->[6 ]->[14 ]= 17;
+$chanmap->{chan}->[6 ]->[13 ]= 19;
+$chanmap->{chan}->[6 ]->[12 ]= 15;
+$chanmap->{chan}->[6 ]->[11 ]= 11;
+$chanmap->{chan}->[6 ]->[10 ]= 7 ;
+$chanmap->{chan}->[6 ]->[9  ]= 3 ;
+$chanmap->{chan}->[5 ]->[16 ]= 29;
+$chanmap->{chan}->[5 ]->[15 ]= 25;
+$chanmap->{chan}->[5 ]->[14 ]= 21;
+$chanmap->{chan}->[5 ]->[13 ]= 23;
+$chanmap->{chan}->[5 ]->[12 ]= 13;
+$chanmap->{chan}->[5 ]->[11 ]= 9 ;
+$chanmap->{chan}->[5 ]->[10 ]= 1 ;
+$chanmap->{chan}->[5 ]->[9  ]= 5 ;
+$chanmap->{chan}->[4 ]->[16 ]= 7 ;
+$chanmap->{chan}->[4 ]->[15 ]= 5 ;
+$chanmap->{chan}->[4 ]->[14 ]= 15;
+$chanmap->{chan}->[4 ]->[13 ]= 13;
+$chanmap->{chan}->[4 ]->[12 ]= 17;
+$chanmap->{chan}->[4 ]->[11 ]= 21;
+$chanmap->{chan}->[4 ]->[10 ]= 25;
+$chanmap->{chan}->[4 ]->[9  ]= 29;
+$chanmap->{chan}->[3 ]->[16 ]= 1 ;
+$chanmap->{chan}->[3 ]->[15 ]= 3 ;
+$chanmap->{chan}->[3 ]->[14 ]= 9 ;
+$chanmap->{chan}->[3 ]->[13 ]= 11;
+$chanmap->{chan}->[3 ]->[12 ]= 19;
+$chanmap->{chan}->[3 ]->[11 ]= 23;
+$chanmap->{chan}->[3 ]->[10 ]= 27;
+$chanmap->{chan}->[3 ]->[9  ]= 31;
+$chanmap->{chan}->[2 ]->[16 ]= 27;
+$chanmap->{chan}->[2 ]->[15 ]= 25;
+$chanmap->{chan}->[2 ]->[14 ]= 17;
+$chanmap->{chan}->[2 ]->[13 ]= 19;
+$chanmap->{chan}->[2 ]->[12 ]= 9 ;
+$chanmap->{chan}->[2 ]->[11 ]= 13;
+$chanmap->{chan}->[2 ]->[10 ]= 7 ;
+$chanmap->{chan}->[2 ]->[9  ]= 5 ;
+$chanmap->{chan}->[1 ]->[16 ]= 29;
+$chanmap->{chan}->[1 ]->[15 ]= 31;
+$chanmap->{chan}->[1 ]->[14 ]= 21;
+$chanmap->{chan}->[1 ]->[13 ]= 23;
+$chanmap->{chan}->[1 ]->[12 ]= 15;
+$chanmap->{chan}->[1 ]->[11 ]= 11;
+$chanmap->{chan}->[1 ]->[10 ]= 3 ;
+$chanmap->{chan}->[1 ]->[9  ]= 1 ;
+$chanmap->{chan}->[8 ]->[8  ]= 1 ;
+$chanmap->{chan}->[8 ]->[7  ]= 3 ;
+$chanmap->{chan}->[8 ]->[6  ]= 9 ;
+$chanmap->{chan}->[8 ]->[5  ]= 11;
+$chanmap->{chan}->[8 ]->[4  ]= 21;
+$chanmap->{chan}->[8 ]->[3  ]= 19;
+$chanmap->{chan}->[8 ]->[2  ]= 31;
+$chanmap->{chan}->[8 ]->[1  ]= 29;
+$chanmap->{chan}->[7 ]->[8  ]= 5 ;
+$chanmap->{chan}->[7 ]->[7  ]= 7 ;
+$chanmap->{chan}->[7 ]->[6  ]= 13;
+$chanmap->{chan}->[7 ]->[5  ]= 15;
+$chanmap->{chan}->[7 ]->[4  ]= 23;
+$chanmap->{chan}->[7 ]->[3  ]= 17;
+$chanmap->{chan}->[7 ]->[2  ]= 27;
+$chanmap->{chan}->[7 ]->[1  ]= 25;
+$chanmap->{chan}->[6 ]->[8  ]= 27;
+$chanmap->{chan}->[6 ]->[7  ]= 31;
+$chanmap->{chan}->[6 ]->[6  ]= 17;
+$chanmap->{chan}->[6 ]->[5  ]= 19;
+$chanmap->{chan}->[6 ]->[4  ]= 15;
+$chanmap->{chan}->[6 ]->[3  ]= 11;
+$chanmap->{chan}->[6 ]->[2  ]= 7 ;
+$chanmap->{chan}->[6 ]->[1  ]= 3 ;
+$chanmap->{chan}->[5 ]->[8  ]= 29;
+$chanmap->{chan}->[5 ]->[7  ]= 25;
+$chanmap->{chan}->[5 ]->[6  ]= 21;
+$chanmap->{chan}->[5 ]->[5  ]= 23;
+$chanmap->{chan}->[5 ]->[4  ]= 13;
+$chanmap->{chan}->[5 ]->[3  ]= 9 ;
+$chanmap->{chan}->[5 ]->[2  ]= 1 ;
+$chanmap->{chan}->[5 ]->[1  ]= 5 ;
+$chanmap->{chan}->[4 ]->[8  ]= 7 ;
+$chanmap->{chan}->[4 ]->[7  ]= 5 ;
+$chanmap->{chan}->[4 ]->[6  ]= 15;
+$chanmap->{chan}->[4 ]->[5  ]= 13;
+$chanmap->{chan}->[4 ]->[4  ]= 17;
+$chanmap->{chan}->[4 ]->[3  ]= 21;
+$chanmap->{chan}->[4 ]->[2  ]= 25;
+$chanmap->{chan}->[4 ]->[1  ]= 29;
+$chanmap->{chan}->[3 ]->[8  ]= 1 ;
+$chanmap->{chan}->[3 ]->[7  ]= 3 ;
+$chanmap->{chan}->[3 ]->[6  ]= 9 ;
+$chanmap->{chan}->[3 ]->[5  ]= 11;
+$chanmap->{chan}->[3 ]->[4  ]= 19;
+$chanmap->{chan}->[3 ]->[3  ]= 23;
+$chanmap->{chan}->[3 ]->[2  ]= 27;
+$chanmap->{chan}->[3 ]->[1  ]= 31;
+$chanmap->{chan}->[2 ]->[8  ]= 27;
+$chanmap->{chan}->[2 ]->[7  ]= 25;
+$chanmap->{chan}->[2 ]->[6  ]= 17;
+$chanmap->{chan}->[2 ]->[5  ]= 19;
+$chanmap->{chan}->[2 ]->[4  ]= 9 ;
+$chanmap->{chan}->[2 ]->[3  ]= 13;
+$chanmap->{chan}->[2 ]->[2  ]= 7 ;
+$chanmap->{chan}->[2 ]->[1  ]= 5 ;
+$chanmap->{chan}->[1 ]->[8  ]= 29;
+$chanmap->{chan}->[1 ]->[7  ]= 31;
+$chanmap->{chan}->[1 ]->[6  ]= 21;
+$chanmap->{chan}->[1 ]->[5  ]= 23;
+$chanmap->{chan}->[1 ]->[4  ]= 15;
+$chanmap->{chan}->[1 ]->[3  ]= 11;
+$chanmap->{chan}->[1 ]->[2  ]= 3 ;
+$chanmap->{chan}->[1 ]->[1  ]= 1 ;
diff --git a/users/cern_cbmrich/ChannelMapping.pm_orig b/users/cern_cbmrich/ChannelMapping.pm_orig
new file mode 100644 (file)
index 0000000..c58f2fc
--- /dev/null
@@ -0,0 +1,2065 @@
+package ChannelMapping;
+use warnings;
+use strict;
+
+our $chanmap;
+$chanmap->{xsize} = 32;
+$chanmap->{ysize} = 32;
+
+$chanmap->{fpga}->[32]->[ 32]=0x0010;
+$chanmap->{fpga}->[32]->[ 31]=0x0010;
+$chanmap->{fpga}->[32]->[ 30]=0x0010;
+$chanmap->{fpga}->[32]->[ 29]=0x0010;
+$chanmap->{fpga}->[32]->[ 28]=0x0010;
+$chanmap->{fpga}->[32]->[ 27]=0x0010;
+$chanmap->{fpga}->[32]->[ 26]=0x0010;
+$chanmap->{fpga}->[32]->[ 25]=0x0010;
+$chanmap->{fpga}->[31]->[ 32]=0x0010;
+$chanmap->{fpga}->[31]->[ 31]=0x0010;
+$chanmap->{fpga}->[31]->[ 30]=0x0010;
+$chanmap->{fpga}->[31]->[ 29]=0x0010;
+$chanmap->{fpga}->[31]->[ 28]=0x0010;
+$chanmap->{fpga}->[31]->[ 27]=0x0010;
+$chanmap->{fpga}->[31]->[ 26]=0x0010;
+$chanmap->{fpga}->[31]->[ 25]=0x0010;
+$chanmap->{fpga}->[30]->[ 32]=0x0011;
+$chanmap->{fpga}->[30]->[ 31]=0x0011;
+$chanmap->{fpga}->[30]->[ 30]=0x0011;
+$chanmap->{fpga}->[30]->[ 29]=0x0011;
+$chanmap->{fpga}->[30]->[ 28]=0x0011;
+$chanmap->{fpga}->[30]->[ 27]=0x0011;
+$chanmap->{fpga}->[30]->[ 26]=0x0011;
+$chanmap->{fpga}->[30]->[ 25]=0x0011;
+$chanmap->{fpga}->[29]->[ 32]=0x0011;
+$chanmap->{fpga}->[29]->[ 31]=0x0011;
+$chanmap->{fpga}->[29]->[ 30]=0x0011;
+$chanmap->{fpga}->[29]->[ 29]=0x0011;
+$chanmap->{fpga}->[29]->[ 28]=0x0011;
+$chanmap->{fpga}->[29]->[ 27]=0x0011;
+$chanmap->{fpga}->[29]->[ 26]=0x0011;
+$chanmap->{fpga}->[29]->[ 25]=0x0011;
+$chanmap->{fpga}->[28]->[ 32]=0x0012;
+$chanmap->{fpga}->[28]->[ 31]=0x0012;
+$chanmap->{fpga}->[28]->[ 30]=0x0012;
+$chanmap->{fpga}->[28]->[ 29]=0x0012;
+$chanmap->{fpga}->[28]->[ 28]=0x0012;
+$chanmap->{fpga}->[28]->[ 27]=0x0012;
+$chanmap->{fpga}->[28]->[ 26]=0x0012;
+$chanmap->{fpga}->[28]->[ 25]=0x0012;
+$chanmap->{fpga}->[27]->[ 32]=0x0012;
+$chanmap->{fpga}->[27]->[ 31]=0x0012;
+$chanmap->{fpga}->[27]->[ 30]=0x0012;
+$chanmap->{fpga}->[27]->[ 29]=0x0012;
+$chanmap->{fpga}->[27]->[ 28]=0x0012;
+$chanmap->{fpga}->[27]->[ 27]=0x0012;
+$chanmap->{fpga}->[27]->[ 26]=0x0012;
+$chanmap->{fpga}->[27]->[ 25]=0x0012;
+$chanmap->{fpga}->[26]->[ 32]=0x0013;
+$chanmap->{fpga}->[26]->[ 31]=0x0013;
+$chanmap->{fpga}->[26]->[ 30]=0x0013;
+$chanmap->{fpga}->[26]->[ 29]=0x0013;
+$chanmap->{fpga}->[26]->[ 28]=0x0013;
+$chanmap->{fpga}->[26]->[ 27]=0x0013;
+$chanmap->{fpga}->[26]->[ 26]=0x0013;
+$chanmap->{fpga}->[26]->[ 25]=0x0013;
+$chanmap->{fpga}->[25]->[ 32]=0x0013;
+$chanmap->{fpga}->[25]->[ 31]=0x0013;
+$chanmap->{fpga}->[25]->[ 30]=0x0013;
+$chanmap->{fpga}->[25]->[ 29]=0x0013;
+$chanmap->{fpga}->[25]->[ 28]=0x0013;
+$chanmap->{fpga}->[25]->[ 27]=0x0013;
+$chanmap->{fpga}->[25]->[ 26]=0x0013;
+$chanmap->{fpga}->[25]->[ 25]=0x0013;
+$chanmap->{fpga}->[32]->[ 24]=0x0020;
+$chanmap->{fpga}->[32]->[ 23]=0x0020;
+$chanmap->{fpga}->[32]->[ 22]=0x0020;
+$chanmap->{fpga}->[32]->[ 21]=0x0020;
+$chanmap->{fpga}->[32]->[ 20]=0x0020;
+$chanmap->{fpga}->[32]->[ 19]=0x0020;
+$chanmap->{fpga}->[32]->[ 18]=0x0020;
+$chanmap->{fpga}->[32]->[ 17]=0x0020;
+$chanmap->{fpga}->[31]->[ 24]=0x0020;
+$chanmap->{fpga}->[31]->[ 23]=0x0020;
+$chanmap->{fpga}->[31]->[ 22]=0x0020;
+$chanmap->{fpga}->[31]->[ 21]=0x0020;
+$chanmap->{fpga}->[31]->[ 20]=0x0020;
+$chanmap->{fpga}->[31]->[ 19]=0x0020;
+$chanmap->{fpga}->[31]->[ 18]=0x0020;
+$chanmap->{fpga}->[31]->[ 17]=0x0020;
+$chanmap->{fpga}->[30]->[ 24]=0x0021;
+$chanmap->{fpga}->[30]->[ 23]=0x0021;
+$chanmap->{fpga}->[30]->[ 22]=0x0021;
+$chanmap->{fpga}->[30]->[ 21]=0x0021;
+$chanmap->{fpga}->[30]->[ 20]=0x0021;
+$chanmap->{fpga}->[30]->[ 19]=0x0021;
+$chanmap->{fpga}->[30]->[ 18]=0x0021;
+$chanmap->{fpga}->[30]->[ 17]=0x0021;
+$chanmap->{fpga}->[29]->[ 24]=0x0021;
+$chanmap->{fpga}->[29]->[ 23]=0x0021;
+$chanmap->{fpga}->[29]->[ 22]=0x0021;
+$chanmap->{fpga}->[29]->[ 21]=0x0021;
+$chanmap->{fpga}->[29]->[ 20]=0x0021;
+$chanmap->{fpga}->[29]->[ 19]=0x0021;
+$chanmap->{fpga}->[29]->[ 18]=0x0021;
+$chanmap->{fpga}->[29]->[ 17]=0x0021;
+$chanmap->{fpga}->[28]->[ 24]=0x0022;
+$chanmap->{fpga}->[28]->[ 23]=0x0022;
+$chanmap->{fpga}->[28]->[ 22]=0x0022;
+$chanmap->{fpga}->[28]->[ 21]=0x0022;
+$chanmap->{fpga}->[28]->[ 20]=0x0022;
+$chanmap->{fpga}->[28]->[ 19]=0x0022;
+$chanmap->{fpga}->[28]->[ 18]=0x0022;
+$chanmap->{fpga}->[28]->[ 17]=0x0022;
+$chanmap->{fpga}->[27]->[ 24]=0x0022;
+$chanmap->{fpga}->[27]->[ 23]=0x0022;
+$chanmap->{fpga}->[27]->[ 22]=0x0022;
+$chanmap->{fpga}->[27]->[ 21]=0x0022;
+$chanmap->{fpga}->[27]->[ 20]=0x0022;
+$chanmap->{fpga}->[27]->[ 19]=0x0022;
+$chanmap->{fpga}->[27]->[ 18]=0x0022;
+$chanmap->{fpga}->[27]->[ 17]=0x0022;
+$chanmap->{fpga}->[26]->[ 24]=0x0023;
+$chanmap->{fpga}->[26]->[ 23]=0x0023;
+$chanmap->{fpga}->[26]->[ 22]=0x0023;
+$chanmap->{fpga}->[26]->[ 21]=0x0023;
+$chanmap->{fpga}->[26]->[ 20]=0x0023;
+$chanmap->{fpga}->[26]->[ 19]=0x0023;
+$chanmap->{fpga}->[26]->[ 18]=0x0023;
+$chanmap->{fpga}->[26]->[ 17]=0x0023;
+$chanmap->{fpga}->[25]->[ 24]=0x0023;
+$chanmap->{fpga}->[25]->[ 23]=0x0023;
+$chanmap->{fpga}->[25]->[ 22]=0x0023;
+$chanmap->{fpga}->[25]->[ 21]=0x0023;
+$chanmap->{fpga}->[25]->[ 20]=0x0023;
+$chanmap->{fpga}->[25]->[ 19]=0x0023;
+$chanmap->{fpga}->[25]->[ 18]=0x0023;
+$chanmap->{fpga}->[25]->[ 17]=0x0023;
+$chanmap->{fpga}->[32]->[ 16]=0x0030;
+$chanmap->{fpga}->[32]->[ 15]=0x0030;
+$chanmap->{fpga}->[32]->[ 14]=0x0030;
+$chanmap->{fpga}->[32]->[ 13]=0x0030;
+$chanmap->{fpga}->[32]->[ 12]=0x0030;
+$chanmap->{fpga}->[32]->[ 11]=0x0030;
+$chanmap->{fpga}->[32]->[ 10]=0x0030;
+$chanmap->{fpga}->[32]->[ 9 ]=0x0030;
+$chanmap->{fpga}->[31]->[ 16]=0x0030;
+$chanmap->{fpga}->[31]->[ 15]=0x0030;
+$chanmap->{fpga}->[31]->[ 14]=0x0030;
+$chanmap->{fpga}->[31]->[ 13]=0x0030;
+$chanmap->{fpga}->[31]->[ 12]=0x0030;
+$chanmap->{fpga}->[31]->[ 11]=0x0030;
+$chanmap->{fpga}->[31]->[ 10]=0x0030;
+$chanmap->{fpga}->[31]->[ 9 ]=0x0030;
+$chanmap->{fpga}->[30]->[ 16]=0x0031;
+$chanmap->{fpga}->[30]->[ 15]=0x0031;
+$chanmap->{fpga}->[30]->[ 14]=0x0031;
+$chanmap->{fpga}->[30]->[ 13]=0x0031;
+$chanmap->{fpga}->[30]->[ 12]=0x0031;
+$chanmap->{fpga}->[30]->[ 11]=0x0031;
+$chanmap->{fpga}->[30]->[ 10]=0x0031;
+$chanmap->{fpga}->[30]->[ 9 ]=0x0031;
+$chanmap->{fpga}->[29]->[ 16]=0x0031;
+$chanmap->{fpga}->[29]->[ 15]=0x0031;
+$chanmap->{fpga}->[29]->[ 14]=0x0031;
+$chanmap->{fpga}->[29]->[ 13]=0x0031;
+$chanmap->{fpga}->[29]->[ 12]=0x0031;
+$chanmap->{fpga}->[29]->[ 11]=0x0031;
+$chanmap->{fpga}->[29]->[ 10]=0x0031;
+$chanmap->{fpga}->[29]->[ 9 ]=0x0031;
+$chanmap->{fpga}->[28]->[ 16]=0x0032;
+$chanmap->{fpga}->[28]->[ 15]=0x0032;
+$chanmap->{fpga}->[28]->[ 14]=0x0032;
+$chanmap->{fpga}->[28]->[ 13]=0x0032;
+$chanmap->{fpga}->[28]->[ 12]=0x0032;
+$chanmap->{fpga}->[28]->[ 11]=0x0032;
+$chanmap->{fpga}->[28]->[ 10]=0x0032;
+$chanmap->{fpga}->[28]->[ 9 ]=0x0032;
+$chanmap->{fpga}->[27]->[ 16]=0x0032;
+$chanmap->{fpga}->[27]->[ 15]=0x0032;
+$chanmap->{fpga}->[27]->[ 14]=0x0032;
+$chanmap->{fpga}->[27]->[ 13]=0x0032;
+$chanmap->{fpga}->[27]->[ 12]=0x0032;
+$chanmap->{fpga}->[27]->[ 11]=0x0032;
+$chanmap->{fpga}->[27]->[ 10]=0x0032;
+$chanmap->{fpga}->[27]->[ 9 ]=0x0032;
+$chanmap->{fpga}->[26]->[ 16]=0x0033;
+$chanmap->{fpga}->[26]->[ 15]=0x0033;
+$chanmap->{fpga}->[26]->[ 14]=0x0033;
+$chanmap->{fpga}->[26]->[ 13]=0x0033;
+$chanmap->{fpga}->[26]->[ 12]=0x0033;
+$chanmap->{fpga}->[26]->[ 11]=0x0033;
+$chanmap->{fpga}->[26]->[ 10]=0x0033;
+$chanmap->{fpga}->[26]->[ 9 ]=0x0033;
+$chanmap->{fpga}->[25]->[ 16]=0x0033;
+$chanmap->{fpga}->[25]->[ 15]=0x0033;
+$chanmap->{fpga}->[25]->[ 14]=0x0033;
+$chanmap->{fpga}->[25]->[ 13]=0x0033;
+$chanmap->{fpga}->[25]->[ 12]=0x0033;
+$chanmap->{fpga}->[25]->[ 11]=0x0033;
+$chanmap->{fpga}->[25]->[ 10]=0x0033;
+$chanmap->{fpga}->[25]->[ 9 ]=0x0033;
+$chanmap->{fpga}->[32]->[ 8 ]=0x0040;
+$chanmap->{fpga}->[32]->[ 7 ]=0x0040;
+$chanmap->{fpga}->[32]->[ 6 ]=0x0040;
+$chanmap->{fpga}->[32]->[ 5 ]=0x0040;
+$chanmap->{fpga}->[32]->[ 4 ]=0x0040;
+$chanmap->{fpga}->[32]->[ 3 ]=0x0040;
+$chanmap->{fpga}->[32]->[ 2 ]=0x0040;
+$chanmap->{fpga}->[32]->[ 1 ]=0x0040;
+$chanmap->{fpga}->[31]->[ 8 ]=0x0040;
+$chanmap->{fpga}->[31]->[ 7 ]=0x0040;
+$chanmap->{fpga}->[31]->[ 6 ]=0x0040;
+$chanmap->{fpga}->[31]->[ 5 ]=0x0040;
+$chanmap->{fpga}->[31]->[ 4 ]=0x0040;
+$chanmap->{fpga}->[31]->[ 3 ]=0x0040;
+$chanmap->{fpga}->[31]->[ 2 ]=0x0040;
+$chanmap->{fpga}->[31]->[ 1 ]=0x0040;
+$chanmap->{fpga}->[30]->[ 8 ]=0x0041;
+$chanmap->{fpga}->[30]->[ 7 ]=0x0041;
+$chanmap->{fpga}->[30]->[ 6 ]=0x0041;
+$chanmap->{fpga}->[30]->[ 5 ]=0x0041;
+$chanmap->{fpga}->[30]->[ 4 ]=0x0041;
+$chanmap->{fpga}->[30]->[ 3 ]=0x0041;
+$chanmap->{fpga}->[30]->[ 2 ]=0x0041;
+$chanmap->{fpga}->[30]->[ 1 ]=0x0041;
+$chanmap->{fpga}->[29]->[ 8 ]=0x0041;
+$chanmap->{fpga}->[29]->[ 7 ]=0x0041;
+$chanmap->{fpga}->[29]->[ 6 ]=0x0041;
+$chanmap->{fpga}->[29]->[ 5 ]=0x0041;
+$chanmap->{fpga}->[29]->[ 4 ]=0x0041;
+$chanmap->{fpga}->[29]->[ 3 ]=0x0041;
+$chanmap->{fpga}->[29]->[ 2 ]=0x0041;
+$chanmap->{fpga}->[29]->[ 1 ]=0x0041;
+$chanmap->{fpga}->[28]->[ 8 ]=0x0042;
+$chanmap->{fpga}->[28]->[ 7 ]=0x0042;
+$chanmap->{fpga}->[28]->[ 6 ]=0x0042;
+$chanmap->{fpga}->[28]->[ 5 ]=0x0042;
+$chanmap->{fpga}->[28]->[ 4 ]=0x0042;
+$chanmap->{fpga}->[28]->[ 3 ]=0x0042;
+$chanmap->{fpga}->[28]->[ 2 ]=0x0042;
+$chanmap->{fpga}->[28]->[ 1 ]=0x0042;
+$chanmap->{fpga}->[27]->[ 8 ]=0x0042;
+$chanmap->{fpga}->[27]->[ 7 ]=0x0042;
+$chanmap->{fpga}->[27]->[ 6 ]=0x0042;
+$chanmap->{fpga}->[27]->[ 5 ]=0x0042;
+$chanmap->{fpga}->[27]->[ 4 ]=0x0042;
+$chanmap->{fpga}->[27]->[ 3 ]=0x0042;
+$chanmap->{fpga}->[27]->[ 2 ]=0x0042;
+$chanmap->{fpga}->[27]->[ 1 ]=0x0042;
+$chanmap->{fpga}->[26]->[ 8 ]=0x0043;
+$chanmap->{fpga}->[26]->[ 7 ]=0x0043;
+$chanmap->{fpga}->[26]->[ 6 ]=0x0043;
+$chanmap->{fpga}->[26]->[ 5 ]=0x0043;
+$chanmap->{fpga}->[26]->[ 4 ]=0x0043;
+$chanmap->{fpga}->[26]->[ 3 ]=0x0043;
+$chanmap->{fpga}->[26]->[ 2 ]=0x0043;
+$chanmap->{fpga}->[26]->[ 1 ]=0x0043;
+$chanmap->{fpga}->[25]->[ 8 ]=0x0043;
+$chanmap->{fpga}->[25]->[ 7 ]=0x0043;
+$chanmap->{fpga}->[25]->[ 6 ]=0x0043;
+$chanmap->{fpga}->[25]->[ 5 ]=0x0043;
+$chanmap->{fpga}->[25]->[ 4 ]=0x0043;
+$chanmap->{fpga}->[25]->[ 3 ]=0x0043;
+$chanmap->{fpga}->[25]->[ 2 ]=0x0043;
+$chanmap->{fpga}->[25]->[ 1 ]=0x0043;
+$chanmap->{fpga}->[24]->[ 32]=0x0050;
+$chanmap->{fpga}->[24]->[ 31]=0x0050;
+$chanmap->{fpga}->[24]->[ 30]=0x0050;
+$chanmap->{fpga}->[24]->[ 29]=0x0050;
+$chanmap->{fpga}->[24]->[ 28]=0x0050;
+$chanmap->{fpga}->[24]->[ 27]=0x0050;
+$chanmap->{fpga}->[24]->[ 26]=0x0050;
+$chanmap->{fpga}->[24]->[ 25]=0x0050;
+$chanmap->{fpga}->[23]->[ 32]=0x0050;
+$chanmap->{fpga}->[23]->[ 31]=0x0050;
+$chanmap->{fpga}->[23]->[ 30]=0x0050;
+$chanmap->{fpga}->[23]->[ 29]=0x0050;
+$chanmap->{fpga}->[23]->[ 28]=0x0050;
+$chanmap->{fpga}->[23]->[ 27]=0x0050;
+$chanmap->{fpga}->[23]->[ 26]=0x0050;
+$chanmap->{fpga}->[23]->[ 25]=0x0050;
+$chanmap->{fpga}->[22]->[ 32]=0x0051;
+$chanmap->{fpga}->[22]->[ 31]=0x0051;
+$chanmap->{fpga}->[22]->[ 30]=0x0051;
+$chanmap->{fpga}->[22]->[ 29]=0x0051;
+$chanmap->{fpga}->[22]->[ 28]=0x0051;
+$chanmap->{fpga}->[22]->[ 27]=0x0051;
+$chanmap->{fpga}->[22]->[ 26]=0x0051;
+$chanmap->{fpga}->[22]->[ 25]=0x0051;
+$chanmap->{fpga}->[21]->[ 32]=0x0051;
+$chanmap->{fpga}->[21]->[ 31]=0x0051;
+$chanmap->{fpga}->[21]->[ 30]=0x0051;
+$chanmap->{fpga}->[21]->[ 29]=0x0051;
+$chanmap->{fpga}->[21]->[ 28]=0x0051;
+$chanmap->{fpga}->[21]->[ 27]=0x0051;
+$chanmap->{fpga}->[21]->[ 26]=0x0051;
+$chanmap->{fpga}->[21]->[ 25]=0x0051;
+$chanmap->{fpga}->[20]->[ 32]=0x0052;
+$chanmap->{fpga}->[20]->[ 31]=0x0052;
+$chanmap->{fpga}->[20]->[ 30]=0x0052;
+$chanmap->{fpga}->[20]->[ 29]=0x0052;
+$chanmap->{fpga}->[20]->[ 28]=0x0052;
+$chanmap->{fpga}->[20]->[ 27]=0x0052;
+$chanmap->{fpga}->[20]->[ 26]=0x0052;
+$chanmap->{fpga}->[20]->[ 25]=0x0052;
+$chanmap->{fpga}->[19]->[ 32]=0x0052;
+$chanmap->{fpga}->[19]->[ 31]=0x0052;
+$chanmap->{fpga}->[19]->[ 30]=0x0052;
+$chanmap->{fpga}->[19]->[ 29]=0x0052;
+$chanmap->{fpga}->[19]->[ 28]=0x0052;
+$chanmap->{fpga}->[19]->[ 27]=0x0052;
+$chanmap->{fpga}->[19]->[ 26]=0x0052;
+$chanmap->{fpga}->[19]->[ 25]=0x0052;
+$chanmap->{fpga}->[18]->[ 32]=0x0053;
+$chanmap->{fpga}->[18]->[ 31]=0x0053;
+$chanmap->{fpga}->[18]->[ 30]=0x0053;
+$chanmap->{fpga}->[18]->[ 29]=0x0053;
+$chanmap->{fpga}->[18]->[ 28]=0x0053;
+$chanmap->{fpga}->[18]->[ 27]=0x0053;
+$chanmap->{fpga}->[18]->[ 26]=0x0053;
+$chanmap->{fpga}->[18]->[ 25]=0x0053;
+$chanmap->{fpga}->[17]->[ 32]=0x0053;
+$chanmap->{fpga}->[17]->[ 31]=0x0053;
+$chanmap->{fpga}->[17]->[ 30]=0x0053;
+$chanmap->{fpga}->[17]->[ 29]=0x0053;
+$chanmap->{fpga}->[17]->[ 28]=0x0053;
+$chanmap->{fpga}->[17]->[ 27]=0x0053;
+$chanmap->{fpga}->[17]->[ 26]=0x0053;
+$chanmap->{fpga}->[17]->[ 25]=0x0053;
+$chanmap->{fpga}->[24]->[ 24]=0x0060;
+$chanmap->{fpga}->[24]->[ 23]=0x0060;
+$chanmap->{fpga}->[24]->[ 22]=0x0060;
+$chanmap->{fpga}->[24]->[ 21]=0x0060;
+$chanmap->{fpga}->[24]->[ 20]=0x0060;
+$chanmap->{fpga}->[24]->[ 19]=0x0060;
+$chanmap->{fpga}->[24]->[ 18]=0x0060;
+$chanmap->{fpga}->[24]->[ 17]=0x0060;
+$chanmap->{fpga}->[23]->[ 24]=0x0060;
+$chanmap->{fpga}->[23]->[ 23]=0x0060;
+$chanmap->{fpga}->[23]->[ 22]=0x0060;
+$chanmap->{fpga}->[23]->[ 21]=0x0060;
+$chanmap->{fpga}->[23]->[ 20]=0x0060;
+$chanmap->{fpga}->[23]->[ 19]=0x0060;
+$chanmap->{fpga}->[23]->[ 18]=0x0060;
+$chanmap->{fpga}->[23]->[ 17]=0x0060;
+$chanmap->{fpga}->[22]->[ 24]=0x0061;
+$chanmap->{fpga}->[22]->[ 23]=0x0061;
+$chanmap->{fpga}->[22]->[ 22]=0x0061;
+$chanmap->{fpga}->[22]->[ 21]=0x0061;
+$chanmap->{fpga}->[22]->[ 20]=0x0061;
+$chanmap->{fpga}->[22]->[ 19]=0x0061;
+$chanmap->{fpga}->[22]->[ 18]=0x0061;
+$chanmap->{fpga}->[22]->[ 17]=0x0061;
+$chanmap->{fpga}->[21]->[ 24]=0x0061;
+$chanmap->{fpga}->[21]->[ 23]=0x0061;
+$chanmap->{fpga}->[21]->[ 22]=0x0061;
+$chanmap->{fpga}->[21]->[ 21]=0x0061;
+$chanmap->{fpga}->[21]->[ 20]=0x0061;
+$chanmap->{fpga}->[21]->[ 19]=0x0061;
+$chanmap->{fpga}->[21]->[ 18]=0x0061;
+$chanmap->{fpga}->[21]->[ 17]=0x0061;
+$chanmap->{fpga}->[20]->[ 24]=0x0062;
+$chanmap->{fpga}->[20]->[ 23]=0x0062;
+$chanmap->{fpga}->[20]->[ 22]=0x0062;
+$chanmap->{fpga}->[20]->[ 21]=0x0062;
+$chanmap->{fpga}->[20]->[ 20]=0x0062;
+$chanmap->{fpga}->[20]->[ 19]=0x0062;
+$chanmap->{fpga}->[20]->[ 18]=0x0062;
+$chanmap->{fpga}->[20]->[ 17]=0x0062;
+$chanmap->{fpga}->[19]->[ 24]=0x0062;
+$chanmap->{fpga}->[19]->[ 23]=0x0062;
+$chanmap->{fpga}->[19]->[ 22]=0x0062;
+$chanmap->{fpga}->[19]->[ 21]=0x0062;
+$chanmap->{fpga}->[19]->[ 20]=0x0062;
+$chanmap->{fpga}->[19]->[ 19]=0x0062;
+$chanmap->{fpga}->[19]->[ 18]=0x0062;
+$chanmap->{fpga}->[19]->[ 17]=0x0062;
+$chanmap->{fpga}->[18]->[ 24]=0x0063;
+$chanmap->{fpga}->[18]->[ 23]=0x0063;
+$chanmap->{fpga}->[18]->[ 22]=0x0063;
+$chanmap->{fpga}->[18]->[ 21]=0x0063;
+$chanmap->{fpga}->[18]->[ 20]=0x0063;
+$chanmap->{fpga}->[18]->[ 19]=0x0063;
+$chanmap->{fpga}->[18]->[ 18]=0x0063;
+$chanmap->{fpga}->[18]->[ 17]=0x0063;
+$chanmap->{fpga}->[17]->[ 24]=0x0063;
+$chanmap->{fpga}->[17]->[ 23]=0x0063;
+$chanmap->{fpga}->[17]->[ 22]=0x0063;
+$chanmap->{fpga}->[17]->[ 21]=0x0063;
+$chanmap->{fpga}->[17]->[ 20]=0x0063;
+$chanmap->{fpga}->[17]->[ 19]=0x0063;
+$chanmap->{fpga}->[17]->[ 18]=0x0063;
+$chanmap->{fpga}->[17]->[ 17]=0x0063;
+$chanmap->{fpga}->[24]->[ 16]=0x0070;
+$chanmap->{fpga}->[24]->[ 15]=0x0070;
+$chanmap->{fpga}->[24]->[ 14]=0x0070;
+$chanmap->{fpga}->[24]->[ 13]=0x0070;
+$chanmap->{fpga}->[24]->[ 12]=0x0070;
+$chanmap->{fpga}->[24]->[ 11]=0x0070;
+$chanmap->{fpga}->[24]->[ 10]=0x0070;
+$chanmap->{fpga}->[24]->[ 9 ]=0x0070;
+$chanmap->{fpga}->[23]->[ 16]=0x0070;
+$chanmap->{fpga}->[23]->[ 15]=0x0070;
+$chanmap->{fpga}->[23]->[ 14]=0x0070;
+$chanmap->{fpga}->[23]->[ 13]=0x0070;
+$chanmap->{fpga}->[23]->[ 12]=0x0070;
+$chanmap->{fpga}->[23]->[ 11]=0x0070;
+$chanmap->{fpga}->[23]->[ 10]=0x0070;
+$chanmap->{fpga}->[23]->[ 9 ]=0x0070;
+$chanmap->{fpga}->[22]->[ 16]=0x0071;
+$chanmap->{fpga}->[22]->[ 15]=0x0071;
+$chanmap->{fpga}->[22]->[ 14]=0x0071;
+$chanmap->{fpga}->[22]->[ 13]=0x0071;
+$chanmap->{fpga}->[22]->[ 12]=0x0071;
+$chanmap->{fpga}->[22]->[ 11]=0x0071;
+$chanmap->{fpga}->[22]->[ 10]=0x0071;
+$chanmap->{fpga}->[22]->[ 9 ]=0x0071;
+$chanmap->{fpga}->[21]->[ 16]=0x0071;
+$chanmap->{fpga}->[21]->[ 15]=0x0071;
+$chanmap->{fpga}->[21]->[ 14]=0x0071;
+$chanmap->{fpga}->[21]->[ 13]=0x0071;
+$chanmap->{fpga}->[21]->[ 12]=0x0071;
+$chanmap->{fpga}->[21]->[ 11]=0x0071;
+$chanmap->{fpga}->[21]->[ 10]=0x0071;
+$chanmap->{fpga}->[21]->[ 9 ]=0x0071;
+$chanmap->{fpga}->[20]->[ 16]=0x0072;
+$chanmap->{fpga}->[20]->[ 15]=0x0072;
+$chanmap->{fpga}->[20]->[ 14]=0x0072;
+$chanmap->{fpga}->[20]->[ 13]=0x0072;
+$chanmap->{fpga}->[20]->[ 12]=0x0072;
+$chanmap->{fpga}->[20]->[ 11]=0x0072;
+$chanmap->{fpga}->[20]->[ 10]=0x0072;
+$chanmap->{fpga}->[20]->[ 9 ]=0x0072;
+$chanmap->{fpga}->[19]->[ 16]=0x0072;
+$chanmap->{fpga}->[19]->[ 15]=0x0072;
+$chanmap->{fpga}->[19]->[ 14]=0x0072;
+$chanmap->{fpga}->[19]->[ 13]=0x0072;
+$chanmap->{fpga}->[19]->[ 12]=0x0072;
+$chanmap->{fpga}->[19]->[ 11]=0x0072;
+$chanmap->{fpga}->[19]->[ 10]=0x0072;
+$chanmap->{fpga}->[19]->[ 9 ]=0x0072;
+$chanmap->{fpga}->[18]->[ 16]=0x0073;
+$chanmap->{fpga}->[18]->[ 15]=0x0073;
+$chanmap->{fpga}->[18]->[ 14]=0x0073;
+$chanmap->{fpga}->[18]->[ 13]=0x0073;
+$chanmap->{fpga}->[18]->[ 12]=0x0073;
+$chanmap->{fpga}->[18]->[ 11]=0x0073;
+$chanmap->{fpga}->[18]->[ 10]=0x0073;
+$chanmap->{fpga}->[18]->[ 9 ]=0x0073;
+$chanmap->{fpga}->[17]->[ 16]=0x0073;
+$chanmap->{fpga}->[17]->[ 15]=0x0073;
+$chanmap->{fpga}->[17]->[ 14]=0x0073;
+$chanmap->{fpga}->[17]->[ 13]=0x0073;
+$chanmap->{fpga}->[17]->[ 12]=0x0073;
+$chanmap->{fpga}->[17]->[ 11]=0x0073;
+$chanmap->{fpga}->[17]->[ 10]=0x0073;
+$chanmap->{fpga}->[17]->[ 9 ]=0x0073;
+$chanmap->{fpga}->[24]->[ 8 ]=0x0080;
+$chanmap->{fpga}->[24]->[ 7 ]=0x0080;
+$chanmap->{fpga}->[24]->[ 6 ]=0x0080;
+$chanmap->{fpga}->[24]->[ 5 ]=0x0080;
+$chanmap->{fpga}->[24]->[ 4 ]=0x0080;
+$chanmap->{fpga}->[24]->[ 3 ]=0x0080;
+$chanmap->{fpga}->[24]->[ 2 ]=0x0080;
+$chanmap->{fpga}->[24]->[ 1 ]=0x0080;
+$chanmap->{fpga}->[23]->[ 8 ]=0x0080;
+$chanmap->{fpga}->[23]->[ 7 ]=0x0080;
+$chanmap->{fpga}->[23]->[ 6 ]=0x0080;
+$chanmap->{fpga}->[23]->[ 5 ]=0x0080;
+$chanmap->{fpga}->[23]->[ 4 ]=0x0080;
+$chanmap->{fpga}->[23]->[ 3 ]=0x0080;
+$chanmap->{fpga}->[23]->[ 2 ]=0x0080;
+$chanmap->{fpga}->[23]->[ 1 ]=0x0080;
+$chanmap->{fpga}->[22]->[ 8 ]=0x0081;
+$chanmap->{fpga}->[22]->[ 7 ]=0x0081;
+$chanmap->{fpga}->[22]->[ 6 ]=0x0081;
+$chanmap->{fpga}->[22]->[ 5 ]=0x0081;
+$chanmap->{fpga}->[22]->[ 4 ]=0x0081;
+$chanmap->{fpga}->[22]->[ 3 ]=0x0081;
+$chanmap->{fpga}->[22]->[ 2 ]=0x0081;
+$chanmap->{fpga}->[22]->[ 1 ]=0x0081;
+$chanmap->{fpga}->[21]->[ 8 ]=0x0081;
+$chanmap->{fpga}->[21]->[ 7 ]=0x0081;
+$chanmap->{fpga}->[21]->[ 6 ]=0x0081;
+$chanmap->{fpga}->[21]->[ 5 ]=0x0081;
+$chanmap->{fpga}->[21]->[ 4 ]=0x0081;
+$chanmap->{fpga}->[21]->[ 3 ]=0x0081;
+$chanmap->{fpga}->[21]->[ 2 ]=0x0081;
+$chanmap->{fpga}->[21]->[ 1 ]=0x0081;
+$chanmap->{fpga}->[20]->[ 8 ]=0x0082;
+$chanmap->{fpga}->[20]->[ 7 ]=0x0082;
+$chanmap->{fpga}->[20]->[ 6 ]=0x0082;
+$chanmap->{fpga}->[20]->[ 5 ]=0x0082;
+$chanmap->{fpga}->[20]->[ 4 ]=0x0082;
+$chanmap->{fpga}->[20]->[ 3 ]=0x0082;
+$chanmap->{fpga}->[20]->[ 2 ]=0x0082;
+$chanmap->{fpga}->[20]->[ 1 ]=0x0082;
+$chanmap->{fpga}->[19]->[ 8 ]=0x0082;
+$chanmap->{fpga}->[19]->[ 7 ]=0x0082;
+$chanmap->{fpga}->[19]->[ 6 ]=0x0082;
+$chanmap->{fpga}->[19]->[ 5 ]=0x0082;
+$chanmap->{fpga}->[19]->[ 4 ]=0x0082;
+$chanmap->{fpga}->[19]->[ 3 ]=0x0082;
+$chanmap->{fpga}->[19]->[ 2 ]=0x0082;
+$chanmap->{fpga}->[19]->[ 1 ]=0x0082;
+$chanmap->{fpga}->[18]->[ 8 ]=0x0083;
+$chanmap->{fpga}->[18]->[ 7 ]=0x0083;
+$chanmap->{fpga}->[18]->[ 6 ]=0x0083;
+$chanmap->{fpga}->[18]->[ 5 ]=0x0083;
+$chanmap->{fpga}->[18]->[ 4 ]=0x0083;
+$chanmap->{fpga}->[18]->[ 3 ]=0x0083;
+$chanmap->{fpga}->[18]->[ 2 ]=0x0083;
+$chanmap->{fpga}->[18]->[ 1 ]=0x0083;
+$chanmap->{fpga}->[17]->[ 8 ]=0x0083;
+$chanmap->{fpga}->[17]->[ 7 ]=0x0083;
+$chanmap->{fpga}->[17]->[ 6 ]=0x0083;
+$chanmap->{fpga}->[17]->[ 5 ]=0x0083;
+$chanmap->{fpga}->[17]->[ 4 ]=0x0083;
+$chanmap->{fpga}->[17]->[ 3 ]=0x0083;
+$chanmap->{fpga}->[17]->[ 2 ]=0x0083;
+$chanmap->{fpga}->[17]->[ 1 ]=0x0083;
+$chanmap->{fpga}->[16]->[ 32]=0x0090;
+$chanmap->{fpga}->[16]->[ 31]=0x0090;
+$chanmap->{fpga}->[16]->[ 30]=0x0090;
+$chanmap->{fpga}->[16]->[ 29]=0x0090;
+$chanmap->{fpga}->[16]->[ 28]=0x0090;
+$chanmap->{fpga}->[16]->[ 27]=0x0090;
+$chanmap->{fpga}->[16]->[ 26]=0x0090;
+$chanmap->{fpga}->[16]->[ 25]=0x0090;
+$chanmap->{fpga}->[15]->[ 32]=0x0090;
+$chanmap->{fpga}->[15]->[ 31]=0x0090;
+$chanmap->{fpga}->[15]->[ 30]=0x0090;
+$chanmap->{fpga}->[15]->[ 29]=0x0090;
+$chanmap->{fpga}->[15]->[ 28]=0x0090;
+$chanmap->{fpga}->[15]->[ 27]=0x0090;
+$chanmap->{fpga}->[15]->[ 26]=0x0090;
+$chanmap->{fpga}->[15]->[ 25]=0x0090;
+$chanmap->{fpga}->[14]->[ 32]=0x0091;
+$chanmap->{fpga}->[14]->[ 31]=0x0091;
+$chanmap->{fpga}->[14]->[ 30]=0x0091;
+$chanmap->{fpga}->[14]->[ 29]=0x0091;
+$chanmap->{fpga}->[14]->[ 28]=0x0091;
+$chanmap->{fpga}->[14]->[ 27]=0x0091;
+$chanmap->{fpga}->[14]->[ 26]=0x0091;
+$chanmap->{fpga}->[14]->[ 25]=0x0091;
+$chanmap->{fpga}->[13]->[ 32]=0x0091;
+$chanmap->{fpga}->[13]->[ 31]=0x0091;
+$chanmap->{fpga}->[13]->[ 30]=0x0091;
+$chanmap->{fpga}->[13]->[ 29]=0x0091;
+$chanmap->{fpga}->[13]->[ 28]=0x0091;
+$chanmap->{fpga}->[13]->[ 27]=0x0091;
+$chanmap->{fpga}->[13]->[ 26]=0x0091;
+$chanmap->{fpga}->[13]->[ 25]=0x0091;
+$chanmap->{fpga}->[12]->[ 32]=0x0092;
+$chanmap->{fpga}->[12]->[ 31]=0x0092;
+$chanmap->{fpga}->[12]->[ 30]=0x0092;
+$chanmap->{fpga}->[12]->[ 29]=0x0092;
+$chanmap->{fpga}->[12]->[ 28]=0x0092;
+$chanmap->{fpga}->[12]->[ 27]=0x0092;
+$chanmap->{fpga}->[12]->[ 26]=0x0092;
+$chanmap->{fpga}->[12]->[ 25]=0x0092;
+$chanmap->{fpga}->[11]->[ 32]=0x0092;
+$chanmap->{fpga}->[11]->[ 31]=0x0092;
+$chanmap->{fpga}->[11]->[ 30]=0x0092;
+$chanmap->{fpga}->[11]->[ 29]=0x0092;
+$chanmap->{fpga}->[11]->[ 28]=0x0092;
+$chanmap->{fpga}->[11]->[ 27]=0x0092;
+$chanmap->{fpga}->[11]->[ 26]=0x0092;
+$chanmap->{fpga}->[11]->[ 25]=0x0092;
+$chanmap->{fpga}->[10]->[ 32]=0x0093;
+$chanmap->{fpga}->[10]->[ 31]=0x0093;
+$chanmap->{fpga}->[10]->[ 30]=0x0093;
+$chanmap->{fpga}->[10]->[ 29]=0x0093;
+$chanmap->{fpga}->[10]->[ 28]=0x0093;
+$chanmap->{fpga}->[10]->[ 27]=0x0093;
+$chanmap->{fpga}->[10]->[ 26]=0x0093;
+$chanmap->{fpga}->[10]->[ 25]=0x0093;
+$chanmap->{fpga}->[9 ]->[32 ]=0x0093;
+$chanmap->{fpga}->[9 ]->[31 ]=0x0093;
+$chanmap->{fpga}->[9 ]->[30 ]=0x0093;
+$chanmap->{fpga}->[9 ]->[29 ]=0x0093;
+$chanmap->{fpga}->[9 ]->[28 ]=0x0093;
+$chanmap->{fpga}->[9 ]->[27 ]=0x0093;
+$chanmap->{fpga}->[9 ]->[26 ]=0x0093;
+$chanmap->{fpga}->[9 ]->[25 ]=0x0093;
+$chanmap->{fpga}->[16]->[ 24]=0x00a0;
+$chanmap->{fpga}->[16]->[ 23]=0x00a0;
+$chanmap->{fpga}->[16]->[ 22]=0x00a0;
+$chanmap->{fpga}->[16]->[ 21]=0x00a0;
+$chanmap->{fpga}->[16]->[ 20]=0x00a0;
+$chanmap->{fpga}->[16]->[ 19]=0x00a0;
+$chanmap->{fpga}->[16]->[ 18]=0x00a0;
+$chanmap->{fpga}->[16]->[ 17]=0x00a0;
+$chanmap->{fpga}->[15]->[ 24]=0x00a0;
+$chanmap->{fpga}->[15]->[ 23]=0x00a0;
+$chanmap->{fpga}->[15]->[ 22]=0x00a0;
+$chanmap->{fpga}->[15]->[ 21]=0x00a0;
+$chanmap->{fpga}->[15]->[ 20]=0x00a0;
+$chanmap->{fpga}->[15]->[ 19]=0x00a0;
+$chanmap->{fpga}->[15]->[ 18]=0x00a0;
+$chanmap->{fpga}->[15]->[ 17]=0x00a0;
+$chanmap->{fpga}->[14]->[ 24]=0x00a1;
+$chanmap->{fpga}->[14]->[ 23]=0x00a1;
+$chanmap->{fpga}->[14]->[ 22]=0x00a1;
+$chanmap->{fpga}->[14]->[ 21]=0x00a1;
+$chanmap->{fpga}->[14]->[ 20]=0x00a1;
+$chanmap->{fpga}->[14]->[ 19]=0x00a1;
+$chanmap->{fpga}->[14]->[ 18]=0x00a1;
+$chanmap->{fpga}->[14]->[ 17]=0x00a1;
+$chanmap->{fpga}->[13]->[ 24]=0x00a1;
+$chanmap->{fpga}->[13]->[ 23]=0x00a1;
+$chanmap->{fpga}->[13]->[ 22]=0x00a1;
+$chanmap->{fpga}->[13]->[ 21]=0x00a1;
+$chanmap->{fpga}->[13]->[ 20]=0x00a1;
+$chanmap->{fpga}->[13]->[ 19]=0x00a1;
+$chanmap->{fpga}->[13]->[ 18]=0x00a1;
+$chanmap->{fpga}->[13]->[ 17]=0x00a1;
+$chanmap->{fpga}->[12]->[ 24]=0x00a2;
+$chanmap->{fpga}->[12]->[ 23]=0x00a2;
+$chanmap->{fpga}->[12]->[ 22]=0x00a2;
+$chanmap->{fpga}->[12]->[ 21]=0x00a2;
+$chanmap->{fpga}->[12]->[ 20]=0x00a2;
+$chanmap->{fpga}->[12]->[ 19]=0x00a2;
+$chanmap->{fpga}->[12]->[ 18]=0x00a2;
+$chanmap->{fpga}->[12]->[ 17]=0x00a2;
+$chanmap->{fpga}->[11]->[ 24]=0x00a2;
+$chanmap->{fpga}->[11]->[ 23]=0x00a2;
+$chanmap->{fpga}->[11]->[ 22]=0x00a2;
+$chanmap->{fpga}->[11]->[ 21]=0x00a2;
+$chanmap->{fpga}->[11]->[ 20]=0x00a2;
+$chanmap->{fpga}->[11]->[ 19]=0x00a2;
+$chanmap->{fpga}->[11]->[ 18]=0x00a2;
+$chanmap->{fpga}->[11]->[ 17]=0x00a2;
+$chanmap->{fpga}->[10]->[ 24]=0x00a3;
+$chanmap->{fpga}->[10]->[ 23]=0x00a3;
+$chanmap->{fpga}->[10]->[ 22]=0x00a3;
+$chanmap->{fpga}->[10]->[ 21]=0x00a3;
+$chanmap->{fpga}->[10]->[ 20]=0x00a3;
+$chanmap->{fpga}->[10]->[ 19]=0x00a3;
+$chanmap->{fpga}->[10]->[ 18]=0x00a3;
+$chanmap->{fpga}->[10]->[ 17]=0x00a3;
+$chanmap->{fpga}->[9 ]->[24 ]=0x00a3;
+$chanmap->{fpga}->[9 ]->[23 ]=0x00a3;
+$chanmap->{fpga}->[9 ]->[22 ]=0x00a3;
+$chanmap->{fpga}->[9 ]->[21 ]=0x00a3;
+$chanmap->{fpga}->[9 ]->[20 ]=0x00a3;
+$chanmap->{fpga}->[9 ]->[19 ]=0x00a3;
+$chanmap->{fpga}->[9 ]->[18 ]=0x00a3;
+$chanmap->{fpga}->[9 ]->[17 ]=0x00a3;
+$chanmap->{fpga}->[16]->[ 16]=0x00b0;
+$chanmap->{fpga}->[16]->[ 15]=0x00b0;
+$chanmap->{fpga}->[16]->[ 14]=0x00b0;
+$chanmap->{fpga}->[16]->[ 13]=0x00b0;
+$chanmap->{fpga}->[16]->[ 12]=0x00b0;
+$chanmap->{fpga}->[16]->[ 11]=0x00b0;
+$chanmap->{fpga}->[16]->[ 10]=0x00b0;
+$chanmap->{fpga}->[16]->[ 9 ]=0x00b0;
+$chanmap->{fpga}->[15]->[ 16]=0x00b0;
+$chanmap->{fpga}->[15]->[ 15]=0x00b0;
+$chanmap->{fpga}->[15]->[ 14]=0x00b0;
+$chanmap->{fpga}->[15]->[ 13]=0x00b0;
+$chanmap->{fpga}->[15]->[ 12]=0x00b0;
+$chanmap->{fpga}->[15]->[ 11]=0x00b0;
+$chanmap->{fpga}->[15]->[ 10]=0x00b0;
+$chanmap->{fpga}->[15]->[ 9 ]=0x00b0;
+$chanmap->{fpga}->[14]->[ 16]=0x00b1;
+$chanmap->{fpga}->[14]->[ 15]=0x00b1;
+$chanmap->{fpga}->[14]->[ 14]=0x00b1;
+$chanmap->{fpga}->[14]->[ 13]=0x00b1;
+$chanmap->{fpga}->[14]->[ 12]=0x00b1;
+$chanmap->{fpga}->[14]->[ 11]=0x00b1;
+$chanmap->{fpga}->[14]->[ 10]=0x00b1;
+$chanmap->{fpga}->[14]->[ 9 ]=0x00b1;
+$chanmap->{fpga}->[13]->[ 16]=0x00b1;
+$chanmap->{fpga}->[13]->[ 15]=0x00b1;
+$chanmap->{fpga}->[13]->[ 14]=0x00b1;
+$chanmap->{fpga}->[13]->[ 13]=0x00b1;
+$chanmap->{fpga}->[13]->[ 12]=0x00b1;
+$chanmap->{fpga}->[13]->[ 11]=0x00b1;
+$chanmap->{fpga}->[13]->[ 10]=0x00b1;
+$chanmap->{fpga}->[13]->[ 9 ]=0x00b1;
+$chanmap->{fpga}->[12]->[ 16]=0x00b2;
+$chanmap->{fpga}->[12]->[ 15]=0x00b2;
+$chanmap->{fpga}->[12]->[ 14]=0x00b2;
+$chanmap->{fpga}->[12]->[ 13]=0x00b2;
+$chanmap->{fpga}->[12]->[ 12]=0x00b2;
+$chanmap->{fpga}->[12]->[ 11]=0x00b2;
+$chanmap->{fpga}->[12]->[ 10]=0x00b2;
+$chanmap->{fpga}->[12]->[ 9 ]=0x00b2;
+$chanmap->{fpga}->[11]->[ 16]=0x00b2;
+$chanmap->{fpga}->[11]->[ 15]=0x00b2;
+$chanmap->{fpga}->[11]->[ 14]=0x00b2;
+$chanmap->{fpga}->[11]->[ 13]=0x00b2;
+$chanmap->{fpga}->[11]->[ 12]=0x00b2;
+$chanmap->{fpga}->[11]->[ 11]=0x00b2;
+$chanmap->{fpga}->[11]->[ 10]=0x00b2;
+$chanmap->{fpga}->[11]->[ 9 ]=0x00b2;
+$chanmap->{fpga}->[10]->[ 16]=0x00b3;
+$chanmap->{fpga}->[10]->[ 15]=0x00b3;
+$chanmap->{fpga}->[10]->[ 14]=0x00b3;
+$chanmap->{fpga}->[10]->[ 13]=0x00b3;
+$chanmap->{fpga}->[10]->[ 12]=0x00b3;
+$chanmap->{fpga}->[10]->[ 11]=0x00b3;
+$chanmap->{fpga}->[10]->[ 10]=0x00b3;
+$chanmap->{fpga}->[10]->[ 9 ]=0x00b3;
+$chanmap->{fpga}->[9 ]->[16 ]=0x00b3;
+$chanmap->{fpga}->[9 ]->[15 ]=0x00b3;
+$chanmap->{fpga}->[9 ]->[14 ]=0x00b3;
+$chanmap->{fpga}->[9 ]->[13 ]=0x00b3;
+$chanmap->{fpga}->[9 ]->[12 ]=0x00b3;
+$chanmap->{fpga}->[9 ]->[11 ]=0x00b3;
+$chanmap->{fpga}->[9 ]->[10 ]=0x00b3;
+$chanmap->{fpga}->[9 ]->[9  ]=0x00b3;
+$chanmap->{fpga}->[16]->[ 8 ]=0x00c0;
+$chanmap->{fpga}->[16]->[ 7 ]=0x00c0;
+$chanmap->{fpga}->[16]->[ 6 ]=0x00c0;
+$chanmap->{fpga}->[16]->[ 5 ]=0x00c0;
+$chanmap->{fpga}->[16]->[ 4 ]=0x00c0;
+$chanmap->{fpga}->[16]->[ 3 ]=0x00c0;
+$chanmap->{fpga}->[16]->[ 2 ]=0x00c0;
+$chanmap->{fpga}->[16]->[ 1 ]=0x00c0;
+$chanmap->{fpga}->[15]->[ 8 ]=0x00c0;
+$chanmap->{fpga}->[15]->[ 7 ]=0x00c0;
+$chanmap->{fpga}->[15]->[ 6 ]=0x00c0;
+$chanmap->{fpga}->[15]->[ 5 ]=0x00c0;
+$chanmap->{fpga}->[15]->[ 4 ]=0x00c0;
+$chanmap->{fpga}->[15]->[ 3 ]=0x00c0;
+$chanmap->{fpga}->[15]->[ 2 ]=0x00c0;
+$chanmap->{fpga}->[15]->[ 1 ]=0x00c0;
+$chanmap->{fpga}->[14]->[ 8 ]=0x00c1;
+$chanmap->{fpga}->[14]->[ 7 ]=0x00c1;
+$chanmap->{fpga}->[14]->[ 6 ]=0x00c1;
+$chanmap->{fpga}->[14]->[ 5 ]=0x00c1;
+$chanmap->{fpga}->[14]->[ 4 ]=0x00c1;
+$chanmap->{fpga}->[14]->[ 3 ]=0x00c1;
+$chanmap->{fpga}->[14]->[ 2 ]=0x00c1;
+$chanmap->{fpga}->[14]->[ 1 ]=0x00c1;
+$chanmap->{fpga}->[13]->[ 8 ]=0x00c1;
+$chanmap->{fpga}->[13]->[ 7 ]=0x00c1;
+$chanmap->{fpga}->[13]->[ 6 ]=0x00c1;
+$chanmap->{fpga}->[13]->[ 5 ]=0x00c1;
+$chanmap->{fpga}->[13]->[ 4 ]=0x00c1;
+$chanmap->{fpga}->[13]->[ 3 ]=0x00c1;
+$chanmap->{fpga}->[13]->[ 2 ]=0x00c1;
+$chanmap->{fpga}->[13]->[ 1 ]=0x00c1;
+$chanmap->{fpga}->[12]->[ 8 ]=0x00c2;
+$chanmap->{fpga}->[12]->[ 7 ]=0x00c2;
+$chanmap->{fpga}->[12]->[ 6 ]=0x00c2;
+$chanmap->{fpga}->[12]->[ 5 ]=0x00c2;
+$chanmap->{fpga}->[12]->[ 4 ]=0x00c2;
+$chanmap->{fpga}->[12]->[ 3 ]=0x00c2;
+$chanmap->{fpga}->[12]->[ 2 ]=0x00c2;
+$chanmap->{fpga}->[12]->[ 1 ]=0x00c2;
+$chanmap->{fpga}->[11]->[ 8 ]=0x00c2;
+$chanmap->{fpga}->[11]->[ 7 ]=0x00c2;
+$chanmap->{fpga}->[11]->[ 6 ]=0x00c2;
+$chanmap->{fpga}->[11]->[ 5 ]=0x00c2;
+$chanmap->{fpga}->[11]->[ 4 ]=0x00c2;
+$chanmap->{fpga}->[11]->[ 3 ]=0x00c2;
+$chanmap->{fpga}->[11]->[ 2 ]=0x00c2;
+$chanmap->{fpga}->[11]->[ 1 ]=0x00c2;
+$chanmap->{fpga}->[10]->[ 8 ]=0x00c3;
+$chanmap->{fpga}->[10]->[ 7 ]=0x00c3;
+$chanmap->{fpga}->[10]->[ 6 ]=0x00c3;
+$chanmap->{fpga}->[10]->[ 5 ]=0x00c3;
+$chanmap->{fpga}->[10]->[ 4 ]=0x00c3;
+$chanmap->{fpga}->[10]->[ 3 ]=0x00c3;
+$chanmap->{fpga}->[10]->[ 2 ]=0x00c3;
+$chanmap->{fpga}->[10]->[ 1 ]=0x00c3;
+$chanmap->{fpga}->[9 ]->[8  ]=0x00c3;
+$chanmap->{fpga}->[9 ]->[7  ]=0x00c3;
+$chanmap->{fpga}->[9 ]->[6  ]=0x00c3;
+$chanmap->{fpga}->[9 ]->[5  ]=0x00c3;
+$chanmap->{fpga}->[9 ]->[4  ]=0x00c3;
+$chanmap->{fpga}->[9 ]->[3  ]=0x00c3;
+$chanmap->{fpga}->[9 ]->[2  ]=0x00c3;
+$chanmap->{fpga}->[9 ]->[1  ]=0x00c3;
+$chanmap->{fpga}->[8 ]->[32 ]=0x00d0;
+$chanmap->{fpga}->[8 ]->[31 ]=0x00d0;
+$chanmap->{fpga}->[8 ]->[30 ]=0x00d0;
+$chanmap->{fpga}->[8 ]->[29 ]=0x00d0;
+$chanmap->{fpga}->[8 ]->[28 ]=0x00d0;
+$chanmap->{fpga}->[8 ]->[27 ]=0x00d0;
+$chanmap->{fpga}->[8 ]->[26 ]=0x00d0;
+$chanmap->{fpga}->[8 ]->[25 ]=0x00d0;
+$chanmap->{fpga}->[7 ]->[32 ]=0x00d0;
+$chanmap->{fpga}->[7 ]->[31 ]=0x00d0;
+$chanmap->{fpga}->[7 ]->[30 ]=0x00d0;
+$chanmap->{fpga}->[7 ]->[29 ]=0x00d0;
+$chanmap->{fpga}->[7 ]->[28 ]=0x00d0;
+$chanmap->{fpga}->[7 ]->[27 ]=0x00d0;
+$chanmap->{fpga}->[7 ]->[26 ]=0x00d0;
+$chanmap->{fpga}->[7 ]->[25 ]=0x00d0;
+$chanmap->{fpga}->[6 ]->[32 ]=0x00d1;
+$chanmap->{fpga}->[6 ]->[31 ]=0x00d1;
+$chanmap->{fpga}->[6 ]->[30 ]=0x00d1;
+$chanmap->{fpga}->[6 ]->[29 ]=0x00d1;
+$chanmap->{fpga}->[6 ]->[28 ]=0x00d1;
+$chanmap->{fpga}->[6 ]->[27 ]=0x00d1;
+$chanmap->{fpga}->[6 ]->[26 ]=0x00d1;
+$chanmap->{fpga}->[6 ]->[25 ]=0x00d1;
+$chanmap->{fpga}->[5 ]->[32 ]=0x00d1;
+$chanmap->{fpga}->[5 ]->[31 ]=0x00d1;
+$chanmap->{fpga}->[5 ]->[30 ]=0x00d1;
+$chanmap->{fpga}->[5 ]->[29 ]=0x00d1;
+$chanmap->{fpga}->[5 ]->[28 ]=0x00d1;
+$chanmap->{fpga}->[5 ]->[27 ]=0x00d1;
+$chanmap->{fpga}->[5 ]->[26 ]=0x00d1;
+$chanmap->{fpga}->[5 ]->[25 ]=0x00d1;
+$chanmap->{fpga}->[4 ]->[32 ]=0x00d2;
+$chanmap->{fpga}->[4 ]->[31 ]=0x00d2;
+$chanmap->{fpga}->[4 ]->[30 ]=0x00d2;
+$chanmap->{fpga}->[4 ]->[29 ]=0x00d2;
+$chanmap->{fpga}->[4 ]->[28 ]=0x00d2;
+$chanmap->{fpga}->[4 ]->[27 ]=0x00d2;
+$chanmap->{fpga}->[4 ]->[26 ]=0x00d2;
+$chanmap->{fpga}->[4 ]->[25 ]=0x00d2;
+$chanmap->{fpga}->[3 ]->[32 ]=0x00d2;
+$chanmap->{fpga}->[3 ]->[31 ]=0x00d2;
+$chanmap->{fpga}->[3 ]->[30 ]=0x00d2;
+$chanmap->{fpga}->[3 ]->[29 ]=0x00d2;
+$chanmap->{fpga}->[3 ]->[28 ]=0x00d2;
+$chanmap->{fpga}->[3 ]->[27 ]=0x00d2;
+$chanmap->{fpga}->[3 ]->[26 ]=0x00d2;
+$chanmap->{fpga}->[3 ]->[25 ]=0x00d2;
+$chanmap->{fpga}->[2 ]->[32 ]=0x00d3;
+$chanmap->{fpga}->[2 ]->[31 ]=0x00d3;
+$chanmap->{fpga}->[2 ]->[30 ]=0x00d3;
+$chanmap->{fpga}->[2 ]->[29 ]=0x00d3;
+$chanmap->{fpga}->[2 ]->[28 ]=0x00d3;
+$chanmap->{fpga}->[2 ]->[27 ]=0x00d3;
+$chanmap->{fpga}->[2 ]->[26 ]=0x00d3;
+$chanmap->{fpga}->[2 ]->[25 ]=0x00d3;
+$chanmap->{fpga}->[1 ]->[32 ]=0x00d3;
+$chanmap->{fpga}->[1 ]->[31 ]=0x00d3;
+$chanmap->{fpga}->[1 ]->[30 ]=0x00d3;
+$chanmap->{fpga}->[1 ]->[29 ]=0x00d3;
+$chanmap->{fpga}->[1 ]->[28 ]=0x00d3;
+$chanmap->{fpga}->[1 ]->[27 ]=0x00d3;
+$chanmap->{fpga}->[1 ]->[26 ]=0x00d3;
+$chanmap->{fpga}->[1 ]->[25 ]=0x00d3;
+$chanmap->{fpga}->[8 ]->[24 ]=0x00e0;
+$chanmap->{fpga}->[8 ]->[23 ]=0x00e0;
+$chanmap->{fpga}->[8 ]->[22 ]=0x00e0;
+$chanmap->{fpga}->[8 ]->[21 ]=0x00e0;
+$chanmap->{fpga}->[8 ]->[20 ]=0x00e0;
+$chanmap->{fpga}->[8 ]->[19 ]=0x00e0;
+$chanmap->{fpga}->[8 ]->[18 ]=0x00e0;
+$chanmap->{fpga}->[8 ]->[17 ]=0x00e0;
+$chanmap->{fpga}->[7 ]->[24 ]=0x00e0;
+$chanmap->{fpga}->[7 ]->[23 ]=0x00e0;
+$chanmap->{fpga}->[7 ]->[22 ]=0x00e0;
+$chanmap->{fpga}->[7 ]->[21 ]=0x00e0;
+$chanmap->{fpga}->[7 ]->[20 ]=0x00e0;
+$chanmap->{fpga}->[7 ]->[19 ]=0x00e0;
+$chanmap->{fpga}->[7 ]->[18 ]=0x00e0;
+$chanmap->{fpga}->[7 ]->[17 ]=0x00e0;
+$chanmap->{fpga}->[6 ]->[24 ]=0x00e1;
+$chanmap->{fpga}->[6 ]->[23 ]=0x00e1;
+$chanmap->{fpga}->[6 ]->[22 ]=0x00e1;
+$chanmap->{fpga}->[6 ]->[21 ]=0x00e1;
+$chanmap->{fpga}->[6 ]->[20 ]=0x00e1;
+$chanmap->{fpga}->[6 ]->[19 ]=0x00e1;
+$chanmap->{fpga}->[6 ]->[18 ]=0x00e1;
+$chanmap->{fpga}->[6 ]->[17 ]=0x00e1;
+$chanmap->{fpga}->[5 ]->[24 ]=0x00e1;
+$chanmap->{fpga}->[5 ]->[23 ]=0x00e1;
+$chanmap->{fpga}->[5 ]->[22 ]=0x00e1;
+$chanmap->{fpga}->[5 ]->[21 ]=0x00e1;
+$chanmap->{fpga}->[5 ]->[20 ]=0x00e1;
+$chanmap->{fpga}->[5 ]->[19 ]=0x00e1;
+$chanmap->{fpga}->[5 ]->[18 ]=0x00e1;
+$chanmap->{fpga}->[5 ]->[17 ]=0x00e1;
+$chanmap->{fpga}->[4 ]->[24 ]=0x00e2;
+$chanmap->{fpga}->[4 ]->[23 ]=0x00e2;
+$chanmap->{fpga}->[4 ]->[22 ]=0x00e2;
+$chanmap->{fpga}->[4 ]->[21 ]=0x00e2;
+$chanmap->{fpga}->[4 ]->[20 ]=0x00e2;
+$chanmap->{fpga}->[4 ]->[19 ]=0x00e2;
+$chanmap->{fpga}->[4 ]->[18 ]=0x00e2;
+$chanmap->{fpga}->[4 ]->[17 ]=0x00e2;
+$chanmap->{fpga}->[3 ]->[24 ]=0x00e2;
+$chanmap->{fpga}->[3 ]->[23 ]=0x00e2;
+$chanmap->{fpga}->[3 ]->[22 ]=0x00e2;
+$chanmap->{fpga}->[3 ]->[21 ]=0x00e2;
+$chanmap->{fpga}->[3 ]->[20 ]=0x00e2;
+$chanmap->{fpga}->[3 ]->[19 ]=0x00e2;
+$chanmap->{fpga}->[3 ]->[18 ]=0x00e2;
+$chanmap->{fpga}->[3 ]->[17 ]=0x00e2;
+$chanmap->{fpga}->[2 ]->[24 ]=0x00e3;
+$chanmap->{fpga}->[2 ]->[23 ]=0x00e3;
+$chanmap->{fpga}->[2 ]->[22 ]=0x00e3;
+$chanmap->{fpga}->[2 ]->[21 ]=0x00e3;
+$chanmap->{fpga}->[2 ]->[20 ]=0x00e3;
+$chanmap->{fpga}->[2 ]->[19 ]=0x00e3;
+$chanmap->{fpga}->[2 ]->[18 ]=0x00e3;
+$chanmap->{fpga}->[2 ]->[17 ]=0x00e3;
+$chanmap->{fpga}->[1 ]->[24 ]=0x00e3;
+$chanmap->{fpga}->[1 ]->[23 ]=0x00e3;
+$chanmap->{fpga}->[1 ]->[22 ]=0x00e3;
+$chanmap->{fpga}->[1 ]->[21 ]=0x00e3;
+$chanmap->{fpga}->[1 ]->[20 ]=0x00e3;
+$chanmap->{fpga}->[1 ]->[19 ]=0x00e3;
+$chanmap->{fpga}->[1 ]->[18 ]=0x00e3;
+$chanmap->{fpga}->[1 ]->[17 ]=0x00e3;
+$chanmap->{fpga}->[8 ]->[16 ]=0x00f0;
+$chanmap->{fpga}->[8 ]->[15 ]=0x00f0;
+$chanmap->{fpga}->[8 ]->[14 ]=0x00f0;
+$chanmap->{fpga}->[8 ]->[13 ]=0x00f0;
+$chanmap->{fpga}->[8 ]->[12 ]=0x00f0;
+$chanmap->{fpga}->[8 ]->[11 ]=0x00f0;
+$chanmap->{fpga}->[8 ]->[10 ]=0x00f0;
+$chanmap->{fpga}->[8 ]->[9  ]=0x00f0;
+$chanmap->{fpga}->[7 ]->[16 ]=0x00f0;
+$chanmap->{fpga}->[7 ]->[15 ]=0x00f0;
+$chanmap->{fpga}->[7 ]->[14 ]=0x00f0;
+$chanmap->{fpga}->[7 ]->[13 ]=0x00f0;
+$chanmap->{fpga}->[7 ]->[12 ]=0x00f0;
+$chanmap->{fpga}->[7 ]->[11 ]=0x00f0;
+$chanmap->{fpga}->[7 ]->[10 ]=0x00f0;
+$chanmap->{fpga}->[7 ]->[9  ]=0x00f0;
+$chanmap->{fpga}->[6 ]->[16 ]=0x00f1;
+$chanmap->{fpga}->[6 ]->[15 ]=0x00f1;
+$chanmap->{fpga}->[6 ]->[14 ]=0x00f1;
+$chanmap->{fpga}->[6 ]->[13 ]=0x00f1;
+$chanmap->{fpga}->[6 ]->[12 ]=0x00f1;
+$chanmap->{fpga}->[6 ]->[11 ]=0x00f1;
+$chanmap->{fpga}->[6 ]->[10 ]=0x00f1;
+$chanmap->{fpga}->[6 ]->[9  ]=0x00f1;
+$chanmap->{fpga}->[5 ]->[16 ]=0x00f1;
+$chanmap->{fpga}->[5 ]->[15 ]=0x00f1;
+$chanmap->{fpga}->[5 ]->[14 ]=0x00f1;
+$chanmap->{fpga}->[5 ]->[13 ]=0x00f1;
+$chanmap->{fpga}->[5 ]->[12 ]=0x00f1;
+$chanmap->{fpga}->[5 ]->[11 ]=0x00f1;
+$chanmap->{fpga}->[5 ]->[10 ]=0x00f1;
+$chanmap->{fpga}->[5 ]->[9  ]=0x00f1;
+$chanmap->{fpga}->[4 ]->[16 ]=0x00f2;
+$chanmap->{fpga}->[4 ]->[15 ]=0x00f2;
+$chanmap->{fpga}->[4 ]->[14 ]=0x00f2;
+$chanmap->{fpga}->[4 ]->[13 ]=0x00f2;
+$chanmap->{fpga}->[4 ]->[12 ]=0x00f2;
+$chanmap->{fpga}->[4 ]->[11 ]=0x00f2;
+$chanmap->{fpga}->[4 ]->[10 ]=0x00f2;
+$chanmap->{fpga}->[4 ]->[9  ]=0x00f2;
+$chanmap->{fpga}->[3 ]->[16 ]=0x00f2;
+$chanmap->{fpga}->[3 ]->[15 ]=0x00f2;
+$chanmap->{fpga}->[3 ]->[14 ]=0x00f2;
+$chanmap->{fpga}->[3 ]->[13 ]=0x00f2;
+$chanmap->{fpga}->[3 ]->[12 ]=0x00f2;
+$chanmap->{fpga}->[3 ]->[11 ]=0x00f2;
+$chanmap->{fpga}->[3 ]->[10 ]=0x00f2;
+$chanmap->{fpga}->[3 ]->[9  ]=0x00f2;
+$chanmap->{fpga}->[2 ]->[16 ]=0x00f3;
+$chanmap->{fpga}->[2 ]->[15 ]=0x00f3;
+$chanmap->{fpga}->[2 ]->[14 ]=0x00f3;
+$chanmap->{fpga}->[2 ]->[13 ]=0x00f3;
+$chanmap->{fpga}->[2 ]->[12 ]=0x00f3;
+$chanmap->{fpga}->[2 ]->[11 ]=0x00f3;
+$chanmap->{fpga}->[2 ]->[10 ]=0x00f3;
+$chanmap->{fpga}->[2 ]->[9  ]=0x00f3;
+$chanmap->{fpga}->[1 ]->[16 ]=0x00f3;
+$chanmap->{fpga}->[1 ]->[15 ]=0x00f3;
+$chanmap->{fpga}->[1 ]->[14 ]=0x00f3;
+$chanmap->{fpga}->[1 ]->[13 ]=0x00f3;
+$chanmap->{fpga}->[1 ]->[12 ]=0x00f3;
+$chanmap->{fpga}->[1 ]->[11 ]=0x00f3;
+$chanmap->{fpga}->[1 ]->[10 ]=0x00f3;
+$chanmap->{fpga}->[1 ]->[9  ]=0x00f3;
+$chanmap->{fpga}->[8 ]->[8  ]=0x0100;
+$chanmap->{fpga}->[8 ]->[7  ]=0x0100;
+$chanmap->{fpga}->[8 ]->[6  ]=0x0100;
+$chanmap->{fpga}->[8 ]->[5  ]=0x0100;
+$chanmap->{fpga}->[8 ]->[4  ]=0x0100;
+$chanmap->{fpga}->[8 ]->[3  ]=0x0100;
+$chanmap->{fpga}->[8 ]->[2  ]=0x0100;
+$chanmap->{fpga}->[8 ]->[1  ]=0x0100;
+$chanmap->{fpga}->[7 ]->[8  ]=0x0100;
+$chanmap->{fpga}->[7 ]->[7  ]=0x0100;
+$chanmap->{fpga}->[7 ]->[6  ]=0x0100;
+$chanmap->{fpga}->[7 ]->[5  ]=0x0100;
+$chanmap->{fpga}->[7 ]->[4  ]=0x0100;
+$chanmap->{fpga}->[7 ]->[3  ]=0x0100;
+$chanmap->{fpga}->[7 ]->[2  ]=0x0100;
+$chanmap->{fpga}->[7 ]->[1  ]=0x0100;
+$chanmap->{fpga}->[6 ]->[8  ]=0x0101;
+$chanmap->{fpga}->[6 ]->[7  ]=0x0101;
+$chanmap->{fpga}->[6 ]->[6  ]=0x0101;
+$chanmap->{fpga}->[6 ]->[5  ]=0x0101;
+$chanmap->{fpga}->[6 ]->[4  ]=0x0101;
+$chanmap->{fpga}->[6 ]->[3  ]=0x0101;
+$chanmap->{fpga}->[6 ]->[2  ]=0x0101;
+$chanmap->{fpga}->[6 ]->[1  ]=0x0101;
+$chanmap->{fpga}->[5 ]->[8  ]=0x0101;
+$chanmap->{fpga}->[5 ]->[7  ]=0x0101;
+$chanmap->{fpga}->[5 ]->[6  ]=0x0101;
+$chanmap->{fpga}->[5 ]->[5  ]=0x0101;
+$chanmap->{fpga}->[5 ]->[4  ]=0x0101;
+$chanmap->{fpga}->[5 ]->[3  ]=0x0101;
+$chanmap->{fpga}->[5 ]->[2  ]=0x0101;
+$chanmap->{fpga}->[5 ]->[1  ]=0x0101;
+$chanmap->{fpga}->[4 ]->[8  ]=0x0102;
+$chanmap->{fpga}->[4 ]->[7  ]=0x0102;
+$chanmap->{fpga}->[4 ]->[6  ]=0x0102;
+$chanmap->{fpga}->[4 ]->[5  ]=0x0102;
+$chanmap->{fpga}->[4 ]->[4  ]=0x0102;
+$chanmap->{fpga}->[4 ]->[3  ]=0x0102;
+$chanmap->{fpga}->[4 ]->[2  ]=0x0102;
+$chanmap->{fpga}->[4 ]->[1  ]=0x0102;
+$chanmap->{fpga}->[3 ]->[8  ]=0x0102;
+$chanmap->{fpga}->[3 ]->[7  ]=0x0102;
+$chanmap->{fpga}->[3 ]->[6  ]=0x0102;
+$chanmap->{fpga}->[3 ]->[5  ]=0x0102;
+$chanmap->{fpga}->[3 ]->[4  ]=0x0102;
+$chanmap->{fpga}->[3 ]->[3  ]=0x0102;
+$chanmap->{fpga}->[3 ]->[2  ]=0x0102;
+$chanmap->{fpga}->[3 ]->[1  ]=0x0102;
+$chanmap->{fpga}->[2 ]->[8  ]=0x0103;
+$chanmap->{fpga}->[2 ]->[7  ]=0x0103;
+$chanmap->{fpga}->[2 ]->[6  ]=0x0103;
+$chanmap->{fpga}->[2 ]->[5  ]=0x0103;
+$chanmap->{fpga}->[2 ]->[4  ]=0x0103;
+$chanmap->{fpga}->[2 ]->[3  ]=0x0103;
+$chanmap->{fpga}->[2 ]->[2  ]=0x0103;
+$chanmap->{fpga}->[2 ]->[1  ]=0x0103;
+$chanmap->{fpga}->[1 ]->[8  ]=0x0103;
+$chanmap->{fpga}->[1 ]->[7  ]=0x0103;
+$chanmap->{fpga}->[1 ]->[6  ]=0x0103;
+$chanmap->{fpga}->[1 ]->[5  ]=0x0103;
+$chanmap->{fpga}->[1 ]->[4  ]=0x0103;
+$chanmap->{fpga}->[1 ]->[3  ]=0x0103;
+$chanmap->{fpga}->[1 ]->[2  ]=0x0103;
+$chanmap->{fpga}->[1 ]->[1  ]=0x0103;
+
+
+
+
+
+
+
+
+
+$chanmap->{chan}->[32]->[ 32]= 1 ;
+$chanmap->{chan}->[32]->[ 31]= 3 ;
+$chanmap->{chan}->[32]->[ 30]= 9 ;
+$chanmap->{chan}->[32]->[ 29]= 11;
+$chanmap->{chan}->[32]->[ 28]= 21;
+$chanmap->{chan}->[32]->[ 27]= 19;
+$chanmap->{chan}->[32]->[ 26]= 31;
+$chanmap->{chan}->[32]->[ 25]= 29;
+$chanmap->{chan}->[31]->[ 32]= 5 ;
+$chanmap->{chan}->[31]->[ 31]= 7 ;
+$chanmap->{chan}->[31]->[ 30]= 13;
+$chanmap->{chan}->[31]->[ 29]= 15;
+$chanmap->{chan}->[31]->[ 28]= 23;
+$chanmap->{chan}->[31]->[ 27]= 17;
+$chanmap->{chan}->[31]->[ 26]= 27;
+$chanmap->{chan}->[31]->[ 25]= 25;
+$chanmap->{chan}->[30]->[ 32]= 27;
+$chanmap->{chan}->[30]->[ 31]= 31;
+$chanmap->{chan}->[30]->[ 30]= 17;
+$chanmap->{chan}->[30]->[ 29]= 19;
+$chanmap->{chan}->[30]->[ 28]= 15;
+$chanmap->{chan}->[30]->[ 27]= 11;
+$chanmap->{chan}->[30]->[ 26]= 7 ;
+$chanmap->{chan}->[30]->[ 25]= 3 ;
+$chanmap->{chan}->[29]->[ 32]= 29;
+$chanmap->{chan}->[29]->[ 31]= 25;
+$chanmap->{chan}->[29]->[ 30]= 21;
+$chanmap->{chan}->[29]->[ 29]= 23;
+$chanmap->{chan}->[29]->[ 28]= 13;
+$chanmap->{chan}->[29]->[ 27]= 9 ;
+$chanmap->{chan}->[29]->[ 26]= 1 ;
+$chanmap->{chan}->[29]->[ 25]= 5 ;
+$chanmap->{chan}->[28]->[ 32]= 7 ;
+$chanmap->{chan}->[28]->[ 31]= 5 ;
+$chanmap->{chan}->[28]->[ 30]= 15;
+$chanmap->{chan}->[28]->[ 29]= 13;
+$chanmap->{chan}->[28]->[ 28]= 17;
+$chanmap->{chan}->[28]->[ 27]= 21;
+$chanmap->{chan}->[28]->[ 26]= 25;
+$chanmap->{chan}->[28]->[ 25]= 29;
+$chanmap->{chan}->[27]->[ 32]= 1 ;
+$chanmap->{chan}->[27]->[ 31]= 3 ;
+$chanmap->{chan}->[27]->[ 30]= 9 ;
+$chanmap->{chan}->[27]->[ 29]= 11;
+$chanmap->{chan}->[27]->[ 28]= 19;
+$chanmap->{chan}->[27]->[ 27]= 23;
+$chanmap->{chan}->[27]->[ 26]= 27;
+$chanmap->{chan}->[27]->[ 25]= 31;
+$chanmap->{chan}->[26]->[ 32]= 27;
+$chanmap->{chan}->[26]->[ 31]= 25;
+$chanmap->{chan}->[26]->[ 30]= 17;
+$chanmap->{chan}->[26]->[ 29]= 19;
+$chanmap->{chan}->[26]->[ 28]= 9 ;
+$chanmap->{chan}->[26]->[ 27]= 13;
+$chanmap->{chan}->[26]->[ 26]= 7 ;
+$chanmap->{chan}->[26]->[ 25]= 5 ;
+$chanmap->{chan}->[25]->[ 32]= 29;
+$chanmap->{chan}->[25]->[ 31]= 31;
+$chanmap->{chan}->[25]->[ 30]= 21;
+$chanmap->{chan}->[25]->[ 29]= 23;
+$chanmap->{chan}->[25]->[ 28]= 15;
+$chanmap->{chan}->[25]->[ 27]= 11;
+$chanmap->{chan}->[25]->[ 26]= 3 ;
+$chanmap->{chan}->[25]->[ 25]= 1 ;
+$chanmap->{chan}->[32]->[ 24]= 1 ;
+$chanmap->{chan}->[32]->[ 23]= 3 ;
+$chanmap->{chan}->[32]->[ 22]= 9 ;
+$chanmap->{chan}->[32]->[ 21]= 11;
+$chanmap->{chan}->[32]->[ 20]= 21;
+$chanmap->{chan}->[32]->[ 19]= 19;
+$chanmap->{chan}->[32]->[ 18]= 31;
+$chanmap->{chan}->[32]->[ 17]= 29;
+$chanmap->{chan}->[31]->[ 24]= 5 ;
+$chanmap->{chan}->[31]->[ 23]= 7 ;
+$chanmap->{chan}->[31]->[ 22]= 13;
+$chanmap->{chan}->[31]->[ 21]= 15;
+$chanmap->{chan}->[31]->[ 20]= 23;
+$chanmap->{chan}->[31]->[ 19]= 17;
+$chanmap->{chan}->[31]->[ 18]= 27;
+$chanmap->{chan}->[31]->[ 17]= 25;
+$chanmap->{chan}->[30]->[ 24]= 27;
+$chanmap->{chan}->[30]->[ 23]= 31;
+$chanmap->{chan}->[30]->[ 22]= 17;
+$chanmap->{chan}->[30]->[ 21]= 19;
+$chanmap->{chan}->[30]->[ 20]= 15;
+$chanmap->{chan}->[30]->[ 19]= 11;
+$chanmap->{chan}->[30]->[ 18]= 7 ;
+$chanmap->{chan}->[30]->[ 17]= 3 ;
+$chanmap->{chan}->[29]->[ 24]= 29;
+$chanmap->{chan}->[29]->[ 23]= 25;
+$chanmap->{chan}->[29]->[ 22]= 21;
+$chanmap->{chan}->[29]->[ 21]= 23;
+$chanmap->{chan}->[29]->[ 20]= 13;
+$chanmap->{chan}->[29]->[ 19]= 9 ;
+$chanmap->{chan}->[29]->[ 18]= 1 ;
+$chanmap->{chan}->[29]->[ 17]= 5 ;
+$chanmap->{chan}->[28]->[ 24]= 7 ;
+$chanmap->{chan}->[28]->[ 23]= 5 ;
+$chanmap->{chan}->[28]->[ 22]= 15;
+$chanmap->{chan}->[28]->[ 21]= 13;
+$chanmap->{chan}->[28]->[ 20]= 17;
+$chanmap->{chan}->[28]->[ 19]= 21;
+$chanmap->{chan}->[28]->[ 18]= 25;
+$chanmap->{chan}->[28]->[ 17]= 29;
+$chanmap->{chan}->[27]->[ 24]= 1 ;
+$chanmap->{chan}->[27]->[ 23]= 3 ;
+$chanmap->{chan}->[27]->[ 22]= 9 ;
+$chanmap->{chan}->[27]->[ 21]= 11;
+$chanmap->{chan}->[27]->[ 20]= 19;
+$chanmap->{chan}->[27]->[ 19]= 23;
+$chanmap->{chan}->[27]->[ 18]= 27;
+$chanmap->{chan}->[27]->[ 17]= 31;
+$chanmap->{chan}->[26]->[ 24]= 27;
+$chanmap->{chan}->[26]->[ 23]= 25;
+$chanmap->{chan}->[26]->[ 22]= 17;
+$chanmap->{chan}->[26]->[ 21]= 19;
+$chanmap->{chan}->[26]->[ 20]= 9 ;
+$chanmap->{chan}->[26]->[ 19]= 13;
+$chanmap->{chan}->[26]->[ 18]= 7 ;
+$chanmap->{chan}->[26]->[ 17]= 5 ;
+$chanmap->{chan}->[25]->[ 24]= 29;
+$chanmap->{chan}->[25]->[ 23]= 31;
+$chanmap->{chan}->[25]->[ 22]= 21;
+$chanmap->{chan}->[25]->[ 21]= 23;
+$chanmap->{chan}->[25]->[ 20]= 15;
+$chanmap->{chan}->[25]->[ 19]= 11;
+$chanmap->{chan}->[25]->[ 18]= 3 ;
+$chanmap->{chan}->[25]->[ 17]= 1 ;
+$chanmap->{chan}->[32]->[ 16]= 1 ;
+$chanmap->{chan}->[32]->[ 15]= 3 ;
+$chanmap->{chan}->[32]->[ 14]= 9 ;
+$chanmap->{chan}->[32]->[ 13]= 11;
+$chanmap->{chan}->[32]->[ 12]= 21;
+$chanmap->{chan}->[32]->[ 11]= 19;
+$chanmap->{chan}->[32]->[ 10]= 31;
+$chanmap->{chan}->[32]->[ 9 ]= 29;
+$chanmap->{chan}->[31]->[ 16]= 5 ;
+$chanmap->{chan}->[31]->[ 15]= 7 ;
+$chanmap->{chan}->[31]->[ 14]= 13;
+$chanmap->{chan}->[31]->[ 13]= 15;
+$chanmap->{chan}->[31]->[ 12]= 23;
+$chanmap->{chan}->[31]->[ 11]= 17;
+$chanmap->{chan}->[31]->[ 10]= 27;
+$chanmap->{chan}->[31]->[ 9 ]= 25;
+$chanmap->{chan}->[30]->[ 16]= 27;
+$chanmap->{chan}->[30]->[ 15]= 31;
+$chanmap->{chan}->[30]->[ 14]= 17;
+$chanmap->{chan}->[30]->[ 13]= 19;
+$chanmap->{chan}->[30]->[ 12]= 15;
+$chanmap->{chan}->[30]->[ 11]= 11;
+$chanmap->{chan}->[30]->[ 10]= 7 ;
+$chanmap->{chan}->[30]->[ 9 ]= 3 ;
+$chanmap->{chan}->[29]->[ 16]= 29;
+$chanmap->{chan}->[29]->[ 15]= 25;
+$chanmap->{chan}->[29]->[ 14]= 21;
+$chanmap->{chan}->[29]->[ 13]= 23;
+$chanmap->{chan}->[29]->[ 12]= 13;
+$chanmap->{chan}->[29]->[ 11]= 9 ;
+$chanmap->{chan}->[29]->[ 10]= 1 ;
+$chanmap->{chan}->[29]->[ 9 ]= 5 ;
+$chanmap->{chan}->[28]->[ 16]= 7 ;
+$chanmap->{chan}->[28]->[ 15]= 5 ;
+$chanmap->{chan}->[28]->[ 14]= 15;
+$chanmap->{chan}->[28]->[ 13]= 13;
+$chanmap->{chan}->[28]->[ 12]= 17;
+$chanmap->{chan}->[28]->[ 11]= 21;
+$chanmap->{chan}->[28]->[ 10]= 25;
+$chanmap->{chan}->[28]->[ 9 ]= 29;
+$chanmap->{chan}->[27]->[ 16]= 1 ;
+$chanmap->{chan}->[27]->[ 15]= 3 ;
+$chanmap->{chan}->[27]->[ 14]= 9 ;
+$chanmap->{chan}->[27]->[ 13]= 11;
+$chanmap->{chan}->[27]->[ 12]= 19;
+$chanmap->{chan}->[27]->[ 11]= 23;
+$chanmap->{chan}->[27]->[ 10]= 27;
+$chanmap->{chan}->[27]->[ 9 ]= 31;
+$chanmap->{chan}->[26]->[ 16]= 27;
+$chanmap->{chan}->[26]->[ 15]= 25;
+$chanmap->{chan}->[26]->[ 14]= 17;
+$chanmap->{chan}->[26]->[ 13]= 19;
+$chanmap->{chan}->[26]->[ 12]= 9 ;
+$chanmap->{chan}->[26]->[ 11]= 13;
+$chanmap->{chan}->[26]->[ 10]= 7 ;
+$chanmap->{chan}->[26]->[ 9 ]= 5 ;
+$chanmap->{chan}->[25]->[ 16]= 29;
+$chanmap->{chan}->[25]->[ 15]= 31;
+$chanmap->{chan}->[25]->[ 14]= 21;
+$chanmap->{chan}->[25]->[ 13]= 23;
+$chanmap->{chan}->[25]->[ 12]= 15;
+$chanmap->{chan}->[25]->[ 11]= 11;
+$chanmap->{chan}->[25]->[ 10]= 3 ;
+$chanmap->{chan}->[25]->[ 9 ]= 1 ;
+$chanmap->{chan}->[32]->[ 8 ]= 1 ;
+$chanmap->{chan}->[32]->[ 7 ]= 3 ;
+$chanmap->{chan}->[32]->[ 6 ]= 9 ;
+$chanmap->{chan}->[32]->[ 5 ]= 11;
+$chanmap->{chan}->[32]->[ 4 ]= 21;
+$chanmap->{chan}->[32]->[ 3 ]= 19;
+$chanmap->{chan}->[32]->[ 2 ]= 31;
+$chanmap->{chan}->[32]->[ 1 ]= 29;
+$chanmap->{chan}->[31]->[ 8 ]= 5 ;
+$chanmap->{chan}->[31]->[ 7 ]= 7 ;
+$chanmap->{chan}->[31]->[ 6 ]= 13;
+$chanmap->{chan}->[31]->[ 5 ]= 15;
+$chanmap->{chan}->[31]->[ 4 ]= 23;
+$chanmap->{chan}->[31]->[ 3 ]= 17;
+$chanmap->{chan}->[31]->[ 2 ]= 27;
+$chanmap->{chan}->[31]->[ 1 ]= 25;
+$chanmap->{chan}->[30]->[ 8 ]= 27;
+$chanmap->{chan}->[30]->[ 7 ]= 31;
+$chanmap->{chan}->[30]->[ 6 ]= 17;
+$chanmap->{chan}->[30]->[ 5 ]= 19;
+$chanmap->{chan}->[30]->[ 4 ]= 15;
+$chanmap->{chan}->[30]->[ 3 ]= 11;
+$chanmap->{chan}->[30]->[ 2 ]= 7 ;
+$chanmap->{chan}->[30]->[ 1 ]= 3 ;
+$chanmap->{chan}->[29]->[ 8 ]= 29;
+$chanmap->{chan}->[29]->[ 7 ]= 25;
+$chanmap->{chan}->[29]->[ 6 ]= 21;
+$chanmap->{chan}->[29]->[ 5 ]= 23;
+$chanmap->{chan}->[29]->[ 4 ]= 13;
+$chanmap->{chan}->[29]->[ 3 ]= 9 ;
+$chanmap->{chan}->[29]->[ 2 ]= 1 ;
+$chanmap->{chan}->[29]->[ 1 ]= 5 ;
+$chanmap->{chan}->[28]->[ 8 ]= 7 ;
+$chanmap->{chan}->[28]->[ 7 ]= 5 ;
+$chanmap->{chan}->[28]->[ 6 ]= 15;
+$chanmap->{chan}->[28]->[ 5 ]= 13;
+$chanmap->{chan}->[28]->[ 4 ]= 17;
+$chanmap->{chan}->[28]->[ 3 ]= 21;
+$chanmap->{chan}->[28]->[ 2 ]= 25;
+$chanmap->{chan}->[28]->[ 1 ]= 29;
+$chanmap->{chan}->[27]->[ 8 ]= 1 ;
+$chanmap->{chan}->[27]->[ 7 ]= 3 ;
+$chanmap->{chan}->[27]->[ 6 ]= 9 ;
+$chanmap->{chan}->[27]->[ 5 ]= 11;
+$chanmap->{chan}->[27]->[ 4 ]= 19;
+$chanmap->{chan}->[27]->[ 3 ]= 23;
+$chanmap->{chan}->[27]->[ 2 ]= 27;
+$chanmap->{chan}->[27]->[ 1 ]= 31;
+$chanmap->{chan}->[26]->[ 8 ]= 27;
+$chanmap->{chan}->[26]->[ 7 ]= 25;
+$chanmap->{chan}->[26]->[ 6 ]= 17;
+$chanmap->{chan}->[26]->[ 5 ]= 19;
+$chanmap->{chan}->[26]->[ 4 ]= 9 ;
+$chanmap->{chan}->[26]->[ 3 ]= 13;
+$chanmap->{chan}->[26]->[ 2 ]= 7 ;
+$chanmap->{chan}->[26]->[ 1 ]= 5 ;
+$chanmap->{chan}->[25]->[ 8 ]= 29;
+$chanmap->{chan}->[25]->[ 7 ]= 31;
+$chanmap->{chan}->[25]->[ 6 ]= 21;
+$chanmap->{chan}->[25]->[ 5 ]= 23;
+$chanmap->{chan}->[25]->[ 4 ]= 15;
+$chanmap->{chan}->[25]->[ 3 ]= 11;
+$chanmap->{chan}->[25]->[ 2 ]= 3 ;
+$chanmap->{chan}->[25]->[ 1 ]= 1 ;
+$chanmap->{chan}->[24]->[ 32]= 1 ;
+$chanmap->{chan}->[24]->[ 31]= 3 ;
+$chanmap->{chan}->[24]->[ 30]= 9 ;
+$chanmap->{chan}->[24]->[ 29]= 11;
+$chanmap->{chan}->[24]->[ 28]= 21;
+$chanmap->{chan}->[24]->[ 27]= 19;
+$chanmap->{chan}->[24]->[ 26]= 31;
+$chanmap->{chan}->[24]->[ 25]= 29;
+$chanmap->{chan}->[23]->[ 32]= 5 ;
+$chanmap->{chan}->[23]->[ 31]= 7 ;
+$chanmap->{chan}->[23]->[ 30]= 13;
+$chanmap->{chan}->[23]->[ 29]= 15;
+$chanmap->{chan}->[23]->[ 28]= 23;
+$chanmap->{chan}->[23]->[ 27]= 17;
+$chanmap->{chan}->[23]->[ 26]= 27;
+$chanmap->{chan}->[23]->[ 25]= 25;
+$chanmap->{chan}->[22]->[ 32]= 27;
+$chanmap->{chan}->[22]->[ 31]= 31;
+$chanmap->{chan}->[22]->[ 30]= 17;
+$chanmap->{chan}->[22]->[ 29]= 19;
+$chanmap->{chan}->[22]->[ 28]= 15;
+$chanmap->{chan}->[22]->[ 27]= 11;
+$chanmap->{chan}->[22]->[ 26]= 7 ;
+$chanmap->{chan}->[22]->[ 25]= 3 ;
+$chanmap->{chan}->[21]->[ 32]= 29;
+$chanmap->{chan}->[21]->[ 31]= 25;
+$chanmap->{chan}->[21]->[ 30]= 21;
+$chanmap->{chan}->[21]->[ 29]= 23;
+$chanmap->{chan}->[21]->[ 28]= 13;
+$chanmap->{chan}->[21]->[ 27]= 9 ;
+$chanmap->{chan}->[21]->[ 26]= 1 ;
+$chanmap->{chan}->[21]->[ 25]= 5 ;
+$chanmap->{chan}->[20]->[ 32]= 7 ;
+$chanmap->{chan}->[20]->[ 31]= 5 ;
+$chanmap->{chan}->[20]->[ 30]= 15;
+$chanmap->{chan}->[20]->[ 29]= 13;
+$chanmap->{chan}->[20]->[ 28]= 17;
+$chanmap->{chan}->[20]->[ 27]= 21;
+$chanmap->{chan}->[20]->[ 26]= 25;
+$chanmap->{chan}->[20]->[ 25]= 29;
+$chanmap->{chan}->[19]->[ 32]= 1 ;
+$chanmap->{chan}->[19]->[ 31]= 3 ;
+$chanmap->{chan}->[19]->[ 30]= 9 ;
+$chanmap->{chan}->[19]->[ 29]= 11;
+$chanmap->{chan}->[19]->[ 28]= 19;
+$chanmap->{chan}->[19]->[ 27]= 23;
+$chanmap->{chan}->[19]->[ 26]= 27;
+$chanmap->{chan}->[19]->[ 25]= 31;
+$chanmap->{chan}->[18]->[ 32]= 27;
+$chanmap->{chan}->[18]->[ 31]= 25;
+$chanmap->{chan}->[18]->[ 30]= 17;
+$chanmap->{chan}->[18]->[ 29]= 19;
+$chanmap->{chan}->[18]->[ 28]= 9 ;
+$chanmap->{chan}->[18]->[ 27]= 13;
+$chanmap->{chan}->[18]->[ 26]= 7 ;
+$chanmap->{chan}->[18]->[ 25]= 5 ;
+$chanmap->{chan}->[17]->[ 32]= 29;
+$chanmap->{chan}->[17]->[ 31]= 31;
+$chanmap->{chan}->[17]->[ 30]= 21;
+$chanmap->{chan}->[17]->[ 29]= 23;
+$chanmap->{chan}->[17]->[ 28]= 15;
+$chanmap->{chan}->[17]->[ 27]= 11;
+$chanmap->{chan}->[17]->[ 26]= 3 ;
+$chanmap->{chan}->[17]->[ 25]= 1 ;
+$chanmap->{chan}->[24]->[ 24]= 1 ;
+$chanmap->{chan}->[24]->[ 23]= 3 ;
+$chanmap->{chan}->[24]->[ 22]= 9 ;
+$chanmap->{chan}->[24]->[ 21]= 11;
+$chanmap->{chan}->[24]->[ 20]= 21;
+$chanmap->{chan}->[24]->[ 19]= 19;
+$chanmap->{chan}->[24]->[ 18]= 31;
+$chanmap->{chan}->[24]->[ 17]= 29;
+$chanmap->{chan}->[23]->[ 24]= 5 ;
+$chanmap->{chan}->[23]->[ 23]= 7 ;
+$chanmap->{chan}->[23]->[ 22]= 13;
+$chanmap->{chan}->[23]->[ 21]= 15;
+$chanmap->{chan}->[23]->[ 20]= 23;
+$chanmap->{chan}->[23]->[ 19]= 17;
+$chanmap->{chan}->[23]->[ 18]= 27;
+$chanmap->{chan}->[23]->[ 17]= 25;
+$chanmap->{chan}->[22]->[ 24]= 27;
+$chanmap->{chan}->[22]->[ 23]= 31;
+$chanmap->{chan}->[22]->[ 22]= 17;
+$chanmap->{chan}->[22]->[ 21]= 19;
+$chanmap->{chan}->[22]->[ 20]= 15;
+$chanmap->{chan}->[22]->[ 19]= 11;
+$chanmap->{chan}->[22]->[ 18]= 7 ;
+$chanmap->{chan}->[22]->[ 17]= 3 ;
+$chanmap->{chan}->[21]->[ 24]= 29;
+$chanmap->{chan}->[21]->[ 23]= 25;
+$chanmap->{chan}->[21]->[ 22]= 21;
+$chanmap->{chan}->[21]->[ 21]= 23;
+$chanmap->{chan}->[21]->[ 20]= 13;
+$chanmap->{chan}->[21]->[ 19]= 9 ;
+$chanmap->{chan}->[21]->[ 18]= 1 ;
+$chanmap->{chan}->[21]->[ 17]= 5 ;
+$chanmap->{chan}->[20]->[ 24]= 7 ;
+$chanmap->{chan}->[20]->[ 23]= 5 ;
+$chanmap->{chan}->[20]->[ 22]= 15;
+$chanmap->{chan}->[20]->[ 21]= 13;
+$chanmap->{chan}->[20]->[ 20]= 17;
+$chanmap->{chan}->[20]->[ 19]= 21;
+$chanmap->{chan}->[20]->[ 18]= 25;
+$chanmap->{chan}->[20]->[ 17]= 29;
+$chanmap->{chan}->[19]->[ 24]= 1 ;
+$chanmap->{chan}->[19]->[ 23]= 3 ;
+$chanmap->{chan}->[19]->[ 22]= 9 ;
+$chanmap->{chan}->[19]->[ 21]= 11;
+$chanmap->{chan}->[19]->[ 20]= 19;
+$chanmap->{chan}->[19]->[ 19]= 23;
+$chanmap->{chan}->[19]->[ 18]= 27;
+$chanmap->{chan}->[19]->[ 17]= 31;
+$chanmap->{chan}->[18]->[ 24]= 27;
+$chanmap->{chan}->[18]->[ 23]= 25;
+$chanmap->{chan}->[18]->[ 22]= 17;
+$chanmap->{chan}->[18]->[ 21]= 19;
+$chanmap->{chan}->[18]->[ 20]= 9 ;
+$chanmap->{chan}->[18]->[ 19]= 13;
+$chanmap->{chan}->[18]->[ 18]= 7 ;
+$chanmap->{chan}->[18]->[ 17]= 5 ;
+$chanmap->{chan}->[17]->[ 24]= 29;
+$chanmap->{chan}->[17]->[ 23]= 31;
+$chanmap->{chan}->[17]->[ 22]= 21;
+$chanmap->{chan}->[17]->[ 21]= 23;
+$chanmap->{chan}->[17]->[ 20]= 15;
+$chanmap->{chan}->[17]->[ 19]= 11;
+$chanmap->{chan}->[17]->[ 18]= 3 ;
+$chanmap->{chan}->[17]->[ 17]= 1 ;
+$chanmap->{chan}->[24]->[ 16]= 1 ;
+$chanmap->{chan}->[24]->[ 15]= 3 ;
+$chanmap->{chan}->[24]->[ 14]= 9 ;
+$chanmap->{chan}->[24]->[ 13]= 11;
+$chanmap->{chan}->[24]->[ 12]= 21;
+$chanmap->{chan}->[24]->[ 11]= 19;
+$chanmap->{chan}->[24]->[ 10]= 31;
+$chanmap->{chan}->[24]->[ 9 ]= 29;
+$chanmap->{chan}->[23]->[ 16]= 5 ;
+$chanmap->{chan}->[23]->[ 15]= 7 ;
+$chanmap->{chan}->[23]->[ 14]= 13;
+$chanmap->{chan}->[23]->[ 13]= 15;
+$chanmap->{chan}->[23]->[ 12]= 23;
+$chanmap->{chan}->[23]->[ 11]= 17;
+$chanmap->{chan}->[23]->[ 10]= 27;
+$chanmap->{chan}->[23]->[ 9 ]= 25;
+$chanmap->{chan}->[22]->[ 16]= 27;
+$chanmap->{chan}->[22]->[ 15]= 31;
+$chanmap->{chan}->[22]->[ 14]= 17;
+$chanmap->{chan}->[22]->[ 13]= 19;
+$chanmap->{chan}->[22]->[ 12]= 15;
+$chanmap->{chan}->[22]->[ 11]= 11;
+$chanmap->{chan}->[22]->[ 10]= 7 ;
+$chanmap->{chan}->[22]->[ 9 ]= 3 ;
+$chanmap->{chan}->[21]->[ 16]= 29;
+$chanmap->{chan}->[21]->[ 15]= 25;
+$chanmap->{chan}->[21]->[ 14]= 21;
+$chanmap->{chan}->[21]->[ 13]= 23;
+$chanmap->{chan}->[21]->[ 12]= 13;
+$chanmap->{chan}->[21]->[ 11]= 9 ;
+$chanmap->{chan}->[21]->[ 10]= 1 ;
+$chanmap->{chan}->[21]->[ 9 ]= 5 ;
+$chanmap->{chan}->[20]->[ 16]= 7 ;
+$chanmap->{chan}->[20]->[ 15]= 5 ;
+$chanmap->{chan}->[20]->[ 14]= 15;
+$chanmap->{chan}->[20]->[ 13]= 13;
+$chanmap->{chan}->[20]->[ 12]= 17;
+$chanmap->{chan}->[20]->[ 11]= 21;
+$chanmap->{chan}->[20]->[ 10]= 25;
+$chanmap->{chan}->[20]->[ 9 ]= 29;
+$chanmap->{chan}->[19]->[ 16]= 1 ;
+$chanmap->{chan}->[19]->[ 15]= 3 ;
+$chanmap->{chan}->[19]->[ 14]= 9 ;
+$chanmap->{chan}->[19]->[ 13]= 11;
+$chanmap->{chan}->[19]->[ 12]= 19;
+$chanmap->{chan}->[19]->[ 11]= 23;
+$chanmap->{chan}->[19]->[ 10]= 27;
+$chanmap->{chan}->[19]->[ 9 ]= 31;
+$chanmap->{chan}->[18]->[ 16]= 27;
+$chanmap->{chan}->[18]->[ 15]= 25;
+$chanmap->{chan}->[18]->[ 14]= 17;
+$chanmap->{chan}->[18]->[ 13]= 19;
+$chanmap->{chan}->[18]->[ 12]= 9 ;
+$chanmap->{chan}->[18]->[ 11]= 13;
+$chanmap->{chan}->[18]->[ 10]= 7 ;
+$chanmap->{chan}->[18]->[ 9 ]= 5 ;
+$chanmap->{chan}->[17]->[ 16]= 29;
+$chanmap->{chan}->[17]->[ 15]= 31;
+$chanmap->{chan}->[17]->[ 14]= 21;
+$chanmap->{chan}->[17]->[ 13]= 23;
+$chanmap->{chan}->[17]->[ 12]= 15;
+$chanmap->{chan}->[17]->[ 11]= 11;
+$chanmap->{chan}->[17]->[ 10]= 3 ;
+$chanmap->{chan}->[17]->[ 9 ]= 1 ;
+$chanmap->{chan}->[24]->[ 8 ]= 1 ;
+$chanmap->{chan}->[24]->[ 7 ]= 3 ;
+$chanmap->{chan}->[24]->[ 6 ]= 9 ;
+$chanmap->{chan}->[24]->[ 5 ]= 11;
+$chanmap->{chan}->[24]->[ 4 ]= 21;
+$chanmap->{chan}->[24]->[ 3 ]= 19;
+$chanmap->{chan}->[24]->[ 2 ]= 31;
+$chanmap->{chan}->[24]->[ 1 ]= 29;
+$chanmap->{chan}->[23]->[ 8 ]= 5 ;
+$chanmap->{chan}->[23]->[ 7 ]= 7 ;
+$chanmap->{chan}->[23]->[ 6 ]= 13;
+$chanmap->{chan}->[23]->[ 5 ]= 15;
+$chanmap->{chan}->[23]->[ 4 ]= 23;
+$chanmap->{chan}->[23]->[ 3 ]= 17;
+$chanmap->{chan}->[23]->[ 2 ]= 27;
+$chanmap->{chan}->[23]->[ 1 ]= 25;
+$chanmap->{chan}->[22]->[ 8 ]= 27;
+$chanmap->{chan}->[22]->[ 7 ]= 31;
+$chanmap->{chan}->[22]->[ 6 ]= 17;
+$chanmap->{chan}->[22]->[ 5 ]= 19;
+$chanmap->{chan}->[22]->[ 4 ]= 15;
+$chanmap->{chan}->[22]->[ 3 ]= 11;
+$chanmap->{chan}->[22]->[ 2 ]= 7 ;
+$chanmap->{chan}->[22]->[ 1 ]= 3 ;
+$chanmap->{chan}->[21]->[ 8 ]= 29;
+$chanmap->{chan}->[21]->[ 7 ]= 25;
+$chanmap->{chan}->[21]->[ 6 ]= 21;
+$chanmap->{chan}->[21]->[ 5 ]= 23;
+$chanmap->{chan}->[21]->[ 4 ]= 13;
+$chanmap->{chan}->[21]->[ 3 ]= 9 ;
+$chanmap->{chan}->[21]->[ 2 ]= 1 ;
+$chanmap->{chan}->[21]->[ 1 ]= 5 ;
+$chanmap->{chan}->[20]->[ 8 ]= 7 ;
+$chanmap->{chan}->[20]->[ 7 ]= 5 ;
+$chanmap->{chan}->[20]->[ 6 ]= 15;
+$chanmap->{chan}->[20]->[ 5 ]= 13;
+$chanmap->{chan}->[20]->[ 4 ]= 17;
+$chanmap->{chan}->[20]->[ 3 ]= 21;
+$chanmap->{chan}->[20]->[ 2 ]= 25;
+$chanmap->{chan}->[20]->[ 1 ]= 29;
+$chanmap->{chan}->[19]->[ 8 ]= 1 ;
+$chanmap->{chan}->[19]->[ 7 ]= 3 ;
+$chanmap->{chan}->[19]->[ 6 ]= 9 ;
+$chanmap->{chan}->[19]->[ 5 ]= 11;
+$chanmap->{chan}->[19]->[ 4 ]= 19;
+$chanmap->{chan}->[19]->[ 3 ]= 23;
+$chanmap->{chan}->[19]->[ 2 ]= 27;
+$chanmap->{chan}->[19]->[ 1 ]= 31;
+$chanmap->{chan}->[18]->[ 8 ]= 27;
+$chanmap->{chan}->[18]->[ 7 ]= 25;
+$chanmap->{chan}->[18]->[ 6 ]= 17;
+$chanmap->{chan}->[18]->[ 5 ]= 19;
+$chanmap->{chan}->[18]->[ 4 ]= 9 ;
+$chanmap->{chan}->[18]->[ 3 ]= 13;
+$chanmap->{chan}->[18]->[ 2 ]= 7 ;
+$chanmap->{chan}->[18]->[ 1 ]= 5 ;
+$chanmap->{chan}->[17]->[ 8 ]= 29;
+$chanmap->{chan}->[17]->[ 7 ]= 31;
+$chanmap->{chan}->[17]->[ 6 ]= 21;
+$chanmap->{chan}->[17]->[ 5 ]= 23;
+$chanmap->{chan}->[17]->[ 4 ]= 15;
+$chanmap->{chan}->[17]->[ 3 ]= 11;
+$chanmap->{chan}->[17]->[ 2 ]= 3 ;
+$chanmap->{chan}->[17]->[ 1 ]= 1 ;
+$chanmap->{chan}->[16]->[ 32]= 1 ;
+$chanmap->{chan}->[16]->[ 31]= 3 ;
+$chanmap->{chan}->[16]->[ 30]= 9 ;
+$chanmap->{chan}->[16]->[ 29]= 11;
+$chanmap->{chan}->[16]->[ 28]= 21;
+$chanmap->{chan}->[16]->[ 27]= 19;
+$chanmap->{chan}->[16]->[ 26]= 31;
+$chanmap->{chan}->[16]->[ 25]= 29;
+$chanmap->{chan}->[15]->[ 32]= 5 ;
+$chanmap->{chan}->[15]->[ 31]= 7 ;
+$chanmap->{chan}->[15]->[ 30]= 13;
+$chanmap->{chan}->[15]->[ 29]= 15;
+$chanmap->{chan}->[15]->[ 28]= 23;
+$chanmap->{chan}->[15]->[ 27]= 17;
+$chanmap->{chan}->[15]->[ 26]= 27;
+$chanmap->{chan}->[15]->[ 25]= 25;
+$chanmap->{chan}->[14]->[ 32]= 27;
+$chanmap->{chan}->[14]->[ 31]= 31;
+$chanmap->{chan}->[14]->[ 30]= 17;
+$chanmap->{chan}->[14]->[ 29]= 19;
+$chanmap->{chan}->[14]->[ 28]= 15;
+$chanmap->{chan}->[14]->[ 27]= 11;
+$chanmap->{chan}->[14]->[ 26]= 7 ;
+$chanmap->{chan}->[14]->[ 25]= 3 ;
+$chanmap->{chan}->[13]->[ 32]= 29;
+$chanmap->{chan}->[13]->[ 31]= 25;
+$chanmap->{chan}->[13]->[ 30]= 21;
+$chanmap->{chan}->[13]->[ 29]= 23;
+$chanmap->{chan}->[13]->[ 28]= 13;
+$chanmap->{chan}->[13]->[ 27]= 9 ;
+$chanmap->{chan}->[13]->[ 26]= 1 ;
+$chanmap->{chan}->[13]->[ 25]= 5 ;
+$chanmap->{chan}->[12]->[ 32]= 7 ;
+$chanmap->{chan}->[12]->[ 31]= 5 ;
+$chanmap->{chan}->[12]->[ 30]= 15;
+$chanmap->{chan}->[12]->[ 29]= 13;
+$chanmap->{chan}->[12]->[ 28]= 17;
+$chanmap->{chan}->[12]->[ 27]= 21;
+$chanmap->{chan}->[12]->[ 26]= 25;
+$chanmap->{chan}->[12]->[ 25]= 29;
+$chanmap->{chan}->[11]->[ 32]= 1 ;
+$chanmap->{chan}->[11]->[ 31]= 3 ;
+$chanmap->{chan}->[11]->[ 30]= 9 ;
+$chanmap->{chan}->[11]->[ 29]= 11;
+$chanmap->{chan}->[11]->[ 28]= 19;
+$chanmap->{chan}->[11]->[ 27]= 23;
+$chanmap->{chan}->[11]->[ 26]= 27;
+$chanmap->{chan}->[11]->[ 25]= 31;
+$chanmap->{chan}->[10]->[ 32]= 27;
+$chanmap->{chan}->[10]->[ 31]= 25;
+$chanmap->{chan}->[10]->[ 30]= 17;
+$chanmap->{chan}->[10]->[ 29]= 19;
+$chanmap->{chan}->[10]->[ 28]= 9 ;
+$chanmap->{chan}->[10]->[ 27]= 13;
+$chanmap->{chan}->[10]->[ 26]= 7 ;
+$chanmap->{chan}->[10]->[ 25]= 5 ;
+$chanmap->{chan}->[9 ]->[32 ]= 29;
+$chanmap->{chan}->[9 ]->[31 ]= 31;
+$chanmap->{chan}->[9 ]->[30 ]= 21;
+$chanmap->{chan}->[9 ]->[29 ]= 23;
+$chanmap->{chan}->[9 ]->[28 ]= 15;
+$chanmap->{chan}->[9 ]->[27 ]= 11;
+$chanmap->{chan}->[9 ]->[26 ]= 3 ;
+$chanmap->{chan}->[9 ]->[25 ]= 1 ;
+$chanmap->{chan}->[16]->[ 24]= 1 ;
+$chanmap->{chan}->[16]->[ 23]= 3 ;
+$chanmap->{chan}->[16]->[ 22]= 9 ;
+$chanmap->{chan}->[16]->[ 21]= 11;
+$chanmap->{chan}->[16]->[ 20]= 21;
+$chanmap->{chan}->[16]->[ 19]= 19;
+$chanmap->{chan}->[16]->[ 18]= 31;
+$chanmap->{chan}->[16]->[ 17]= 29;
+$chanmap->{chan}->[15]->[ 24]= 5 ;
+$chanmap->{chan}->[15]->[ 23]= 7 ;
+$chanmap->{chan}->[15]->[ 22]= 13;
+$chanmap->{chan}->[15]->[ 21]= 15;
+$chanmap->{chan}->[15]->[ 20]= 23;
+$chanmap->{chan}->[15]->[ 19]= 17;
+$chanmap->{chan}->[15]->[ 18]= 27;
+$chanmap->{chan}->[15]->[ 17]= 25;
+$chanmap->{chan}->[14]->[ 24]= 27;
+$chanmap->{chan}->[14]->[ 23]= 31;
+$chanmap->{chan}->[14]->[ 22]= 17;
+$chanmap->{chan}->[14]->[ 21]= 19;
+$chanmap->{chan}->[14]->[ 20]= 15;
+$chanmap->{chan}->[14]->[ 19]= 11;
+$chanmap->{chan}->[14]->[ 18]= 7 ;
+$chanmap->{chan}->[14]->[ 17]= 3 ;
+$chanmap->{chan}->[13]->[ 24]= 29;
+$chanmap->{chan}->[13]->[ 23]= 25;
+$chanmap->{chan}->[13]->[ 22]= 21;
+$chanmap->{chan}->[13]->[ 21]= 23;
+$chanmap->{chan}->[13]->[ 20]= 13;
+$chanmap->{chan}->[13]->[ 19]= 9 ;
+$chanmap->{chan}->[13]->[ 18]= 1 ;
+$chanmap->{chan}->[13]->[ 17]= 5 ;
+$chanmap->{chan}->[12]->[ 24]= 7 ;
+$chanmap->{chan}->[12]->[ 23]= 5 ;
+$chanmap->{chan}->[12]->[ 22]= 15;
+$chanmap->{chan}->[12]->[ 21]= 13;
+$chanmap->{chan}->[12]->[ 20]= 17;
+$chanmap->{chan}->[12]->[ 19]= 21;
+$chanmap->{chan}->[12]->[ 18]= 25;
+$chanmap->{chan}->[12]->[ 17]= 29;
+$chanmap->{chan}->[11]->[ 24]= 1 ;
+$chanmap->{chan}->[11]->[ 23]= 3 ;
+$chanmap->{chan}->[11]->[ 22]= 9 ;
+$chanmap->{chan}->[11]->[ 21]= 11;
+$chanmap->{chan}->[11]->[ 20]= 19;
+$chanmap->{chan}->[11]->[ 19]= 23;
+$chanmap->{chan}->[11]->[ 18]= 27;
+$chanmap->{chan}->[11]->[ 17]= 31;
+$chanmap->{chan}->[10]->[ 24]= 27;
+$chanmap->{chan}->[10]->[ 23]= 25;
+$chanmap->{chan}->[10]->[ 22]= 17;
+$chanmap->{chan}->[10]->[ 21]= 19;
+$chanmap->{chan}->[10]->[ 20]= 9 ;
+$chanmap->{chan}->[10]->[ 19]= 13;
+$chanmap->{chan}->[10]->[ 18]= 7 ;
+$chanmap->{chan}->[10]->[ 17]= 5 ;
+$chanmap->{chan}->[9 ]->[24 ]= 29;
+$chanmap->{chan}->[9 ]->[23 ]= 31;
+$chanmap->{chan}->[9 ]->[22 ]= 21;
+$chanmap->{chan}->[9 ]->[21 ]= 23;
+$chanmap->{chan}->[9 ]->[20 ]= 15;
+$chanmap->{chan}->[9 ]->[19 ]= 11;
+$chanmap->{chan}->[9 ]->[18 ]= 3 ;
+$chanmap->{chan}->[9 ]->[17 ]= 1 ;
+$chanmap->{chan}->[16]->[ 16]= 1 ;
+$chanmap->{chan}->[16]->[ 15]= 3 ;
+$chanmap->{chan}->[16]->[ 14]= 9 ;
+$chanmap->{chan}->[16]->[ 13]= 11;
+$chanmap->{chan}->[16]->[ 12]= 21;
+$chanmap->{chan}->[16]->[ 11]= 19;
+$chanmap->{chan}->[16]->[ 10]= 31;
+$chanmap->{chan}->[16]->[ 9 ]= 29;
+$chanmap->{chan}->[15]->[ 16]= 5 ;
+$chanmap->{chan}->[15]->[ 15]= 7 ;
+$chanmap->{chan}->[15]->[ 14]= 13;
+$chanmap->{chan}->[15]->[ 13]= 15;
+$chanmap->{chan}->[15]->[ 12]= 23;
+$chanmap->{chan}->[15]->[ 11]= 17;
+$chanmap->{chan}->[15]->[ 10]= 27;
+$chanmap->{chan}->[15]->[ 9 ]= 25;
+$chanmap->{chan}->[14]->[ 16]= 27;
+$chanmap->{chan}->[14]->[ 15]= 31;
+$chanmap->{chan}->[14]->[ 14]= 17;
+$chanmap->{chan}->[14]->[ 13]= 19;
+$chanmap->{chan}->[14]->[ 12]= 15;
+$chanmap->{chan}->[14]->[ 11]= 11;
+$chanmap->{chan}->[14]->[ 10]= 7 ;
+$chanmap->{chan}->[14]->[ 9 ]= 3 ;
+$chanmap->{chan}->[13]->[ 16]= 29;
+$chanmap->{chan}->[13]->[ 15]= 25;
+$chanmap->{chan}->[13]->[ 14]= 21;
+$chanmap->{chan}->[13]->[ 13]= 23;
+$chanmap->{chan}->[13]->[ 12]= 13;
+$chanmap->{chan}->[13]->[ 11]= 9 ;
+$chanmap->{chan}->[13]->[ 10]= 1 ;
+$chanmap->{chan}->[13]->[ 9 ]= 5 ;
+$chanmap->{chan}->[12]->[ 16]= 7 ;
+$chanmap->{chan}->[12]->[ 15]= 5 ;
+$chanmap->{chan}->[12]->[ 14]= 15;
+$chanmap->{chan}->[12]->[ 13]= 13;
+$chanmap->{chan}->[12]->[ 12]= 17;
+$chanmap->{chan}->[12]->[ 11]= 21;
+$chanmap->{chan}->[12]->[ 10]= 25;
+$chanmap->{chan}->[12]->[ 9 ]= 29;
+$chanmap->{chan}->[11]->[ 16]= 1 ;
+$chanmap->{chan}->[11]->[ 15]= 3 ;
+$chanmap->{chan}->[11]->[ 14]= 9 ;
+$chanmap->{chan}->[11]->[ 13]= 11;
+$chanmap->{chan}->[11]->[ 12]= 19;
+$chanmap->{chan}->[11]->[ 11]= 23;
+$chanmap->{chan}->[11]->[ 10]= 27;
+$chanmap->{chan}->[11]->[ 9 ]= 31;
+$chanmap->{chan}->[10]->[ 16]= 27;
+$chanmap->{chan}->[10]->[ 15]= 25;
+$chanmap->{chan}->[10]->[ 14]= 17;
+$chanmap->{chan}->[10]->[ 13]= 19;
+$chanmap->{chan}->[10]->[ 12]= 9 ;
+$chanmap->{chan}->[10]->[ 11]= 13;
+$chanmap->{chan}->[10]->[ 10]= 7 ;
+$chanmap->{chan}->[10]->[ 9 ]= 5 ;
+$chanmap->{chan}->[9 ]->[16 ]= 29;
+$chanmap->{chan}->[9 ]->[15 ]= 31;
+$chanmap->{chan}->[9 ]->[14 ]= 21;
+$chanmap->{chan}->[9 ]->[13 ]= 23;
+$chanmap->{chan}->[9 ]->[12 ]= 15;
+$chanmap->{chan}->[9 ]->[11 ]= 11;
+$chanmap->{chan}->[9 ]->[10 ]= 3 ;
+$chanmap->{chan}->[9 ]->[9  ]= 1 ;
+$chanmap->{chan}->[16]->[ 8 ]= 1 ;
+$chanmap->{chan}->[16]->[ 7 ]= 3 ;
+$chanmap->{chan}->[16]->[ 6 ]= 9 ;
+$chanmap->{chan}->[16]->[ 5 ]= 11;
+$chanmap->{chan}->[16]->[ 4 ]= 21;
+$chanmap->{chan}->[16]->[ 3 ]= 19;
+$chanmap->{chan}->[16]->[ 2 ]= 31;
+$chanmap->{chan}->[16]->[ 1 ]= 29;
+$chanmap->{chan}->[15]->[ 8 ]= 5 ;
+$chanmap->{chan}->[15]->[ 7 ]= 7 ;
+$chanmap->{chan}->[15]->[ 6 ]= 13;
+$chanmap->{chan}->[15]->[ 5 ]= 15;
+$chanmap->{chan}->[15]->[ 4 ]= 23;
+$chanmap->{chan}->[15]->[ 3 ]= 17;
+$chanmap->{chan}->[15]->[ 2 ]= 27;
+$chanmap->{chan}->[15]->[ 1 ]= 25;
+$chanmap->{chan}->[14]->[ 8 ]= 27;
+$chanmap->{chan}->[14]->[ 7 ]= 31;
+$chanmap->{chan}->[14]->[ 6 ]= 17;
+$chanmap->{chan}->[14]->[ 5 ]= 19;
+$chanmap->{chan}->[14]->[ 4 ]= 15;
+$chanmap->{chan}->[14]->[ 3 ]= 11;
+$chanmap->{chan}->[14]->[ 2 ]= 7 ;
+$chanmap->{chan}->[14]->[ 1 ]= 3 ;
+$chanmap->{chan}->[13]->[ 8 ]= 29;
+$chanmap->{chan}->[13]->[ 7 ]= 25;
+$chanmap->{chan}->[13]->[ 6 ]= 21;
+$chanmap->{chan}->[13]->[ 5 ]= 23;
+$chanmap->{chan}->[13]->[ 4 ]= 13;
+$chanmap->{chan}->[13]->[ 3 ]= 9 ;
+$chanmap->{chan}->[13]->[ 2 ]= 1 ;
+$chanmap->{chan}->[13]->[ 1 ]= 5 ;
+$chanmap->{chan}->[12]->[ 8 ]= 7 ;
+$chanmap->{chan}->[12]->[ 7 ]= 5 ;
+$chanmap->{chan}->[12]->[ 6 ]= 15;
+$chanmap->{chan}->[12]->[ 5 ]= 13;
+$chanmap->{chan}->[12]->[ 4 ]= 17;
+$chanmap->{chan}->[12]->[ 3 ]= 21;
+$chanmap->{chan}->[12]->[ 2 ]= 25;
+$chanmap->{chan}->[12]->[ 1 ]= 29;
+$chanmap->{chan}->[11]->[ 8 ]= 1 ;
+$chanmap->{chan}->[11]->[ 7 ]= 3 ;
+$chanmap->{chan}->[11]->[ 6 ]= 9 ;
+$chanmap->{chan}->[11]->[ 5 ]= 11;
+$chanmap->{chan}->[11]->[ 4 ]= 19;
+$chanmap->{chan}->[11]->[ 3 ]= 23;
+$chanmap->{chan}->[11]->[ 2 ]= 27;
+$chanmap->{chan}->[11]->[ 1 ]= 31;
+$chanmap->{chan}->[10]->[ 8 ]= 27;
+$chanmap->{chan}->[10]->[ 7 ]= 25;
+$chanmap->{chan}->[10]->[ 6 ]= 17;
+$chanmap->{chan}->[10]->[ 5 ]= 19;
+$chanmap->{chan}->[10]->[ 4 ]= 9 ;
+$chanmap->{chan}->[10]->[ 3 ]= 13;
+$chanmap->{chan}->[10]->[ 2 ]= 7 ;
+$chanmap->{chan}->[10]->[ 1 ]= 5 ;
+$chanmap->{chan}->[9 ]->[8  ]= 29;
+$chanmap->{chan}->[9 ]->[7  ]= 31;
+$chanmap->{chan}->[9 ]->[6  ]= 21;
+$chanmap->{chan}->[9 ]->[5  ]= 23;
+$chanmap->{chan}->[9 ]->[4  ]= 15;
+$chanmap->{chan}->[9 ]->[3  ]= 11;
+$chanmap->{chan}->[9 ]->[2  ]= 3 ;
+$chanmap->{chan}->[9 ]->[1  ]= 1 ;
+$chanmap->{chan}->[8 ]->[32 ]= 1 ;
+$chanmap->{chan}->[8 ]->[31 ]= 3 ;
+$chanmap->{chan}->[8 ]->[30 ]= 9 ;
+$chanmap->{chan}->[8 ]->[29 ]= 11;
+$chanmap->{chan}->[8 ]->[28 ]= 21;
+$chanmap->{chan}->[8 ]->[27 ]= 19;
+$chanmap->{chan}->[8 ]->[26 ]= 31;
+$chanmap->{chan}->[8 ]->[25 ]= 29;
+$chanmap->{chan}->[7 ]->[32 ]= 5 ;
+$chanmap->{chan}->[7 ]->[31 ]= 7 ;
+$chanmap->{chan}->[7 ]->[30 ]= 13;
+$chanmap->{chan}->[7 ]->[29 ]= 15;
+$chanmap->{chan}->[7 ]->[28 ]= 23;
+$chanmap->{chan}->[7 ]->[27 ]= 17;
+$chanmap->{chan}->[7 ]->[26 ]= 27;
+$chanmap->{chan}->[7 ]->[25 ]= 25;
+$chanmap->{chan}->[6 ]->[32 ]= 27;
+$chanmap->{chan}->[6 ]->[31 ]= 31;
+$chanmap->{chan}->[6 ]->[30 ]= 17;
+$chanmap->{chan}->[6 ]->[29 ]= 19;
+$chanmap->{chan}->[6 ]->[28 ]= 15;
+$chanmap->{chan}->[6 ]->[27 ]= 11;
+$chanmap->{chan}->[6 ]->[26 ]= 7 ;
+$chanmap->{chan}->[6 ]->[25 ]= 3 ;
+$chanmap->{chan}->[5 ]->[32 ]= 29;
+$chanmap->{chan}->[5 ]->[31 ]= 25;
+$chanmap->{chan}->[5 ]->[30 ]= 21;
+$chanmap->{chan}->[5 ]->[29 ]= 23;
+$chanmap->{chan}->[5 ]->[28 ]= 13;
+$chanmap->{chan}->[5 ]->[27 ]= 9 ;
+$chanmap->{chan}->[5 ]->[26 ]= 1 ;
+$chanmap->{chan}->[5 ]->[25 ]= 5 ;
+$chanmap->{chan}->[4 ]->[32 ]= 7 ;
+$chanmap->{chan}->[4 ]->[31 ]= 5 ;
+$chanmap->{chan}->[4 ]->[30 ]= 15;
+$chanmap->{chan}->[4 ]->[29 ]= 13;
+$chanmap->{chan}->[4 ]->[28 ]= 17;
+$chanmap->{chan}->[4 ]->[27 ]= 21;
+$chanmap->{chan}->[4 ]->[26 ]= 25;
+$chanmap->{chan}->[4 ]->[25 ]= 29;
+$chanmap->{chan}->[3 ]->[32 ]= 1 ;
+$chanmap->{chan}->[3 ]->[31 ]= 3 ;
+$chanmap->{chan}->[3 ]->[30 ]= 9 ;
+$chanmap->{chan}->[3 ]->[29 ]= 11;
+$chanmap->{chan}->[3 ]->[28 ]= 19;
+$chanmap->{chan}->[3 ]->[27 ]= 23;
+$chanmap->{chan}->[3 ]->[26 ]= 27;
+$chanmap->{chan}->[3 ]->[25 ]= 31;
+$chanmap->{chan}->[2 ]->[32 ]= 27;
+$chanmap->{chan}->[2 ]->[31 ]= 25;
+$chanmap->{chan}->[2 ]->[30 ]= 17;
+$chanmap->{chan}->[2 ]->[29 ]= 19;
+$chanmap->{chan}->[2 ]->[28 ]= 9 ;
+$chanmap->{chan}->[2 ]->[27 ]= 13;
+$chanmap->{chan}->[2 ]->[26 ]= 7 ;
+$chanmap->{chan}->[2 ]->[25 ]= 5 ;
+$chanmap->{chan}->[1 ]->[32 ]= 29;
+$chanmap->{chan}->[1 ]->[31 ]= 31;
+$chanmap->{chan}->[1 ]->[30 ]= 21;
+$chanmap->{chan}->[1 ]->[29 ]= 23;
+$chanmap->{chan}->[1 ]->[28 ]= 15;
+$chanmap->{chan}->[1 ]->[27 ]= 11;
+$chanmap->{chan}->[1 ]->[26 ]= 3 ;
+$chanmap->{chan}->[1 ]->[25 ]= 1 ;
+$chanmap->{chan}->[8 ]->[24 ]= 1 ;
+$chanmap->{chan}->[8 ]->[23 ]= 3 ;
+$chanmap->{chan}->[8 ]->[22 ]= 9 ;
+$chanmap->{chan}->[8 ]->[21 ]= 11;
+$chanmap->{chan}->[8 ]->[20 ]= 21;
+$chanmap->{chan}->[8 ]->[19 ]= 19;
+$chanmap->{chan}->[8 ]->[18 ]= 31;
+$chanmap->{chan}->[8 ]->[17 ]= 29;
+$chanmap->{chan}->[7 ]->[24 ]= 5 ;
+$chanmap->{chan}->[7 ]->[23 ]= 7 ;
+$chanmap->{chan}->[7 ]->[22 ]= 13;
+$chanmap->{chan}->[7 ]->[21 ]= 15;
+$chanmap->{chan}->[7 ]->[20 ]= 23;
+$chanmap->{chan}->[7 ]->[19 ]= 17;
+$chanmap->{chan}->[7 ]->[18 ]= 27;
+$chanmap->{chan}->[7 ]->[17 ]= 25;
+$chanmap->{chan}->[6 ]->[24 ]= 27;
+$chanmap->{chan}->[6 ]->[23 ]= 31;
+$chanmap->{chan}->[6 ]->[22 ]= 17;
+$chanmap->{chan}->[6 ]->[21 ]= 19;
+$chanmap->{chan}->[6 ]->[20 ]= 15;
+$chanmap->{chan}->[6 ]->[19 ]= 11;
+$chanmap->{chan}->[6 ]->[18 ]= 7 ;
+$chanmap->{chan}->[6 ]->[17 ]= 3 ;
+$chanmap->{chan}->[5 ]->[24 ]= 29;
+$chanmap->{chan}->[5 ]->[23 ]= 25;
+$chanmap->{chan}->[5 ]->[22 ]= 21;
+$chanmap->{chan}->[5 ]->[21 ]= 23;
+$chanmap->{chan}->[5 ]->[20 ]= 13;
+$chanmap->{chan}->[5 ]->[19 ]= 9 ;
+$chanmap->{chan}->[5 ]->[18 ]= 1 ;
+$chanmap->{chan}->[5 ]->[17 ]= 5 ;
+$chanmap->{chan}->[4 ]->[24 ]= 7 ;
+$chanmap->{chan}->[4 ]->[23 ]= 5 ;
+$chanmap->{chan}->[4 ]->[22 ]= 15;
+$chanmap->{chan}->[4 ]->[21 ]= 13;
+$chanmap->{chan}->[4 ]->[20 ]= 17;
+$chanmap->{chan}->[4 ]->[19 ]= 21;
+$chanmap->{chan}->[4 ]->[18 ]= 25;
+$chanmap->{chan}->[4 ]->[17 ]= 29;
+$chanmap->{chan}->[3 ]->[24 ]= 1 ;
+$chanmap->{chan}->[3 ]->[23 ]= 3 ;
+$chanmap->{chan}->[3 ]->[22 ]= 9 ;
+$chanmap->{chan}->[3 ]->[21 ]= 11;
+$chanmap->{chan}->[3 ]->[20 ]= 19;
+$chanmap->{chan}->[3 ]->[19 ]= 23;
+$chanmap->{chan}->[3 ]->[18 ]= 27;
+$chanmap->{chan}->[3 ]->[17 ]= 31;
+$chanmap->{chan}->[2 ]->[24 ]= 27;
+$chanmap->{chan}->[2 ]->[23 ]= 25;
+$chanmap->{chan}->[2 ]->[22 ]= 17;
+$chanmap->{chan}->[2 ]->[21 ]= 19;
+$chanmap->{chan}->[2 ]->[20 ]= 9 ;
+$chanmap->{chan}->[2 ]->[19 ]= 13;
+$chanmap->{chan}->[2 ]->[18 ]= 7 ;
+$chanmap->{chan}->[2 ]->[17 ]= 5 ;
+$chanmap->{chan}->[1 ]->[24 ]= 29;
+$chanmap->{chan}->[1 ]->[23 ]= 31;
+$chanmap->{chan}->[1 ]->[22 ]= 21;
+$chanmap->{chan}->[1 ]->[21 ]= 23;
+$chanmap->{chan}->[1 ]->[20 ]= 15;
+$chanmap->{chan}->[1 ]->[19 ]= 11;
+$chanmap->{chan}->[1 ]->[18 ]= 3 ;
+$chanmap->{chan}->[1 ]->[17 ]= 1 ;
+$chanmap->{chan}->[8 ]->[16 ]= 1 ;
+$chanmap->{chan}->[8 ]->[15 ]= 3 ;
+$chanmap->{chan}->[8 ]->[14 ]= 9 ;
+$chanmap->{chan}->[8 ]->[13 ]= 11;
+$chanmap->{chan}->[8 ]->[12 ]= 21;
+$chanmap->{chan}->[8 ]->[11 ]= 19;
+$chanmap->{chan}->[8 ]->[10 ]= 31;
+$chanmap->{chan}->[8 ]->[9  ]= 29;
+$chanmap->{chan}->[7 ]->[16 ]= 5 ;
+$chanmap->{chan}->[7 ]->[15 ]= 7 ;
+$chanmap->{chan}->[7 ]->[14 ]= 13;
+$chanmap->{chan}->[7 ]->[13 ]= 15;
+$chanmap->{chan}->[7 ]->[12 ]= 23;
+$chanmap->{chan}->[7 ]->[11 ]= 17;
+$chanmap->{chan}->[7 ]->[10 ]= 27;
+$chanmap->{chan}->[7 ]->[9  ]= 25;
+$chanmap->{chan}->[6 ]->[16 ]= 27;
+$chanmap->{chan}->[6 ]->[15 ]= 31;
+$chanmap->{chan}->[6 ]->[14 ]= 17;
+$chanmap->{chan}->[6 ]->[13 ]= 19;
+$chanmap->{chan}->[6 ]->[12 ]= 15;
+$chanmap->{chan}->[6 ]->[11 ]= 11;
+$chanmap->{chan}->[6 ]->[10 ]= 7 ;
+$chanmap->{chan}->[6 ]->[9  ]= 3 ;
+$chanmap->{chan}->[5 ]->[16 ]= 29;
+$chanmap->{chan}->[5 ]->[15 ]= 25;
+$chanmap->{chan}->[5 ]->[14 ]= 21;
+$chanmap->{chan}->[5 ]->[13 ]= 23;
+$chanmap->{chan}->[5 ]->[12 ]= 13;
+$chanmap->{chan}->[5 ]->[11 ]= 9 ;
+$chanmap->{chan}->[5 ]->[10 ]= 1 ;
+$chanmap->{chan}->[5 ]->[9  ]= 5 ;
+$chanmap->{chan}->[4 ]->[16 ]= 7 ;
+$chanmap->{chan}->[4 ]->[15 ]= 5 ;
+$chanmap->{chan}->[4 ]->[14 ]= 15;
+$chanmap->{chan}->[4 ]->[13 ]= 13;
+$chanmap->{chan}->[4 ]->[12 ]= 17;
+$chanmap->{chan}->[4 ]->[11 ]= 21;
+$chanmap->{chan}->[4 ]->[10 ]= 25;
+$chanmap->{chan}->[4 ]->[9  ]= 29;
+$chanmap->{chan}->[3 ]->[16 ]= 1 ;
+$chanmap->{chan}->[3 ]->[15 ]= 3 ;
+$chanmap->{chan}->[3 ]->[14 ]= 9 ;
+$chanmap->{chan}->[3 ]->[13 ]= 11;
+$chanmap->{chan}->[3 ]->[12 ]= 19;
+$chanmap->{chan}->[3 ]->[11 ]= 23;
+$chanmap->{chan}->[3 ]->[10 ]= 27;
+$chanmap->{chan}->[3 ]->[9  ]= 31;
+$chanmap->{chan}->[2 ]->[16 ]= 27;
+$chanmap->{chan}->[2 ]->[15 ]= 25;
+$chanmap->{chan}->[2 ]->[14 ]= 17;
+$chanmap->{chan}->[2 ]->[13 ]= 19;
+$chanmap->{chan}->[2 ]->[12 ]= 9 ;
+$chanmap->{chan}->[2 ]->[11 ]= 13;
+$chanmap->{chan}->[2 ]->[10 ]= 7 ;
+$chanmap->{chan}->[2 ]->[9  ]= 5 ;
+$chanmap->{chan}->[1 ]->[16 ]= 29;
+$chanmap->{chan}->[1 ]->[15 ]= 31;
+$chanmap->{chan}->[1 ]->[14 ]= 21;
+$chanmap->{chan}->[1 ]->[13 ]= 23;
+$chanmap->{chan}->[1 ]->[12 ]= 15;
+$chanmap->{chan}->[1 ]->[11 ]= 11;
+$chanmap->{chan}->[1 ]->[10 ]= 3 ;
+$chanmap->{chan}->[1 ]->[9  ]= 1 ;
+$chanmap->{chan}->[8 ]->[8  ]= 1 ;
+$chanmap->{chan}->[8 ]->[7  ]= 3 ;
+$chanmap->{chan}->[8 ]->[6  ]= 9 ;
+$chanmap->{chan}->[8 ]->[5  ]= 11;
+$chanmap->{chan}->[8 ]->[4  ]= 21;
+$chanmap->{chan}->[8 ]->[3  ]= 19;
+$chanmap->{chan}->[8 ]->[2  ]= 31;
+$chanmap->{chan}->[8 ]->[1  ]= 29;
+$chanmap->{chan}->[7 ]->[8  ]= 5 ;
+$chanmap->{chan}->[7 ]->[7  ]= 7 ;
+$chanmap->{chan}->[7 ]->[6  ]= 13;
+$chanmap->{chan}->[7 ]->[5  ]= 15;
+$chanmap->{chan}->[7 ]->[4  ]= 23;
+$chanmap->{chan}->[7 ]->[3  ]= 17;
+$chanmap->{chan}->[7 ]->[2  ]= 27;
+$chanmap->{chan}->[7 ]->[1  ]= 25;
+$chanmap->{chan}->[6 ]->[8  ]= 27;
+$chanmap->{chan}->[6 ]->[7  ]= 31;
+$chanmap->{chan}->[6 ]->[6  ]= 17;
+$chanmap->{chan}->[6 ]->[5  ]= 19;
+$chanmap->{chan}->[6 ]->[4  ]= 15;
+$chanmap->{chan}->[6 ]->[3  ]= 11;
+$chanmap->{chan}->[6 ]->[2  ]= 7 ;
+$chanmap->{chan}->[6 ]->[1  ]= 3 ;
+$chanmap->{chan}->[5 ]->[8  ]= 29;
+$chanmap->{chan}->[5 ]->[7  ]= 25;
+$chanmap->{chan}->[5 ]->[6  ]= 21;
+$chanmap->{chan}->[5 ]->[5  ]= 23;
+$chanmap->{chan}->[5 ]->[4  ]= 13;
+$chanmap->{chan}->[5 ]->[3  ]= 9 ;
+$chanmap->{chan}->[5 ]->[2  ]= 1 ;
+$chanmap->{chan}->[5 ]->[1  ]= 5 ;
+$chanmap->{chan}->[4 ]->[8  ]= 7 ;
+$chanmap->{chan}->[4 ]->[7  ]= 5 ;
+$chanmap->{chan}->[4 ]->[6  ]= 15;
+$chanmap->{chan}->[4 ]->[5  ]= 13;
+$chanmap->{chan}->[4 ]->[4  ]= 17;
+$chanmap->{chan}->[4 ]->[3  ]= 21;
+$chanmap->{chan}->[4 ]->[2  ]= 25;
+$chanmap->{chan}->[4 ]->[1  ]= 29;
+$chanmap->{chan}->[3 ]->[8  ]= 1 ;
+$chanmap->{chan}->[3 ]->[7  ]= 3 ;
+$chanmap->{chan}->[3 ]->[6  ]= 9 ;
+$chanmap->{chan}->[3 ]->[5  ]= 11;
+$chanmap->{chan}->[3 ]->[4  ]= 19;
+$chanmap->{chan}->[3 ]->[3  ]= 23;
+$chanmap->{chan}->[3 ]->[2  ]= 27;
+$chanmap->{chan}->[3 ]->[1  ]= 31;
+$chanmap->{chan}->[2 ]->[8  ]= 27;
+$chanmap->{chan}->[2 ]->[7  ]= 25;
+$chanmap->{chan}->[2 ]->[6  ]= 17;
+$chanmap->{chan}->[2 ]->[5  ]= 19;
+$chanmap->{chan}->[2 ]->[4  ]= 9 ;
+$chanmap->{chan}->[2 ]->[3  ]= 13;
+$chanmap->{chan}->[2 ]->[2  ]= 7 ;
+$chanmap->{chan}->[2 ]->[1  ]= 5 ;
+$chanmap->{chan}->[1 ]->[8  ]= 29;
+$chanmap->{chan}->[1 ]->[7  ]= 31;
+$chanmap->{chan}->[1 ]->[6  ]= 21;
+$chanmap->{chan}->[1 ]->[5  ]= 23;
+$chanmap->{chan}->[1 ]->[4  ]= 15;
+$chanmap->{chan}->[1 ]->[3  ]= 11;
+$chanmap->{chan}->[1 ]->[2  ]= 3 ;
+$chanmap->{chan}->[1 ]->[1  ]= 1 ;
diff --git a/users/cern_cbmrich/HV_scan.pl b/users/cern_cbmrich/HV_scan.pl
new file mode 100755 (executable)
index 0000000..301fb28
--- /dev/null
@@ -0,0 +1,98 @@
+#!/usr/bin/env perl
+use warnings;
+use strict;
+use POSIX qw(strftime);
+use Data::Dumper;
+use HADES::TrbNet;
+use Term::ANSIColor;
+
+trb_init_ports() or die trb_strerror();
+
+local $| = 1;
+
+print "usage: [startOff] [stopOff] [stepWidth]\n";
+
+# my $startOff = $ARGV[0] || 1000;
+# my $stopOff = $ARGV[1] || 0;
+# my $step = sprintf("%d", $ARGV[2] || (($stopOff-$startOff) / 60.0));
+
+my $recordTime = 100;#3600; # s 600 
+my $minHodoHits = 500; #1500000; # hits to be registered by 100000 
+
+# die "Need negative step" if ($startOff >= $stopOff and $step >= 0);
+# die "Need positive step" if ($startOff <= $stopOff and $step <= 0);
+
+my $evtBldDir = "/mnt/data/tmp/";
+my $swpDir = "/mnt/data/Mirror/TwoMirr/RotX/ZeroPtFive";
+
+#print "Scan from offset $startOff to $stopOff in steps of $step\n";
+
+my $i = 0;
+#for (my $offset = $startOff; $step * $offset <= $stopOff * $step; $offset += $step) {
+
+for my $offset(100) {
+#for my $offset(-300,-250,-200,-150,-100,-50,0,50,100,150,200,250,300,350,400,450,500,550,600,650,700,750,800,850,900,950,1000,1050,1100,1150,1200,1250,1300,1350,1400,1450,1500,1550,1600,1650,1700,1750,1800,1850,1900,1950,2000) {
+  print color 'bold red';
+  print strftime("%Y-%m-%d %H:%M:%S",localtime()) . " Iteration " . (++$i) . " Offset $offset <-------------------------------\n ";
+  print color 'reset';
+  
+  my $pad = `../../tools/padiwa.pl 0xfe4c 0 uid`;
+  my @padLines = split "\n", $pad;
+  die "expect 66 pads" unless (scalar @padLines) == 66;
+  die "unexpected ids:\n$pad" unless scalar grep(/0x..0000........28/, @padLines) == 66;
+  
+  print "All Pad seem to be there\n";
+
+  system("trbcmd setbit 0x7005 0xa00c 0x80000000"); # full stop of cts
+  system("./write_thresholds.pl --offset=$offset thresh/current_thresholds.thr");
+  
+  sleep 2;
+#  system("trbcmd w 0x7005 0xa14e 9999"); # pulser 0
+#  system("trbcmd w 0x7005 0xa101 1"); # select only pulser
+  
+  system("trbcmd clearbit 0x7005 0xa00c 0x80000000"); # engage cts
+
+  sleep 1;
+  
+  print "Padiwas updated. Start recording\n";
+  
+  my @filesBefore = glob("$evtBldDir/*.hld");
+  
+  system("./evtbuilder_start.sh &");
+    
+  my $startHodo = trb_register_read(0x0110, 0xc005)->{0x0110} & 0x00ffffff ;
+  my $remain = $minHodoHits;
+  my $k = $recordTime;
+  while ($k > 0 or $remain > 0) {
+    sleep 1;
+    
+    my $currentHodo = trb_register_read(0x0110, 0xc005)->{0x0110}  & 0x00ffffff;
+    my $hodoDiff = $currentHodo - $startHodo;
+    #$hodoDiff += 0x100000000 if ($hodoDiff < 0);
+    $remain = $minHodoHits - $hodoDiff;
+
+    $k-- if $k > 0;
+    
+    printf "Wait for % 3ds and % 5d hodo hits (start cnt: %08x, current cnt: %08x, diff: %d) \n", $k, $remain, $startHodo, $currentHodo, $hodoDiff;
+  }
+  
+  my $pids = `cat /mnt/data/tmp/evtbuild/.*.pid`;
+  $pids =~ s/\s+/ /g;
+  system("kill $pids");
+  sleep 1;
+
+  my %filesBefore = map {$_ => 1} @filesBefore;
+  my @filesAfter = glob("$evtBldDir/*.hld");
+  my @diff  = grep {not $filesBefore{$_}} @filesAfter;
+  
+  printf "Found %d files\n", scalar @diff;
+  
+  my $newDir = sprintf "$swpDir/offset%05d", $offset;
+  system "mkdir -p $newDir";
+  for my $fn (@diff) {
+    $fn =~ /\/(te\d+\.hld)/;
+    my $bfn = $1;
+    print "Got file $bfn\n";
+    system "mv $fn $newDir/$bfn";
+  }
+}
diff --git a/users/cern_cbmrich/Mirror_scan.pl b/users/cern_cbmrich/Mirror_scan.pl
new file mode 100755 (executable)
index 0000000..a762ea4
--- /dev/null
@@ -0,0 +1,98 @@
+#!/usr/bin/env perl
+use warnings;
+use strict;
+use POSIX qw(strftime);
+use Data::Dumper;
+use HADES::TrbNet;
+use Term::ANSIColor;
+
+trb_init_ports() or die trb_strerror();
+
+local $| = 1;
+
+print "usage: [startOff] [stopOff] [stepWidth]\n";
+
+# my $startOff = $ARGV[0] || 1000;
+# my $stopOff = $ARGV[1] || 0;
+# my $step = sprintf("%d", $ARGV[2] || (($stopOff-$startOff) / 60.0));
+
+my $recordTime = 3600;#3600; # s 600 
+my $minHodoHits = 1000000; #1500000; # hits to be registered by 100000 
+
+# die "Need negative step" if ($startOff >= $stopOff and $step >= 0);
+# die "Need positive step" if ($startOff <= $stopOff and $step <= 0);
+
+my $evtBldDir = "/mnt/data/tmp/";
+my $swpDir = "/mnt/data/Mirror/TwoMirr/Ref/";
+
+#print "Scan from offset $startOff to $stopOff in steps of $step\n";
+
+my $i = 0;
+#for (my $offset = $startOff; $step * $offset <= $stopOff * $step; $offset += $step) {
+
+for my $offset(250) 
+{
+  print color 'bold red';
+  print strftime("%Y-%m-%d %H:%M:%S",localtime()) . " Iteration " . (++$i) . " Offset $offset <-------------------------------\n ";
+  print color 'reset';
+  
+  my $pad = `../../tools/padiwa.pl 0xfe4c 0 uid`;
+  my @padLines = split "\n", $pad;
+  die "expect 66 pads" unless (scalar @padLines) == 66;
+  die "unexpected ids:\n$pad" unless scalar grep(/0x..0000........28/, @padLines) == 66;
+  
+  print "All Pad seem to be there\n";
+
+  system("trbcmd setbit 0x7005 0xa00c 0x80000000"); # full stop of cts
+  system("./write_thresholds.pl --offset=$offset thresh/current_thresholds.thr");
+  
+  sleep 2;
+#  system("trbcmd w 0x7005 0xa14e 9999"); # pulser 0
+#  system("trbcmd w 0x7005 0xa101 1"); # select only pulser
+  
+  system("trbcmd clearbit 0x7005 0xa00c 0x80000000"); # engage cts
+
+  sleep 1;
+  
+  print "Padiwas updated. Start recording\n";
+  
+  my @filesBefore = glob("$evtBldDir/*.hld");
+  
+  system("./evtbuilder_start.sh &");
+    
+  my $startHodo = trb_register_read(0x0110, 0xc005)->{0x0110} & 0x00ffffff ;
+  my $remain = $minHodoHits;
+  my $k = $recordTime;
+  while ($k > 0 or $remain > 0) {
+    sleep 1;
+    
+    my $currentHodo = trb_register_read(0x0110, 0xc005)->{0x0110}  & 0x00ffffff;
+    my $hodoDiff = $currentHodo - $startHodo;
+    #$hodoDiff += 0x100000000 if ($hodoDiff < 0);
+    $remain = $minHodoHits - $hodoDiff;
+
+    $k-- if $k > 0;
+    
+    printf "Wait for % 3ds and % 5d hodo hits (start cnt: %08x, current cnt: %08x, diff: %d) \n", $k, $remain, $startHodo, $currentHodo, $hodoDiff;
+  }
+  
+  my $pids = `cat /mnt/data/tmp/evtbuild/.*.pid`;
+  $pids =~ s/\s+/ /g;
+  system("kill $pids");
+  sleep 1;
+
+  my %filesBefore = map {$_ => 1} @filesBefore;
+  my @filesAfter = glob("$evtBldDir/*.hld");
+  my @diff  = grep {not $filesBefore{$_}} @filesAfter;
+  
+  printf "Found %d files\n", scalar @diff;
+  
+  my $newDir = "$swpDir"; #//offset%05d", $offset;
+  system "mkdir -p $newDir";
+  for my $fn (@diff) {
+    $fn =~ /\/(te\d+\.hld)/;
+    my $bfn = $1;
+    print "Got file $bfn\n";
+    system "mv $fn $newDir/$bfn";
+  }
+}
index aa2ed72bbc99493dd5c5d762fa02ee3c11f76a1a..262d41b898db49e2a0266aa2d6cf1fa2d41d6777 100644 (file)
@@ -1,4 +1,53 @@
-#to start deamon
+###################################################################################### 
+# bring up the whole chain (in the order given!)
+# On richctl:
+# 
+# as root: 
+#   #NO#   TRB3_SERVER=trb056 ~hadaq/trbsoft/trbnettools/binlocal/trbnetd -i 56
+#   TRB3_SERVER=trb056 ~hadaq/trbsoft/trbnettools/trbnetd/server/trbnetd -i 56
+# as hadaq:
+#   cd ~/trbsoft/daqtools/web; ./cts_gui
+#   cd ~/trbsoft/daqtools/dmon; ./start ../users/cern_cbmrich/dmon_config.pl
+# 
+#   
+#   
+# On richdaq:
+#   cd ~/trbsoft/daqtools/users/cern_cbmrich
+#   ./startup.sh
+#  
+# Have a lot of fun!
+###################################################################################### 
+
+
+# Scanning offsets
+  users/cern_cbmrich/offset_scan.pls
+
+ -> edit line 33:
+       for my $offset(0, 50, 100, 150, 200, 400, 750, 1000, 1500, 2000)
+    do change offsets to be scanned
+    
+ -> edit line 26
+      my $swpDir = "/mnt/data/offset_sweep/ringa/";
+    to change to dir where the files have to be stored.
+    if the dir does not exists, the script will create it (if it has sufficient permissions)
+
+ -> change $recordTime and $minHodoHits and to define limits for each iteration
+
+# change limits in heatmap
+  dmon/scripts/dmon_heatmap.pl
+  
+  edit line
+    $plot2->{cbmax}   = "100<*<1000000";
+    
+  to set lower and upper bound of max hits
+  start dmon:
+    cd ~/trbsoft/daqtools/dmon; ./start ../users/cern_cbmrich/dmon_config.pl
+
+#to start deamon (as root on richdaq)
 TRB3_SERVER=trb056 ~/trbsoft/trbnettools/binlocal/trbnetd -i 56
 
 #set environment
index ad4edaf38556059be3ba3b5ded8f7c6e9b3377b4..095e269d15c22103048d3a64278f3ae2978e080a 100755 (executable)
@@ -63,24 +63,26 @@ MBSAddress => 0x0112,
 TdcAddress   => [0xfe4c,0xfe4e,0x7005],  
 
 #IPs of all devices which should react on a ping
-TrbIP => ["192.168.0.29",
-          "192.168.0.47",
-          "192.168.0.56",
+TrbIP => [
+"192.168.0.29",
+    "192.168.0.47",
+    "192.168.0.56",
 #           "192.168.0.57",#extra TRB3
-          "192.168.0.59",
-          "192.168.0.72",
-          "192.168.0.73",
-          "192.168.0.74",
-          "192.168.0.78",
-          "192.168.0.83",
-          "192.168.0.84",
-          "192.168.0.89",
-          "192.168.0.97",
-          "192.168.0.99",
-          "192.168.0.101",
-          "192.168.0.102",
-          "192.168.0.104",
-          "192.168.0.105"],
+    "192.168.0.59",
+    "192.168.0.72",
+    "192.168.0.73",
+    "192.168.0.74",
+    "192.168.0.78",
+    "192.168.0.83",
+    "192.168.0.84",
+    "192.168.0.89",
+    "192.168.0.97",
+    "192.168.0.99",
+    "192.168.0.101",
+    "192.168.0.102",
+    "192.168.0.104",
+    "192.168.0.105"
+],
 
 #Channel to read spill intensity from. Give limit for off-spill detection
 BeamTRB => 0x0110,
@@ -88,9 +90,9 @@ BeamChan => 0xc005,
 SpillThreshold => 30,
 
 #Name detectors 
-BeamDetectorsTrb  => [0x0111,0x0110,0x0111,0x0110,0x0113,0x0110],
-BeamDetectorsChan => [0xc001,0xc009,0xc005,0xc00b,0xc009,0xc005],
-BeamDetectorsName => ['C1',  'C1d', 'C2',  'C2d', 'Lead', 'Hodo'],
+BeamDetectorsTrb  => [0x0110, 0x0110, 0x0111,0x0110,0x0111,0x0110,0x0113,0x0110],
+BeamDetectorsChan => [0xc001, 0xc003, 0xc001,0xc009,0xc005,0xc00b,0xc009,0xc005],
+BeamDetectorsName => ['Fngr_d', 'Lead_d', 'C1',  'C1_d', 'C2',  'C2_d', 'Lead', 'Hodo'],
 
 #User directory
 UserDirectory => '/home/hadaq/trbsoft/daqtools/users/cern_cbmrich/',
diff --git a/users/cern_cbmrich/evtbuilder_multi.sh b/users/cern_cbmrich/evtbuilder_multi.sh
new file mode 100755 (executable)
index 0000000..9974c8d
--- /dev/null
@@ -0,0 +1,69 @@
+#!/bin/bash
+
+dest="/mnt/data/tmp"
+sdest="/mnt/data/tmp"
+tmpdir="/mnt/data/tmp/evtbuild"
+pref="te"
+sden=0
+
+
+usage() {
+       echo "Usage: $0 [-d <hlddir>] [-s <shlddir>] [-p <te|be|ca>] [-t] [-h]"
+       echo "  -t -- scale down"
+       echo " Defaults:"
+       echo "  -d=${dest}"
+       echo "  -s=${sdest}"
+       echo "  -p=${pref}"
+}
+
+while getopts "n:d:s:p:th" opt; do
+       case "${opt}" in
+               t)
+                       sden=1
+                       ;;
+               d)
+                       dest=${OPTARG}
+                       ;;
+               n)
+                       num=${OPTARG}
+                       ;;
+               s)
+                       sdest=${OPTARG}
+                       ;;
+               p)
+                       pref=${OPTARG}
+                       ;;
+               h)
+                       usage
+                       ;;
+               *)
+                       exit -1
+                       ;;
+       esac
+done
+
+sdopts="--resdownscale 20 --resnumevents 2000 --respath ${sdest} --ressizelimit 80"
+extraopts="--online"
+[ ${sden} -eq 1 ] && extraopts="$sdopts"
+
+
+[ ! -e $tmpdir ] && mkdir -p $tmpdir
+cd $tmpdir
+
+
+  exec uxterm -fg black -bg khaki -geometry 120x20+0+45 -e "/home/hadaq/bin/daq_evtbuild -m 17 -o ${dest} -x ${pref} -I 1 --ebnum 1 -q 32 -S tes -d file --filesize 512 \
+${extraopts}; read; bash" &
+
+
+pid=$!
+echo $pid > $tmpdir/.daq_evtbuild.pid
+
+sleep 1
+
+  exec uxterm -fg black -bg tan -geometry 120x20+0+345 -e "/home/hadaq/bin/daq_netmem -m 17 -i UDP:0.0.0.0:50000 -i UDP:0.0.0.0:50001 -i UDP:0.0.0.0:50002 -i UDP:0.0.0.0:50003 -i UDP:0.0.0.0:50004 -i UDP:0.0.0.0:50005 -i UDP:0.0.0.0:50006 -i UDP:0.0.0.0:50007 -i UDP:0.0.0.0:50008 -i UDP:0.0.0.0:50009 -i UDP:0.0.0.0:50010 -i UDP:0.0.0.0:50011 -i UDP:0.0.0.0:50012 -i UDP:0.0.0.0:50013 -i UDP:0.0.0.0:50014 -i UDP:0.0.0.0:50015 -i UDP:0.0.0.0:50016 -q 32 -d 1 -S tes ;  " &
+
+pid=$!
+echo $pid > $tmpdir/.daq_netmem.pid
+
+echo ${dest} > $tmpdir/.hldfilesdir
+echo ${sdest} > $tmpdir/.shldfilesdir
diff --git a/users/cern_cbmrich/evtbuilder_single.sh b/users/cern_cbmrich/evtbuilder_single.sh
new file mode 100755 (executable)
index 0000000..6368def
--- /dev/null
@@ -0,0 +1,69 @@
+#!/bin/bash
+
+dest="/mnt/data/tmp"
+sdest="/mnt/data/tmp"
+tmpdir="/mnt/data/tmp/evtbuild"
+pref="te"
+sden=0
+
+
+usage() {
+       echo "Usage: $0 [-d <hlddir>] [-s <shlddir>] [-p <te|be|ca>] [-t] [-h]"
+       echo "  -t -- scale down"
+       echo " Defaults:"
+       echo "  -d=${dest}"
+       echo "  -s=${sdest}"
+       echo "  -p=${pref}"
+}
+
+while getopts "n:d:s:p:th" opt; do
+       case "${opt}" in
+               t)
+                       sden=1
+                       ;;
+               d)
+                       dest=${OPTARG}
+                       ;;
+               n)
+                       num=${OPTARG}
+                       ;;
+               s)
+                       sdest=${OPTARG}
+                       ;;
+               p)
+                       pref=${OPTARG}
+                       ;;
+               h)
+                       usage
+                       ;;
+               *)
+                       exit -1
+                       ;;
+       esac
+done
+
+sdopts="--resdownscale 20 --resnumevents 2000 --respath ${sdest} --ressizelimit 80"
+extraopts="--online"
+[ ${sden} -eq 1 ] && extraopts="$sdopts"
+
+
+[ ! -e $tmpdir ] && mkdir -p $tmpdir
+cd $tmpdir
+
+
+  exec uxterm -fg black -bg khaki -geometry 120x20+0+45 -e "/home/hadaq/bin/daq_evtbuild -m 1 -o ${dest} -x ${pref} -I 1 --ebnum 1 -q 32 -S tes -d file --filesize 512 \
+${extraopts}; read; bash" &
+
+
+pid=$!
+echo $pid > $tmpdir/.daq_evtbuild.pid
+
+sleep 1
+
+  exec uxterm -fg black -bg tan -geometry 120x20+0+345 -e "/home/hadaq/bin/daq_netmem -m 1 -i UDP:0.0.0.0:50000 -q 32 -d 1 -S tes ;  " &
+
+pid=$!
+echo $pid > $tmpdir/.daq_netmem.pid
+
+echo ${dest} > $tmpdir/.hldfilesdir
+echo ${sdest} > $tmpdir/.shldfilesdir
deleted file mode 100755 (executable)
index a222b621b10c9fb3d1172df8ab8493150f1dd872..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/bash
-
-dest="/mnt/data/tmp"
-sdest="/mnt/data/tmp"
-tmpdir="/mnt/data/tmp/evtbuild"
-pref="te"
-sden=0
-
-
-usage() {
-       echo "Usage: $0 [-d <hlddir>] [-s <shlddir>] [-p <te|be|ca>] [-t] [-h]"
-       echo "  -t -- scale down"
-       echo " Defaults:"
-       echo "  -d=${dest}"
-       echo "  -s=${sdest}"
-       echo "  -p=${pref}"
-}
-
-while getopts "n:d:s:p:th" opt; do
-       case "${opt}" in
-               t)
-                       sden=1
-                       ;;
-               d)
-                       dest=${OPTARG}
-                       ;;
-               n)
-                       num=${OPTARG}
-                       ;;
-               s)
-                       sdest=${OPTARG}
-                       ;;
-               p)
-                       pref=${OPTARG}
-                       ;;
-               h)
-                       usage
-                       ;;
-               *)
-                       exit -1
-                       ;;
-       esac
-done
-
-sdopts="--resdownscale 20 --resnumevents 2000 --respath ${sdest} --ressizelimit 80"
-extraopts="--online"
-[ ${sden} -eq 1 ] && extraopts="$sdopts"
-
-
-[ ! -e $tmpdir ] && mkdir -p $tmpdir
-cd $tmpdir
-
-
-  exec uxterm -fg black -bg khaki -geometry 120x20+0+45 -e "/home/hadaq/bin/daq_evtbuild -m 17 -o ${dest} -x ${pref} -I 1 --ebnum 1 -q 32 -S test -d file --filesize 512 \
-${extraopts}; read; bash" &
-
-
-pid=$!
-echo $pid > $tmpdir/.daq_evtbuild.pid
-
-sleep 1
-
-  exec uxterm -fg black -bg tan -geometry 120x20+0+345 -e "/home/hadaq/bin/daq_netmem -m 17 -i UDP:0.0.0.0:50000 -i UDP:0.0.0.0:50001 -i UDP:0.0.0.0:50002 -i UDP:0.0.0.0:50003 -i UDP:0.0.0.0:50004 -i UDP:0.0.0.0:50005 -i UDP:0.0.0.0:50006 -i UDP:0.0.0.0:50007 -i UDP:0.0.0.0:50008 -i UDP:0.0.0.0:50009 -i UDP:0.0.0.0:50010 -i UDP:0.0.0.0:50011 -i UDP:0.0.0.0:50012 -i UDP:0.0.0.0:50013 -i UDP:0.0.0.0:50014 -i UDP:0.0.0.0:50015 -i UDP:0.0.0.0:50016 -q 32 -d 1 -S test ;  " &
-
-pid=$!
-echo $pid > $tmpdir/.daq_netmem.pid
-
-echo ${dest} > $tmpdir/.hldfilesdir
-echo ${sdest} > $tmpdir/.shldfilesdir
new file mode 120000 (symlink)
index 0000000000000000000000000000000000000000..984e96999ac308cc8040adc64e855882d0ac06b7
--- /dev/null
@@ -0,0 +1 @@
+evtbuilder_multi.sh
\ No newline at end of file
index 5cc39f33f472db7c8816cd39d4eafa22186c0897..97518f100c908e78f2e99d755dfd790a46a6df1b 100755 (executable)
@@ -23,7 +23,7 @@ my $minHodoHits = 60000; # hits to be registered by
 # die "Need positive step" if ($startOff <= $stopOff and $step <= 0);
 
 my $evtBldDir = "/mnt/data/tmp/";
-my $swpDir = "/mnt/data/offset_sweep/ringb/";
+my $swpDir = "/mnt/data/offset_sweep/ringf/";
 
 #print "Scan from offset $startOff to $stopOff in steps of $step\n";
 
index 833ad5d347f15ec5037fc82285a0615c4f93ebef..5cfb1d7c4be0e483e0187cadf20e31906465efa4 100644 (file)
@@ -90,6 +90,6 @@
  0x0103   0         0xffffffff           0x00000000
 
  0x0110   0         0x0000ffff           0x00000000  #gpin
- 0x0111   0         0x0000f0ff           0x00000000  #padiwa amps small
+ 0x0111   0         0x00000fff           0x00000000  #padiwa amps small
 #0x0112   0         0x00000000           0x00000000  #billboard
  0x0113   0         0x00000f00           0x00000000  #padiwa amps large
index 5be2ae197271ab005dfa0831e77f97c1da9ced4d..00b4e05fd5f9efc07488e0a0ca060715b5fe9c71 100755 (executable)
@@ -5,7 +5,7 @@
 #PATH=${HOME}/trbsoft/trbnettools/bin:${PATH}
 export TRB3_SERVER=trb056:26000 
 export TRBNETDPID=$(pgrep trbnetd)
-export SINGLE_GBE='y'
+export SINGLE_GBE=''
 
 echo "- trbnetd pid: $TRBNETDPID"
 
@@ -66,7 +66,7 @@ fi
 #trbcmd w 0xfe48 0xc800 0x00003000 ## Triggerless   mode
 #trbcmd w 0xfe48 0xc801 0x000f0005 ## trigger window enable & trigger window width
 
-trbcmd w 0xfe4c 0xc800 0x00001001 ## logic analyser control register #tiggerless
+trbcmd w 0xfe4c 0xc800 0x00003001 ## logic analyser control register #tiggerless, reset epoch counter with first trigger
 trbcmd w 0xfe4c 0xc801 0x00620062 ## no triggerwindow +/-490ns ;5ns granularity
 trbcmd w 0xfe4c 0xc804 0x00000080 ## data transfer limit (0x80 = off)
 
index 3a803868e67a5c4743ac622fc5dcded530b5c699..d4b604fee710ed1bbcd8fc3c70ad015aa16e0a47 120000 (symlink)
@@ -1 +1 @@
-201411161747.thr
\ No newline at end of file
+201411221834.thr
\ No newline at end of file
index a58402c48dbaea43676ae54719f10aba3c5da025..094b00d3e78ccb69402c1b38b211ef5e65bccadd 100644 (file)
@@ -3,8 +3,8 @@
 2014/10/20 00:00:00 endpoint: 0x0111, chain: 00, channel: 01 threshold: 0xDA00, uid: 0
 2014/10/20 00:00:00 endpoint: 0x0111, chain: 00, channel: 02 threshold: 0x0744, uid: 0
 2014/10/20 00:00:00 endpoint: 0x0111, chain: 00, channel: 03 threshold: 0xDB10, uid: 0
-2014/10/20 00:00:00 endpoint: 0x0111, chain: 00, channel: 04 threshold: 0xffff, uid: 0
-2014/10/20 00:00:00 endpoint: 0x0111, chain: 00, channel: 05 threshold: 0x0000, uid: 0
+2014/10/20 00:00:00 endpoint: 0x0111, chain: 00, channel: 04 threshold: 0x0616, uid: 0
+2014/10/20 00:00:00 endpoint: 0x0111, chain: 00, channel: 05 threshold: 0xd170, uid: 0
 2014/10/20 00:00:00 endpoint: 0x0111, chain: 00, channel: 06 threshold: 0x0600, uid: 0
 2014/10/20 00:00:00 endpoint: 0x0111, chain: 00, channel: 07 threshold: 0xdf80, uid: 0
 2014/10/20 00:00:00 endpoint: 0x0111, chain: 00, channel: 08 threshold: 0xffff, uid: 0
@@ -20,8 +20,8 @@
 2014/10/20 00:00:00 endpoint: 0x0113, chain: 00, channel: 01 threshold: 0x0000, uid: 0
 2014/10/20 00:00:00 endpoint: 0x0113, chain: 00, channel: 02 threshold: 0xffff, uid: 0
 2014/10/20 00:00:00 endpoint: 0x0113, chain: 00, channel: 03 threshold: 0x0000, uid: 0
-2014/10/20 00:00:00 endpoint: 0x0113, chain: 00, channel: 04 threshold: 0x073E, uid: 0
-2014/10/20 00:00:00 endpoint: 0x0113, chain: 00, channel: 05 threshold: 0xD511, uid: 0
+2014/10/20 00:00:00 endpoint: 0x0113, chain: 00, channel: 04 threshold: 0x050E, uid: 0
+2014/10/20 00:00:00 endpoint: 0x0113, chain: 00, channel: 05 threshold: 0xDC50, uid: 0
 2014/10/20 00:00:00 endpoint: 0x0113, chain: 00, channel: 06 threshold: 0xffff, uid: 0
 2014/10/20 00:00:00 endpoint: 0x0113, chain: 00, channel: 07 threshold: 0x0000, uid: 0
 2014/10/20 00:00:00 endpoint: 0x0113, chain: 00, channel: 08 threshold: 0xffff, uid: 0