From 21115c9bc8477de5ef3732afa170f62fe6504467 Mon Sep 17 00:00:00 2001 From: Hades DAQ Date: Thu, 26 Apr 2018 17:52:35 +0200 Subject: [PATCH] change to hadesdaq --- control/gui/expert/Restart_EB_IOC | 2 +- ecal/startup.script | 14 ++++- hmon/hmon_endpoints.pl | 90 +++++++++++++++++++++---------- hmon/hmon_filllevel.pl | 22 ++++---- hmon/hmon_mdc_retr.pl | 4 +- hmon/hmon_spill.pl | 16 +++--- hmon/permanent/hmon_cpu.pl | 13 +++-- hmon/permanent/hmon_eb_run.pl | 18 ++++--- hub/configure_ports.script | 6 +-- main/startup_briccolage.sh | 8 +-- nettools/Perl2Epics.pm | 8 ++- oracle/daq2stdout.pl | 10 ++-- rpc/addresses_rpc.db | 5 +- rpc/serials_rpc.db | 27 +++++----- rpc/trb.db | 36 ++++++------- start/addresses_trb3sc.db | 4 ++ start/serials_trb3sc.db | 2 + start/startup.script | 81 +++++++++++++--------------- 18 files changed, 212 insertions(+), 154 deletions(-) create mode 100644 start/addresses_trb3sc.db create mode 100644 start/serials_trb3sc.db diff --git a/control/gui/expert/Restart_EB_IOC b/control/gui/expert/Restart_EB_IOC index fe6ad50..9647122 100755 --- a/control/gui/expert/Restart_EB_IOC +++ b/control/gui/expert/Restart_EB_IOC @@ -4,7 +4,7 @@ ssh -X hadaq@lxhadesdaq " xterm -geometry 80x24 -bg orange -fg black -e bash -c ' echo "Starting Eventbuilder Control Interface" cd ~/trbsoft/hadesdaq/evtbuild/ - ./start_eb_gbe.pl -i start -n 1-16 + ./start_eb_gbe.pl -i start -n 1-15 ' " notifyall.sh "DAQ" " Eventbuilders IOC have been started." "EB" & diff --git a/ecal/startup.script b/ecal/startup.script index 075f1e9..05bb522 100644 --- a/ecal/startup.script +++ b/ecal/startup.script @@ -2,5 +2,17 @@ !ifndef RESTART set_addresses serials_trb3sc.db addresses_ecal.db !endif -wait + + trbcmd w 0xfe71 0xc800 0x00000000 + trbcmd w 0xfe71 0xc800 0x50003000 + + trbcmd w 0xfe71 0xc804 0x00000000 + trbcmd w 0xfe71 0xc804 0x00000078 + +#Load TDC settings + load_register register_tdc_ecal.db + + +#wait + diff --git a/hmon/hmon_endpoints.pl b/hmon/hmon_endpoints.pl index aaca648..567f18a 100755 --- a/hmon/hmon_endpoints.pl +++ b/hmon/hmon_endpoints.pl @@ -22,7 +22,7 @@ while(1) { ####config my @all_boards =(); - my @mdc_boards =( + my @mdc_boards =(0x8015,0x8016, ###OEPS 0x2010,0x2011,0x2012,0x2013,0x2014,0x2015,0x2016,0x2017,0x2018,0x2019,0x201a, 0x201b,0x201c,0x201d,0x2020,0x2021,0x2022,0x2023,0x2024,0x2025,0x2026,0x2027, @@ -79,20 +79,67 @@ while(1) { } } - my @rich_boards =( - 0x83c0,0x83c1,0x83c2,0x83c3,0x83c4,0x83c5,0x83c6,0x83c7,0x83c8,0x83c9,0x83ca -#0x3000,0x3001,0x3002,0x3003,0x3004,0x3010,0x3011,0x3012,0x3013,0x3014,0x3020, -# 0x3021,0x3022,0x3023,0x3024,0x3030,0x3031,0x3032,0x3033,0x3034,0x3040,0x3041, -# 0x3042,0x3043,0x3044,0x3050,0x3051,0x3052,0x3053,0x3054,0x8300,0x8301,0x8310, -# 0x8311,0x8320,0x8321 -); - + my @rich_boards =(0x8017,0x8018, + 0x83c0,0x83c1,0x83c2,0x83c3,0x83c4,0x83c5,0x83c6,0x83c7,0x83c8,0x83c9,0x83ca, + 0x7000,0x7001,0x7010,0x7011,0x7020,0x7021,0x7030,0x7031,0x7040,0x7041,0x7050,0x7051,0x7060,0x7061,0x7070,0x7071,0x7080,0x7081,0x7090,0x7091,0x70a0,0x70a1,0x70b0,0x70b1, + 0x7100,0x7101,0x7110,0x7111,0x7120,0x7121,0x7130,0x7131,0x7140,0x7141,0x7150,0x7151,0x7160,0x7161,0x7170,0x7171,0x7180,0x7181,0x7190,0x7191,0x71a0,0x71a1,0x71b0,0x71b1, + 0x7200,0x7201,0x7210,0x7211,0x7220,0x7221,0x7230,0x7231,0x7240,0x7241,0x7250,0x7251,0x7260,0x7261,0x7270,0x7271,0x7280,0x7281,0x7290,0x7291,0x72a0,0x72a1,0x72b0,0x72b1, + 0x7300,0x7301,0x7310,0x7311,0x7320,0x7321,0x7330,0x7331,0x7340,0x7341,0x7350,0x7351,0x7360,0x7361,0x7370,0x7371,0x7380,0x7381,0x7390,0x7391,0x73a0,0x73a1,0x73b0,0x73b1, + 0x7400,0x7401,0x7410,0x7411,0x7420,0x7421,0x7430,0x7431,0x7440,0x7441,0x7450,0x7451,0x7460,0x7461,0x7470,0x7471,0x7480,0x7481,0x7490,0x7491, + 0x7500,0x7501,0x7510,0x7511,0x7520,0x7521,0x7530,0x7531,0x7540,0x7541,0x7550,0x7551,0x7560,0x7561,0x7570,0x7571,0x7580,0x7581,0x7590,0x7591, + 0x7600,0x7601,0x7610,0x7611,0x7620,0x7621,0x7630,0x7631,0x7640,0x7641,0x7650,0x7651,0x7660,0x7661,0x7670,0x7671,0x7680,0x7681,0x7690,0x7691, + 0x7700,0x7701,0x7710,0x7711,0x7720,0x7721,0x7730,0x7731,0x7740,0x7741,0x7750,0x7751,0x7760,0x7761,0x7770,0x7771, + 0x7800,0x7801,0x7810,0x7811,0x7820,0x7821,0x7830,0x7831,0x7840,0x7841,0x7850,0x7851,0x7860,0x7861,0x7870,0x7871, + 0x7900,0x7901,0x7910,0x7911,0x7920,0x7921,0x7930,0x7931,0x7940,0x7941,0x7950,0x7951, + 0x7a00,0x7a01,0x7a10,0x7a11,0x7a20,0x7a21,0x7a30,0x7a31, + 0x7b00,0x7b01,0x7b10,0x7b11,0x7b20,0x7b21,0x7b30,0x7b31, + 0x7002,0x7003,0x7012,0x7013,0x7022,0x7023,0x7032,0x7033,0x7042,0x7043,0x7052,0x7053,0x7062,0x7063,0x7072,0x7073,0x7082,0x7083,0x7092,0x7093,0x70a2,0x70a3,0x70b2,0x70b3, + 0x7102,0x7103,0x7112,0x7113,0x7122,0x7123,0x7132,0x7133,0x7142,0x7143,0x7152,0x7153,0x7162,0x7163,0x7172,0x7173,0x7182,0x7183,0x7192,0x7193,0x71a2,0x71a3,0x71b2,0x71b3, + 0x7202,0x7203,0x7212,0x7213,0x7222,0x7223,0x7232,0x7233,0x7242,0x7243,0x7252,0x7253,0x7262,0x7263,0x7272,0x7273,0x7282,0x7283,0x7292,0x7293,0x72a2,0x72a3,0x72b2,0x72b3, + 0x7302,0x7303,0x7312,0x7313,0x7322,0x7323,0x7332,0x7333,0x7342,0x7343,0x7352,0x7353,0x7362,0x7363,0x7372,0x7373,0x7382,0x7383,0x7392,0x7393,0x73a2,0x73a3,0x73b2,0x73b3, + 0x7402,0x7403,0x7412,0x7413,0x7422,0x7423,0x7432,0x7433,0x7442,0x7443,0x7452,0x7453,0x7462,0x7463,0x7472,0x7473,0x7482,0x7483,0x7492,0x7493, + 0x7502,0x7503,0x7512,0x7513,0x7522,0x7523,0x7532,0x7533,0x7542,0x7543,0x7552,0x7553,0x7562,0x7563,0x7572,0x7573,0x7582,0x7583,0x7592,0x7593, + 0x7602,0x7603,0x7612,0x7613,0x7622,0x7623,0x7632,0x7633,0x7642,0x7643,0x7652,0x7653,0x7662,0x7663,0x7672,0x7673,0x7682,0x7683,0x7692,0x7693, + 0x7702,0x7703,0x7712,0x7713,0x7722,0x7723,0x7732,0x7733,0x7742,0x7743,0x7752,0x7753,0x7762,0x7763,0x7772,0x7773, + 0x7802,0x7803,0x7812,0x7813,0x7822,0x7823,0x7832,0x7833,0x7842,0x7843,0x7852,0x7853,0x7862,0x7863,0x7872,0x7873, + 0x7902,0x7903,0x7912,0x7913,0x7922,0x7923,0x7932,0x7933,0x7942,0x7943,0x7952,0x7953, + 0x7a02,0x7a03,0x7a12,0x7a13,0x7a22,0x7a23,0x7a32,0x7a33, + 0x7b02,0x7b03,0x7b12,0x7b13,0x7b22,0x7b23,0x7b32,0x7b33, + 0x7004,0x7005,0x7014,0x7015,0x7024,0x7025,0x7034,0x7035,0x7044,0x7045,0x7054,0x7055,0x7064,0x7065,0x7074,0x7075,0x7084,0x7085,0x7094,0x7095,0x70a4,0x70a5,0x70b4,0x70b5, + 0x7104,0x7105,0x7114,0x7115,0x7124,0x7125,0x7134,0x7135,0x7144,0x7145,0x7154,0x7155,0x7164,0x7165,0x7174,0x7175,0x7184,0x7185,0x7194,0x7195,0x71a4,0x71a5,0x71b4,0x71b5, + 0x7204,0x7205,0x7214,0x7215,0x7224,0x7225,0x7234,0x7235,0x7244,0x7245,0x7254,0x7255,0x7264,0x7265,0x7274,0x7275,0x7284,0x7285,0x7294,0x7295,0x72a4,0x72a5,0x72b4,0x72b5, + 0x7304,0x7305,0x7314,0x7315,0x7324,0x7325,0x7334,0x7335,0x7344,0x7345,0x7354,0x7355,0x7364,0x7365,0x7374,0x7375,0x7384,0x7385,0x7394,0x7395,0x73a4,0x73a5,0x73b4,0x73b5, + 0x7404,0x7405,0x7414,0x7415,0x7424,0x7425,0x7434,0x7435,0x7444,0x7445,0x7454,0x7455,0x7464,0x7465,0x7474,0x7475,0x7484,0x7485,0x7494,0x7495, + 0x7504,0x7505,0x7514,0x7515,0x7524,0x7525,0x7534,0x7535,0x7544,0x7545,0x7554,0x7555,0x7564,0x7565,0x7574,0x7575,0x7584,0x7585,0x7594,0x7595, + 0x7604,0x7605,0x7614,0x7615,0x7624,0x7625,0x7634,0x7635,0x7644,0x7645,0x7654,0x7655,0x7664,0x7665,0x7674,0x7675,0x7684,0x7685,0x7694,0x7695, + 0x7704,0x7705,0x7714,0x7715,0x7724,0x7725,0x7734,0x7735,0x7744,0x7745,0x7754,0x7755,0x7764,0x7765,0x7774,0x7775, + 0x7804,0x7805,0x7814,0x7815,0x7824,0x7825,0x7834,0x7835,0x7844,0x7845,0x7854,0x7855,0x7864,0x7865,0x7874,0x7875, + 0x7904,0x7905,0x7914,0x7915,0x7924,0x7925,0x7934,0x7935,0x7944,0x7945,0x7954,0x7955, + 0x7a04,0x7a05,0x7a14,0x7a15,0x7a24,0x7a25,0x7a34,0x7a35, + 0x7b04,0x7b05,0x7b14,0x7b15,0x7b24,0x7b25,0x7b34,0x7b35, + 0x7006,0x7007,0x7016,0x7017,0x7026,0x7027,0x7036,0x7037,0x7046,0x7047,0x7056,0x7057,0x7066,0x7067,0x7076,0x7077,0x7086,0x7087,0x7096,0x7097,0x70a6,0x70a7,0x70b6,0x70b7, + 0x7106,0x7107,0x7116,0x7117,0x7126,0x7127,0x7136,0x7137,0x7146,0x7147,0x7156,0x7157,0x7166,0x7167,0x7176,0x7177,0x7186,0x7187,0x7196,0x7197,0x71a6,0x71a7,0x71b6,0x71b7, + 0x7206,0x7207,0x7216,0x7217,0x7226,0x7227,0x7236,0x7237,0x7246,0x7247,0x7256,0x7257,0x7266,0x7267,0x7276,0x7277,0x7286,0x7287,0x7296,0x7297,0x72a6,0x72a7,0x72b6,0x72b7, + 0x7306,0x7307,0x7316,0x7317,0x7326,0x7327,0x7336,0x7337,0x7346,0x7347,0x7356,0x7357,0x7366,0x7367,0x7376,0x7377,0x7386,0x7387,0x7396,0x7397,0x73a6,0x73a7,0x73b6,0x73b7, + 0x7406,0x7407,0x7416,0x7417,0x7426,0x7427,0x7436,0x7437,0x7446,0x7447,0x7456,0x7457,0x7466,0x7467,0x7476,0x7477,0x7486,0x7487,0x7496,0x7497, + 0x7506,0x7507,0x7516,0x7517,0x7526,0x7527,0x7536,0x7537,0x7546,0x7547,0x7556,0x7557,0x7566,0x7567,0x7576,0x7577,0x7586,0x7587,0x7596,0x7597, + 0x7606,0x7607,0x7616,0x7617,0x7626,0x7627,0x7636,0x7637,0x7646,0x7647,0x7656,0x7657,0x7666,0x7667,0x7676,0x7677,0x7686,0x7687,0x7696,0x7697, + 0x7706,0x7707,0x7716,0x7717,0x7726,0x7727,0x7736,0x7737,0x7746,0x7747,0x7756,0x7757,0x7766,0x7767,0x7776,0x7777, + 0x7806,0x7807,0x7816,0x7817,0x7826,0x7827,0x7836,0x7837,0x7846,0x7847,0x7856,0x7857,0x7866,0x7867,0x7876,0x7877, + 0x7906,0x7907,0x7916,0x7917,0x7926,0x7927,0x7936,0x7937,0x7946,0x7947,0x7956,0x7957, + 0x7a06,0x7a07,0x7a16,0x7a17,0x7a26,0x7a27,0x7a36,0x7a37, + 0x7b06,0x7b07,0x7b16,0x7b17,0x7b26,0x7b27,0x7b36,0x7b37, + 0x8204,0x8205,0x8206,0x8211,0x8212,0x8213,0x8214,0x8215,0x8216,0x8217,0x8218,0x8221,0x8222,0x8223,0x8224,0x8225,0x8226,0x8227,0x8228,0x8229, + 0x8231,0x8239,0x8240,0x8241,0x8242,0x8243,0x8244,0x8245,0x8246,0x8247,0x8248,0x8249,0x824a,0x8250,0x8251,0x8252,0x8254,0x8256,0x8258,0x8259,0x825a, + 0x8260,0x8261,0x8262,0x8263,0x8264,0x8265,0x8266,0x8267,0x8268,0x8269,0x826a,0x8271,0x8279,0x8281,0x8282,0x8283,0x8284,0x8285,0x8286,0x8287,0x8288,0x8289, + 0x8291,0x8292,0x8293,0x8294,0x8295,0x8296,0x8297,0x8298,0x82a4,0x82a5,0x82a6 + ); my @tof_boards =(0x4c00,0x4c10,0x4c20,0x4c30,0x4c31,0x4c40,0x4c50,0x8600,0x8601,0x4800,0x4801,0x4802,0x4803,0x4810,0x4811,0x4812,0x4813,0x4820,0x4821,0x4822, 0x4823,0x4830,0x4831,0x4832,0x4833,0x4840,0x4841,0x4842,0x4843,0x4850,0x4851, - 0x4852,0x4853,0x8400,0x8401,0x8410,0x8411); + 0x4852,0x4853,0x8400,0x8401,0x8410,0x8411, 0x4400,0x4410,0x4420,0x8700,0x8701,); - my @rpc_boards = ( + my @rpc_boards = (0x8013, 0x8a00,0x8a01,0x8a02,0x8a03,0x8a04,0x8a05, #0x6000,0x6001,0x6002,0x6003,0x6004,0x6005,0x6006, #0x6010,0x6011,0x6012, @@ -104,28 +151,17 @@ while(1) { ); my @other_boards =( - #shower -# 0x3200,0x3201,0x3202,0x3210,0x3211,0x3212,0x3220,0x3221,0x3222,0x3230,0x3231,0x3232,0x3240,0x3241,0x3242, -# 0x3250,0x3251,0x3252, - #shower-hub -# 0x8500,0x8501, #cts 0x0002,0x0003, #central hub - 0x8000,0x8012,0x8013,0x8015,0x8016,0x8017,0x8018, + 0x8000,0x8012,0x8800, #start/veto # 0x4000, - #start/veto hub - 0x8800, - #fw - 0x4400,0x4410,0x4420, - #fw hub - 0x8700,0x8701, #Pion # 0x8900,0x3800,0x3801, # 0x8910,0x3810,0x3811, #Start TRB3 -# 0x8880,0x5000,0x5002,0x5003, + 0x8880,0x5000,0x5002,0x5003, #Hodo TRB3 # 0x8890,0x5010,0x5011,0x5012,0x5013 ); @@ -215,7 +251,7 @@ while(1) { my $num_tof_mistake = (scalar @{$tof_results[4]}); my @sorted_tof_results = sort @{$tof_results[2]}; - my $tof_title = "TOF/RPC"; + my $tof_title = "TOF/RPC/FW"; my $tof_value = "OK"; if ($num_tof_missing > 0) {$tof_value = "$num_tof_missing missing";} if ($num_tof_mistake > 0) {$tof_value = "Check Script";} @@ -225,7 +261,7 @@ while(1) { if ($num_tof_mistake > 0) {$tof_longtext .= " Endp @{$tof_results[4]} not known";} $qastate = QA::GetQAState('below',$num_tof_missing,@QA::TofEndpMissingLimits); - Hmon::Speak('tofmiss',"$num_tof_missing Tof/Rpc Frontends missing") if($qastate > 60); + Hmon::Speak('tofmiss',"$num_tof_missing Tof/Rpc/FW Frontends missing") if($qastate > 60); QA::WriteQALog($flog,"endp","tof",$waittime,$qastate, $tof_title,$tof_value,$tof_longtext); if($qastate > 60) { @@ -280,7 +316,7 @@ while(1) { my $num_other_mistake = (scalar @{$other_results[4]}); my @sorted_other_results = sort @{$other_results[2]}; - my $other_title = "Sh/FW/S/V/CTS"; + my $other_title = "Hub/St/CTS"; my $other_value = "OK"; if ($num_other_missing > 0) {$other_value = "$num_other_missing missing";} if ($num_other_mistake > 0) {$other_value = "Check Script";} diff --git a/hmon/hmon_filllevel.pl b/hmon/hmon_filllevel.pl index e0f306a..ce5a9f1 100755 --- a/hmon/hmon_filllevel.pl +++ b/hmon/hmon_filllevel.pl @@ -16,9 +16,9 @@ while (1) { my $data_oep = trb_register_read(0xfffd, 0x7100) or sleep 5 and next; - my $data_shw = trb_register_read_mem(0xfff7, 0x7100,0,6) or sleep 5 and next; - my $data_trb = trb_register_read(0xffef, 0x7100) or sleep 5 and next; - my $data_lvl1 = trb_register_read(0x2, 0x1) or sleep 5 and next; +# my $data_shw = trb_register_read_mem(0xfff7, 0x7100,0,6) or sleep 5 and next; + my $data_trb = trb_register_read(0xffff, 0x7100) or sleep 5 and next; +# my $data_lvl1 = trb_register_read(0x2, 0x1) or sleep 5 and next; # print Dumper $data_trb; @@ -29,14 +29,14 @@ while (1) { } } - my $maxshw = 0; - foreach my $o (values %$data_shw) { - for my $i (0..5) { - if (($o->[$i] & 0xFFFF) > $maxshw) { - $maxshw = $o->[$i] & 0xFFFF; - } - } - } +# my $maxshw = 0; +# foreach my $o (values %$data_shw) { +# for my $i (0..5) { +# if (($o->[$i] & 0xFFFF) > $maxshw) { +# $maxshw = $o->[$i] & 0xFFFF; +# } +# } +# } my $maxtrb = 0; my $i = 0; diff --git a/hmon/hmon_mdc_retr.pl b/hmon/hmon_mdc_retr.pl index a1a723b..a269625 100755 --- a/hmon/hmon_mdc_retr.pl +++ b/hmon/hmon_mdc_retr.pl @@ -52,7 +52,7 @@ while (1) { my %raw; my $max; my $min; - ($min, $max) = Hmon::MakeMinMax3(\%store, 4, 6, 16, 0); + ($min, $max) = Hmon::MakeMinMax3(\%store, 4, 6, 16); if ($min == 0 && $max == 0) { $max = 1; } @@ -78,7 +78,7 @@ while (1) { $str[1][2]."

