diff --git a/LCS/ACC/ACCbin/include/ACCbin/ApplController.h b/LCS/ACC/ACCbin/include/ACCbin/ApplController.h index 6ebcc9543899c6165a90e686af7492a785748931..e50a95c6ca5fb26562a2017184f5bc3dadf8ac7c 100644 --- a/LCS/ACC/ACCbin/include/ACCbin/ApplController.h +++ b/LCS/ACC/ACCbin/include/ACCbin/ApplController.h @@ -111,6 +111,9 @@ private: ProcRuler itsProcRuler; // Starts/stops all AP's uint16 itsNrOfProcs; // Nr of processes to manage. + + // TODO: REMOVE THIS CS1 HACK + string itsObsPSfilename; // name of observation parameterset. }; // @} addgroup diff --git a/LCS/ACC/ACCbin/src/ApplController.cc b/LCS/ACC/ACCbin/src/ApplController.cc index f0dc8064bba9d2a480e709885e5c3caae78d5ec1..abe33d9b6bf415e38ad7d2f8a67d682120a75af8 100644 --- a/LCS/ACC/ACCbin/src/ApplController.cc +++ b/LCS/ACC/ACCbin/src/ApplController.cc @@ -263,7 +263,8 @@ void ApplController::createParSubsets() // by a python script, for final LOFAR we need to do this in SAS. if (procPrefix == "InputAppl.Transpose") { LOG_DEBUG("CS1_SPECIAL: calling prepare_CS1_InputSection.py"); - nrProcs = system("/opt/lofar/bin/prepare_CS1_InputSection.py")/256; + string command("/opt/lofar/bin/prepare_CS1_InputSection.py --parsetfile " + itsObsPSfilename); + nrProcs = system(command.c_str())/256; LOG_DEBUG_STR("nrOfProcesses calculated by script = " << nrProcs); } @@ -438,6 +439,9 @@ void ApplController::startCmdState() case StateInitController: // read in the Application Parameter file itsObsParamSet->adoptFile(itsCurACMsg->getOptions());// May throw + // CS1_HACK save name of parameterfile + itsObsPSfilename = itsCurACMsg->getOptions(); + LOG_DEBUG_STR("Observation parsetfilename=" << itsObsPSfilename); // StateEngine needs to know the timeout values for the states itsStateEngine->init(itsObsParamSet); itsStateEngine->ready(); // report this state is ready. @@ -454,7 +458,7 @@ void ApplController::startCmdState() // the incomming acks decide the result of the start action break; case StateKillAppl: - sleep (10); // give procs some extra time + sleep (5); // give procs some extra time itsProcRuler.stopAll(); itsStateEngine->ready(); // report this state is ready. break;