From d848bdbfaa63795c0d1a95eec15936eb20665ff0 Mon Sep 17 00:00:00 2001 From: Ruud Overeem <overeem@astron.nl> Date: Fri, 27 Mar 2009 11:13:45 +0000 Subject: [PATCH] Bug 1000: RCUset in Observation was replaced with getRCUbitset. --- LCS/ApplCommon/include/ApplCommon/StationConfig.h | 3 ++- MAC/APL/MainCU/src/MACScheduler/ObsClaimer.cc | 12 +++++++----- .../src/CalibrationControl/CalibrationControl.cc | 6 +++--- .../StationCU/src/StationControl/StationControl.cc | 4 +++- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/LCS/ApplCommon/include/ApplCommon/StationConfig.h b/LCS/ApplCommon/include/ApplCommon/StationConfig.h index 3a359e77784..7dda0236c1b 100644 --- a/LCS/ApplCommon/include/ApplCommon/StationConfig.h +++ b/LCS/ApplCommon/include/ApplCommon/StationConfig.h @@ -53,10 +53,11 @@ public: ~StationConfig(); private: - // Default construction and Copying is not allowed. + // Copying is not allowed. StationConfig (const StationConfig& that); StationConfig& operator= (const StationConfig& that); +public: //# Data members int stationID; int nrRSPs; diff --git a/MAC/APL/MainCU/src/MACScheduler/ObsClaimer.cc b/MAC/APL/MainCU/src/MACScheduler/ObsClaimer.cc index 492d8422d78..9f27d1c6214 100644 --- a/MAC/APL/MainCU/src/MACScheduler/ObsClaimer.cc +++ b/MAC/APL/MainCU/src/MACScheduler/ObsClaimer.cc @@ -24,8 +24,9 @@ #include <Common/SystemUtil.h> #include <Common/StreamUtil.h> #include <Common/Version.h> - #include <Common/ParameterSet.h> +#include <ApplCommon/StationConfig.h> + #include <GCF/TM/GCF_Protocols.h> #include <GCF/TM/GCF_PortInterface.h> #include <MACIO/MACServiceInfo.h> @@ -238,11 +239,12 @@ GCFEvent::TResult ObsClaimer::preparePVSS_state (GCFEvent& event, GCFPortInterfa theObsPS->setValue(PN_OBS_STORAGE_NODE_LIST,GCFPVString (theObs.storageNodeList), 0.0, false); // the receiver bitmap can be derived from the RCUset. - int nrReceivers(theObs.RCUset.size()); + StationConfig config; + bitset<MAX_RCUS> theRCUs(theObs.getRCUbitset(config.nrLBAs, config.nrHBAs, config.nrRSPs, config.hasSplitters)); string rbm; - rbm.resize(nrReceivers, '0'); - for (int i = 0; i < nrReceivers; i++) { - if (theObs.RCUset[i]) { + rbm.resize(MAX_RCUS, '0'); + for (int i = 0; i < MAX_RCUS; i++) { + if (theRCUs[i]) { rbm[i] = '1'; } } diff --git a/MAC/APL/StationCU/src/CalibrationControl/CalibrationControl.cc b/MAC/APL/StationCU/src/CalibrationControl/CalibrationControl.cc index 51503e79452..4361059310e 100644 --- a/MAC/APL/StationCU/src/CalibrationControl/CalibrationControl.cc +++ b/MAC/APL/StationCU/src/CalibrationControl/CalibrationControl.cc @@ -23,6 +23,7 @@ #include <Common/LofarLogger.h> #include <Common/lofar_datetime.h> #include <Common/Version.h> +#include <ApplCommon/StationConfig.h> #include <GCF/PVSS/GCF_PVTypes.h> #include <MACIO/MACServiceInfo.h> @@ -630,9 +631,8 @@ bool CalibrationControl::startCalibration() calStartEvent.rcumode().resize(1); calStartEvent.rcumode()(0).setMode((RSP_Protocol::RCUSettings::Control::RCUMode) convertFilterSelection(itsObsPar.filter)); - // calStartEvent.nyquist_zone = itsObsPar.nyquistZone; - // calStartEvent.rcumode()(0).setSpecinv(calStartEvent.rcumode()(0).getNyquistZone() == 2); - calStartEvent.subset = itsObsPar.RCUset; + StationConfig config; + calStartEvent.subset = itsObsPar.getRCUbitset(config.nrLBAs, config.nrHBAs, config.nrRSPs, config.hasSplitters); LOG_DEBUG(formatString("Sending CALSTART(%s,%s,%08X)", beamName.c_str(), calStartEvent.parent.c_str(), calStartEvent.rcumode()(0).getRaw())); diff --git a/MAC/APL/StationCU/src/StationControl/StationControl.cc b/MAC/APL/StationCU/src/StationControl/StationControl.cc index 2bc859380d6..dcd37e270e6 100644 --- a/MAC/APL/StationCU/src/StationControl/StationControl.cc +++ b/MAC/APL/StationCU/src/StationControl/StationControl.cc @@ -29,6 +29,7 @@ #include <Common/LofarConstants.h> #include <Common/SystemUtil.h> #include <Common/Version.h> +#include <ApplCommon/StationConfig.h> #include <Common/ParameterSet.h> #include <GCF/PVSS/GCF_PVTypes.h> @@ -840,7 +841,8 @@ LOG_DEBUG_STR("theOBS=" << theObs); " has no conflicts with other running observations"); // Create a bitset containing the available receivers for this oberservation. - Observation::RCUset_t realReceivers = Observation(&theObsPS).RCUset; + StationConfig config; + Observation::RCUset_t realReceivers = Observation(&theObsPS).getRCUbitset(config.nrLBAs, config.nrHBAs, config.nrRSPs, config.hasSplitters); // apply the current state of the hardware to the desired selection when user likes that. if (itsUseHWinfo) { realReceivers &= itsRCUmask; -- GitLab