From 06d500a2929e1defe8414f2fe67e6a7cfea419c5 Mon Sep 17 00:00:00 2001 From: Michael Wiebusch Date: Mon, 4 May 2015 16:47:09 +0200 Subject: [PATCH] init_system.pl activates/deactivates peripheral FPGAs based on entries in the system config file --- tools/init_system.pl | 45 +++++++++++--------------------------------- 1 file changed, 11 insertions(+), 34 deletions(-) diff --git a/tools/init_system.pl b/tools/init_system.pl index c3b5a19..6bc7e3e 100755 --- a/tools/init_system.pl +++ b/tools/init_system.pl @@ -81,43 +81,20 @@ run(DAQTOOLSPATH."/tools/loadregisterdb.pl ".CONFIGPATH."/network/register_confi trb_write(0xfffe,0x00c5,0x20ff); #Timeouts -if($system eq 'Vacuum') { - trb_write($ccu,0x00c0,0x00f1); - trb_write($ccu,0x00c1,0x00f1); - trb_write($ccu,0x00c3,0x00f1); -# trb_write($ccu,0x00c0,0x00e1); -# trb_write($ccu,0x00c1,0x00e1); -# trb_write($ccu,0x00c3,0x00ff); # unused FPGAs: enable slowcontrol only - } -if($system eq 'ProbeStation') { - trb_write($ccu,0x00c0,0x00f1); - trb_write($ccu,0x00c1,0x00f1); - trb_write($ccu,0x00c3,0x00f1); - } - -if($system eq 'ELnew') { - trb_write($ccu,0x00c0,0x00f1); - trb_write($ccu,0x00c1,0x00f1); - trb_write($ccu,0x00c3,0x00f1); - trb_write($ccu,0xa150,0x2cff); #pulser to frame rate - } -if($system eq 'ELab') { - -# trb_write($ccu,0x00c0,0x00ec); -# trb_write($ccu,0x00c1,0x00ec); -# trb_write($ccu,0x00c3,0x00fc); # only 0x00, 0x02, 0x03 active +#Send arbiter start signal +#trb_write($ccu,0xa000,0x00000001); -# trb_write($ccu,0x00c0,0x00f8); -# trb_write($ccu,0x00c1,0x00f8); -# trb_write($ccu,0x00c3,0x00f8); # only 0x03 active - trb_write($ccu,0x00c0,0x00f4); - trb_write($ccu,0x00c1,0x00f4); - trb_write($ccu,0x00c3,0x00f4); # only 0x02 active - } -#Send arbiter start signal -#trb_write($ccu,0xa000,0x00000001); +# deactivate all peripheral FPGAs by default in the TrbNet hub +# activate peripheral FPGAs only, when you find a entry in system file +my $hub_active_mask = 0; +for my $addr (@roc){ + $hub_active_mask |= 1<<($addr & 0xF); #last hex digit gives FPGA number +} +trb_write($ccu,0x00c0,0x00f0|$hub_active_mask); +trb_write($ccu,0x00c1,0x00f0|$hub_active_mask); +trb_write($ccu,0x00c3,0x00f0|$hub_active_mask); trb_write($_,0x8041,0x8d00) for @roc; -- 2.43.0