Loading CHANGELOG.md +3 −2 Original line number Diff line number Diff line Loading @@ -81,10 +81,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/ ## [discos1.0.6] - 09-02-2022 ## Added issue #655 - ACU Component for Noto and Medicina is now capble to prevent seldom mode changes coming from ACU reset issue #655 - ACU Component for Noto and Medicina is now capable to prevent seldom mode changes coming from ACU reset issue #653 - added a couple of scriptsto ease vnc conection from remote a file copying. The scripts support linux and macos issue #588 - added the control of the new Noto subreflector and primary focus receiver box servo system. issue #758 - Sardara enabled for Medicina ## Fixed issue #448 - Added Sky Offsets to calibration tool client Loading Common/Servers/ReceiversBoss/src/RecvBossCore_mc.i +22 −4 Original line number Diff line number Diff line Loading @@ -101,8 +101,17 @@ void CRecvBossCore::calOn() throw (ComponentErrors::ValidationErrorExImpl,Compon throw impl; } } else */if ((m_currentRecvCode=="XXP") || (m_currentRecvCode=="CCC") || (m_currentRecvCode=="CHC") || (m_currentRecvCode=="KKC")) { else */ if ((m_currentRecvCode=="XXP") || (m_currentRecvCode=="CCC") || (m_currentRecvCode=="CHC") || (m_currentRecvCode=="KKC")) { try { m_calMux_proxy->calOn(); } catch (ComponentErrors::ComponentErrorsEx& ex) { _ADD_BACKTRACE(ReceiversErrors::UnavailableReceiverOperationExImpl,impl,ex,"CRecvBossCore::calOn()"); impl.setReceiverCode((const char *)m_currentRecvCode); changeBossStatus(Management::MNG_FAILURE); throw impl; } // turn the marca on through the FS /*IRA::CString fsBuffer("calon\n"); if (!sendToFS((const void *)fsBuffer,fsBuffer.GetLength())) { Loading Loading @@ -158,7 +167,8 @@ void CRecvBossCore::calOff() throw (ComponentErrors::ValidationErrorExImpl,Compo throw impl; } } else*/ if ((m_currentRecvCode=="XXP") || (m_currentRecvCode=="CCC") || (m_currentRecvCode=="CHC") || (m_currentRecvCode=="KKC")) { else*/ if ((m_currentRecvCode=="XXP") || (m_currentRecvCode=="CCC") || (m_currentRecvCode=="CHC") || (m_currentRecvCode=="KKC")) { // turn the marca on through thr FS /*IRA::CString fsBuffer("caloff\n"); if (!sendToFS((const void *)fsBuffer,fsBuffer.GetLength())) { Loading @@ -166,8 +176,16 @@ void CRecvBossCore::calOff() throw (ComponentErrors::ValidationErrorExImpl,Compo m_status=Management::MNG_FAILURE; throw impl; }*/ try { m_calMux_proxy->calOff(); } catch (ComponentErrors::ComponentErrorsEx& ex) { _ADD_BACKTRACE(ReceiversErrors::UnavailableReceiverOperationExImpl,impl,ex,"CRecvBossCore::calOff()"); impl.setReceiverCode((const char *)m_currentRecvCode); changeBossStatus(Management::MNG_FAILURE); throw impl; } } else { _EXCPT(ComponentErrors::ValidationErrorExImpl,impl,"CRecvBossCore::calOff()"); impl.setReason("Receiver not configured yet"); Loading Common/Servers/Scheduler/src/Core_Operations.i +19 −9 Original line number Diff line number Diff line Loading @@ -1101,6 +1101,7 @@ void CCore::_callTSys(ACS::doubleSeq& tsys) throw (ComponentErrors::CouldntGetCo ratio.length(inputs); tsys.length(inputs); for (int i=0;i<inputs;i++) { if ((i<(int)tpiCal->length()) && (i<(int)tpi->length()) && (i<(int)zero->length()) && (i<(int)mark->length())) { if ((mark[i]>0.0) && (tpiCal[i]>tpi[i])) { //ratio[i]=(tpiCal[i]-tpi[i])/mark[i]; ratio[i]=mark[i]/(tpiCal[i]-tpi[i]); Loading @@ -1112,6 +1113,11 @@ void CCore::_callTSys(ACS::doubleSeq& tsys) throw (ComponentErrors::CouldntGetCo tsys[i]=-1.0; } } else { ratio[i]=1.0; tsys[i]=-1.0; } } //Now contact the backend to give back some results..... try { backend->setKelvinCountsRatio(ratio,tsys); Loading @@ -1126,13 +1132,17 @@ void CCore::_callTSys(ACS::doubleSeq& tsys) throw (ComponentErrors::CouldntGetCo for (int i=0;i<inputs;i++) { outLog.Format("DEVICE/%d Feed: %d, IF: %d, Freq: %lf, Bw: %lf/",i,feed[i],IFs[i],freq[i],bandWidth[i]); ACS_LOG(LM_FULL_INFO,"CCore::callTSys()",(LM_NOTICE,(const char *)outLog)); outLog.Format("CALTEMP/%d %lf(%lf)",i,mark[i],scaleFactor); if (i<(int)mark->length()) outLog.Format("CALTEMP/%d %lf(%lf)",i,mark[i],scaleFactor); else outLog.Format("CALTEMP/%d %lf(%lf)",i,-1.0,scaleFactor); ACS_LOG(LM_FULL_INFO,"CCore::callTSys()",(LM_NOTICE,(const char *)outLog)); outLog.Format("TPICAL/%d %lf",i,tpiCal[i]); if (i<(int)tpiCal->length()) outLog.Format("TPICAL/%d %lf",i,tpiCal[i]); else outLog.Format("TPICAL/%d %lf",i,-1.0); ACS_LOG(LM_FULL_INFO,"CCore::callTSys()",(LM_NOTICE,(const char *)outLog)); outLog.Format("TPIZERO/%d %lf",i,zero[i]); if (i<(int)zero->length()) outLog.Format("TPIZERO/%d %lf",i,zero[i]); else outLog.Format("TPIZERO/%d %lf",i,-1.0); ACS_LOG(LM_FULL_INFO,"CCore::callTSys()",(LM_NOTICE,(const char *)outLog)); outLog.Format("TPI/%d %lf",i,tpi[i]); if (i<(int)tpi->length()) outLog.Format("TPI/%d %lf",i,tpi[i]); else outLog.Format("TPI/%d %lf",i,-1.0); ACS_LOG(LM_FULL_INFO,"CCore::callTSys()",(LM_NOTICE,(const char *)outLog)); outLog.Format("TSYS/%d %lf",i,tsys[i]); ACS_LOG(LM_FULL_INFO,"CCore::callTSys()",(LM_NOTICE,(const char *)outLog)); Loading Common/Servers/Scheduler/src/Schedule.cpp +10 −2 Original line number Diff line number Diff line Loading @@ -83,7 +83,8 @@ bool CParser::parse(CBaseSchedule* unit,DWORD& line,IRA::CString& errorMsg) IRA::CString inputLine(inLine); inputLine.Replace('\r',' ',0); inputLine.RTrim(); if ((inLine[0]!=COMMENT_CHAR) && (inLine[0]!=0) && (strlen(inLine)!=0)) { inputLine.LTrim(); if ((inputLine[0]!=COMMENT_CHAR) && (inputLine[0]!=0) && (inputLine.GetLength()!=0)) { if (!unit->parseLine(inputLine,line,errorMsg)) { return false; } Loading Loading @@ -167,7 +168,14 @@ bool CBackendList::parseLine(const IRA::CString& line,const DWORD& lnNumber,IRA: workLine.RTrim(); workLine.LTrim(); if (m_started) { // if the procedure is started if (workLine.Find(PROCEDURE_STOP)>=0) { // if the end bracket is found...close the procedure parsing if (workLine.Find(PROCEDURE_STOP)>=0) { // if the end bracket is found.... IRA::CString token; int start=0; if (IRA::CIRATools::getNextToken(workLine,start,PROCEDURE_STOP,token)) { // if there is a command in the same line of the end proc // push command before closing the procedure..... if (token.GetLength()>0) m_currentRecord->proc.push_back(token); } //... then close the procedure m_backend.push_back(m_currentRecord); m_started=false; m_currentRecord=NULL; Loading Common/Servers/Scheduler/templates/backend.tmpl +5 −3 Original line number Diff line number Diff line Loading @@ -21,8 +21,7 @@ STD:BACKENDS/TotalPower { setSection=12,-1,300.0,-1,-1,0.000025,-1 setSection=13,-1,300.0,-1,-1,0.000025,-1 setAttenuation=1,15 enable=1,1,1,1,1,1,1,1,1,1,1,1,1,1 } enable=1,1,1,1,1,1,1,1,1,1,1,1,1,1} HIGH:BACKENDS/TotalPower { integration=25 Loading @@ -32,3 +31,6 @@ HIGH:BACKENDS/TotalPower { setAttenuation=1,9 enable=1,1,0,0,0,0,0,0,0,0,0,0,0,0 } LOW:BACKENDS/Sardara { integration=25} No newline at end of file Loading
CHANGELOG.md +3 −2 Original line number Diff line number Diff line Loading @@ -81,10 +81,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/ ## [discos1.0.6] - 09-02-2022 ## Added issue #655 - ACU Component for Noto and Medicina is now capble to prevent seldom mode changes coming from ACU reset issue #655 - ACU Component for Noto and Medicina is now capable to prevent seldom mode changes coming from ACU reset issue #653 - added a couple of scriptsto ease vnc conection from remote a file copying. The scripts support linux and macos issue #588 - added the control of the new Noto subreflector and primary focus receiver box servo system. issue #758 - Sardara enabled for Medicina ## Fixed issue #448 - Added Sky Offsets to calibration tool client Loading
Common/Servers/ReceiversBoss/src/RecvBossCore_mc.i +22 −4 Original line number Diff line number Diff line Loading @@ -101,8 +101,17 @@ void CRecvBossCore::calOn() throw (ComponentErrors::ValidationErrorExImpl,Compon throw impl; } } else */if ((m_currentRecvCode=="XXP") || (m_currentRecvCode=="CCC") || (m_currentRecvCode=="CHC") || (m_currentRecvCode=="KKC")) { else */ if ((m_currentRecvCode=="XXP") || (m_currentRecvCode=="CCC") || (m_currentRecvCode=="CHC") || (m_currentRecvCode=="KKC")) { try { m_calMux_proxy->calOn(); } catch (ComponentErrors::ComponentErrorsEx& ex) { _ADD_BACKTRACE(ReceiversErrors::UnavailableReceiverOperationExImpl,impl,ex,"CRecvBossCore::calOn()"); impl.setReceiverCode((const char *)m_currentRecvCode); changeBossStatus(Management::MNG_FAILURE); throw impl; } // turn the marca on through the FS /*IRA::CString fsBuffer("calon\n"); if (!sendToFS((const void *)fsBuffer,fsBuffer.GetLength())) { Loading Loading @@ -158,7 +167,8 @@ void CRecvBossCore::calOff() throw (ComponentErrors::ValidationErrorExImpl,Compo throw impl; } } else*/ if ((m_currentRecvCode=="XXP") || (m_currentRecvCode=="CCC") || (m_currentRecvCode=="CHC") || (m_currentRecvCode=="KKC")) { else*/ if ((m_currentRecvCode=="XXP") || (m_currentRecvCode=="CCC") || (m_currentRecvCode=="CHC") || (m_currentRecvCode=="KKC")) { // turn the marca on through thr FS /*IRA::CString fsBuffer("caloff\n"); if (!sendToFS((const void *)fsBuffer,fsBuffer.GetLength())) { Loading @@ -166,8 +176,16 @@ void CRecvBossCore::calOff() throw (ComponentErrors::ValidationErrorExImpl,Compo m_status=Management::MNG_FAILURE; throw impl; }*/ try { m_calMux_proxy->calOff(); } catch (ComponentErrors::ComponentErrorsEx& ex) { _ADD_BACKTRACE(ReceiversErrors::UnavailableReceiverOperationExImpl,impl,ex,"CRecvBossCore::calOff()"); impl.setReceiverCode((const char *)m_currentRecvCode); changeBossStatus(Management::MNG_FAILURE); throw impl; } } else { _EXCPT(ComponentErrors::ValidationErrorExImpl,impl,"CRecvBossCore::calOff()"); impl.setReason("Receiver not configured yet"); Loading
Common/Servers/Scheduler/src/Core_Operations.i +19 −9 Original line number Diff line number Diff line Loading @@ -1101,6 +1101,7 @@ void CCore::_callTSys(ACS::doubleSeq& tsys) throw (ComponentErrors::CouldntGetCo ratio.length(inputs); tsys.length(inputs); for (int i=0;i<inputs;i++) { if ((i<(int)tpiCal->length()) && (i<(int)tpi->length()) && (i<(int)zero->length()) && (i<(int)mark->length())) { if ((mark[i]>0.0) && (tpiCal[i]>tpi[i])) { //ratio[i]=(tpiCal[i]-tpi[i])/mark[i]; ratio[i]=mark[i]/(tpiCal[i]-tpi[i]); Loading @@ -1112,6 +1113,11 @@ void CCore::_callTSys(ACS::doubleSeq& tsys) throw (ComponentErrors::CouldntGetCo tsys[i]=-1.0; } } else { ratio[i]=1.0; tsys[i]=-1.0; } } //Now contact the backend to give back some results..... try { backend->setKelvinCountsRatio(ratio,tsys); Loading @@ -1126,13 +1132,17 @@ void CCore::_callTSys(ACS::doubleSeq& tsys) throw (ComponentErrors::CouldntGetCo for (int i=0;i<inputs;i++) { outLog.Format("DEVICE/%d Feed: %d, IF: %d, Freq: %lf, Bw: %lf/",i,feed[i],IFs[i],freq[i],bandWidth[i]); ACS_LOG(LM_FULL_INFO,"CCore::callTSys()",(LM_NOTICE,(const char *)outLog)); outLog.Format("CALTEMP/%d %lf(%lf)",i,mark[i],scaleFactor); if (i<(int)mark->length()) outLog.Format("CALTEMP/%d %lf(%lf)",i,mark[i],scaleFactor); else outLog.Format("CALTEMP/%d %lf(%lf)",i,-1.0,scaleFactor); ACS_LOG(LM_FULL_INFO,"CCore::callTSys()",(LM_NOTICE,(const char *)outLog)); outLog.Format("TPICAL/%d %lf",i,tpiCal[i]); if (i<(int)tpiCal->length()) outLog.Format("TPICAL/%d %lf",i,tpiCal[i]); else outLog.Format("TPICAL/%d %lf",i,-1.0); ACS_LOG(LM_FULL_INFO,"CCore::callTSys()",(LM_NOTICE,(const char *)outLog)); outLog.Format("TPIZERO/%d %lf",i,zero[i]); if (i<(int)zero->length()) outLog.Format("TPIZERO/%d %lf",i,zero[i]); else outLog.Format("TPIZERO/%d %lf",i,-1.0); ACS_LOG(LM_FULL_INFO,"CCore::callTSys()",(LM_NOTICE,(const char *)outLog)); outLog.Format("TPI/%d %lf",i,tpi[i]); if (i<(int)tpi->length()) outLog.Format("TPI/%d %lf",i,tpi[i]); else outLog.Format("TPI/%d %lf",i,-1.0); ACS_LOG(LM_FULL_INFO,"CCore::callTSys()",(LM_NOTICE,(const char *)outLog)); outLog.Format("TSYS/%d %lf",i,tsys[i]); ACS_LOG(LM_FULL_INFO,"CCore::callTSys()",(LM_NOTICE,(const char *)outLog)); Loading
Common/Servers/Scheduler/src/Schedule.cpp +10 −2 Original line number Diff line number Diff line Loading @@ -83,7 +83,8 @@ bool CParser::parse(CBaseSchedule* unit,DWORD& line,IRA::CString& errorMsg) IRA::CString inputLine(inLine); inputLine.Replace('\r',' ',0); inputLine.RTrim(); if ((inLine[0]!=COMMENT_CHAR) && (inLine[0]!=0) && (strlen(inLine)!=0)) { inputLine.LTrim(); if ((inputLine[0]!=COMMENT_CHAR) && (inputLine[0]!=0) && (inputLine.GetLength()!=0)) { if (!unit->parseLine(inputLine,line,errorMsg)) { return false; } Loading Loading @@ -167,7 +168,14 @@ bool CBackendList::parseLine(const IRA::CString& line,const DWORD& lnNumber,IRA: workLine.RTrim(); workLine.LTrim(); if (m_started) { // if the procedure is started if (workLine.Find(PROCEDURE_STOP)>=0) { // if the end bracket is found...close the procedure parsing if (workLine.Find(PROCEDURE_STOP)>=0) { // if the end bracket is found.... IRA::CString token; int start=0; if (IRA::CIRATools::getNextToken(workLine,start,PROCEDURE_STOP,token)) { // if there is a command in the same line of the end proc // push command before closing the procedure..... if (token.GetLength()>0) m_currentRecord->proc.push_back(token); } //... then close the procedure m_backend.push_back(m_currentRecord); m_started=false; m_currentRecord=NULL; Loading
Common/Servers/Scheduler/templates/backend.tmpl +5 −3 Original line number Diff line number Diff line Loading @@ -21,8 +21,7 @@ STD:BACKENDS/TotalPower { setSection=12,-1,300.0,-1,-1,0.000025,-1 setSection=13,-1,300.0,-1,-1,0.000025,-1 setAttenuation=1,15 enable=1,1,1,1,1,1,1,1,1,1,1,1,1,1 } enable=1,1,1,1,1,1,1,1,1,1,1,1,1,1} HIGH:BACKENDS/TotalPower { integration=25 Loading @@ -32,3 +31,6 @@ HIGH:BACKENDS/TotalPower { setAttenuation=1,9 enable=1,1,0,0,0,0,0,0,0,0,0,0,0,0 } LOW:BACKENDS/Sardara { integration=25} No newline at end of file