From 54a22bba7840dc9ab0e805b72be5da259a6dd56c Mon Sep 17 00:00:00 2001 From: wierenga <sdos@astron.nl> Date: Wed, 8 Nov 2006 14:41:55 +0000 Subject: [PATCH] BugID: 781 Now keeping separate states on each individual write to following registers: DIAG_WG SST XST CDO This is important to make sure any changes are written correctly from cache to hardware. --- .../APL/RSP_Protocol/AllRegisterState.h | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/MAC/APL/PIC/RSP_Protocol/include/APL/RSP_Protocol/AllRegisterState.h b/MAC/APL/PIC/RSP_Protocol/include/APL/RSP_Protocol/AllRegisterState.h index d488bf8311c..ede44aa4593 100644 --- a/MAC/APL/PIC/RSP_Protocol/include/APL/RSP_Protocol/AllRegisterState.h +++ b/MAC/APL/PIC/RSP_Protocol/include/APL/RSP_Protocol/AllRegisterState.h @@ -71,11 +71,11 @@ namespace LOFAR { rcuprotocol_state.resize(nrRcus); hbaprotocol_state.resize(nrRcus); rsuclear_state.resize(nrRspBoards); - diagwgsettings_state.resize(nrRcus); - sst_state.resize(nrBlps); + diagwgsettings_state.resize(nrRcus * EPA_Protocol::MEPHeader::N_DIAG_WG_REGISTERS); + sst_state.resize(nrBlps * EPA_Protocol::MEPHeader::SST_N_FRAGMENTS); bst_state.resize(nrRspBoards); - xst_state.resize(nrRspBoards); - cdo_state.resize(nrRspBoards); + xst_state.resize(nrRspBoards * EPA_Protocol::MEPHeader::XST_NR_STATS); + cdo_state.resize(nrRspBoards * EPA_Protocol::MEPHeader::N_CDO_REGISTERS); bs_state.resize(nrBlps); tdclear_state.resize(nrRspBoards); tdwrite_state.resize(nrRspBoards); @@ -110,29 +110,29 @@ namespace LOFAR { ts_state.reset(); sys_state.read(); - bf_state.write_force(); - ss_state.write_force(); - rcusettings_state.write_force(); - rcuprotocol_state.write_force(); - hbaprotocol_state.write_force(); + bf_state.write(); + ss_state.write(); + rcusettings_state.write(); + rcuprotocol_state.write(); + hbaprotocol_state.write(); rsuclear_state.check(); - diagwgsettings_state.write_force(); + diagwgsettings_state.write(); sst_state.read(); bst_state.read(); xst_state.read(); - cdo_state.write_force(); + cdo_state.write(); bs_state.check(); tdclear_state.check(); tdwrite_state.check(); tdread_state.check(); - rad_state.write_force(); - ts_state.write_force(); + rad_state.write(); + ts_state.write(); } void schedule() { sys_state.read(); - bf_state.write_force(); // always write bf - ss_state.write_force(); // always write ss + bf_state.write(); // always write bf + ss_state.write(); // always write ss rcusettings_state.check(); rcuprotocol_state.check(); hbaprotocol_state.check(); @@ -147,7 +147,7 @@ namespace LOFAR { tdwrite_state.check(); tdread_state.check(); rad_state.check(); - ts_state.write_force(); // always write timestamp + ts_state.write(); // always write timestamp } void clear() { -- GitLab