From 1f7f1c5b30788353025bb135cdeb6bb885aafd8c Mon Sep 17 00:00:00 2001 From: Jan Michel Date: Wed, 29 Oct 2014 09:35:20 +0100 Subject: [PATCH] added heatmap scripts, not yet tested --- dmon/scripts/dmon_heatmaprich.pl | 85 ++ users/cern_cbmrich/ChannelMapping.pm | 2063 ++++++++++++++++++++++++++ users/cern_cbmrich/dmon_config.pl | 7 +- 3 files changed, 2153 insertions(+), 2 deletions(-) create mode 100755 dmon/scripts/dmon_heatmaprich.pl create mode 100644 users/cern_cbmrich/ChannelMapping.pm diff --git a/dmon/scripts/dmon_heatmaprich.pl b/dmon/scripts/dmon_heatmaprich.pl new file mode 100755 index 0000000..ba7176a --- /dev/null +++ b/dmon/scripts/dmon_heatmaprich.pl @@ -0,0 +1,85 @@ +#!/usr/bin/perl -w + +use warnings; +use POSIX qw(strftime); +use FileHandle; +use lib "./code"; +use lib "../tools"; +use lib "../users/cern_cbmrich"; +use HADES::TrbNet; +use Time::HiRes qw(usleep); +use List::Util qw[min max]; +use Dmon; +use HPlot; +use Data::Dumper; +use ChannelMapping; + +my %config = Dmon::StartUp(); + + + +my $plot2 = (); +$plot2->{name} = "HeatmapRich"; +$plot2->{file} = Dmon::DMONDIR."heatmaprich"; +$plot2->{entries} = 33; +$plot2->{curves} = 33; +$plot2->{type} = HPlot::TYPE_HEATMAP; +$plot2->{output} = HPlot::OUT_PNG; +$plot2->{zlabel} = "Hitrate"; +$plot2->{sizex} = 800; +$plot2->{sizey} = 750; +$plot2->{nokey} = 1; +$plot2->{buffer} = 1; +$plot2->{xmin} = 0.5; +$plot2->{xmax} = 32.5; +$plot2->{ymin} = 0.5; +$plot2->{ymax} = 32.5; +$plot2->{showvalues} = 1; +$plot2->{xlabel} = "column"; +$plot2->{ylabel} = "row"; +HPlot::PlotInit($plot2); + +my $str = Dmon::MakeTitle(12,12,"HeatmapRich",0); + $str .= qq@@; + $str .= Dmon::MakeFooter(); +Dmon::WriteFile("HeatmapRich",$str); + + +my $old; +my $oldtime = time(); +my $time = time(); +my $diff; + + +while (1) { + my $t = trb_register_read_mem(0xfe48,0xc000,0,33); + + if (defined $old) { + foreach my $b (keys %$o) { + for my $v (0..32) { + my $tdiff = time() - $oldtime; + my $vdiff = (($o->{$b}->[$v]||0)&0xffffff) - (($old->{$b}->[$v]||0)&0xffffff); + if ($vdiff < 0) { $vdiff += 2**24;} + $diff->{$b}->[$v] = $vdiff/($tdiff|1); + } + } + + + for my $x (0..31) { + for my $y (0..31) { + my $fpga = $ChannelMapping::chanmap->{fpga}->[$x]->[$y]; + my $channel = $ChannelMapping::chanmap->{chan}->[$x]->[$y]; + HPlot::PlotFill('HeatmapRich',$diff->{$fpga}->[$channel],$x+1,$y+1); + } + } + HPlot::PlotDraw('HeatmapRich'); + } + my $status = QA::OK; + my $title = "Heatmap"; + my $value = ""; + my $longtext = "See plot"; + Dmon::WriteQALog($config{flog},"heatmaprich",5,$status,$title,$value,$longtext,'2-HeatmapRich'); + $old = $o; + $oldtime = time(); + sleep(1); + } diff --git a/users/cern_cbmrich/ChannelMapping.pm b/users/cern_cbmrich/ChannelMapping.pm new file mode 100644 index 0000000..580d690 --- /dev/null +++ b/users/cern_cbmrich/ChannelMapping.pm @@ -0,0 +1,2063 @@ +package channelmapping; +use warnings; +use strict; + +our $chanmap; + +$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 ; \ No newline at end of file diff --git a/users/cern_cbmrich/dmon_config.pl b/users/cern_cbmrich/dmon_config.pl index 98da2a5..d5528ee 100644 --- a/users/cern_cbmrich/dmon_config.pl +++ b/users/cern_cbmrich/dmon_config.pl @@ -5,7 +5,7 @@ activeScripts => [['time','-','-','-','daqop'], ['numfee','temperature','reftime','-','-'], ['trgrate','datarate','deadtime','-','-'], - ['-','-','-','-','-'], + ['heatmaprich','-','-','-','-'], ['-','-','-','-','-'],], #Names to be shown in left column of Overview (max 4 letters!) @@ -15,7 +15,10 @@ qaNames => ['sys','main','rate','-','-','-'], NumberOfFpga => 90, #The address of the CTS -CtsAddress => 0x7999, +CtsAddress => 0x7005, #Addresses of all TDCs. Either single or broadcast addresses TdcAddress => [0xfe48,0xfe4e,0x7999], + +#User directory +UserDirectory => '/home/hadaq/trbsoft/daqtools/users/cern_cbmrich/'; -- 2.43.0