From 4da6a1a7da7b9b5bea365732990f9cc5014c1852 Mon Sep 17 00:00:00 2001 From: Andrea Orlati Date: Fri, 25 Sep 2020 17:00:27 +0200 Subject: [PATCH] Fix issue 550 (#554) * Fix issue #550: a) fixed acscommendcenter procedure for the system boot up. b) changed the target IP for TotalPower backend * fix issue #550: c) Dimed configuration. d) seupup procedures to include dmed e) Kband receiver configuration f) Local Oscillator configuration g) system makefile * fix issue #550: f) Medicina pointing model now up to date. g) receivers configuration updated to reflect present status * fix issue #550: matching commetn in PR --- .../DiscosVersion/include/DiscosVersion.h | 2 + .../DiscosVersion/src/DiscosVersion.cpp | 4 +- .../ReceiversBoss/include/RecvBossCore.h | 4 +- .../ReceiversBoss/src/RecvBossCore_mc.i | 32 +++++++++----- .../alma/BACKENDS/TotalPower/TotalPower.xml | 2 +- .../CDB/alma/DataBlock/DMed/DMed.xml | 43 +++++++++---------- .../DataBlock/PointingModel/PointingModel.xml | 34 +++++++-------- .../StationProcedures/StationProcedures.xml | 6 +++ .../KBandDualFReceiver/KBandDualFReceiver.xml | 10 ++--- .../CDB/alma/RECEIVERS/LO/LO.xml | 2 +- .../MedScripts/app-defaults/discosStartup.xml | 35 +++++++++------ Medicina/Misc/MedScripts/src/discosConsole | 2 +- SystemMake/Makefile | 2 +- 13 files changed, 101 insertions(+), 77 deletions(-) diff --git a/Common/Libraries/DiscosVersion/include/DiscosVersion.h b/Common/Libraries/DiscosVersion/include/DiscosVersion.h index e9937eb0d..caf4b4e13 100644 --- a/Common/Libraries/DiscosVersion/include/DiscosVersion.h +++ b/Common/Libraries/DiscosVersion/include/DiscosVersion.h @@ -30,6 +30,7 @@ #define _CURRENT_VERSION_MAJOR 1 #define _CURRENT_VERSION_MINOR 0 +#define _CURRENT_VERSION_REVISION 6 #define _CURRENT_PRODUCT "DISCOS" @@ -39,6 +40,7 @@ class CurrentVersion { public: static WORD major; static WORD minor; + static WORD revision; static IRA::CString station; static IRA::CString product; static IRA::CString getVersion(); diff --git a/Common/Libraries/DiscosVersion/src/DiscosVersion.cpp b/Common/Libraries/DiscosVersion/src/DiscosVersion.cpp index 1a6aa9077..68f296c00 100644 --- a/Common/Libraries/DiscosVersion/src/DiscosVersion.cpp +++ b/Common/Libraries/DiscosVersion/src/DiscosVersion.cpp @@ -6,7 +6,8 @@ using namespace DiscosVersion; IRA::CString CurrentVersion::getVersion() { IRA::CString value; - value.Format("%s-%d.%d.%s",(const char *)CurrentVersion::product,CurrentVersion::major,CurrentVersion::minor,(const char *)CurrentVersion::station); + value.Format("%s-%d.%d.%d.%s",(const char *)CurrentVersion::product,CurrentVersion::major, + CurrentVersion::minor,CurrentVersion::revision,(const char *)CurrentVersion::station); return value; } @@ -14,6 +15,7 @@ IRA::CString CurrentVersion::product = IRA::CString(_CURRENT_PRODUCT); IRA::CString CurrentVersion::station = IRA::CString(_STATION); WORD CurrentVersion::minor = _CURRENT_VERSION_MINOR; WORD CurrentVersion::major = _CURRENT_VERSION_MAJOR; +WORD CurrentVersion::revision = _CURRENT_VERSION_REVISION; diff --git a/Common/Servers/ReceiversBoss/include/RecvBossCore.h b/Common/Servers/ReceiversBoss/include/RecvBossCore.h index eebd40560..72add2f82 100644 --- a/Common/Servers/ReceiversBoss/include/RecvBossCore.h +++ b/Common/Servers/ReceiversBoss/include/RecvBossCore.h @@ -416,8 +416,8 @@ private: #ifdef COMPILE_TARGET_MED void setup(const char * code) throw(ComponentErrors::SocketErrorExImpl,ComponentErrors::ValidationErrorExImpl); - bool sendToRecvControl(const void *buffer,unsigned size); - bool sendToFS(const void *buffer,unsigned size); + bool sendToRecvControl(const void *buffer,int size); + bool sendToFS(const void *buffer,int size); #elif COMPILE_TARGET_NT void setup(const char * code) throw(ComponentErrors::SocketErrorExImpl,ComponentErrors::ValidationErrorExImpl); diff --git a/Common/Servers/ReceiversBoss/src/RecvBossCore_mc.i b/Common/Servers/ReceiversBoss/src/RecvBossCore_mc.i index 0c7aabb50..46bf5c9fa 100644 --- a/Common/Servers/ReceiversBoss/src/RecvBossCore_mc.i +++ b/Common/Servers/ReceiversBoss/src/RecvBossCore_mc.i @@ -1,10 +1,10 @@ //#define RB_DEBUG -#define RECV_ADDRESS "192.167.189.2" +#define RECV_ADDRESS "192.168.51.2" #define RECV_PORT 2096 -#define FS_ADDRESS "192.167.189.62" +#define FS_ADDRESS "192.168.51.14" #define FS_PORT 5002 -#define SXKL_ADDRESS "192.167.189.2" +#define SXKL_ADDRESS "192.168.51.2" #define SXKL_PORT 9876 @@ -109,7 +109,7 @@ void CRecvBossCore::calOn() throw (ComponentErrors::ValidationErrorExImpl,Compon } else if (m_currentRecvCode=="XXP") { // turn the marca on through the FS - IRA::CString fsBuffer("sxkl=*,on\n"); + IRA::CString fsBuffer("calon\n"); if (!sendToFS((const void *)fsBuffer,fsBuffer.GetLength())) { _EXCPT(ComponentErrors::SocketErrorExImpl,impl,"CRecvBossCore::calOn()"); m_status=Management::MNG_FAILURE; @@ -173,7 +173,7 @@ void CRecvBossCore::calOff() throw (ComponentErrors::ValidationErrorExImpl,Compo } else if (m_currentRecvCode=="XXP") { // turn the marca on through thr FS - IRA::CString fsBuffer("sxkl=*,off\n"); + IRA::CString fsBuffer("caloff\n"); if (!sendToFS((const void *)fsBuffer,fsBuffer.GetLength())) { _EXCPT(ComponentErrors::SocketErrorExImpl,impl,"CRecvBossCore::calOff()"); m_status=Management::MNG_FAILURE; @@ -334,6 +334,13 @@ void CRecvBossCore::setup(const char * code) throw (ComponentErrors::SocketError m_currentRecvError=true; throw impl; } + // now set the subreflector configuration through the FS + IRA::CString fsBuffer("scu=kkc\n"); + if (!sendToFS((const void *)fsBuffer,fsBuffer.GetLength())) { + _EXCPT(ComponentErrors::SocketErrorExImpl,impl,"CRecvBossCore::setup()"); + m_status=Management::MNG_FAILURE; + throw impl; + } changeBossStatus(Management::MNG_OK); m_currentRecvCode="KKC"; @@ -1322,32 +1329,35 @@ void CRecvBossCore::publishData() throw (ComponentErrors::NotificationChannelErr } } -bool CRecvBossCore::sendToRecvControl(const void *buffer,unsigned size) +bool CRecvBossCore::sendToRecvControl(const void *buffer,int size) { IRA::CSocket sock; IRA::CError err; char readout[128]; IRA::CString recvIpAddr(RECV_ADDRESS); DWORD recvPort=RECV_PORT; + int count; try { if (sock.Create(err,IRA::CSocket::STREAM)!=IRA::CSocket::SUCCESS) { return false; } - if (sock.setSockMode(err,IRA::CSocket::NONBLOCKING)==IRA::CSocket::FAIL) { + /*if (sock.setSockMode(err,IRA::CSocket::NONBLOCKING)==IRA::CSocket::FAIL) { return false; - } + }*/ if (sock.Connect(err,recvIpAddr,recvPort)==IRA::CSocket::FAIL) { return false; } if (sock.Send(err,buffer,size)!=(int)size) { return false; } - if (sock.Receive(err,(void *)readout,128)==IRA::CSocket::FAIL) { + count=sock.Receive(err,(void *)readout,128); + if (count==IRA::CSocket::FAIL) { return false; } + readout[count]=0; if (strcmp(readout,"ACK\n")!=0) { return false; - } + } sock.Close(err); } catch (...) { @@ -1356,7 +1366,7 @@ bool CRecvBossCore::sendToRecvControl(const void *buffer,unsigned size) return true; } -bool CRecvBossCore::sendToFS(const void *buffer,unsigned size) +bool CRecvBossCore::sendToFS(const void *buffer,int size) { IRA::CSocket sock; IRA::CError err; diff --git a/Medicina/Configuration/CDB/alma/BACKENDS/TotalPower/TotalPower.xml b/Medicina/Configuration/CDB/alma/BACKENDS/TotalPower/TotalPower.xml index 152a6bdaa..55e1242d4 100644 --- a/Medicina/Configuration/CDB/alma/BACKENDS/TotalPower/TotalPower.xml +++ b/Medicina/Configuration/CDB/alma/BACKENDS/TotalPower/TotalPower.xml @@ -18,7 +18,7 @@ RepetitionCacheTime="2000000" RepetitionExpireTime="5000000" DataPort="6001" - DataIPAddress="192.168.51.104" + DataIPAddress="192.168.51.100" DataLatency="3000000" SenderSleepTime="300000" SenderResponseTime="1000000" diff --git a/Medicina/Configuration/CDB/alma/DataBlock/DMed/DMed.xml b/Medicina/Configuration/CDB/alma/DataBlock/DMed/DMed.xml index 7fc637c92..7bcefa812 100644 --- a/Medicina/Configuration/CDB/alma/DataBlock/DMed/DMed.xml +++ b/Medicina/Configuration/CDB/alma/DataBlock/DMed/DMed.xml @@ -7,61 +7,60 @@ IP="192.168.51.28" PORT="5003"> - + - + - - - + + + - + - + - + - + - + - - - + + + - - - + + + - + - - + + - + - + - \ No newline at end of file diff --git a/Medicina/Configuration/CDB/alma/DataBlock/PointingModel/PointingModel.xml b/Medicina/Configuration/CDB/alma/DataBlock/PointingModel/PointingModel.xml index c2f78567f..4a5c808fa 100644 --- a/Medicina/Configuration/CDB/alma/DataBlock/PointingModel/PointingModel.xml +++ b/Medicina/Configuration/CDB/alma/DataBlock/PointingModel/PointingModel.xml @@ -51,7 +51,7 @@ 1 0.0115609653 1 -0.0054083583 1 -0.0004475396 - 1 0.104534819 + 1 0.120534819 1 -0.0848363936 1 0.0015757678 0 0 @@ -80,15 +80,15 @@ KKC 90.0 - 1 0.1480138302 + 1 0.1510259807 0 0 - 1 0.2130497247 - 1 -0.0194589850 - 1 -0.0056039123 - 1 -0.0000484679 - 1 0.0850518122 - 1 0.0324320570 - 1 0.0265751500 + 1 0.2146179527 + 1 -0.0199117530 + 1 -0.0069123046 + 1 -0.0001305724 + 1 0.1411607116 + 1 0.0013927888 + 1 0.0038510617 0 0 0 0 0 0 @@ -124,7 +124,7 @@ Model XXP conf, id: 25 1 -0.0220953003 1 -0.0062009227 1 -0.0022671977 - 1 0.1425688490 + 1 0.1650 1 -0.1203563809 0 0 0 0 @@ -153,14 +153,14 @@ Model XXP conf, id: 25 CHC 90.0 - 1 -0.1115463972 + 1 -0.0961716101 0 0 - 1 -0.0019724572 - 1 0.0094164684 - 1 -0.0060918964 - 1 -0.0016364682 - 1 0.0940798447 - 1 -0.0872315466 + 1 0.0067673814 + 1 0.0238296818 + 1 -0.0069099185 + 1 -0.0010922987 + 1 0.1375056628 + 1 -0.0890021995 0 0 0 0 0 0 diff --git a/Medicina/Configuration/CDB/alma/Procedures/StationProcedures/StationProcedures.xml b/Medicina/Configuration/CDB/alma/Procedures/StationProcedures/StationProcedures.xml index c1177e7c3..00c76bfb8 100644 --- a/Medicina/Configuration/CDB/alma/Procedures/StationProcedures/StationProcedures.xml +++ b/Medicina/Configuration/CDB/alma/Procedures/StationProcedures/StationProcedures.xml @@ -9,6 +9,7 @@ receiversSetup=CCC chooseBackend=TotalPower initialize=CCC + dmed=default setSection=0,*,730.0,*,*,*,* setSection=1,*,730.0,*,*,*,* device=0 @@ -23,6 +24,7 @@ receiversSetup=CHC chooseBackend=TotalPower initialize=CHC + dmed=default setSection=0,*,300.0,*,*,*,* setSection=1,*,300.0,*,*,*,* setAttenuation=0,8 @@ -39,6 +41,7 @@ receiversSetup=KKC chooseBackend=TotalPower initialize=KKC + dmed=default device=0 setAttenuation=0,9 setAttenuation=1,9 @@ -55,6 +58,7 @@ receiversSetup=XXP chooseBackend=TotalPower initialize=XXP + dmed=default setSection=0,*,730.0,*,*,*,* setSection=1,*,730.0,*,*,*,* device=0 @@ -70,6 +74,7 @@ receiversMode=NARROWBANDWIDTH chooseBackend=TotalPower initialize=CCCL + dmed=default setSection=0,*,300.0,*,*,*,* setSection=1,*,300.0,*,*,*,* setAttenuation=0,8 @@ -87,6 +92,7 @@ receiversMode=NARROWBANDWIDTH chooseBackend=TotalPower initialize=CHCL + dmed=default setSection=0,*,300.0,*,*,*,* setSection=1,*,300.0,*,*,*,* setAttenuation=0,8 diff --git a/Medicina/Configuration/CDB/alma/RECEIVERS/KBandDualFReceiver/KBandDualFReceiver.xml b/Medicina/Configuration/CDB/alma/RECEIVERS/KBandDualFReceiver/KBandDualFReceiver.xml index d29a44946..25574d1ce 100644 --- a/Medicina/Configuration/CDB/alma/RECEIVERS/KBandDualFReceiver/KBandDualFReceiver.xml +++ b/Medicina/Configuration/CDB/alma/RECEIVERS/KBandDualFReceiver/KBandDualFReceiver.xml @@ -1,10 +1,6 @@ @@ -17,9 +13,9 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" actionThreadStackSize="2048" monitoringThreadStackSize="4096" - DewarIPAddress="192.167.189.2" + DewarIPAddress="192.168.51.2" DewarPort="10000" - LNAIPAddress="192.167.189.2" + LNAIPAddress="192.168.51.2" LNAPort="10001" WatchDogResponseTime="10000000" WatchDogSleepTime="10000000" diff --git a/Medicina/Configuration/CDB/alma/RECEIVERS/LO/LO.xml b/Medicina/Configuration/CDB/alma/RECEIVERS/LO/LO.xml index 6a22e4e55..9a98d696e 100644 --- a/Medicina/Configuration/CDB/alma/RECEIVERS/LO/LO.xml +++ b/Medicina/Configuration/CDB/alma/RECEIVERS/LO/LO.xml @@ -2,7 +2,7 @@ xmlns:baci="urn:schemas-cosylab-com:BACI:1.0" xmlns:cdb="urn:schemas-cosylab-com:CDB:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - IP="192.167.189.2" PORT="2096"> + IP="192.168.51.2" PORT="2096"> diff --git a/Medicina/Misc/MedScripts/app-defaults/discosStartup.xml b/Medicina/Misc/MedScripts/app-defaults/discosStartup.xml index 38bd0d82e..c0e00968c 100644 --- a/Medicina/Misc/MedScripts/app-defaults/discosStartup.xml +++ b/Medicina/Misc/MedScripts/app-defaults/discosStartup.xml @@ -26,7 +26,7 @@ true 0 MASTERHOST - + discos WeatherStationContainer @@ -35,7 +35,7 @@ true 0 MASTERHOST - + discos MountContainer @@ -44,7 +44,7 @@ true 0 MASTERHOST - + discos AntennaContainer @@ -53,7 +53,7 @@ true 0 MASTERHOST - + discos ReceiversContainer @@ -62,7 +62,16 @@ true 0 MASTERHOST - + discos + + + LocalOscillatorContainer + py + + true + 0 + MASTERHOST + discos KBandContainer @@ -71,7 +80,7 @@ true 0 MASTERHOST - + discos TotalPowerContainer @@ -80,7 +89,7 @@ true 0 MASTERHOST - + discos ManagementContainer @@ -89,7 +98,7 @@ true 0 MASTERHOST - + discos FitsZillaContainer @@ -98,7 +107,7 @@ true 0 MASTERHOST - + discos CalibrationToolContainer @@ -107,7 +116,7 @@ true 0 MASTERHOST - + discos PointContainer @@ -116,7 +125,7 @@ true 0 MASTERHOST - + discos ExternalClientsContainer @@ -125,7 +134,7 @@ true 0 MASTERHOST - + discos XContainer @@ -134,7 +143,7 @@ true 0 MASTERHOST - + discos diff --git a/Medicina/Misc/MedScripts/src/discosConsole b/Medicina/Misc/MedScripts/src/discosConsole index f05ccb27c..6e7ea6d5b 100644 --- a/Medicina/Misc/MedScripts/src/discosConsole +++ b/Medicina/Misc/MedScripts/src/discosConsole @@ -83,7 +83,7 @@ if [ "$CL_STOP" ] ; then killall -s SIGUSR1 -u $USER -q _tui_ReceiversBossTextClient killall -s SIGUSR1 -u $USER -q _tui_SchedulerTextClient #close the operator input - pkill -SIGINT -f -n -u $USER _tui_SysTerm + pkill -SIGINT -u $USER -f _tui_SysTerm #close the logging display client pkill -SIGUSR1 -f -n -u $USER _gui_customLoggingClient exit diff --git a/SystemMake/Makefile b/SystemMake/Makefile index cc8fd1f9c..d9a1728b5 100644 --- a/SystemMake/Makefile +++ b/SystemMake/Makefile @@ -120,7 +120,7 @@ ifeq ($(STATION),Medicina) SlaLibrary IRALibrary TextWindowLibrary ParserLibrary ComponentProxy ModbusChannel XarcosLibrary \ PyTestingLibrary \ AntennaBoss Observatory OTF PointingModel Refraction SkySource Moon FitsWriter Scheduler ReceiversBoss ExternalClients CalibrationTool \ - TotalPower NoiseGenerator MedicinaMount MedWeatherStation CustomLogger XBackend MedicinaMinorServo\ + TotalPower NoiseGenerator MedicinaMount MedicinaPyLocalOscillator MedicinaPyDMed CustomLogger XBackend MedicinaMinorServo\ AntennaBossTextClient ObservatoryTextClient GenericBackendTextClient ReceiversBossTextClient SystemTerminal CaltoolClient SchedulerTextClient MinorServoBossTextClient\ MedicinaMountTextClient CustomLoggingClient\ Plotter KStars Scripts MedScripts -- GitLab