From 989660728f580a08c01edeb570ae63727693e976 Mon Sep 17 00:00:00 2001 From: Giuseppe Carboni <giuseppecarboni89@live.com> Date: Fri, 4 Apr 2025 17:10:38 +0200 Subject: [PATCH] Fix #922, SRT MS configurations are not hardcoded anymore (#923) This branch contains also some other fixes for the SRT minor servos - Replaced the word 'LookupTables' with 'Polynomial' or 'Coefficients'. - Reviewed some logging lines that erroneously appeared in the LoggingDisplay even though they were not supposed to. --- .../Boss/Configurations/Configurations.xml | 27 ++++ .../GFR/Coefficients/Coefficients.xml | 29 ++++ .../GFR/LookupTables/LookupTables.xml | 32 ----- .../M3R/Coefficients/Coefficients.xml | 19 +++ .../M3R/LookupTables/LookupTables.xml | 18 --- .../PFP/Coefficients/Coefficients.xml | 35 +++++ .../PFP/LookupTables/LookupTables.xml | 33 ----- .../SRP/Coefficients/Coefficients.xml | 99 ++++++++++++++ .../SRP/LookupTables/LookupTables.xml | 125 ------------------ .../Boss/Configurations/Configurations.xml | 28 ++++ .../GFR/Coefficients/Coefficients.xml | 31 +++++ .../GFR/LookupTables/LookupTables.xml | 34 ----- .../M3R/Coefficients/Coefficients.xml | 19 +++ .../M3R/LookupTables/LookupTables.xml | 18 --- .../SRP/Coefficients/Coefficients.xml | 99 ++++++++++++++ .../SRP/LookupTables/LookupTables.xml | 125 ------------------ .../idl/SRTMinorServo.idl | 3 +- .../include/SRTMinorServoContainers.h | 27 +--- .../PFP/Coefficients/Coefficients.xml | 35 +++++ .../PFP/LookupTables/LookupTables.xml | 33 ----- .../config/CDB/schemas/SRTMinorServoBoss.xsd | 14 ++ .../CDB/schemas/SRTMinorServoCoefficients.xsd | 33 +++++ .../CDB/schemas/SRTMinorServoLookupTable.xsd | 53 -------- .../include/SRTMinorServoBossCore.h | 10 ++ .../include/SRTMinorServoBossImpl.h | 4 +- .../SRTMinorServo/include/SRTMinorServoImpl.h | 9 +- SRT/Servers/SRTMinorServo/src/Makefile | 2 +- .../src/SRTBaseMinorServoImpl.cpp | 67 +++++++--- .../src/SRTMinorServoBossCore.cpp | 61 +++++++-- .../src/SRTMinorServoParkThread.cpp | 6 +- .../src/SRTMinorServoScanThread.cpp | 4 +- .../src/SRTMinorServoSetupThread.cpp | 12 +- .../src/SRTMinorServoTrackingThread.cpp | 6 +- .../src/SRTProgramTrackMinorServoImpl.cpp | 4 +- 34 files changed, 603 insertions(+), 551 deletions(-) create mode 100644 SRT/CDB/alma/DataBlock/MinorServo/Boss/Configurations/Configurations.xml create mode 100644 SRT/CDB/alma/DataBlock/MinorServo/GFR/Coefficients/Coefficients.xml delete mode 100644 SRT/CDB/alma/DataBlock/MinorServo/GFR/LookupTables/LookupTables.xml create mode 100644 SRT/CDB/alma/DataBlock/MinorServo/M3R/Coefficients/Coefficients.xml delete mode 100644 SRT/CDB/alma/DataBlock/MinorServo/M3R/LookupTables/LookupTables.xml create mode 100644 SRT/CDB/alma/DataBlock/MinorServo/PFP/Coefficients/Coefficients.xml delete mode 100644 SRT/CDB/alma/DataBlock/MinorServo/PFP/LookupTables/LookupTables.xml create mode 100644 SRT/CDB/alma/DataBlock/MinorServo/SRP/Coefficients/Coefficients.xml delete mode 100644 SRT/CDB/alma/DataBlock/MinorServo/SRP/LookupTables/LookupTables.xml create mode 100644 SRT/Configuration/CDB/alma/DataBlock/MinorServo/Boss/Configurations/Configurations.xml create mode 100644 SRT/Configuration/CDB/alma/DataBlock/MinorServo/GFR/Coefficients/Coefficients.xml delete mode 100644 SRT/Configuration/CDB/alma/DataBlock/MinorServo/GFR/LookupTables/LookupTables.xml create mode 100644 SRT/Configuration/CDB/alma/DataBlock/MinorServo/M3R/Coefficients/Coefficients.xml delete mode 100644 SRT/Configuration/CDB/alma/DataBlock/MinorServo/M3R/LookupTables/LookupTables.xml create mode 100644 SRT/Configuration/CDB/alma/DataBlock/MinorServo/SRP/Coefficients/Coefficients.xml delete mode 100644 SRT/Configuration/CDB/alma/DataBlock/MinorServo/SRP/LookupTables/LookupTables.xml create mode 100644 SRT/Outdated/CDB/alma/DataBlock/MinorServo/PFP/Coefficients/Coefficients.xml delete mode 100644 SRT/Outdated/CDB/alma/DataBlock/MinorServo/PFP/LookupTables/LookupTables.xml create mode 100644 SRT/Servers/SRTMinorServo/config/CDB/schemas/SRTMinorServoCoefficients.xsd delete mode 100644 SRT/Servers/SRTMinorServo/config/CDB/schemas/SRTMinorServoLookupTable.xsd diff --git a/SRT/CDB/alma/DataBlock/MinorServo/Boss/Configurations/Configurations.xml b/SRT/CDB/alma/DataBlock/MinorServo/Boss/Configurations/Configurations.xml new file mode 100644 index 000000000..5159bf12d --- /dev/null +++ b/SRT/CDB/alma/DataBlock/MinorServo/Boss/Configurations/Configurations.xml @@ -0,0 +1,27 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> +<!-- + - Author: Giuseppe Carboni + - History: + - 02-04-25 Created +--> + +<SRTMinorServoBossConfigurationsTable xmlns="urn:schemas-cosylab-com:SRTMinorServoBoss:1.0" + 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"> + + <configuration> <DISCOS>LLP</DISCOS> <LDO>Primario</LDO> </configuration> + <configuration> <DISCOS>PPP</DISCOS> <LDO>Primario</LDO> </configuration> + <configuration> <DISCOS>PLP</DISCOS> <LDO>Primario</LDO> </configuration> + <configuration> <DISCOS>HHP</DISCOS> <LDO>Primario</LDO> </configuration> + <configuration> <DISCOS>XKP</DISCOS> <LDO>Primario</LDO> </configuration> + <configuration> <DISCOS>CCG</DISCOS> <LDO>Gregoriano1</LDO> </configuration> + <configuration> <DISCOS>KKG</DISCOS> <LDO>Gregoriano2</LDO> </configuration> + <configuration> <DISCOS>WWG</DISCOS> <LDO>Gregoriano3</LDO> </configuration> + <configuration> <DISCOS>QQG</DISCOS> <LDO>Gregoriano4</LDO> </configuration> + <configuration> <DISCOS>CTR</DISCOS> <LDO>Gregoriano5</LDO> </configuration> + <configuration> <DISCOS>MISTRAL</DISCOS> <LDO>Gregoriano6</LDO> </configuration> + <configuration> <DISCOS>CCB</DISCOS> <LDO>BWG1</LDO> </configuration> + <configuration> <DISCOS>XB</DISCOS> <LDO>BWG3</LDO> </configuration> + +</SRTMinorServoBossConfigurationsTable> diff --git a/SRT/CDB/alma/DataBlock/MinorServo/GFR/Coefficients/Coefficients.xml b/SRT/CDB/alma/DataBlock/MinorServo/GFR/Coefficients/Coefficients.xml new file mode 100644 index 000000000..d48dd3cd6 --- /dev/null +++ b/SRT/CDB/alma/DataBlock/MinorServo/GFR/Coefficients/Coefficients.xml @@ -0,0 +1,29 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> +<!-- + - Author: Giuseppe Carboni + - History: + - 14-03-23 Created +--> + +<SRTMinorServoCoefficientsTable xmlns="urn:schemas-cosylab-com:SRTMinorServoCoefficients:1.0" + 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"> + + <!-- n stands for name, a stands for axis, p stands for polynomial --> + + <configuration><n>CCG</n> <a>ROTATION</a><p>-88.70659 </p></configuration> + + <configuration><n>KKG</n> <a>ROTATION</a><p>-159.8899 </p></configuration> + + <configuration><n>WWG</n> <a>ROTATION</a><p>90.971610 </p></configuration> + + <configuration><n>QQG</n> <a>ROTATION</a><p>162.771 </p></configuration> + + <configuration><n>CTR</n> <a>ROTATION</a><p>55.373967 </p></configuration> + + <configuration><n>MISTRAL</n> <a>ROTATION</a><p>-51.821170 </p></configuration> + + <!-- BWG configurations are not necessary since the SETUP command takes care of positioning the GFR to 0 --> + +</SRTMinorServoCoefficientsTable> diff --git a/SRT/CDB/alma/DataBlock/MinorServo/GFR/LookupTables/LookupTables.xml b/SRT/CDB/alma/DataBlock/MinorServo/GFR/LookupTables/LookupTables.xml deleted file mode 100644 index 9481f7890..000000000 --- a/SRT/CDB/alma/DataBlock/MinorServo/GFR/LookupTables/LookupTables.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version='1.0' encoding='ISO-8859-1'?> -<!-- - - Author: Giuseppe Carboni - - History: - - 14-03-23 Created ---> - -<SRTMinorServoLookupTable xmlns="urn:schemas-cosylab-com:SRTMinorServoLookupTable:1.0" - 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"> - - <CCG> <axis>ROTATION</axis> <coefficients>-88.70659 </coefficients></CCG> - <CCG_ASACTIVE> <axis>ROTATION</axis> <coefficients>-88.70659 </coefficients></CCG_ASACTIVE> - <KKG> <axis>ROTATION</axis> <coefficients>-159.8899 </coefficients></KKG> - <KKG_ASACTIVE> <axis>ROTATION</axis> <coefficients>-159.8899 </coefficients></KKG_ASACTIVE> - <WWG> <axis>ROTATION</axis> <coefficients>90.971610 </coefficients></WWG> - <WWG_ASACTIVE> <axis>ROTATION</axis> <coefficients>90.971610 </coefficients></WWG_ASACTIVE> - <QQG> <axis>ROTATION</axis> <coefficients>162.771 </coefficients></QQG> - <QQG_ASACTIVE> <axis>ROTATION</axis> <coefficients>162.771 </coefficients></QQG_ASACTIVE> - <TRI> <axis>ROTATION</axis> <coefficients>55.373967 </coefficients></TRI> - <TRI_ASACTIVE> <axis>ROTATION</axis> <coefficients>55.373967 </coefficients></TRI_ASACTIVE> - <MISTRAL> <axis>ROTATION</axis> <coefficients>-51.821170 </coefficients></MISTRAL> - <MISTRAL_ASACTIVE> <axis>ROTATION</axis> <coefficients>-51.821170 </coefficients></MISTRAL_ASACTIVE> - - <!-- BWG - GFR open - configurations commented out since the SETUP command takes care of positioning the GFR to 0 --> - <!--CCB> <axis>ROTATION</axis> <coefficients>0 </coefficients></CCB--> - <!--CCB_ASACTIVE> <axis>ROTATION</axis> <coefficients>0 </coefficients></CCB_ASACTIVE--> - <!--XB> <axis>ROTATION</axis> <coefficients>0 </coefficients></XB--> - <!--XB_ASACTIVE> <axis>ROTATION</axis> <coefficients>0 </coefficients></XB_ASACTIVE--> - -</SRTMinorServoLookupTable> diff --git a/SRT/CDB/alma/DataBlock/MinorServo/M3R/Coefficients/Coefficients.xml b/SRT/CDB/alma/DataBlock/MinorServo/M3R/Coefficients/Coefficients.xml new file mode 100644 index 000000000..296a8bdb4 --- /dev/null +++ b/SRT/CDB/alma/DataBlock/MinorServo/M3R/Coefficients/Coefficients.xml @@ -0,0 +1,19 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> +<!-- + - Author: Giuseppe Carboni + - History: + - 14-03-23 Created +--> + +<SRTMinorServoCoefficientsTable xmlns="urn:schemas-cosylab-com:SRTMinorServoCoefficients:1.0" + 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"> + + <!-- n stands for name, a stands for axis, p stands for polynomial --> + + <configuration><n>CCB</n><a>ROTATION</a><p>44.95999544939037931 </p></configuration> + + <configuration><n>XB</n> <a>ROTATION</a><p>135.003886290282340384 </p></configuration> + +</SRTMinorServoCoefficientsTable> diff --git a/SRT/CDB/alma/DataBlock/MinorServo/M3R/LookupTables/LookupTables.xml b/SRT/CDB/alma/DataBlock/MinorServo/M3R/LookupTables/LookupTables.xml deleted file mode 100644 index cfc134bab..000000000 --- a/SRT/CDB/alma/DataBlock/MinorServo/M3R/LookupTables/LookupTables.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version='1.0' encoding='ISO-8859-1'?> -<!-- - - Author: Giuseppe Carboni - - History: - - 14-03-23 Created ---> - -<SRTMinorServoLookupTable xmlns="urn:schemas-cosylab-com:SRTMinorServoLookupTable:1.0" - 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"> - - <CCB> <axis>ROTATION</axis> <coefficients>44.95999544939037931 </coefficients></CCB> - <CCB_ASACTIVE> <axis>ROTATION</axis> <coefficients>44.95999544939037931 </coefficients></CCB_ASACTIVE> - <XB> <axis>ROTATION</axis> <coefficients>135.003886290282340384 </coefficients></XB> - <XB_ASACTIVE> <axis>ROTATION</axis> <coefficients>135.003886290282340384 </coefficients></XB_ASACTIVE> - -</SRTMinorServoLookupTable> diff --git a/SRT/CDB/alma/DataBlock/MinorServo/PFP/Coefficients/Coefficients.xml b/SRT/CDB/alma/DataBlock/MinorServo/PFP/Coefficients/Coefficients.xml new file mode 100644 index 000000000..b553b2235 --- /dev/null +++ b/SRT/CDB/alma/DataBlock/MinorServo/PFP/Coefficients/Coefficients.xml @@ -0,0 +1,35 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> +<!-- + - Author: Giuseppe Carboni + - History: + - 14-03-23 Created +--> + +<SRTMinorServoCoefficientsTable xmlns="urn:schemas-cosylab-com:SRTMinorServoCoefficients:1.0" + 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"> + + <!-- n stands for name, a stands for axis, p stands for polynomial --> + + <configuration><n>LLP</n><a>TX</a> <p>0</p></configuration> + <configuration><n>LLP</n><a>TZ</a> <p>0</p></configuration> + <configuration><n>LLP</n><a>RTHETA</a> <p>0</p></configuration> + + <configuration><n>PPP</n><a>TX</a> <p>0</p></configuration> + <configuration><n>PPP</n><a>TZ</a> <p>0</p></configuration> + <configuration><n>PPP</n><a>RTHETA</a> <p>0</p></configuration> + + <configuration><n>PLP</n><a>TX</a> <p>0</p></configuration> + <configuration><n>PLP</n><a>TZ</a> <p>0</p></configuration> + <configuration><n>PLP</n><a>RTHETA</a> <p>0</p></configuration> + + <configuration><n>HHP</n><a>TX</a> <p>0</p></configuration> + <configuration><n>HHP</n><a>TZ</a> <p>0</p></configuration> + <configuration><n>HHP</n><a>RTHETA</a> <p>0</p></configuration> + + <configuration><n>XKP</n><a>TX</a> <p>0</p></configuration> + <configuration><n>XKP</n><a>TZ</a> <p>0</p></configuration> + <configuration><n>XKP</n><a>RTHETA</a> <p>0</p></configuration> + +</SRTMinorServoCoefficientsTable> diff --git a/SRT/CDB/alma/DataBlock/MinorServo/PFP/LookupTables/LookupTables.xml b/SRT/CDB/alma/DataBlock/MinorServo/PFP/LookupTables/LookupTables.xml deleted file mode 100644 index 086b3785b..000000000 --- a/SRT/CDB/alma/DataBlock/MinorServo/PFP/LookupTables/LookupTables.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version='1.0' encoding='ISO-8859-1'?> -<!-- - - Author: Giuseppe Carboni - - History: - - 14-03-23 Created ---> - -<SRTMinorServoLookupTable xmlns="urn:schemas-cosylab-com:SRTMinorServoLookupTable:1.0" - 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"> - - <LLP> <axis>TX</axis> <coefficients>0 </coefficients></LLP> - <LLP> <axis>TZ</axis> <coefficients>0 </coefficients></LLP> - <LLP> <axis>RTHETA</axis> <coefficients>0 </coefficients></LLP> - - <PPP> <axis>TX</axis> <coefficients>0 </coefficients></PPP> - <PPP> <axis>TZ</axis> <coefficients>0 </coefficients></PPP> - <PPP> <axis>RTHETA</axis> <coefficients>0 </coefficients></PPP> - - <PLP> <axis>TX</axis> <coefficients>0 </coefficients></PLP> - <PLP> <axis>TZ</axis> <coefficients>0 </coefficients></PLP> - <PLP> <axis>RTHETA</axis> <coefficients>0 </coefficients></PLP> - - <HHP> <axis>TX</axis> <coefficients>0 </coefficients></HHP> - <HHP> <axis>TZ</axis> <coefficients>0 </coefficients></HHP> - <HHP> <axis>RTHETA</axis> <coefficients>0 </coefficients></HHP> - - <XKP> <axis>TX</axis> <coefficients>0 </coefficients></XKP> - <XKP> <axis>TZ</axis> <coefficients>0 </coefficients></XKP> - <XKP> <axis>RTHETA</axis> <coefficients>0 </coefficients></XKP> - -</SRTMinorServoLookupTable> diff --git a/SRT/CDB/alma/DataBlock/MinorServo/SRP/Coefficients/Coefficients.xml b/SRT/CDB/alma/DataBlock/MinorServo/SRP/Coefficients/Coefficients.xml new file mode 100644 index 000000000..23ce8bfe3 --- /dev/null +++ b/SRT/CDB/alma/DataBlock/MinorServo/SRP/Coefficients/Coefficients.xml @@ -0,0 +1,99 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> +<!-- + - Author: Giuseppe Carboni + - History: + - 14-03-23 Created +--> + +<SRTMinorServoCoefficientsTable xmlns="urn:schemas-cosylab-com:SRTMinorServoCoefficients:1.0" + 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"> + + <!-- n stands for name, a stands for axis, p stands for polynomial --> + + <configuration><n>CCG</n> <a>TX</a><p>-1.5 </p></configuration> + <configuration><n>CCG</n> <a>TY</a><p>29.556666666666498, 0.263472663139432, -0.018206701940039, 0.000072373113855 </p></configuration> + <configuration><n>CCG</n> <a>TZ</a><p>-15.6669651675, 1.9293068324, -0.0628990613, 0.0007771141, -0.0000032940 </p></configuration> + <configuration><n>CCG</n> <a>RX</a><p>-0.0055555555555569409, 0.00014822163433269445, 0.000027586713698, -0.000000077732053 </p></configuration> + <configuration><n>CCG</n> <a>RY</a><p>-0.036111111111111108 </p></configuration> + <configuration><n>CCG</n> <a>RZ</a><p>0 </p></configuration> + + <configuration><n>CCG_AS_OFF</n><a>TX</a><p>-1.5 </p></configuration> + <configuration><n>CCG_AS_OFF</n><a>TY</a><p>28.256852219272844, -0.002707044952, -0.009870218853, 0.000031617958 </p></configuration> + <configuration><n>CCG_AS_OFF</n><a>TZ</a><p>9.530113849340003, -0.169826241752, 0.000419997047, 0.000003985237 </p></configuration> + <configuration><n>CCG_AS_OFF</n><a>RX</a><p>-0.011392527142374848, -0.0001426193499425, 0.000039508844799, -0.000000131010010 </p></configuration> + <configuration><n>CCG_AS_OFF</n><a>RY</a><p>-0.03611111111111111 </p></configuration> + <configuration><n>CCG_AS_OFF</n><a>RZ</a><p>0 </p></configuration> + + <configuration><n>KKG</n> <a>TX</a><p>-1.5 </p></configuration> + <configuration><n>KKG</n> <a>TY</a><p>29.556666666666498, 0.263472663139432, -0.018206701940039, 0.000072373113855 </p></configuration> + <configuration><n>KKG</n> <a>TZ</a><p>-15.6669651675, 1.9293068324, -0.0628990613, 0.0007771141, -0.0000032940 </p></configuration> + <configuration><n>KKG</n> <a>RX</a><p>-0.0055555555555569409, 0.00014822163433269445, 0.000027586713698, -0.000000077732053 </p></configuration> + <configuration><n>KKG</n> <a>RY</a><p>-0.036111111111111108 </p></configuration> + <configuration><n>KKG</n> <a>RZ</a><p>0 </p></configuration> + + <configuration><n>KKG_AS_OFF</n><a>TX</a><p>-1.5 </p></configuration> + <configuration><n>KKG_AS_OFF</n><a>TY</a><p>28.256852219272844, -0.002707044952, -0.009870218853, 0.000031617958 </p></configuration> + <configuration><n>KKG_AS_OFF</n><a>TZ</a><p>9.530113849340003, -0.169826241752, 0.000419997047, 0.000003985237 </p></configuration> + <configuration><n>KKG_AS_OFF</n><a>RX</a><p>-0.011392527142374848, -0.0001426193499425, 0.000039508844799, -0.000000131010010 </p></configuration> + <configuration><n>KKG_AS_OFF</n><a>RY</a><p>-0.03611111111111111 </p></configuration> + <configuration><n>KKG_AS_OFF</n><a>RZ</a><p>0 </p></configuration> + + <configuration><n>WWG</n> <a>TX</a><p>0 </p></configuration> + <configuration><n>WWG</n> <a>TY</a><p>0 </p></configuration> + <configuration><n>WWG</n> <a>TZ</a><p>0 </p></configuration> + <configuration><n>WWG</n> <a>RX</a><p>0 </p></configuration> + <configuration><n>WWG</n> <a>RY</a><p>0 </p></configuration> + <configuration><n>WWG</n> <a>RZ</a><p>0 </p></configuration> + + <configuration><n>QQG</n> <a>TX</a><p>0 </p></configuration> + <configuration><n>QQG</n> <a>TY</a><p>0 </p></configuration> + <configuration><n>QQG</n> <a>TZ</a><p>0 </p></configuration> + <configuration><n>QQG</n> <a>RX</a><p>0 </p></configuration> + <configuration><n>QQG</n> <a>RY</a><p>0 </p></configuration> + <configuration><n>QQG</n> <a>RZ</a><p>0 </p></configuration> + + <configuration><n>CTR</n> <a>TX</a><p>0 </p></configuration> + <configuration><n>CTR</n> <a>TY</a><p>0 </p></configuration> + <configuration><n>CTR</n> <a>TZ</a><p>0 </p></configuration> + <configuration><n>CTR</n> <a>RX</a><p>0 </p></configuration> + <configuration><n>CTR</n> <a>RY</a><p>0 </p></configuration> + <configuration><n>CTR</n> <a>RZ</a><p>0 </p></configuration> + + <configuration><n>MISTRAL</n> <a>TX</a><p>-1.5 </p></configuration> + <configuration><n>MISTRAL</n> <a>TY</a><p>29.556666666666498, 0.263472663139432, -0.018206701940039, 0.000072373113855 </p></configuration> + <configuration><n>MISTRAL</n> <a>TZ</a><p>-15.6669651675, 1.9293068324, -0.0628990613, 0.0007771141, -0.0000032940 </p></configuration> + <configuration><n>MISTRAL</n> <a>RX</a><p>-0.0055555555555569409, 0.00014822163433269445, 0.000027586713698, -0.000000077732053 </p></configuration> + <configuration><n>MISTRAL</n> <a>RY</a><p>-0.036111111111111108 </p></configuration> + <configuration><n>MISTRAL</n> <a>RZ</a><p>0 </p></configuration> + + <configuration><n>CCB</n> <a>TX</a><p>-1.5 </p></configuration> + <configuration><n>CCB</n> <a>TY</a><p>29.556666666666498, 0.263472663139432, -0.018206701940039, 0.000072373113855 </p></configuration> + <configuration><n>CCB</n> <a>TZ</a><p>91.5590595452, -16.4202062811, 1.16941963489, -0.040640240455, 0.000733782714288, -6.62393455442e-06, 2.36410838911e-08 </p></configuration> + <configuration><n>CCB</n> <a>RX</a><p>-0.0055555555555569409, 0.00014822163433269445, 0.000027586713698, -0.000000077732053 </p></configuration> + <configuration><n>CCB</n> <a>RY</a><p>-0.036111111111111108 </p></configuration> + <configuration><n>CCB</n> <a>RZ</a><p>0 </p></configuration> + + <configuration><n>CCB_AS_OFF</n><a>TX</a><p>-1.5 </p></configuration> + <configuration><n>CCB_AS_OFF</n><a>TY</a><p>28.256852219272844,-0.002707044952,-0.009870218853,0.000031617958 </p></configuration> + <configuration><n>CCB_AS_OFF</n><a>TZ</a><p>9.530113849340003,-0.169826241752,0.000419997047,0.000003985237 </p></configuration> + <configuration><n>CCB_AS_OFF</n><a>RX</a><p>-0.011392527142374848,-0.0001426193499425,0.000039508844799,-0.000000131010010 </p></configuration> + <configuration><n>CCB_AS_OFF</n><a>RY</a><p>-0.03611111111111111 </p></configuration> + <configuration><n>CCB_AS_OFF</n><a>RZ</a><p>0 </p></configuration> + + <configuration><n>XB</n> <a>TX</a><p>-1.5 </p></configuration> + <configuration><n>XB</n> <a>TY</a><p>29.556666666666498, 0.263472663139432, -0.018206701940039, 0.000072373113855 </p></configuration> + <configuration><n>XB</n> <a>TZ</a><p>-38.3143893309, 4.30888128547, -0.18265795755, 0.00350049382452, -3.17057523513e-05, 1.11006707448e-07 </p></configuration> + <configuration><n>XB</n> <a>RX</a><p>-0.0055555555555569409, 0.00014822163433269445, 0.000027586713698, -0.000000077732053 </p></configuration> + <configuration><n>XB</n> <a>RY</a><p>-0.036111111111111108 </p></configuration> + <configuration><n>XB</n> <a>RZ</a><p>0 </p></configuration> + + <configuration><n>XB_AS_OFF</n> <a>TX</a><p>-1.5 </p></configuration> + <configuration><n>XB_AS_OFF</n> <a>TY</a><p>28.256852219272844,-0.002707044952,-0.009870218853,0.000031617958 </p></configuration> + <configuration><n>XB_AS_OFF</n> <a>TZ</a><p>7.92754535681,-1.73279985542,0.147346047014,-0.00516934108597,7.69094654954e-05,-4.0697957632e-07 </p></configuration> + <configuration><n>XB_AS_OFF</n> <a>RX</a><p>-0.011392527142374848,-0.0001426193499425,0.000039508844799,-0.000000131010010 </p></configuration> + <configuration><n>XB_AS_OFF</n> <a>RY</a><p>-0.03611111111111111 </p></configuration> + <configuration><n>XB_AS_OFF</n> <a>RZ</a><p>0 </p></configuration> + +</SRTMinorServoCoefficientsTable> diff --git a/SRT/CDB/alma/DataBlock/MinorServo/SRP/LookupTables/LookupTables.xml b/SRT/CDB/alma/DataBlock/MinorServo/SRP/LookupTables/LookupTables.xml deleted file mode 100644 index 0cabed4bb..000000000 --- a/SRT/CDB/alma/DataBlock/MinorServo/SRP/LookupTables/LookupTables.xml +++ /dev/null @@ -1,125 +0,0 @@ -<?xml version='1.0' encoding='ISO-8859-1'?> -<!-- - - Author: Giuseppe Carboni - - History: - - 14-03-23 Created ---> - -<SRTMinorServoLookupTable xmlns="urn:schemas-cosylab-com:SRTMinorServoLookupTable:1.0" - 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"> - - <CCG> <axis>TX</axis><coefficients>-1.5 </coefficients></CCG> - <CCG> <axis>TY</axis><coefficients>28.256852219272844,-0.002707044952,-0.009870218853,0.000031617958 </coefficients></CCG> - <CCG> <axis>TZ</axis><coefficients>9.530113849340003,-0.169826241752,0.000419997047,0.000003985237 </coefficients></CCG> - <CCG> <axis>RX</axis><coefficients>-0.011392527142374848,-0.0001426193499425,0.000039508844799,-0.000000131010010 </coefficients></CCG> - <CCG> <axis>RY</axis><coefficients>-0.03611111111111111 </coefficients></CCG> - <CCG> <axis>RZ</axis><coefficients>0 </coefficients></CCG> - - <CCG_ASACTIVE> <axis>TX</axis><coefficients>-1.5 </coefficients></CCG_ASACTIVE> - <CCG_ASACTIVE> <axis>TY</axis><coefficients>29.556666666666498,0.263472663139432,-0.018206701940039,0.000072373113855 </coefficients></CCG_ASACTIVE> - <CCG_ASACTIVE> <axis>TZ</axis><coefficients>-15.6669651675,1.9293068324,-0.0628990613,0.0007771141,-0.0000032940 </coefficients></CCG_ASACTIVE> - <CCG_ASACTIVE> <axis>RX</axis><coefficients>-0.0055555555555569409, 0.00014822163433269445, 0.000027586713698, -0.000000077732053 </coefficients></CCG_ASACTIVE> - <CCG_ASACTIVE> <axis>RY</axis><coefficients>-0.036111111111111108 </coefficients></CCG_ASACTIVE> - <CCG_ASACTIVE> <axis>RZ</axis><coefficients>0 </coefficients></CCG_ASACTIVE> - - <KKG> <axis>TX</axis><coefficients>-1.5 </coefficients></KKG> - <KKG> <axis>TY</axis><coefficients>28.256852219272844,-0.002707044952,-0.009870218853,0.000031617958 </coefficients></KKG> - <KKG> <axis>TZ</axis><coefficients>9.530113849340003,-0.169826241752,0.000419997047,0.000003985237 </coefficients></KKG> - <KKG> <axis>RX</axis><coefficients>-0.011392527142374848,-0.0001426193499425,0.000039508844799,-0.000000131010010 </coefficients></KKG> - <KKG> <axis>RY</axis><coefficients>-0.03611111111111111 </coefficients></KKG> - <KKG> <axis>RZ</axis><coefficients>0 </coefficients></KKG> - - <KKG_ASACTIVE> <axis>TX</axis><coefficients>-1.5 </coefficients></KKG_ASACTIVE> - <KKG_ASACTIVE> <axis>TY</axis><coefficients>29.556666666666498,0.263472663139432,-0.018206701940039,0.000072373113855 </coefficients></KKG_ASACTIVE> - <KKG_ASACTIVE> <axis>TZ</axis><coefficients>-15.6669651675,1.9293068324,-0.0628990613,0.0007771141,-0.0000032940 </coefficients></KKG_ASACTIVE> - <KKG_ASACTIVE> <axis>RX</axis><coefficients>-0.0055555555555569409, 0.00014822163433269445, 0.000027586713698, -0.000000077732053 </coefficients></KKG_ASACTIVE> - <KKG_ASACTIVE> <axis>RY</axis><coefficients>-0.036111111111111108 </coefficients></KKG_ASACTIVE> - <KKG_ASACTIVE> <axis>RZ</axis><coefficients>0 </coefficients></KKG_ASACTIVE> - - <WWG> <axis>TX</axis><coefficients>0 </coefficients></WWG> - <WWG> <axis>TY</axis><coefficients>0 </coefficients></WWG> - <WWG> <axis>TZ</axis><coefficients>0 </coefficients></WWG> - <WWG> <axis>RX</axis><coefficients>0 </coefficients></WWG> - <WWG> <axis>RY</axis><coefficients>0 </coefficients></WWG> - <WWG> <axis>RZ</axis><coefficients>0 </coefficients></WWG> - - <WWG_ASACTIVE> <axis>TX</axis><coefficients>0 </coefficients></WWG_ASACTIVE> - <WWG_ASACTIVE> <axis>TY</axis><coefficients>0 </coefficients></WWG_ASACTIVE> - <WWG_ASACTIVE> <axis>TZ</axis><coefficients>0 </coefficients></WWG_ASACTIVE> - <WWG_ASACTIVE> <axis>RX</axis><coefficients>0 </coefficients></WWG_ASACTIVE> - <WWG_ASACTIVE> <axis>RY</axis><coefficients>0 </coefficients></WWG_ASACTIVE> - <WWG_ASACTIVE> <axis>RZ</axis><coefficients>0 </coefficients></WWG_ASACTIVE> - - <QQG> <axis>TX</axis><coefficients>0 </coefficients></QQG> - <QQG> <axis>TY</axis><coefficients>0 </coefficients></QQG> - <QQG> <axis>TZ</axis><coefficients>0 </coefficients></QQG> - <QQG> <axis>RX</axis><coefficients>0 </coefficients></QQG> - <QQG> <axis>RY</axis><coefficients>0 </coefficients></QQG> - <QQG> <axis>RZ</axis><coefficients>0 </coefficients></QQG> - - <QQG_ASACTIVE> <axis>TX</axis><coefficients>0 </coefficients></QQG_ASACTIVE> - <QQG_ASACTIVE> <axis>TY</axis><coefficients>0 </coefficients></QQG_ASACTIVE> - <QQG_ASACTIVE> <axis>TZ</axis><coefficients>0 </coefficients></QQG_ASACTIVE> - <QQG_ASACTIVE> <axis>RX</axis><coefficients>0 </coefficients></QQG_ASACTIVE> - <QQG_ASACTIVE> <axis>RY</axis><coefficients>0 </coefficients></QQG_ASACTIVE> - <QQG_ASACTIVE> <axis>RZ</axis><coefficients>0 </coefficients></QQG_ASACTIVE> - - <TRI> <axis>TX</axis><coefficients>0 </coefficients></TRI> - <TRI> <axis>TY</axis><coefficients>0 </coefficients></TRI> - <TRI> <axis>TZ</axis><coefficients>0 </coefficients></TRI> - <TRI> <axis>RX</axis><coefficients>0 </coefficients></TRI> - <TRI> <axis>RY</axis><coefficients>0 </coefficients></TRI> - <TRI> <axis>RZ</axis><coefficients>0 </coefficients></TRI> - - <TRI_ASACTIVE> <axis>TX</axis><coefficients>0 </coefficients></TRI_ASACTIVE> - <TRI_ASACTIVE> <axis>TY</axis><coefficients>0 </coefficients></TRI_ASACTIVE> - <TRI_ASACTIVE> <axis>TZ</axis><coefficients>0 </coefficients></TRI_ASACTIVE> - <TRI_ASACTIVE> <axis>RX</axis><coefficients>0 </coefficients></TRI_ASACTIVE> - <TRI_ASACTIVE> <axis>RY</axis><coefficients>0 </coefficients></TRI_ASACTIVE> - <TRI_ASACTIVE> <axis>RZ</axis><coefficients>0 </coefficients></TRI_ASACTIVE> - - <MISTRAL> <axis>TX</axis><coefficients>-1.5 </coefficients></MISTRAL> - <MISTRAL> <axis>TY</axis><coefficients>28.256852219272844,-0.002707044952,-0.009870218853,0.000031617958 </coefficients></MISTRAL> - <MISTRAL> <axis>TZ</axis><coefficients>9.530113849340003,-0.169826241752,0.000419997047,0.000003985237 </coefficients></MISTRAL> - <MISTRAL> <axis>RX</axis><coefficients>-0.011392527142374848,-0.0001426193499425,0.000039508844799,-0.000000131010010 </coefficients></MISTRAL> - <MISTRAL> <axis>RY</axis><coefficients>-0.03611111111111111 </coefficients></MISTRAL> - <MISTRAL> <axis>RZ</axis><coefficients>0 </coefficients></MISTRAL> - - <MISTRAL_ASACTIVE> <axis>TX</axis><coefficients>-1.5 </coefficients></MISTRAL_ASACTIVE> - <MISTRAL_ASACTIVE> <axis>TY</axis><coefficients>29.556666666666498,0.263472663139432,-0.018206701940039,0.000072373113855 </coefficients></MISTRAL_ASACTIVE> - <MISTRAL_ASACTIVE> <axis>TZ</axis><coefficients>-15.6669651675,1.9293068324,-0.0628990613,0.0007771141,-0.0000032940 </coefficients></MISTRAL_ASACTIVE> - <MISTRAL_ASACTIVE> <axis>RX</axis><coefficients>-0.0055555555555569409, 0.00014822163433269445, 0.000027586713698, -0.000000077732053 </coefficients></MISTRAL_ASACTIVE> - <MISTRAL_ASACTIVE> <axis>RY</axis><coefficients>-0.036111111111111108 </coefficients></MISTRAL_ASACTIVE> - <MISTRAL_ASACTIVE> <axis>RZ</axis><coefficients>0 </coefficients></MISTRAL_ASACTIVE> - - <CCB> <axis>TX</axis><coefficients>-1.5 </coefficients></CCB> - <CCB> <axis>TY</axis><coefficients>28.256852219272844,-0.002707044952,-0.009870218853,0.000031617958 </coefficients></CCB> - <CCB> <axis>TZ</axis><coefficients>9.530113849340003,-0.169826241752,0.000419997047,0.000003985237 </coefficients></CCB> - <CCB> <axis>RX</axis><coefficients>-0.011392527142374848,-0.0001426193499425,0.000039508844799,-0.000000131010010 </coefficients></CCB> - <CCB> <axis>RY</axis><coefficients>-0.03611111111111111 </coefficients></CCB> - <CCB> <axis>RZ</axis><coefficients>0 </coefficients></CCB> - - <CCB_ASACTIVE> <axis>TX</axis><coefficients>-1.5 </coefficients></CCB_ASACTIVE> - <CCB_ASACTIVE> <axis>TY</axis><coefficients>29.556666666666498,0.263472663139432,-0.018206701940039,0.000072373113855 </coefficients></CCB_ASACTIVE> - <CCB_ASACTIVE> <axis>TZ</axis><coefficients>91.5590595452,-16.4202062811,1.16941963489,-0.040640240455,0.000733782714288,-6.62393455442e-06,2.36410838911e-08 </coefficients></CCB_ASACTIVE> - <CCB_ASACTIVE> <axis>RX</axis><coefficients>-0.0055555555555569409,0.00014822163433269445,0.000027586713698,-0.000000077732053 </coefficients></CCB_ASACTIVE> - <CCB_ASACTIVE> <axis>RY</axis><coefficients>-0.036111111111111108 </coefficients></CCB_ASACTIVE> - <CCB_ASACTIVE> <axis>RZ</axis><coefficients>0 </coefficients></CCB_ASACTIVE> - - <XB> <axis>TX</axis><coefficients>-1.5 </coefficients></XB> - <XB> <axis>TY</axis><coefficients>28.256852219272844,-0.002707044952,-0.009870218853,0.000031617958 </coefficients></XB> - <XB> <axis>TZ</axis><coefficients>7.92754535681,-1.73279985542,0.147346047014,-0.00516934108597,7.69094654954e-05,-4.0697957632e-07 </coefficients></XB> - <XB> <axis>RX</axis><coefficients>-0.011392527142374848,-0.0001426193499425,0.000039508844799,-0.000000131010010 </coefficients></XB> - <XB> <axis>RY</axis><coefficients>-0.03611111111111111 </coefficients></XB> - <XB> <axis>RZ</axis><coefficients>0 </coefficients></XB> - - <XB_ASACTIVE> <axis>TX</axis><coefficients>-1.5 </coefficients></XB_ASACTIVE> - <XB_ASACTIVE> <axis>TY</axis><coefficients>29.556666666666498,0.263472663139432,-0.018206701940039,0.000072373113855 </coefficients></XB_ASACTIVE> - <XB_ASACTIVE> <axis>TZ</axis><coefficients>-38.3143893309,4.30888128547,-0.18265795755,0.00350049382452,-3.17057523513e-05,1.11006707448e-07 </coefficients></XB_ASACTIVE> - <XB_ASACTIVE> <axis>RX</axis><coefficients>-0.0055555555555569409,0.00014822163433269445,0.000027586713698,-0.000000077732053 </coefficients></XB_ASACTIVE> - <XB_ASACTIVE> <axis>RY</axis><coefficients>-0.036111111111111108 </coefficients></XB_ASACTIVE> - <XB_ASACTIVE> <axis>RZ</axis><coefficients>0 </coefficients></XB_ASACTIVE> - -</SRTMinorServoLookupTable> diff --git a/SRT/Configuration/CDB/alma/DataBlock/MinorServo/Boss/Configurations/Configurations.xml b/SRT/Configuration/CDB/alma/DataBlock/MinorServo/Boss/Configurations/Configurations.xml new file mode 100644 index 000000000..bf0a20bd8 --- /dev/null +++ b/SRT/Configuration/CDB/alma/DataBlock/MinorServo/Boss/Configurations/Configurations.xml @@ -0,0 +1,28 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> +<!-- + - Author: Giuseppe Carboni + - History: + - 02-04-25 Created +--> + +<SRTMinorServoBossConfigurationsTable xmlns="urn:schemas-cosylab-com:SRTMinorServoBoss:1.0" + 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"> + + <!--configuration> <DISCOS>LLP</DISCOS> <LDO>Primario</LDO> </configuration--> + <!--configuration> <DISCOS>PPP</DISCOS> <LDO>Primario</LDO> </configuration--> + <!--configuration> <DISCOS>PLP</DISCOS> <LDO>Primario</LDO> </configuration--> + <!--configuration> <DISCOS>HHP</DISCOS> <LDO>Primario</LDO> </configuration--> + <!--configuration> <DISCOS>XKP</DISCOS> <LDO>Primario</LDO> </configuration--> + <configuration> <DISCOS>CCG</DISCOS> <LDO>Gregoriano1</LDO> </configuration> + <configuration> <DISCOS>KKG</DISCOS> <LDO>Gregoriano2</LDO> </configuration> + <configuration> <DISCOS>WWG</DISCOS> <LDO>Gregoriano3</LDO> </configuration> + <configuration> <DISCOS>QQG</DISCOS> <LDO>Gregoriano4</LDO> </configuration> + <configuration> <DISCOS>CTR</DISCOS> <LDO>Gregoriano5</LDO> </configuration> + <configuration> <DISCOS>MISTRAL</DISCOS> <LDO>Gregoriano6</LDO> </configuration> + <configuration> <DISCOS>CABINET</DISCOS> <LDO>Gregoriano7</LDO> </configuration> + <configuration> <DISCOS>CCB</DISCOS> <LDO>BWG1</LDO> </configuration> + <configuration> <DISCOS>XB</DISCOS> <LDO>BWG3</LDO> </configuration> + +</SRTMinorServoBossConfigurationsTable> diff --git a/SRT/Configuration/CDB/alma/DataBlock/MinorServo/GFR/Coefficients/Coefficients.xml b/SRT/Configuration/CDB/alma/DataBlock/MinorServo/GFR/Coefficients/Coefficients.xml new file mode 100644 index 000000000..df4600854 --- /dev/null +++ b/SRT/Configuration/CDB/alma/DataBlock/MinorServo/GFR/Coefficients/Coefficients.xml @@ -0,0 +1,31 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> +<!-- + - Author: Giuseppe Carboni + - History: + - 14-03-23 Created +--> + +<SRTMinorServoCoefficientsTable xmlns="urn:schemas-cosylab-com:SRTMinorServoCoefficients:1.0" + 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"> + + <!-- n stands for name, a stands for axis, p stands for polynomial --> + + <configuration><n>CCG</n> <a>ROTATION</a><p>-88.70659 </p></configuration> + + <configuration><n>KKG</n> <a>ROTATION</a><p>-159.8899 </p></configuration> + + <configuration><n>WWG</n> <a>ROTATION</a><p>90.971610 </p></configuration> + + <configuration><n>QQG</n> <a>ROTATION</a><p>162.771 </p></configuration> + + <configuration><n>CTR</n> <a>ROTATION</a><p>55.373967 </p></configuration> + + <configuration><n>MISTRAL</n> <a>ROTATION</a><p>-51.821170 </p></configuration> + + <configuration><n>CABINET</n> <a>ROTATION</a><p>40 </p></configuration> + + <!-- BWG configurations are not necessary since the SETUP command takes care of positioning the GFR to 0 --> + +</SRTMinorServoCoefficientsTable> diff --git a/SRT/Configuration/CDB/alma/DataBlock/MinorServo/GFR/LookupTables/LookupTables.xml b/SRT/Configuration/CDB/alma/DataBlock/MinorServo/GFR/LookupTables/LookupTables.xml deleted file mode 100644 index c8cb3564c..000000000 --- a/SRT/Configuration/CDB/alma/DataBlock/MinorServo/GFR/LookupTables/LookupTables.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version='1.0' encoding='ISO-8859-1'?> -<!-- - - Author: Giuseppe Carboni - - History: - - 14-03-23 Created ---> - -<SRTMinorServoLookupTable xmlns="urn:schemas-cosylab-com:SRTMinorServoLookupTable:1.0" - 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"> - - <CCG> <axis>ROTATION</axis> <coefficients>-88.70659 </coefficients></CCG> - <CCG_ASACTIVE> <axis>ROTATION</axis> <coefficients>-88.70659 </coefficients></CCG_ASACTIVE> - <KKG> <axis>ROTATION</axis> <coefficients>-159.8899 </coefficients></KKG> - <KKG_ASACTIVE> <axis>ROTATION</axis> <coefficients>-159.8899 </coefficients></KKG_ASACTIVE> - <WWG> <axis>ROTATION</axis> <coefficients>90.971610 </coefficients></WWG> - <WWG_ASACTIVE> <axis>ROTATION</axis> <coefficients>90.971610 </coefficients></WWG_ASACTIVE> - <QQG> <axis>ROTATION</axis> <coefficients>162.771 </coefficients></QQG> - <QQG_ASACTIVE> <axis>ROTATION</axis> <coefficients>162.771 </coefficients></QQG_ASACTIVE> - <TRI> <axis>ROTATION</axis> <coefficients>55.373967 </coefficients></TRI> - <TRI_ASACTIVE> <axis>ROTATION</axis> <coefficients>55.373967 </coefficients></TRI_ASACTIVE> - <MISTRAL> <axis>ROTATION</axis> <coefficients>-51.821170 </coefficients></MISTRAL> - <MISTRAL_ASACTIVE> <axis>ROTATION</axis> <coefficients>-51.821170 </coefficients></MISTRAL_ASACTIVE> - - <CABINET> <axis>ROTATION</axis> <coefficients>40 </coefficients></CABINET> - - <!-- BWG - GFR open - configurations commented out since the SETUP command takes care of positioning the GFR to 0 --> - <!--CCB> <axis>ROTATION</axis> <coefficients>0 </coefficients></CCB--> - <!--CCB_ASACTIVE> <axis>ROTATION</axis> <coefficients>0 </coefficients></CCB_ASACTIVE--> - <!--XB> <axis>ROTATION</axis> <coefficients>0 </coefficients></XB--> - <!--XB_ASACTIVE> <axis>ROTATION</axis> <coefficients>0 </coefficients></XB_ASACTIVE--> - -</SRTMinorServoLookupTable> diff --git a/SRT/Configuration/CDB/alma/DataBlock/MinorServo/M3R/Coefficients/Coefficients.xml b/SRT/Configuration/CDB/alma/DataBlock/MinorServo/M3R/Coefficients/Coefficients.xml new file mode 100644 index 000000000..296a8bdb4 --- /dev/null +++ b/SRT/Configuration/CDB/alma/DataBlock/MinorServo/M3R/Coefficients/Coefficients.xml @@ -0,0 +1,19 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> +<!-- + - Author: Giuseppe Carboni + - History: + - 14-03-23 Created +--> + +<SRTMinorServoCoefficientsTable xmlns="urn:schemas-cosylab-com:SRTMinorServoCoefficients:1.0" + 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"> + + <!-- n stands for name, a stands for axis, p stands for polynomial --> + + <configuration><n>CCB</n><a>ROTATION</a><p>44.95999544939037931 </p></configuration> + + <configuration><n>XB</n> <a>ROTATION</a><p>135.003886290282340384 </p></configuration> + +</SRTMinorServoCoefficientsTable> diff --git a/SRT/Configuration/CDB/alma/DataBlock/MinorServo/M3R/LookupTables/LookupTables.xml b/SRT/Configuration/CDB/alma/DataBlock/MinorServo/M3R/LookupTables/LookupTables.xml deleted file mode 100644 index 2c09bec47..000000000 --- a/SRT/Configuration/CDB/alma/DataBlock/MinorServo/M3R/LookupTables/LookupTables.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version='1.0' encoding='ISO-8859-1'?> -<!-- - - Author: Giuseppe Carboni - - History: - - 14-03-23 Created ---> - -<SRTMinorServoLookupTable xmlns="urn:schemas-cosylab-com:SRTMinorServoLookupTable:1.0" - 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"> - - <CCB> <axis>ROTATION</axis> <coefficients>-44.95999544939037931 </coefficients></CCB> - <CCB_ASACTIVE> <axis>ROTATION</axis> <coefficients>-44.95999544939037931 </coefficients></CCB_ASACTIVE> - <XB> <axis>ROTATION</axis> <coefficients>-135.003886290282340384 </coefficients></XB> - <XB_ASACTIVE> <axis>ROTATION</axis> <coefficients>-135.003886290282340384 </coefficients></XB_ASACTIVE> - -</SRTMinorServoLookupTable> diff --git a/SRT/Configuration/CDB/alma/DataBlock/MinorServo/SRP/Coefficients/Coefficients.xml b/SRT/Configuration/CDB/alma/DataBlock/MinorServo/SRP/Coefficients/Coefficients.xml new file mode 100644 index 000000000..b7490f861 --- /dev/null +++ b/SRT/Configuration/CDB/alma/DataBlock/MinorServo/SRP/Coefficients/Coefficients.xml @@ -0,0 +1,99 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> +<!-- + - Author: Giuseppe Carboni + - History: + - 14-03-23 Created +--> + +<SRTMinorServoCoefficientsTable xmlns="urn:schemas-cosylab-com:SRTMinorServoCoefficients:1.0" + 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"> + + <!-- n stands for name, a stands for axis, p stands for polynomial --> + + <configuration><n>CCG</n> <a>TX</a><p>-1.5 </p></configuration> + <configuration><n>CCG</n> <a>TY</a><p>29.556666666666498, 0.263472663139432, -0.018206701940039, 0.000072373113855 </p></configuration> + <configuration><n>CCG</n> <a>TZ</a><p>-15.6669651675, 1.9293068324, -0.0628990613, 0.0007771141, -0.0000032940 </p></configuration> + <configuration><n>CCG</n> <a>RX</a><p>-0.0055555555555569409, 0.00014822163433269445, 0.000027586713698, -0.000000077732053 </p></configuration> + <configuration><n>CCG</n> <a>RY</a><p>-0.036111111111111108 </p></configuration> + <configuration><n>CCG</n> <a>RZ</a><p>0 </p></configuration> + + <configuration><n>CCG_AS_OFF</n><a>TX</a><p>-1.5 </p></configuration> + <configuration><n>CCG_AS_OFF</n><a>TY</a><p>28.256852219272844, -0.002707044952, -0.009870218853, 0.000031617958 </p></configuration> + <configuration><n>CCG_AS_OFF</n><a>TZ</a><p>9.530113849340003, -0.169826241752, 0.000419997047, 0.000003985237 </p></configuration> + <configuration><n>CCG_AS_OFF</n><a>RX</a><p>-0.011392527142374848, -0.0001426193499425, 0.000039508844799, -0.000000131010010 </p></configuration> + <configuration><n>CCG_AS_OFF</n><a>RY</a><p>-0.03611111111111111 </p></configuration> + <configuration><n>CCG_AS_OFF</n><a>RZ</a><p>0 </p></configuration> + + <configuration><n>KKG</n> <a>TX</a><p>-1.5 </p></configuration> + <configuration><n>KKG</n> <a>TY</a><p>29.556666666666498, 0.263472663139432, -0.018206701940039, 0.000072373113855 </p></configuration> + <configuration><n>KKG</n> <a>TZ</a><p>-15.6669651675, 1.9293068324, -0.0628990613, 0.0007771141, -0.0000032940 </p></configuration> + <configuration><n>KKG</n> <a>RX</a><p>-0.0055555555555569409, 0.00014822163433269445, 0.000027586713698, -0.000000077732053 </p></configuration> + <configuration><n>KKG</n> <a>RY</a><p>-0.036111111111111108 </p></configuration> + <configuration><n>KKG</n> <a>RZ</a><p>0 </p></configuration> + + <configuration><n>KKG_AS_OFF</n><a>TX</a><p>-1.5 </p></configuration> + <configuration><n>KKG_AS_OFF</n><a>TY</a><p>28.256852219272844, -0.002707044952, -0.009870218853, 0.000031617958 </p></configuration> + <configuration><n>KKG_AS_OFF</n><a>TZ</a><p>9.530113849340003, -0.169826241752, 0.000419997047, 0.000003985237 </p></configuration> + <configuration><n>KKG_AS_OFF</n><a>RX</a><p>-0.011392527142374848, -0.0001426193499425, 0.000039508844799, -0.000000131010010 </p></configuration> + <configuration><n>KKG_AS_OFF</n><a>RY</a><p>-0.03611111111111111 </p></configuration> + <configuration><n>KKG_AS_OFF</n><a>RZ</a><p>0 </p></configuration> + + <configuration><n>WWG</n> <a>TX</a><p>0 </p></configuration> + <configuration><n>WWG</n> <a>TY</a><p>0 </p></configuration> + <configuration><n>WWG</n> <a>TZ</a><p>0 </p></configuration> + <configuration><n>WWG</n> <a>RX</a><p>0 </p></configuration> + <configuration><n>WWG</n> <a>RY</a><p>0 </p></configuration> + <configuration><n>WWG</n> <a>RZ</a><p>0 </p></configuration> + + <configuration><n>QQG</n> <a>TX</a><p>0 </p></configuration> + <configuration><n>QQG</n> <a>TY</a><p>0 </p></configuration> + <configuration><n>QQG</n> <a>TZ</a><p>0 </p></configuration> + <configuration><n>QQG</n> <a>RX</a><p>0 </p></configuration> + <configuration><n>QQG</n> <a>RY</a><p>0 </p></configuration> + <configuration><n>QQG</n> <a>RZ</a><p>0 </p></configuration> + + <configuration><n>CTR</n> <a>TX</a><p>0 </p></configuration> + <configuration><n>CTR</n> <a>TY</a><p>0 </p></configuration> + <configuration><n>CTR</n> <a>TZ</a><p>0 </p></configuration> + <configuration><n>CTR</n> <a>RX</a><p>0 </p></configuration> + <configuration><n>CTR</n> <a>RY</a><p>0 </p></configuration> + <configuration><n>CTR</n> <a>RZ</a><p>0 </p></configuration> + + <configuration><n>MISTRAL</n> <a>TX</a><p>-1.5 </p></configuration> + <configuration><n>MISTRAL</n> <a>TY</a><p>29.556666666666498, 0.263472663139432, -0.018206701940039, 0.000072373113855 </p></configuration> + <configuration><n>MISTRAL</n> <a>TZ</a><p>-15.6669651675, 1.9293068324, -0.0628990613, 0.0007771141, -0.0000032940 </p></configuration> + <configuration><n>MISTRAL</n> <a>RX</a><p>-0.0055555555555569409, 0.00014822163433269445, 0.000027586713698, -0.000000077732053 </p></configuration> + <configuration><n>MISTRAL</n> <a>RY</a><p>-0.036111111111111108 </p></configuration> + <configuration><n>MISTRAL</n> <a>RZ</a><p>0 </p></configuration> + + <configuration><n>CCB</n> <a>TX</a><p>-1.5 </p></configuration> + <configuration><n>CCB</n> <a>TY</a><p>29.556666666666498, 0.263472663139432, -0.018206701940039, 0.000072373113855 </p></configuration> + <configuration><n>CCB</n> <a>TZ</a><p>91.5590595452, -16.4202062811, 1.16941963489, -0.040640240455, 0.000733782714288, -6.62393455442e-06, 2.36410838911e-08 </p></configuration> + <configuration><n>CCB</n> <a>RX</a><p>-0.0055555555555569409, 0.00014822163433269445, 0.000027586713698, -0.000000077732053 </p></configuration> + <configuration><n>CCB</n> <a>RY</a><p>-0.036111111111111108 </p></configuration> + <configuration><n>CCB</n> <a>RZ</a><p>0 </p></configuration> + + <configuration><n>CCB_AS_OFF</n><a>TX</a><p>-1.5 </p></configuration> + <configuration><n>CCB_AS_OFF</n><a>TY</a><p>28.256852219272844,-0.002707044952,-0.009870218853,0.000031617958 </p></configuration> + <configuration><n>CCB_AS_OFF</n><a>TZ</a><p>9.530113849340003,-0.169826241752,0.000419997047,0.000003985237 </p></configuration> + <configuration><n>CCB_AS_OFF</n><a>RX</a><p>-0.011392527142374848,-0.0001426193499425,0.000039508844799,-0.000000131010010 </p></configuration> + <configuration><n>CCB_AS_OFF</n><a>RY</a><p>-0.03611111111111111 </p></configuration> + <configuration><n>CCB_AS_OFF</n><a>RZ</a><p>0 </p></configuration> + + <configuration><n>XB</n> <a>TX</a><p>-1.5 </p></configuration> + <configuration><n>XB</n> <a>TY</a><p>29.556666666666498, 0.263472663139432, -0.018206701940039, 0.000072373113855 </p></configuration> + <configuration><n>XB</n> <a>TZ</a><p>-38.3143893309, 4.30888128547, -0.18265795755, 0.00350049382452, -3.17057523513e-05, 1.11006707448e-07 </p></configuration> + <configuration><n>XB</n> <a>RX</a><p>-0.0055555555555569409, 0.00014822163433269445, 0.000027586713698, -0.000000077732053 </p></configuration> + <configuration><n>XB</n> <a>RY</a><p>-0.036111111111111108 </p></configuration> + <configuration><n>XB</n> <a>RZ</a><p>0 </p></configuration> + + <configuration><n>XB_AS_OFF</n> <a>TX</a><p>-1.5 </p></configuration> + <configuration><n>XB_AS_OFF</n> <a>TY</a><p>28.256852219272844,-0.002707044952,-0.009870218853,0.000031617958 </p></configuration> + <configuration><n>XB_AS_OFF</n> <a>TZ</a><p>7.92754535681,-1.73279985542,0.147346047014,-0.00516934108597,7.69094654954e-05,-4.0697957632e-07 </p></configuration> + <configuration><n>XB_AS_OFF</n> <a>RX</a><p>-0.011392527142374848,-0.0001426193499425,0.000039508844799,-0.000000131010010 </p></configuration> + <configuration><n>XB_AS_OFF</n> <a>RY</a><p>-0.03611111111111111 </p></configuration> + <configuration><n>XB_AS_OFF</n> <a>RZ</a><p>0 </p></configuration> + +</SRTMinorServoCoefficientsTable> diff --git a/SRT/Configuration/CDB/alma/DataBlock/MinorServo/SRP/LookupTables/LookupTables.xml b/SRT/Configuration/CDB/alma/DataBlock/MinorServo/SRP/LookupTables/LookupTables.xml deleted file mode 100644 index 0cabed4bb..000000000 --- a/SRT/Configuration/CDB/alma/DataBlock/MinorServo/SRP/LookupTables/LookupTables.xml +++ /dev/null @@ -1,125 +0,0 @@ -<?xml version='1.0' encoding='ISO-8859-1'?> -<!-- - - Author: Giuseppe Carboni - - History: - - 14-03-23 Created ---> - -<SRTMinorServoLookupTable xmlns="urn:schemas-cosylab-com:SRTMinorServoLookupTable:1.0" - 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"> - - <CCG> <axis>TX</axis><coefficients>-1.5 </coefficients></CCG> - <CCG> <axis>TY</axis><coefficients>28.256852219272844,-0.002707044952,-0.009870218853,0.000031617958 </coefficients></CCG> - <CCG> <axis>TZ</axis><coefficients>9.530113849340003,-0.169826241752,0.000419997047,0.000003985237 </coefficients></CCG> - <CCG> <axis>RX</axis><coefficients>-0.011392527142374848,-0.0001426193499425,0.000039508844799,-0.000000131010010 </coefficients></CCG> - <CCG> <axis>RY</axis><coefficients>-0.03611111111111111 </coefficients></CCG> - <CCG> <axis>RZ</axis><coefficients>0 </coefficients></CCG> - - <CCG_ASACTIVE> <axis>TX</axis><coefficients>-1.5 </coefficients></CCG_ASACTIVE> - <CCG_ASACTIVE> <axis>TY</axis><coefficients>29.556666666666498,0.263472663139432,-0.018206701940039,0.000072373113855 </coefficients></CCG_ASACTIVE> - <CCG_ASACTIVE> <axis>TZ</axis><coefficients>-15.6669651675,1.9293068324,-0.0628990613,0.0007771141,-0.0000032940 </coefficients></CCG_ASACTIVE> - <CCG_ASACTIVE> <axis>RX</axis><coefficients>-0.0055555555555569409, 0.00014822163433269445, 0.000027586713698, -0.000000077732053 </coefficients></CCG_ASACTIVE> - <CCG_ASACTIVE> <axis>RY</axis><coefficients>-0.036111111111111108 </coefficients></CCG_ASACTIVE> - <CCG_ASACTIVE> <axis>RZ</axis><coefficients>0 </coefficients></CCG_ASACTIVE> - - <KKG> <axis>TX</axis><coefficients>-1.5 </coefficients></KKG> - <KKG> <axis>TY</axis><coefficients>28.256852219272844,-0.002707044952,-0.009870218853,0.000031617958 </coefficients></KKG> - <KKG> <axis>TZ</axis><coefficients>9.530113849340003,-0.169826241752,0.000419997047,0.000003985237 </coefficients></KKG> - <KKG> <axis>RX</axis><coefficients>-0.011392527142374848,-0.0001426193499425,0.000039508844799,-0.000000131010010 </coefficients></KKG> - <KKG> <axis>RY</axis><coefficients>-0.03611111111111111 </coefficients></KKG> - <KKG> <axis>RZ</axis><coefficients>0 </coefficients></KKG> - - <KKG_ASACTIVE> <axis>TX</axis><coefficients>-1.5 </coefficients></KKG_ASACTIVE> - <KKG_ASACTIVE> <axis>TY</axis><coefficients>29.556666666666498,0.263472663139432,-0.018206701940039,0.000072373113855 </coefficients></KKG_ASACTIVE> - <KKG_ASACTIVE> <axis>TZ</axis><coefficients>-15.6669651675,1.9293068324,-0.0628990613,0.0007771141,-0.0000032940 </coefficients></KKG_ASACTIVE> - <KKG_ASACTIVE> <axis>RX</axis><coefficients>-0.0055555555555569409, 0.00014822163433269445, 0.000027586713698, -0.000000077732053 </coefficients></KKG_ASACTIVE> - <KKG_ASACTIVE> <axis>RY</axis><coefficients>-0.036111111111111108 </coefficients></KKG_ASACTIVE> - <KKG_ASACTIVE> <axis>RZ</axis><coefficients>0 </coefficients></KKG_ASACTIVE> - - <WWG> <axis>TX</axis><coefficients>0 </coefficients></WWG> - <WWG> <axis>TY</axis><coefficients>0 </coefficients></WWG> - <WWG> <axis>TZ</axis><coefficients>0 </coefficients></WWG> - <WWG> <axis>RX</axis><coefficients>0 </coefficients></WWG> - <WWG> <axis>RY</axis><coefficients>0 </coefficients></WWG> - <WWG> <axis>RZ</axis><coefficients>0 </coefficients></WWG> - - <WWG_ASACTIVE> <axis>TX</axis><coefficients>0 </coefficients></WWG_ASACTIVE> - <WWG_ASACTIVE> <axis>TY</axis><coefficients>0 </coefficients></WWG_ASACTIVE> - <WWG_ASACTIVE> <axis>TZ</axis><coefficients>0 </coefficients></WWG_ASACTIVE> - <WWG_ASACTIVE> <axis>RX</axis><coefficients>0 </coefficients></WWG_ASACTIVE> - <WWG_ASACTIVE> <axis>RY</axis><coefficients>0 </coefficients></WWG_ASACTIVE> - <WWG_ASACTIVE> <axis>RZ</axis><coefficients>0 </coefficients></WWG_ASACTIVE> - - <QQG> <axis>TX</axis><coefficients>0 </coefficients></QQG> - <QQG> <axis>TY</axis><coefficients>0 </coefficients></QQG> - <QQG> <axis>TZ</axis><coefficients>0 </coefficients></QQG> - <QQG> <axis>RX</axis><coefficients>0 </coefficients></QQG> - <QQG> <axis>RY</axis><coefficients>0 </coefficients></QQG> - <QQG> <axis>RZ</axis><coefficients>0 </coefficients></QQG> - - <QQG_ASACTIVE> <axis>TX</axis><coefficients>0 </coefficients></QQG_ASACTIVE> - <QQG_ASACTIVE> <axis>TY</axis><coefficients>0 </coefficients></QQG_ASACTIVE> - <QQG_ASACTIVE> <axis>TZ</axis><coefficients>0 </coefficients></QQG_ASACTIVE> - <QQG_ASACTIVE> <axis>RX</axis><coefficients>0 </coefficients></QQG_ASACTIVE> - <QQG_ASACTIVE> <axis>RY</axis><coefficients>0 </coefficients></QQG_ASACTIVE> - <QQG_ASACTIVE> <axis>RZ</axis><coefficients>0 </coefficients></QQG_ASACTIVE> - - <TRI> <axis>TX</axis><coefficients>0 </coefficients></TRI> - <TRI> <axis>TY</axis><coefficients>0 </coefficients></TRI> - <TRI> <axis>TZ</axis><coefficients>0 </coefficients></TRI> - <TRI> <axis>RX</axis><coefficients>0 </coefficients></TRI> - <TRI> <axis>RY</axis><coefficients>0 </coefficients></TRI> - <TRI> <axis>RZ</axis><coefficients>0 </coefficients></TRI> - - <TRI_ASACTIVE> <axis>TX</axis><coefficients>0 </coefficients></TRI_ASACTIVE> - <TRI_ASACTIVE> <axis>TY</axis><coefficients>0 </coefficients></TRI_ASACTIVE> - <TRI_ASACTIVE> <axis>TZ</axis><coefficients>0 </coefficients></TRI_ASACTIVE> - <TRI_ASACTIVE> <axis>RX</axis><coefficients>0 </coefficients></TRI_ASACTIVE> - <TRI_ASACTIVE> <axis>RY</axis><coefficients>0 </coefficients></TRI_ASACTIVE> - <TRI_ASACTIVE> <axis>RZ</axis><coefficients>0 </coefficients></TRI_ASACTIVE> - - <MISTRAL> <axis>TX</axis><coefficients>-1.5 </coefficients></MISTRAL> - <MISTRAL> <axis>TY</axis><coefficients>28.256852219272844,-0.002707044952,-0.009870218853,0.000031617958 </coefficients></MISTRAL> - <MISTRAL> <axis>TZ</axis><coefficients>9.530113849340003,-0.169826241752,0.000419997047,0.000003985237 </coefficients></MISTRAL> - <MISTRAL> <axis>RX</axis><coefficients>-0.011392527142374848,-0.0001426193499425,0.000039508844799,-0.000000131010010 </coefficients></MISTRAL> - <MISTRAL> <axis>RY</axis><coefficients>-0.03611111111111111 </coefficients></MISTRAL> - <MISTRAL> <axis>RZ</axis><coefficients>0 </coefficients></MISTRAL> - - <MISTRAL_ASACTIVE> <axis>TX</axis><coefficients>-1.5 </coefficients></MISTRAL_ASACTIVE> - <MISTRAL_ASACTIVE> <axis>TY</axis><coefficients>29.556666666666498,0.263472663139432,-0.018206701940039,0.000072373113855 </coefficients></MISTRAL_ASACTIVE> - <MISTRAL_ASACTIVE> <axis>TZ</axis><coefficients>-15.6669651675,1.9293068324,-0.0628990613,0.0007771141,-0.0000032940 </coefficients></MISTRAL_ASACTIVE> - <MISTRAL_ASACTIVE> <axis>RX</axis><coefficients>-0.0055555555555569409, 0.00014822163433269445, 0.000027586713698, -0.000000077732053 </coefficients></MISTRAL_ASACTIVE> - <MISTRAL_ASACTIVE> <axis>RY</axis><coefficients>-0.036111111111111108 </coefficients></MISTRAL_ASACTIVE> - <MISTRAL_ASACTIVE> <axis>RZ</axis><coefficients>0 </coefficients></MISTRAL_ASACTIVE> - - <CCB> <axis>TX</axis><coefficients>-1.5 </coefficients></CCB> - <CCB> <axis>TY</axis><coefficients>28.256852219272844,-0.002707044952,-0.009870218853,0.000031617958 </coefficients></CCB> - <CCB> <axis>TZ</axis><coefficients>9.530113849340003,-0.169826241752,0.000419997047,0.000003985237 </coefficients></CCB> - <CCB> <axis>RX</axis><coefficients>-0.011392527142374848,-0.0001426193499425,0.000039508844799,-0.000000131010010 </coefficients></CCB> - <CCB> <axis>RY</axis><coefficients>-0.03611111111111111 </coefficients></CCB> - <CCB> <axis>RZ</axis><coefficients>0 </coefficients></CCB> - - <CCB_ASACTIVE> <axis>TX</axis><coefficients>-1.5 </coefficients></CCB_ASACTIVE> - <CCB_ASACTIVE> <axis>TY</axis><coefficients>29.556666666666498,0.263472663139432,-0.018206701940039,0.000072373113855 </coefficients></CCB_ASACTIVE> - <CCB_ASACTIVE> <axis>TZ</axis><coefficients>91.5590595452,-16.4202062811,1.16941963489,-0.040640240455,0.000733782714288,-6.62393455442e-06,2.36410838911e-08 </coefficients></CCB_ASACTIVE> - <CCB_ASACTIVE> <axis>RX</axis><coefficients>-0.0055555555555569409,0.00014822163433269445,0.000027586713698,-0.000000077732053 </coefficients></CCB_ASACTIVE> - <CCB_ASACTIVE> <axis>RY</axis><coefficients>-0.036111111111111108 </coefficients></CCB_ASACTIVE> - <CCB_ASACTIVE> <axis>RZ</axis><coefficients>0 </coefficients></CCB_ASACTIVE> - - <XB> <axis>TX</axis><coefficients>-1.5 </coefficients></XB> - <XB> <axis>TY</axis><coefficients>28.256852219272844,-0.002707044952,-0.009870218853,0.000031617958 </coefficients></XB> - <XB> <axis>TZ</axis><coefficients>7.92754535681,-1.73279985542,0.147346047014,-0.00516934108597,7.69094654954e-05,-4.0697957632e-07 </coefficients></XB> - <XB> <axis>RX</axis><coefficients>-0.011392527142374848,-0.0001426193499425,0.000039508844799,-0.000000131010010 </coefficients></XB> - <XB> <axis>RY</axis><coefficients>-0.03611111111111111 </coefficients></XB> - <XB> <axis>RZ</axis><coefficients>0 </coefficients></XB> - - <XB_ASACTIVE> <axis>TX</axis><coefficients>-1.5 </coefficients></XB_ASACTIVE> - <XB_ASACTIVE> <axis>TY</axis><coefficients>29.556666666666498,0.263472663139432,-0.018206701940039,0.000072373113855 </coefficients></XB_ASACTIVE> - <XB_ASACTIVE> <axis>TZ</axis><coefficients>-38.3143893309,4.30888128547,-0.18265795755,0.00350049382452,-3.17057523513e-05,1.11006707448e-07 </coefficients></XB_ASACTIVE> - <XB_ASACTIVE> <axis>RX</axis><coefficients>-0.0055555555555569409,0.00014822163433269445,0.000027586713698,-0.000000077732053 </coefficients></XB_ASACTIVE> - <XB_ASACTIVE> <axis>RY</axis><coefficients>-0.036111111111111108 </coefficients></XB_ASACTIVE> - <XB_ASACTIVE> <axis>RZ</axis><coefficients>0 </coefficients></XB_ASACTIVE> - -</SRTMinorServoLookupTable> diff --git a/SRT/Interfaces/SRTMinorServoInterface/idl/SRTMinorServo.idl b/SRT/Interfaces/SRTMinorServoInterface/idl/SRTMinorServo.idl index 293610d47..b88d58942 100644 --- a/SRT/Interfaces/SRTMinorServoInterface/idl/SRTMinorServo.idl +++ b/SRT/Interfaces/SRTMinorServoInterface/idl/SRTMinorServo.idl @@ -135,10 +135,11 @@ module MinorServo /** * This method loads from the CDB the positioning coefficients related to the given configuration * @param configuration the string representing the name of the table from which the coefficients will be loaded + * @param as_off a boolean indicating whether the servo requires a _AS_OFF configuration * @throw ComponentErrors::ComponentErrorsEx when there is an error while trying to load the table for the given configuration * @return true if the servo is in use with the current configuration, false otherwise */ - boolean setup(in string configuration) raises (ComponentErrors::ComponentErrorsEx); + boolean setup(in string configuration, in boolean as_off) raises (ComponentErrors::ComponentErrorsEx); /** * This method calculates the servo coordinates for a given elevation diff --git a/SRT/Libraries/SRTMinorServoLibrary/include/SRTMinorServoContainers.h b/SRT/Libraries/SRTMinorServoLibrary/include/SRTMinorServoContainers.h index cae77edb3..e966f532d 100644 --- a/SRT/Libraries/SRTMinorServoLibrary/include/SRTMinorServoContainers.h +++ b/SRT/Libraries/SRTMinorServoLibrary/include/SRTMinorServoContainers.h @@ -70,31 +70,6 @@ namespace MinorServo double starting_elevation = 0; }; - /** - * This dictionary contains information regarding the possibile focal configurations. - * The key indicates the configuration as known by DISCOS. - * The value is a pair, the first element of the pair is the DISCOS enumeration for the relative Leonardo configuration, - * the second element of the pair indicates whether the configuration has a ASACTIVE twin configuraiton. - */ - using DiscosConfigurationNameTableType = std::map<std::string, std::pair<SRTMinorServoFocalConfiguration, bool>>; - const DiscosConfigurationNameTableType DiscosConfigurationNameTable = - { - //{"LLP", std::make_pair(CONFIGURATION_PRIMARY, false)}, - //{"PPP", std::make_pair(CONFIGURATION_PRIMARY, false)}, - //{"PLP", std::make_pair(CONFIGURATION_PRIMARY, false)}, - //{"HHP", std::make_pair(CONFIGURATION_PRIMARY, false)}, - //{"XKP", std::make_pair(CONFIGURATION_PRIMARY, false)}, - {"CCG", std::make_pair(CONFIGURATION_GREGORIAN1, true )}, - {"KKG", std::make_pair(CONFIGURATION_GREGORIAN2, true )}, - {"WWG", std::make_pair(CONFIGURATION_GREGORIAN3, true )}, - {"QQG", std::make_pair(CONFIGURATION_GREGORIAN4, true )}, - {"TRI", std::make_pair(CONFIGURATION_GREGORIAN5, true )}, - {"MISTRAL", std::make_pair(CONFIGURATION_GREGORIAN6, true )}, - {"CCB", std::make_pair(CONFIGURATION_BWG1, true )}, - {"XB", std::make_pair(CONFIGURATION_BWG3, true )}, - {"CABINET", std::make_pair(CONFIGURATION_GREGORIAN7, false)}, - }; - /** * This dictionary contains the Leonardo focal configurations DISCOS enumerations, alongside their name inside the Leonardo minor servo system. */ @@ -134,7 +109,7 @@ namespace MinorServo (CONFIGURATION_BWG3, 23) (CONFIGURATION_BWG4, 24); - using SRTMinorServoLookupTable = std::map<std::string, std::vector<double>>; + using SRTMinorServoCoefficientsTable = std::map<std::string, std::vector<double>>; /** * This class implements a queue of time tagged positions. it extends a simple std::map with some specific methods. diff --git a/SRT/Outdated/CDB/alma/DataBlock/MinorServo/PFP/Coefficients/Coefficients.xml b/SRT/Outdated/CDB/alma/DataBlock/MinorServo/PFP/Coefficients/Coefficients.xml new file mode 100644 index 000000000..b553b2235 --- /dev/null +++ b/SRT/Outdated/CDB/alma/DataBlock/MinorServo/PFP/Coefficients/Coefficients.xml @@ -0,0 +1,35 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> +<!-- + - Author: Giuseppe Carboni + - History: + - 14-03-23 Created +--> + +<SRTMinorServoCoefficientsTable xmlns="urn:schemas-cosylab-com:SRTMinorServoCoefficients:1.0" + 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"> + + <!-- n stands for name, a stands for axis, p stands for polynomial --> + + <configuration><n>LLP</n><a>TX</a> <p>0</p></configuration> + <configuration><n>LLP</n><a>TZ</a> <p>0</p></configuration> + <configuration><n>LLP</n><a>RTHETA</a> <p>0</p></configuration> + + <configuration><n>PPP</n><a>TX</a> <p>0</p></configuration> + <configuration><n>PPP</n><a>TZ</a> <p>0</p></configuration> + <configuration><n>PPP</n><a>RTHETA</a> <p>0</p></configuration> + + <configuration><n>PLP</n><a>TX</a> <p>0</p></configuration> + <configuration><n>PLP</n><a>TZ</a> <p>0</p></configuration> + <configuration><n>PLP</n><a>RTHETA</a> <p>0</p></configuration> + + <configuration><n>HHP</n><a>TX</a> <p>0</p></configuration> + <configuration><n>HHP</n><a>TZ</a> <p>0</p></configuration> + <configuration><n>HHP</n><a>RTHETA</a> <p>0</p></configuration> + + <configuration><n>XKP</n><a>TX</a> <p>0</p></configuration> + <configuration><n>XKP</n><a>TZ</a> <p>0</p></configuration> + <configuration><n>XKP</n><a>RTHETA</a> <p>0</p></configuration> + +</SRTMinorServoCoefficientsTable> diff --git a/SRT/Outdated/CDB/alma/DataBlock/MinorServo/PFP/LookupTables/LookupTables.xml b/SRT/Outdated/CDB/alma/DataBlock/MinorServo/PFP/LookupTables/LookupTables.xml deleted file mode 100644 index 086b3785b..000000000 --- a/SRT/Outdated/CDB/alma/DataBlock/MinorServo/PFP/LookupTables/LookupTables.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version='1.0' encoding='ISO-8859-1'?> -<!-- - - Author: Giuseppe Carboni - - History: - - 14-03-23 Created ---> - -<SRTMinorServoLookupTable xmlns="urn:schemas-cosylab-com:SRTMinorServoLookupTable:1.0" - 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"> - - <LLP> <axis>TX</axis> <coefficients>0 </coefficients></LLP> - <LLP> <axis>TZ</axis> <coefficients>0 </coefficients></LLP> - <LLP> <axis>RTHETA</axis> <coefficients>0 </coefficients></LLP> - - <PPP> <axis>TX</axis> <coefficients>0 </coefficients></PPP> - <PPP> <axis>TZ</axis> <coefficients>0 </coefficients></PPP> - <PPP> <axis>RTHETA</axis> <coefficients>0 </coefficients></PPP> - - <PLP> <axis>TX</axis> <coefficients>0 </coefficients></PLP> - <PLP> <axis>TZ</axis> <coefficients>0 </coefficients></PLP> - <PLP> <axis>RTHETA</axis> <coefficients>0 </coefficients></PLP> - - <HHP> <axis>TX</axis> <coefficients>0 </coefficients></HHP> - <HHP> <axis>TZ</axis> <coefficients>0 </coefficients></HHP> - <HHP> <axis>RTHETA</axis> <coefficients>0 </coefficients></HHP> - - <XKP> <axis>TX</axis> <coefficients>0 </coefficients></XKP> - <XKP> <axis>TZ</axis> <coefficients>0 </coefficients></XKP> - <XKP> <axis>RTHETA</axis> <coefficients>0 </coefficients></XKP> - -</SRTMinorServoLookupTable> diff --git a/SRT/Servers/SRTMinorServo/config/CDB/schemas/SRTMinorServoBoss.xsd b/SRT/Servers/SRTMinorServo/config/CDB/schemas/SRTMinorServoBoss.xsd index 153014681..1456191e1 100644 --- a/SRT/Servers/SRTMinorServo/config/CDB/schemas/SRTMinorServoBoss.xsd +++ b/SRT/Servers/SRTMinorServo/config/CDB/schemas/SRTMinorServoBoss.xsd @@ -18,6 +18,19 @@ <xs:import namespace="urn:schemas-cosylab-com:Managment:1.0" schemaLocation="Managment.xsd"/> <xs:import namespace="urn:schemas-cosylab-com:SRTMinorServoCommon:1.0" schemaLocation="SRTMinorServoCommon.xsd"/> + <xs:complexType name="SRTMinorServoBossConfigurationType"> + <xs:sequence> + <xs:element name="DISCOS" type="xs:string" /> + <xs:element name="LDO" type="xs:string" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SRTMinorServoBossConfigurationsTableType"> + <xs:sequence> + <xs:element name="configuration" type="SRTMinorServoBossConfigurationType" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + <xs:complexType name="SRTMinorServoBossType"> <xs:complexContent> <xs:extension base="baci:CharacteristicComponent"> @@ -53,5 +66,6 @@ </xs:complexType> <xs:element name="SRTMinorServoBoss" type="SRTMinorServoBossType"/> + <xs:element name="SRTMinorServoBossConfigurationsTable" type="SRTMinorServoBossConfigurationsTableType" /> </xs:schema> diff --git a/SRT/Servers/SRTMinorServo/config/CDB/schemas/SRTMinorServoCoefficients.xsd b/SRT/Servers/SRTMinorServo/config/CDB/schemas/SRTMinorServoCoefficients.xsd new file mode 100644 index 000000000..e51c87367 --- /dev/null +++ b/SRT/Servers/SRTMinorServo/config/CDB/schemas/SRTMinorServoCoefficients.xsd @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + Author: Giuseppe Carboni, giuseppe.carboni@inaf.it +--> +<xs:schema + targetNamespace="urn:schemas-cosylab-com:SRTMinorServoCoefficients:1.0" + xmlns="urn:schemas-cosylab-com:SRTMinorServoCoefficients:1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:cdb="urn:schemas-cosylab-com:CDB:1.0" + xmlns:baci="urn:schemas-cosylab-com:BACI:1.0" + elementFormDefault="qualified" + attributeFormDefault="unqualified"> + + <xs:import namespace="urn:schemas-cosylab-com:CDB:1.0" schemaLocation="CDB.xsd" /> + <xs:import namespace="urn:schemas-cosylab-com:BACI:1.0" schemaLocation="BACI.xsd" /> + + <xs:complexType name="SRTMinorServoConfigurationType"> + <xs:sequence> + <xs:element name="n" type="xs:string" /> <!--name--> + <xs:element name="a" type="xs:string" /> <!--axis--> + <xs:element name="p" type="xs:string" /> <!--polynomial--> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SRTMinorServoCoefficientsTableType"> + <xs:sequence> + <xs:element name="configuration" type="SRTMinorServoConfigurationType" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:element name="SRTMinorServoCoefficientsTable" type="SRTMinorServoCoefficientsTableType" /> + +</xs:schema> diff --git a/SRT/Servers/SRTMinorServo/config/CDB/schemas/SRTMinorServoLookupTable.xsd b/SRT/Servers/SRTMinorServo/config/CDB/schemas/SRTMinorServoLookupTable.xsd deleted file mode 100644 index 4470ec709..000000000 --- a/SRT/Servers/SRTMinorServo/config/CDB/schemas/SRTMinorServoLookupTable.xsd +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!-- - Author: Giuseppe Carboni, giuseppe.carboni@inaf.it ---> -<xs:schema - targetNamespace="urn:schemas-cosylab-com:SRTMinorServoLookupTable:1.0" - xmlns="urn:schemas-cosylab-com:SRTMinorServoLookupTable:1.0" - xmlns:xs="http://www.w3.org/2001/XMLSchema" - xmlns:cdb="urn:schemas-cosylab-com:CDB:1.0" - xmlns:baci="urn:schemas-cosylab-com:BACI:1.0" - elementFormDefault="qualified" - attributeFormDefault="unqualified"> - - <xs:import namespace="urn:schemas-cosylab-com:CDB:1.0" schemaLocation="CDB.xsd" /> - <xs:import namespace="urn:schemas-cosylab-com:BACI:1.0" schemaLocation="BACI.xsd" /> - - <xs:complexType name="SRTMinorServoCoefficientsType"> - <xs:sequence> - <xs:element name="axis" type="xs:string" /> - <xs:element name="coefficients" type="xs:string" /> - </xs:sequence> - </xs:complexType> - - <xs:complexType name="SRTMinorServoLookupTableType"> - <xs:sequence> - <xs:element name="LLP" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="PPP" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="PLP" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="HHP" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="XKP" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="CCG" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="CCG_ASACTIVE" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="KKG" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="KKG_ASACTIVE" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="WWG" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="WWG_ASACTIVE" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="QQG" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="QQG_ASACTIVE" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="TRI" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="TRI_ASACTIVE" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="MISTRAL" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="MISTRAL_ASACTIVE" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="CCB" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="CCB_ASACTIVE" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="XB" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="XB_ASACTIVE" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="CABINET" type="SRTMinorServoCoefficientsType" minOccurs="0" maxOccurs="unbounded" /> - </xs:sequence> - </xs:complexType> - - <xs:element name="SRTMinorServoLookupTable" type="SRTMinorServoLookupTableType" /> - -</xs:schema> diff --git a/SRT/Servers/SRTMinorServo/include/SRTMinorServoBossCore.h b/SRT/Servers/SRTMinorServo/include/SRTMinorServoBossCore.h index b315443a8..240e5c831 100644 --- a/SRT/Servers/SRTMinorServo/include/SRTMinorServoBossCore.h +++ b/SRT/Servers/SRTMinorServo/include/SRTMinorServoBossCore.h @@ -286,6 +286,11 @@ private: */ void reset(bool force=false); + /** + * Method that loads the focal configurations names when the boss is started + */ + std::map<std::string, std::string> loadConfigurations(); + /** * Method used to retrieve a configuration value from the CDB. * @param configuration the name of the value to be read from the CDB. @@ -443,6 +448,11 @@ private: */ std::map<std::string, SRTProgramTrackMinorServo_ptr> m_current_tracking_servos; + /** + * Map that contains the possible focal configurations + */ + const std::map<std::string, std::string> m_DISCOS_2_LDO_configurations; + /** * Current scan parameters. */ diff --git a/SRT/Servers/SRTMinorServo/include/SRTMinorServoBossImpl.h b/SRT/Servers/SRTMinorServo/include/SRTMinorServoBossImpl.h index a22cceb6b..5321bf57d 100644 --- a/SRT/Servers/SRTMinorServo/include/SRTMinorServoBossImpl.h +++ b/SRT/Servers/SRTMinorServo/include/SRTMinorServoBossImpl.h @@ -106,8 +106,8 @@ public: virtual CORBA::Boolean isStarting(); /** - * Method that tells if the system is using ASACTIVE lookup tables or not. - * @return a CORBA::Boolean indicating if the system is configured to use ASACTIVE lookup tables or not. + * Method that tells if the system is using AS coefficients or not. + * @return a CORBA::Boolean indicating if the system is configured to use AS coefficients or not. */ virtual CORBA::Boolean isASConfiguration(); diff --git a/SRT/Servers/SRTMinorServo/include/SRTMinorServoImpl.h b/SRT/Servers/SRTMinorServo/include/SRTMinorServoImpl.h index a8254f7dd..a664462c0 100644 --- a/SRT/Servers/SRTMinorServo/include/SRTMinorServoImpl.h +++ b/SRT/Servers/SRTMinorServo/include/SRTMinorServoImpl.h @@ -105,10 +105,11 @@ public: /** * Asks the servo system to load the commanded configuration table. * @param configuration_name the configuration the servo system should assume. + * @param as_off a boolean indicating whether the servo should use a _AS_OFF configuration * @throw ComponentErrors::ComponentErrorsEx when there is an error while trying to load the table for the given configuration. * @return true if the servo is in use with the current configuration, false otherwise */ - bool setup(const char* configuration_name = ""); + bool setup(const char* configuration_name = "", CORBA::Boolean as_off = false); /** * Asks the component to calculate the servo system position starting from the given elevation. @@ -524,7 +525,7 @@ private: /** * Table containing the coefficients for the positions calculations. */ - SRTMinorServoLookupTable m_current_lookup_table; + SRTMinorServoCoefficientsTable m_current_coefficients_table; /** * Configuration of the socket object. @@ -616,7 +617,7 @@ public: /** * Setup method definition. It simply calls the SRTBaseMinorServoImpl method. */ - bool setup(const char* configuration_name = "") { return SRTBaseMinorServoImpl::setup(configuration_name); } + bool setup(const char* configuration_name = "", CORBA::Boolean as_off = false) { return SRTBaseMinorServoImpl::setup(configuration_name, as_off); } /** * Declaration of all the other inherited methods. @@ -667,7 +668,7 @@ public: * @param configuration_name the configuration the servo system should assume. * @throw ComponentErrors::ComponentErrorsEx when there is an error while trying to load the table for the given configuration. */ - bool setup(const char* configuration_name = ""); + bool setup(const char* configuration_name = "", CORBA::Boolean as_off = false); /** * Declaration of all the other inherited methods. diff --git a/SRT/Servers/SRTMinorServo/src/Makefile b/SRT/Servers/SRTMinorServo/src/Makefile index a61ed3645..141c676de 100644 --- a/SRT/Servers/SRTMinorServo/src/Makefile +++ b/SRT/Servers/SRTMinorServo/src/Makefile @@ -13,7 +13,7 @@ PY_SCRIPTS = _cover _airBlade _servoReset # On-Line Database Files # ---------------------- -CDB_SCHEMAS = SRTMinorServoCommon SRTMinorServoBoss SRTMinorServo SRTMinorServoSocketConfiguration SRTMinorServoVBrainConfiguration SRTMinorServoProperties SRTMinorServoLookupTable +CDB_SCHEMAS = SRTMinorServoCommon SRTMinorServoBoss SRTMinorServo SRTMinorServoSocketConfiguration SRTMinorServoVBrainConfiguration SRTMinorServoProperties SRTMinorServoCoefficients # ---------------------------- # Libraries (public and local) diff --git a/SRT/Servers/SRTMinorServo/src/SRTBaseMinorServoImpl.cpp b/SRT/Servers/SRTMinorServo/src/SRTBaseMinorServoImpl.cpp index 8371127f0..ce3eca5c2 100644 --- a/SRT/Servers/SRTMinorServo/src/SRTBaseMinorServoImpl.cpp +++ b/SRT/Servers/SRTMinorServo/src/SRTBaseMinorServoImpl.cpp @@ -47,7 +47,7 @@ SRTBaseMinorServoImpl::SRTBaseMinorServoImpl(const ACE_CString& component_name, m_in_use_ptr(this), m_current_setup_ptr(this), m_error_code_ptr(this), - m_current_lookup_table(), + m_current_coefficients_table(), m_socket_configuration(SRTMinorServoSocketConfiguration::getInstance(container_services)), m_socket(SRTMinorServoSocket::getInstance(m_socket_configuration.m_ip_address, m_socket_configuration.m_port, m_socket_configuration.m_timeout)) { @@ -254,11 +254,11 @@ void SRTBaseMinorServoImpl::preset(const ACS::doubleSeq& virtual_coords) std::copy(coordinates.begin(), coordinates.end(), m_commanded_virtual_positions.begin()); } -bool SRTBaseMinorServoImpl::setup(const char* configuration_name) +bool SRTBaseMinorServoImpl::setup(const char* configuration_name, CORBA::Boolean as_off) { AUTO_TRACE(m_servo_name + "::setup()"); m_in_use.store(Management::MNG_FALSE); - m_current_lookup_table.clear(); + m_current_coefficients_table.clear(); m_current_setup = ""; std::string setup_name(configuration_name); @@ -269,17 +269,21 @@ bool SRTBaseMinorServoImpl::setup(const char* configuration_name) return false; } - IRA::CDBTable table(getContainerServices(), setup_name.c_str(), std::string("DataBlock/MinorServo/" + m_servo_name).c_str()); + IRA::CDBTable table(getContainerServices(), "configuration", std::string("DataBlock/MinorServo/" + m_servo_name).c_str()); IRA::CError error; error.Reset(); - if(!table.addField(error, "axis", IRA::CDataField::STRING)) + if(!table.addField(error, "n", IRA::CDataField::STRING)) + { + error.setExtra("Error adding field name", 0); + } + if(!table.addField(error, "a", IRA::CDataField::STRING)) { error.setExtra("Error adding field axis", 0); } - if(!table.addField(error, "coefficients", IRA::CDataField::STRING)) + if(!table.addField(error, "p", IRA::CDataField::STRING)) { - error.setExtra("Error adding field coefficients", 0); + error.setExtra("Error adding field polynomial", 0); } if(!error.isNoError()) { @@ -296,27 +300,52 @@ bool SRTBaseMinorServoImpl::setup(const char* configuration_name) throw ex.getComponentErrorsEx(); } - table.First(); - for(unsigned int i = 0; i < table.recordCount(); i++, table.Next()) + // We should try to retrieve the _AS_OFF configuration if requested. If is not found, fallback to the normal one + std::string config_name = setup_name; + if(as_off) + config_name += "_AS_OFF"; + + for(size_t j = 0; j < (as_off ? 2 : 1); j++) { - std::string axis = std::string(table["axis"]->asString()); + table.First(); + for(unsigned int i = 0; i < table.recordCount(); i++, table.Next()) + { + std::string name = std::string(table["n"]->asString()); + if(name != config_name) + continue; - std::vector<double> coefficients; + std::string axis = std::string(table["a"]->asString()); - std::string coefficient_str; - std::stringstream stream(std::string(table["coefficients"]->asString())); + std::vector<double> coefficients; - while(std::getline(stream, coefficient_str, ',')) - { - coefficients.push_back(std::stod(std::regex_replace(coefficient_str, std::regex("\\s+"), ""))); + std::string coefficient_str; + std::stringstream stream(std::string(table["p"]->asString())); + + while(std::getline(stream, coefficient_str, ',')) + { + coefficients.push_back(std::stod(std::regex_replace(coefficient_str, std::regex("\\s+"), ""))); + } + + m_current_coefficients_table[axis] = coefficients; } - m_current_lookup_table[axis] = coefficients; + if(m_current_coefficients_table.size() > 0) + { + // Configuration found, exit the loop + break; + } + else + { + // Reset the configuration name to the default one + config_name = setup_name; + } } table.closeTable(); - if(m_current_lookup_table.size() > 0) + if(m_current_coefficients_table.size() > 0) { + if(as_off) + setup_name += "_AS_OFF"; m_current_setup = setup_name; clearUserOffsets(); clearSystemOffsets(); @@ -344,7 +373,7 @@ ACS::doubleSeq* SRTBaseMinorServoImpl::calcCoordinates(double elevation) for(size_t axis = 0; axis < m_virtual_axes; axis++) { - std::vector<double> coefficients = m_current_lookup_table.at(m_virtual_axes_names[axis]); + std::vector<double> coefficients = m_current_coefficients_table.at(m_virtual_axes_names[axis]); double coordinate = 0; diff --git a/SRT/Servers/SRTMinorServo/src/SRTMinorServoBossCore.cpp b/SRT/Servers/SRTMinorServo/src/SRTMinorServoBossCore.cpp index 5e3aaeb2d..a5c499f74 100644 --- a/SRT/Servers/SRTMinorServo/src/SRTMinorServoBossCore.cpp +++ b/SRT/Servers/SRTMinorServo/src/SRTMinorServoBossCore.cpp @@ -38,7 +38,8 @@ SRTMinorServoBossCore::SRTMinorServoBossCore(SRTMinorServoBossImpl& component) : m_tracking_servos{ //{ "PFP", m_component.getContainerServices()->getComponent<SRTProgramTrackMinorServo>("MINORSERVO/PFP") }, { "SRP", m_component.getContainerServices()->getComponent<SRTProgramTrackMinorServo>("MINORSERVO/SRP") } - } + }, + m_DISCOS_2_LDO_configurations(loadConfigurations()) { AUTO_TRACE("SRTMinorServoBossCore::SRTMinorServoBossCore()"); @@ -196,17 +197,16 @@ void SRTMinorServoBossCore::setup(std::string commanded_setup) std::transform(commanded_setup.begin(), commanded_setup.end(), commanded_setup.begin(), ::toupper); - std::pair<SRTMinorServoFocalConfiguration, bool> cmd_configuration; SRTMinorServoFocalConfiguration commanded_configuration; try { - cmd_configuration = DiscosConfigurationNameTable.at(commanded_setup); - commanded_configuration = cmd_configuration.first; + std::string LDO_configuration = m_DISCOS_2_LDO_configurations.at(commanded_setup); + commanded_configuration = LDOConfigurationNameTable.right.at(LDO_configuration); - if(m_as_configuration.load() == Management::MNG_TRUE && cmd_configuration.second) + if(m_as_configuration.load() == Management::MNG_FALSE) { - commanded_setup += "_ASACTIVE"; + commanded_setup += "_AS_OFF"; } } catch(std::out_of_range& oor) @@ -235,8 +235,6 @@ void SRTMinorServoBossCore::setup(std::string commanded_setup) } } - ACS_LOG(LM_FULL_INFO, "servoSetup", (LM_NOTICE, ("SETTING UP '" + commanded_setup + "' CONFIGURATION").c_str())); - m_commanded_configuration.store(commanded_configuration); m_commanded_setup = commanded_setup; @@ -336,8 +334,6 @@ void SRTMinorServoBossCore::park() return; } - ACS_LOG(LM_FULL_INFO, "servoPark", (LM_NOTICE, "PARKING")); - m_commanded_configuration.store(CONFIGURATION_PARK); m_commanded_setup = "Park"; @@ -504,7 +500,7 @@ void SRTMinorServoBossCore::setASConfiguration(std::string configuration) } // Should reload the correct setup if the system was already configured or was about to be - if(!m_commanded_setup.empty()) + if(!m_commanded_setup.empty() && m_motion_status.load() != MOTION_STATUS_PARKED) { configuration = m_commanded_setup.substr(0, m_commanded_setup.find("_")); try @@ -1460,6 +1456,49 @@ void SRTMinorServoBossCore::reset(bool force) m_error_code.store(ERROR_NO_ERROR); } +std::map<std::string, std::string> SRTMinorServoBossCore::loadConfigurations() +{ + AUTO_TRACE("SRTMinorServoBossCore::loadConfigurations()"); + + IRA::CDBTable table(m_component.getContainerServices(), "configuration", std::string("DataBlock/MinorServo/Boss").c_str()); + IRA::CError error; + error.Reset(); + + if(!table.addField(error, "DISCOS", IRA::CDataField::STRING)) + { + error.setExtra("Error adding field DISCOS", 0); + } + if(!table.addField(error, "LDO", IRA::CDataField::STRING)) + { + error.setExtra("Error adding field LDO", 0); + } + if(!error.isNoError()) + { + _EXCPT_FROM_ERROR(ComponentErrors::IRALibraryResourceExImpl, ex, error); + ex.setCode(error.getErrorCode()); + ex.setDescription((const char *)error.getDescription()); + ex.log(LM_DEBUG); + throw ex.getComponentErrorsEx(); + } + if(!table.openTable(error)) + { + _EXCPT_FROM_ERROR(ComponentErrors::CDBAccessExImpl, ex, error); + ex.log(LM_DEBUG); + throw ex.getComponentErrorsEx(); + } + + std::map<std::string, std::string> map; + + table.First(); + for(unsigned int i = 0; i < table.recordCount(); i++, table.Next()) + { + map[std::string(table["DISCOS"]->asString())] = std::string(table["LDO"]->asString()); + } + table.closeTable(); + + return map; +} + Management::TBoolean SRTMinorServoBossCore::getCDBConfiguration(std::string which_configuration) { AUTO_TRACE("SRTMinorServoBossCore::getCDBConfiguration()"); diff --git a/SRT/Servers/SRTMinorServo/src/SRTMinorServoParkThread.cpp b/SRT/Servers/SRTMinorServo/src/SRTMinorServoParkThread.cpp index 2e6dff7e2..27bf305cc 100644 --- a/SRT/Servers/SRTMinorServo/src/SRTMinorServoParkThread.cpp +++ b/SRT/Servers/SRTMinorServo/src/SRTMinorServoParkThread.cpp @@ -22,14 +22,14 @@ void SRTMinorServoParkThread::onStart() m_status = 0; - ACS_LOG(LM_FULL_INFO, "SRTMinorServoParkThread::onStart()", (LM_NOTICE, "PARK THREAD STARTED")); + ACS_LOG(LM_FULL_INFO, "SRTMinorServoParkThread::onStart()", (LM_NOTICE, "Parking MinorServos...")); } void SRTMinorServoParkThread::onStop() { AUTO_TRACE("SRTMinorServoParkThread::onStop()"); - ACS_LOG(LM_FULL_INFO, "SRTMinorServoParkThread::onStop()", (LM_NOTICE, "PARK THREAD STOPPED")); + ACS_LOG(LM_FULL_INFO, "SRTMinorServoParkThread::onStop()", (LM_NOTICE, "MinorServos parked")); } void SRTMinorServoParkThread::runLoop() @@ -80,7 +80,7 @@ void SRTMinorServoParkThread::runLoop() { for(const auto& [name, servo] : m_core.m_servos) { - servo->setup(""); + servo->setup("", false); } m_core.m_actual_setup = m_core.m_commanded_setup; diff --git a/SRT/Servers/SRTMinorServo/src/SRTMinorServoScanThread.cpp b/SRT/Servers/SRTMinorServo/src/SRTMinorServoScanThread.cpp index d195b2bf1..173981e0f 100644 --- a/SRT/Servers/SRTMinorServo/src/SRTMinorServoScanThread.cpp +++ b/SRT/Servers/SRTMinorServo/src/SRTMinorServoScanThread.cpp @@ -51,7 +51,7 @@ void SRTMinorServoScanThread::onStart() auto servo = m_core.m_tracking_servos.at(m_core.m_current_scan.servo_name); m_starting_coordinates = *servo->getAxesPositions(0); - ACS_LOG(LM_FULL_INFO, "SRTMinorServoScanThread::onStart()", (LM_NOTICE, + ACS_LOG(LM_FULL_INFO, "SRTMinorServoScanThread::onStart()", (LM_DEBUG, ("SCAN THREAD STARTED, SCANNING " + std::to_string((int)m_core.m_current_scan.scan_range) + "MM IN " + std::to_string((int)(m_core.m_current_scan.scan_duration / 10000000)) + " SECONDS ALONG " + m_core.m_current_scan.servo_name + " " + m_core.m_current_scan.axis_name + " AXIS").c_str() )); } @@ -60,7 +60,7 @@ void SRTMinorServoScanThread::onStop() { AUTO_TRACE("SRTMinorServoScanThread::onStop()"); - ACS_LOG(LM_FULL_INFO, "SRTMinorServoScanThread::onStop()", (LM_NOTICE, "SCAN THREAD STOPPED")); + ACS_LOG(LM_FULL_INFO, "SRTMinorServoScanThread::onStop()", (LM_DEBUG, "SCAN THREAD STOPPED")); m_core.m_scanning.store(Management::MNG_FALSE); diff --git a/SRT/Servers/SRTMinorServo/src/SRTMinorServoSetupThread.cpp b/SRT/Servers/SRTMinorServo/src/SRTMinorServoSetupThread.cpp index d782a86cb..cd6c05ca4 100644 --- a/SRT/Servers/SRTMinorServo/src/SRTMinorServoSetupThread.cpp +++ b/SRT/Servers/SRTMinorServo/src/SRTMinorServoSetupThread.cpp @@ -27,15 +27,13 @@ void SRTMinorServoSetupThread::onStart() m_LDO_configuration = LDOConfigurationNameTable.left.at(commanded_configuration); m_gregorian_cover_position = commanded_configuration == CONFIGURATION_PRIMARY ? COVER_STATUS_CLOSED : COVER_STATUS_OPEN; - ACS_LOG(LM_FULL_INFO, "SRTMinorServoSetupThread::onStart()", (LM_NOTICE, ("SETUP THREAD STARTED WITH '" + m_core.m_commanded_setup + "' CONFIGURATION").c_str())); + ACS_LOG(LM_FULL_INFO, "SRTMinorServoSetupThread::onStart()", (LM_NOTICE, ("Setting up MinorServos with '" + m_core.m_commanded_setup + "' configuration").c_str())); } void SRTMinorServoSetupThread::onStop() { AUTO_TRACE("SRTMinorServoSetupThread::onStop()"); - ACS_LOG(LM_FULL_INFO, "SRTMinorServoSetupThread::onStop()", (LM_NOTICE, "SETUP THREAD STOPPED")); - if(m_core.m_motion_status.load() == MOTION_STATUS_TRACKING) { try @@ -47,6 +45,8 @@ void SRTMinorServoSetupThread::onStop() ACS_SHORT_LOG((LM_ERROR, ex.errorTrace.routine)); } } + + ACS_LOG(LM_FULL_INFO, "SRTMinorServoSetupThread::onStop()", (LM_NOTICE, "MinorServos configured")); } void SRTMinorServoSetupThread::runLoop() @@ -154,7 +154,7 @@ void SRTMinorServoSetupThread::runLoop() { try { - if(servo->setup(m_core.m_commanded_setup.c_str())) + if(servo->setup(m_core.m_commanded_setup.c_str(), m_core.m_as_configuration.load())) { m_core.m_current_servos[servo_name] = servo; try @@ -176,7 +176,7 @@ void SRTMinorServoSetupThread::runLoop() } } - if(m_core.m_commanded_setup.find("_ASACTIVE") == std::string::npos) + if(!m_core.m_as_configuration.load()) { // We commanded a configuration which does not use the active surface, therefore we need to send some slightly different coordinates with a preset command @@ -198,7 +198,7 @@ void SRTMinorServoSetupThread::runLoop() } else { - // _ASACTIVE configuration, jump directly to state 7 + // AS configuration, jump directly to state 7 m_status = 7; } diff --git a/SRT/Servers/SRTMinorServo/src/SRTMinorServoTrackingThread.cpp b/SRT/Servers/SRTMinorServo/src/SRTMinorServoTrackingThread.cpp index b45fb40e5..e59c13750 100644 --- a/SRT/Servers/SRTMinorServo/src/SRTMinorServoTrackingThread.cpp +++ b/SRT/Servers/SRTMinorServo/src/SRTMinorServoTrackingThread.cpp @@ -22,16 +22,16 @@ void SRTMinorServoTrackingThread::onStart() m_point_id = 0; m_point_time = 0; - ACS_LOG(LM_FULL_INFO, "SRTMinorServoTrackingThread::onStart()", (LM_NOTICE, "TRACKING THREAD STARTED")); + ACS_LOG(LM_FULL_INFO, "SRTMinorServoTrackingThread::onStart()", (LM_DEBUG, "TRACKING THREAD STARTED")); } void SRTMinorServoTrackingThread::onStop() { AUTO_TRACE("SRTMinorServoTrackingThread::onStop()"); - ACS_LOG(LM_FULL_INFO, "SRTMinorServoTrackingThread::onStop()", (LM_NOTICE, "TRACKING THREAD STOPPED")); - m_core.m_elevation_tracking.store(Management::MNG_FALSE); + + ACS_LOG(LM_FULL_INFO, "SRTMinorServoTrackingThread::onStop()", (LM_DEBUG, "TRACKING THREAD STOPPED")); } void SRTMinorServoTrackingThread::runLoop() diff --git a/SRT/Servers/SRTMinorServo/src/SRTProgramTrackMinorServoImpl.cpp b/SRT/Servers/SRTMinorServo/src/SRTProgramTrackMinorServoImpl.cpp index ddad515e1..925881a89 100644 --- a/SRT/Servers/SRTMinorServo/src/SRTProgramTrackMinorServoImpl.cpp +++ b/SRT/Servers/SRTMinorServo/src/SRTProgramTrackMinorServoImpl.cpp @@ -122,9 +122,9 @@ bool SRTProgramTrackMinorServoImpl::status() return status; } -bool SRTProgramTrackMinorServoImpl::setup(const char* configuration_name) +bool SRTProgramTrackMinorServoImpl::setup(const char* configuration_name, CORBA::Boolean as_off) { - bool return_value = SRTBaseMinorServoImpl::setup(configuration_name); + bool return_value = SRTBaseMinorServoImpl::setup(configuration_name, as_off); m_tracking_queue.clear(); m_total_trajectory_points.store(0); -- GitLab