".$str[1][3].$str[2][0]); - ($min, $max) = Hmon::MakeMinMax3(\%store, 4, 6, 16, 0); + ($min, $max) = Hmon::MakeMinMax3(\%store2, 4, 6, 16, 0); if ($min == 0 && $max == 0) { $max = 1; } diff --git a/hmon/hmon_spill.pl b/hmon/hmon_spill.pl index cc318fe..677a7a9 100755 --- a/hmon/hmon_spill.pl +++ b/hmon/hmon_spill.pl @@ -57,13 +57,15 @@ while (1) { my $stopped = trb_register_read(0x3,0xa0c0) or sleep 5 and next; $stopped = ($stopped->{3} || 0) & 0x400; - my $sc = trb_register_read(0x3830,0xc00d); - if(!defined $sc) { - sleep 10; - next; - } - my $spillcount = $sc->{0x3830} & 0x00ffffff; - my $inspill = ($sc->{0x3830} & 0x80000000) >> 31; +# my $sc = trb_register_read(0x3830,0xc00d); +# if(!defined $sc) { +# sleep 10; +# next; +# } +# my $spillcount = $sc->{0x3830} & 0x00ffffff; +# my $inspill = ($sc->{0x3830} & 0x80000000) >> 31; + my $spillcount = 0; + my $inspill = 0; $lastspill = $outofspill; $outofspill = ($rh_result->{QA::CTSAddress} || 0) & 0x10; diff --git a/hmon/permanent/hmon_cpu.pl b/hmon/permanent/hmon_cpu.pl index 5a960e9..b64e085 100755 --- a/hmon/permanent/hmon_cpu.pl +++ b/hmon/permanent/hmon_cpu.pl @@ -31,15 +31,17 @@ my $fqa = QA::OpenQAFile(); # softirq: servicing softirqs #my @srv = qw(lxhadeb01 lxhadeb02 lxhadeb03 lxhadeb04 lxhadeb05 lxhadeb06 lxhadesdaq hadesdaq01 hadesdaq02 hades30 hades31 hades33); #dcs02-07 -my @srv = qw(lxhadeb02 lxhadeb03 lxhadeb04 lxhadeb05 lxhadeb06 lxhadeb07 lxhadesdaq hadesdaqp02 hadesdaq03 hadesdaq04 hades30 hadesp31 hades33 -lxhaddcs03 lxhaddcs04 lxhaddcs05 lxhaddcs06); +my @srv = qw(lxhadeb02 lxhadeb03 lxhadeb04 lxhadeb05 lxhadeb06 lxhadeb07 lxhadeb08 lxhadeb09 lxhadeb10 lxhadesdaq hadesdaqp02 hadesdaq03 hadesdaq04 hades30 hadesp31 depcp418 hades33 +lxhaddcs03p lxhaddcs04p lxhaddcs05p lxhaddcs06p); + my $template .= "\n\n
"; -for(my $d=1;$d<=16;$d++) { +for(my $d=1;$d<=32;$d++) { $template .= "$d"; } + while(1) { $laststore = clone($store); $store = {}; @@ -52,6 +54,7 @@ while(1) { $store->{$n}->{$1}->{"user"} = $s[1]; $store->{$n}->{$1}->{"nice"} = $s[2]; $store->{$n}->{$1}->{"sys"} = $s[3]; + $store->{$n}->{$1}->{"idle"} = $s[4]; $store->{$n}->{$1}->{"io"} = $s[5]; $store->{$n}->{$1}->{"irq"} = $s[6]; @@ -66,7 +69,7 @@ while(1) { my $maxstr = ""; my $busystr = ""; if (defined $laststore->{0}->{0}->{'idle'}) { - $str = Hmon::MakeTitle(7,12,"Server CPU Usage"); + $str = Hmon::MakeTitle(13,11,"Server CPU Usage"); $str .= $template; for(my $s = 0; $s < scalar @srv; $s++) { $str .= "\n
$srv[$s]"; @@ -92,7 +95,7 @@ while(1) { $busystr = sprintf("Max. Load: %.1f%% on %s CPU %d (sys %.1f, wait %.1f, irq %.1f)",$max,$srv[$s],$c,$sys,$io,$irq); } - if($c%16==15 && defined $store->{$s}->{$c+1}->{'idle'}) { + if($c%32==31 && defined $store->{$s}->{$c+1}->{'idle'}) { $str .= "
"; } } diff --git a/hmon/permanent/hmon_eb_run.pl b/hmon/permanent/hmon_eb_run.pl index b392010..d803448 100755 --- a/hmon/permanent/hmon_eb_run.pl +++ b/hmon/permanent/hmon_eb_run.pl @@ -26,6 +26,8 @@ my $lasttotalbytes = 21; my @ebrecvhist; my @byteshist; +my $numebs = 15; + # JAM2018: eb number 16 is deactivated for BNET setup sub cntbits32 { return (unpack('%32b*', pack('i',$_[0]))); @@ -38,7 +40,7 @@ if(!$connect_status) { my $fqa = QA::OpenQAFile(); -for(my $i = 0; $i<=15; $i++) { +for(my $i = 0; $i<$numebs; $i++) { my $s = sprintf("HAD:eb%02i",$i+1); Perl2Epics::Connect("ebstat$i",$s.":status"); Perl2Epics::Connect("ebrate$i",$s.":evtCRate"); @@ -98,7 +100,8 @@ while(1) { $evtavgspill /= scalar @evtrates; my $data = Perl2Epics::GetAll(); - for(my $i = 0; $i<=15; $i++) { + for(my $i = 0; $i<$numebs; $i++) { + $totalrate += $data->{"ebrate$i"}->{val} || 0; $totaldiscarded += $data->{"ebdisc$i"}->{val} || 0; $totalbytes += $data->{"ebbyte$i"}->{val} || 0; @@ -111,7 +114,7 @@ while(1) { $qamsgdisc .= " - " unless $qamsgdisc eq ""; $qamsgdisc .= "EB".($i+1)." ".$data->{"ebdisc$i"}->{val}." events"; } - + #print "Perl2Epics::GetAll() delivers ebstat for index $i : $data->{\"ebstat$i\"}->{val} \n"; if ($data->{"ebstat$i"}->{val}) { $actmask |= (1<<$i); if ($data->{"ebrate$i"}->{val} > 0) { @@ -131,7 +134,7 @@ while(1) { my $totalrateavg = 0; $totalrateavg += $_ for @ebrates; - + my $act = cntbits32($actmask); my $sent = cntbits32($sentmask); @@ -143,7 +146,7 @@ while(1) { my $mismatch_sr = 0; my $mismatch_sa = 0; - for(my $i=0;$i<16;$i++) { + for(my $i=0;$i<$numebs;$i++) { $mismatch_sr |= (1<<$i) if ($sentmask & (1<<$i)) && !($recvmask & (1<<$i)); $mismatch_sa |= (1<<$i) if ($sentmask & (1<<$i)) && !($actmask & (1<<$i)); } @@ -154,7 +157,7 @@ while(1) { if($mismatch_sr != 0) { if ($evtrate > $act*32) { my $str = ""; - for(my $i = 0; $i < 16; $i++) { + for(my $i = 0; $i < $numebs; $i++) { if ($mismatch_sr & (1<<$i)) { $str .= ", " if $str ne ""; $str .= $i+1; @@ -175,7 +178,7 @@ while(1) { #Mismatch between selected EB in CTS and running EB processes if($mismatch_sa != 0) { my $str = ""; - for(my $i = 0; $i < 16; $i++) { + for(my $i = 0; $i < $numebs; $i++) { if ($mismatch_sa & (1<<$i)) { $str .= ", " if $str ne ""; $str .= $i+1; @@ -205,6 +208,7 @@ while(1) { my $qatitle = "#EB running"; $qatitle = "EB stopped" if ($act == 0) ; + #print "$qatitle with act = $act , actmask = $actmask , sent = $sent , sentmask = $sentmask\n" ; Hmon::Speak('ebrun',$qamsg) if $qastate > 60; QA::WriteQALog($fqa, "eb", "run", 10, $qastate, $qatitle, "act: $recv/$sent (".$data->{"prefix"}->{val}.")", $qamsg); diff --git a/hub/configure_ports.script b/hub/configure_ports.script index 0b315eb..8ba1a56 100644 --- a/hub/configure_ports.script +++ b/hub/configure_ports.script @@ -2,9 +2,9 @@ !ifndef RICH - trbcmd clearbit 0x8000 0xc0 0x0110 - trbcmd clearbit 0x8000 0xc1 0x0110 - trbcmd clearbit 0x8000 0xc3 0x0110 + trbcmd clearbit 0x8000 0xc0 0x0180 + trbcmd clearbit 0x8000 0xc1 0x0180 + trbcmd clearbit 0x8000 0xc3 0x0180 !endif diff --git a/main/startup_briccolage.sh b/main/startup_briccolage.sh index 4507aa4..7e4e541 100755 --- a/main/startup_briccolage.sh +++ b/main/startup_briccolage.sh @@ -35,7 +35,9 @@ notifyall.sh "DAQ" " DAQ is going to be restarted." "STARTUP" & #2014-04-16 frquent reinits, still token missing 20114-08-13 CW -#switchport.pl 0x1151 8 off #2257 +switchport.pl 0x1151 8 off #2257 +switchport.pl 0x1124 4 off #222a + #Retransmission on as early as possible # trbcmd setbit 0xfffd 0x22 0x08000000 #enable retransmission on oep @@ -44,8 +46,8 @@ notifyall.sh "DAQ" " DAQ is going to be restarted." "STARTUP" & #Main Start-up echo " Running Startup script" time ./startup.pl -f main_hades.script -eb off -o file \ - -m TOF -m RPC -m WALL -m NORICH -m WALL -m NOPION \ - -m NOSTARTCTS -m NORESET -m CONFIGONLY -m MON_CTS \ + -m TOF -m RPC -m WALL -m RICH -m WALL -m NOPION -m ECAL \ + -m STARTCTS -m NORESET -m CONFIGONLY -m MON_CTS \ -m MDC -m MDCreg0current -m MDCnomasks -m MDCDATASET -m MDCindiv diff --git a/nettools/Perl2Epics.pm b/nettools/Perl2Epics.pm index 9289531..9b83613 100644 --- a/nettools/Perl2Epics.pm +++ b/nettools/Perl2Epics.pm @@ -7,9 +7,13 @@ use Data::Dumper; use lib '/home/scs/EPICS/EPICS-3.14.12.4/base/' . '/lib/perl'; use CA; -$ENV{EPICS_CA_AUTO_ADDR_LIST} = 'YES'; +$ENV{EPICS_CA_AUTO_ADDR_LIST} = 'NO'; + +#JAM2018: updated after network mask redefinition: +$ENV{EPICS_CA_ADDR_LIST} = "192.168.111.255 192.168.111.255:10012 192.168.111.255:10008 192.168.111.255:10003 192.168.111.255:10002 192.168.111.255:10001 192.168.111.255:10014 192.168.111.255:10007 192.168.111.255:10004 192.168.111.255:10010 192.168.111.255:10013 192.168.111.255:10015 192.168.111.255:10016 192.168.111.255:10009 192.168.111.255:10005 192.168.111.255:10011 192.168.111.255:10006 localhost"; +# # JAM added fixed port numbers of EB epics -$ENV{EPICS_CA_ADDR_LIST} = "192.168.103.255 192.168.103.255:10012 192.168.103.255:10008 192.168.103.255:10003 192.168.103.255:10002 192.168.103.255:10001 192.168.103.255:10014 192.168.103.255:10007 192.168.103.255:10004 192.168.103.255:10010 192.168.103.255:10013 192.168.103.255:10015 192.168.103.255:10016 192.168.103.255:10009 192.168.103.255:10005 192.168.103.255:10011 192.168.103.255:10006 localhost"; +#$ENV{EPICS_CA_ADDR_LIST} = "192.168.103.255 192.168.103.255:10012 192.168.103.255:10008 192.168.103.255:10003 192.168.103.255:10002 192.168.103.255:10001 192.168.103.255:10014 192.168.103.255:10007 192.168.103.255:10004 192.168.103.255:10010 192.168.103.255:10013 192.168.103.255:10015 192.168.103.255:10016 192.168.103.255:10009 192.168.103.255:10005 192.168.103.255:10011 192.168.103.255:10006 localhost"; #$ENV{EPICS_CA_ADDR_LIST} = "192.168.100.11 192.168.100.12 192.168.100.13 192.168.100.14 192.168.100.15 localhost"; my $EpicsValues = {}; diff --git a/oracle/daq2stdout.pl b/oracle/daq2stdout.pl index 66ff633..db34413 100755 --- a/oracle/daq2stdout.pl +++ b/oracle/daq2stdout.pl @@ -105,11 +105,13 @@ sub readDB() #&readSerialsDB("../start/serials_start.db", "StartVeto"); &readSerialsDB("../start/serials_start_trb3.db", "StartTrb3"); &readSerialsDB("../hub/serials_hub.db", "Hub-All"); - &readSerialsDB("../hub/serials_trb3sc.db", "Hub-AllTrb3"); +# &readSerialsDB("../hub/serials_trb3sc.db", "Hub-AllTrb3"); +&readSerialsDB("../../daqtools/base/serials_trb3sc.db", "Hub-AllTrb3"); &readSerialsDB("../cts/serials_cts.db", "CTS"); &readSerialsDB("../mdc/serials_mdcaddon.db", "MDC-AddOn"); &readSerialsDB("../mdc/serials_oep.db", "MDC-OEP"); - &readSerialsDB("../ecal/serials_trb3sc.db", "ECal"); +# &readSerialsDB("../ecal/serials_trb3sc.db", "ECal"); +&readSerialsDB("../../daqtools/base/serials_trb3sc.db", "ECal"); #&readSerialsDB("../pion/serials_pion.db", "Pion"); #&readSerialsDB("../rich/serials_rich.db", "RICH-ADCM"); &readSerialsDB("../rpc/serials_rpc.db", "RPC"); @@ -373,11 +375,11 @@ sub checkBoards() my $addr = $conf_db_href->{'addresses'}->{$type}->{$serial}->{'addr'}; unless( defined $addr ){ - print "ERROR: Address is not defined for type: $type serial: $serial.\n"; + print STDERR "ERROR: Address is not defined for type: $type serial: $serial.\n"; next; } - print "Network address $netaddr does not fit the data base $addr!\n" + print STDERR "Network address $netaddr does not fit the data base $addr!\n" unless( $netaddr eq $addr ); } diff --git a/rpc/addresses_rpc.db b/rpc/addresses_rpc.db index b4222c1..96a3278 100644 --- a/rpc/addresses_rpc.db +++ b/rpc/addresses_rpc.db @@ -3,8 +3,8 @@ 0x4800 059 1 7 059 0x4801 067 1 7 067 0x4802 052 1 7 052 -0x4803 056 1 7 056 -0x4810 094 1 7 094 +0x4803 124 1 7 124 +0x4810 055 1 7 055 0x4811 085 1 7 085 0x4812 065 1 7 065 0x4813 063 1 7 063 @@ -15,7 +15,6 @@ 0x4830 092 1 7 092 0x4831 083 1 7 083 0x4832 075 1 7 075 -#x4833 076 1 7 076 0x4833 061 1 7 061 0x4840 054 1 7 054 0x4841 053 1 7 053 diff --git a/rpc/serials_rpc.db b/rpc/serials_rpc.db index 4cf73e3..bca2040 100644 --- a/rpc/serials_rpc.db +++ b/rpc/serials_rpc.db @@ -1,30 +1,27 @@ # s/n # unique id ########################### - 068 0x83000001c1974e28 - 067 0xfb000001241bdb28 059 0xff00000123f5c328 - 056 0xe000000123f2e828 - 094 0xc8000001fc3efd28 + 067 0xfb000001241bdb28 + 052 0x7700000123f26428 + 124 0x3c000001c170d928 + 055 0x4600000123f25028 085 0x8c000001fc5e9428 065 0xca000001241bef28 063 0xe500000124052d28 - 040 0x9500000123f4fe28 - 031 0x0a0000012410fa28 089 0xc0000001ff590b28 + 031 0x0a0000012410fa28 + 040 0x9500000123f4fe28 074 0xfa000001c17e8428 - 091 0x71000001fc2bd528 - 080 0x22000001fc5e6028 - 078 0x5c000001fc5dd128 -# 076 0x36000001fc5df528 - 122 0xd0000001c17feb28 - 054 0xe200000124172628 - 053 0xad00000123f25528 - 052 0x7700000123f26428 - 051 0x6200000123f25f28 092 0xdf000001fc5bb528 083 0x60000001c17b9a28 075 0x6f000001fc5df628 061 0xf500000123f59c28 + 054 0xe200000124172628 + 053 0xad00000123f25528 110 0x90000001c1712728 + 051 0x6200000123f25f28 + 091 0x71000001fc2bd528 + 080 0x22000001fc5e6028 + 078 0x5c000001fc5dd128 034 0xd7000001241ee528 diff --git a/rpc/trb.db b/rpc/trb.db index 3a397d5..7e7fe90 100644 --- a/rpc/trb.db +++ b/rpc/trb.db @@ -1,33 +1,31 @@ -#rpc etraxp068 -rpc etraxp110 -rpc etraxp067 rpc etraxp059 -rpc etraxp056 -rpc etraxp094 +rpc etraxp067 +rpc etraxp052 +rpc etraxp124 +rpc etraxp055 rpc etraxp085 rpc etraxp065 rpc etraxp063 -rpc etraxp040 -rpc etraxp031 rpc etraxp089 +rpc etraxp031 +rpc etraxp040 rpc etraxp074 -rpc etraxp091 -rpc etraxp080 -rpc etraxp078 -#rpc etraxp076 -rpc etraxp034 -rpc etraxp054 -rpc etraxp053 -rpc etraxp052 -rpc etraxp051 rpc etraxp092 rpc etraxp083 rpc etraxp075 rpc etraxp061 +rpc etraxp054 +rpc etraxp053 +rpc etraxp110 +rpc etraxp051 +rpc etraxp091 +rpc etraxp080 +rpc etraxp078 +rpc etraxp034 rpc_blr etraxp059 -rpc_blr etraxp094 +rpc_blr etraxp055 rpc_blr etraxp089 -rpc_blr etraxp091 -rpc_blr etraxp054 rpc_blr etraxp092 +rpc_blr etraxp054 +rpc_blr etraxp091 diff --git a/start/addresses_trb3sc.db b/start/addresses_trb3sc.db new file mode 100644 index 0000000..7e1ba3f --- /dev/null +++ b/start/addresses_trb3sc.db @@ -0,0 +1,4 @@ +#Address # S/N # FPGA # Design # TRB # +################################################### +0x0100 1521 1 0 0 #central rack trig gen +0x0110 1451 1 0 0 # RICH rack sensor board diff --git a/start/serials_trb3sc.db b/start/serials_trb3sc.db new file mode 100644 index 0000000..ddbc65a --- /dev/null +++ b/start/serials_trb3sc.db @@ -0,0 +1,2 @@ + 1451 0xc300000940955b28 + 1521 0x8000000940d6a228 diff --git a/start/startup.script b/start/startup.script index bc50b37..f131b11 100644 --- a/start/startup.script +++ b/start/startup.script @@ -5,6 +5,7 @@ !ifndef RESTART # set_addresses serials_start.db addresses_start.db #addresses for Start/Veto TRB set_addresses serials_start_trb3.db addresses_start_trb3.db #addresses for Start/Veto TRB + set_addresses serials_trb3sc.db addresses_trb3sc.db !endif @@ -15,43 +16,42 @@ #Triggerless mode, calib downscaling trbcmd setbit 0xfe48 0xc800 0x40003000 -trbcmd setbit 0xfe4e 0xc800 0x40003000 +# trbcmd setbit 0xfe4e 0xc800 0x40003000 # -2us +200ns trigger window trbcmd w 0xfe48 0xc801 0x80280190 -trbcmd w 0xfe4e 0xc801 0x80280190 +#trbcmd w 0xfe4e 0xc801 0x80280190 #Data limit off trbcmd w 0xfe48 0xc804 0x00000080 -trbcmd w 0xfe4e 0xc804 0x00000080 +#trbcmd w 0xfe4e 0xc804 0x00000080 #Hodoscope inputs - trbcmd w 0x5010 0xc802 0xffffffff # disable channel 0-31 - trbcmd w 0x5010 0xc803 0x00000000 # disable channel 32-63 - trbcmd w 0x5011 0xc802 0xffffffff # disable channel 0-31 - trbcmd w 0x5011 0xc803 0x00000000 # disable channel 32-63 - trbcmd w 0x5012 0xc802 0xffffffff # disable channel 0-31 - trbcmd w 0x5012 0xc803 0x00000000 # disable channel 32-63 - trbcmd w 0x5013 0xc802 0xffffffff # disable channel 0-31 - trbcmd w 0x5013 0xc803 0x00000000 # disable channel 32-63 +# trbcmd w 0x5010 0xc802 0xffffffff # disable channel 0-31 +# trbcmd w 0x5010 0xc803 0x00000000 # disable channel 32-63 +# trbcmd w 0x5011 0xc802 0xffffffff # disable channel 0-31 +# trbcmd w 0x5011 0xc803 0x00000000 # disable channel 32-63 +# trbcmd w 0x5012 0xc802 0xffffffff # disable channel 0-31 +# trbcmd w 0x5012 0xc803 0x00000000 # disable channel 32-63 +# trbcmd w 0x5013 0xc802 0xffffffff # disable channel 0-31 +# trbcmd w 0x5013 0xc803 0x00000000 # disable channel 32-63 #Start inputs # trbcmd w 0x5000 0xc802 0xfffcfcfc # disable channel 0-31 - trbcmd w 0x5000 0xc803 0x00000000 # disable channel 32-63 - trbcmd w 0x5001 0xc802 0x00000000 # disable channel 0-31 - trbcmd w 0x5001 0xc803 0x00000000 # disable channel 32-63 - trbcmd w 0x5002 0xc802 0xfffcfcfc # disable channel 0-31 - trbcmd w 0x5002 0xc803 0x00000000 # disable channel 32-63 - trbcmd w 0x5003 0xc802 0xfff003fc # disable channel 0-31 - trbcmd w 0x5003 0xc803 0x00000000 # disable channel 32-63 +# trbcmd w 0x5000 0xc803 0x00000000 # disable channel 32-63 +# trbcmd w 0x5001 0xc802 0x00000000 # disable channel 0-31 +# trbcmd w 0x5001 0xc803 0x00000000 # disable channel 32-63 +# trbcmd w 0x5002 0xc802 0xfffcfcfc # disable channel 0-31 +# trbcmd w 0x5002 0xc803 0x00000000 # disable channel 32-63 +# trbcmd w 0x5003 0xc802 0xfff003fc # disable channel 0-31 +# trbcmd w 0x5003 0xc803 0x00000000 # disable channel 32-63 - trbcmd w 0x5000 0xc802 0xffffffff # eneable 32 channels in 0x5000 - trbcmd w 0x5001 0xc802 0x0000000f # enable only first two channels in 0x5001 - trbcmd w 0x5002 0xc802 0xffffffff # eneable 32 channels in 0x5002 - trbcmd w 0x5003 0xc802 0xffffffff # eneable 32 channels in 0x5003 - +trbcmd w 0x5000 0xc802 0xffff # enable 16 channels in 0x5000 +trbcmd w 0x5001 0xc802 0xffff # enable 16 channels in 0x5001 +trbcmd w 0x5002 0xc802 0xffff # enable 16 channels in 0x5002 +trbcmd w 0x5003 0xc802 0xfff # enable 12 channels in 0x5003 #Trigger Generator Settings @@ -63,14 +63,6 @@ trbcmd w 0x5003 0xcf00 0x7e1e trbcmd w 0x8880 0xcf00 0x1101 #Forward to CTS via central FPGA #Connected to second Start input on CTS -trbcmd w 0x5010 0xcf00 0x0055 -trbcmd w 0x5011 0xcf00 0x0055 -trbcmd w 0x5012 0xcf00 0x0055 -trbcmd w 0x5013 0xcf00 0x0055 -trbcmd w 0x5010 0xcf02 0x5500 -trbcmd w 0x5011 0xcf02 0x5500 -trbcmd w 0x5012 0xcf02 0x5500 -trbcmd w 0x5013 0xcf02 0x5500 trbcmd w 0x8890 0xcf00 0x0000 #Forward to CTS via central FPGA trbcmd w 0x8890 0xcf25 0x1111 @@ -79,14 +71,14 @@ trbcmd w 0x8890 0xcf26 0x2222 #Input Monitor Settings #Enable 16 inputs on all -trbcmd w 0x5000 0xcf80 0xfeee -trbcmd w 0x5001 0xcf80 0x0000 -trbcmd w 0x5002 0xcf80 0xfeee -trbcmd w 0x5003 0xcf80 0xf81e -trbcmd w 0x5010 0xcf80 0xffff -trbcmd w 0x5011 0xcf80 0xffff -trbcmd w 0x5012 0xcf80 0xffff -trbcmd w 0x5013 0xcf80 0xffff +#trbcmd w 0x5000 0xcf80 0xfeee +#trbcmd w 0x5001 0xcf80 0x0000 +#trbcmd w 0x5002 0xcf80 0xfeee +#trbcmd w 0x5003 0xcf80 0xf81e +#trbcmd w 0x5010 0xcf80 0xffff +#trbcmd w 0x5011 0xcf80 0xffff +#trbcmd w 0x5012 0xcf80 0xffff +#trbcmd w 0x5013 0xcf80 0xffff trbcmd w 0x8880 0xcf80 0xfffff trbcmd w 0x8880 0xcf82 100000 #1ms binning by default @@ -102,11 +94,12 @@ trbcmd loadbit 0x8880 0xcf8f 0x1f0000 0x100000 #select output 0 for monitoring #trbcmd clearbit 0x8890 0xc3 0x0 #invert inputs of slow channels -exec_cmd{local} /home/hadaq/trbsoft/daqtools/tools/padiwa.pl 0x5010 0 invert 0xaaaa -exec_cmd{local} /home/hadaq/trbsoft/daqtools/tools/padiwa.pl 0x5011 0 invert 0xaaaa -exec_cmd{local} /home/hadaq/trbsoft/daqtools/tools/padiwa.pl 0x5012 0 invert 0xaaaa -exec_cmd{local} /home/hadaq/trbsoft/daqtools/tools/padiwa.pl 0x5013 0 invert 0xaaaa +#exec_cmd{local} /home/hadaq/trbsoft/daqtools/tools/padiwa.pl 0x5010 0 invert 0xaaaa +#exec_cmd{local} /home/hadaq/trbsoft/daqtools/tools/padiwa.pl 0x5011 0 invert 0xaaaa +#exec_cmd{local} /home/hadaq/trbsoft/daqtools/tools/padiwa.pl 0x5012 0 invert 0xaaaa +#exec_cmd{local} /home/hadaq/trbsoft/daqtools/tools/padiwa.pl 0x5013 0 invert 0xaaaa -exec_cmd{local} /home/hadaq/trbsoft/daqtools/tools/dac_program.pl ../start/ThreshPadiwaVeto.db +#old configuration +#exec_cmd{local} /home/hadaq/trbsoft/daqtools/tools/dac_program.pl ../start/ThreshPadiwaVeto.db exec_cmd{local} /home/hadaq/trbsoft/daqtools/tools/dac_program.pl ../start/ThreshNinoStart.db -- 2.43.0