Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-21269

Update the Middleware Code by Moog to Use the Latest SAL Version

    XMLWordPrintable

    Details

      Description

      Update the middleware code by Moog to use the latest SAL version. At this moment, the ts_sal 4.0 is unavailable. Therefore, the latest version of ts_sal and ts_xml will be used. The code update might be needed for the possible DDS/ xml interface changes. This task will also try to find a way to test the code even though the hexapod/ rotator cRIO controller and hardware are unavailable.

        Attachments

          Activity

          Hide
          ttsai Te-Wei Tsai added a comment - - edited

          Tried to follow the following page to use the yum to get the build SAL repo:

          https://confluence.lsstcorp.org/display/LTS/SAL+RPM%27s+building+and+using

          The list of available repos is here:

          https://project.lsst.org/ts/lsstrepo/

          Michael mentioned I need to replace 10.0.100.1 with project.lsst.org/ts in the lsst-ts.repo file.

          I need to set the following path variables by myself: LSST_DDS_DOMAIN, LSST_DDS_DOMAIN, and LSST_SDK_INSTALL.

           

          Michel suggested the following:

          export LSST_DDS_DOMAIN=mytesting
          source /opt/OpenSpliceDDS/V6.9.0/HDE/x86_64.linux/release.com
          export TOPIC_LIB=/opt/lsst/ts_sal/lib
          export LD_LIBRARY_PATH=${TOPIC_LIB}:${LD_LIBRARY_PATH}

          Show
          ttsai Te-Wei Tsai added a comment - - edited Tried to follow the following page to use the yum to get the build SAL repo: https://confluence.lsstcorp.org/display/LTS/SAL+RPM%27s+building+and+using The list of available repos is here: https://project.lsst.org/ts/lsstrepo/ Michael mentioned I need to replace 10.0.100.1 with project.lsst.org/ts in the lsst-ts.repo file. I need to set the following path variables by myself: LSST_DDS_DOMAIN, LSST_DDS_DOMAIN, and LSST_SDK_INSTALL.   Michel suggested the following: export LSST_DDS_DOMAIN=mytesting source /opt/OpenSpliceDDS/V6.9.0/HDE/x86_64.linux/release.com export TOPIC_LIB=/opt/lsst/ts_sal/lib export LD_LIBRARY_PATH=${TOPIC_LIB}:${LD_LIBRARY_PATH}
          Hide
          ttsai Te-Wei Tsai added a comment - - edited

          Prepare the SAL environment by Dockerfile as the following:

          https://github.com/lsst-ts/ts_Dockerfiles/tree/develop/hex_rot_middleware

          Show
          ttsai Te-Wei Tsai added a comment - - edited Prepare the SAL environment by Dockerfile as the following: https://github.com/lsst-ts/ts_Dockerfiles/tree/develop/hex_rot_middleware
          Hide
          ttsai Te-Wei Tsai added a comment - - edited

          The header file "os.h" in DDS was renamed to "vortex_os.h"based on the following page:

          https://istkb.adlinktech.com/article/fixed-bugs-changes-vortex-opensplice-6-6-x/

          Show
          ttsai Te-Wei Tsai added a comment - - edited The header file "os.h" in DDS was renamed to "vortex_os.h"based on the following page: https://istkb.adlinktech.com/article/fixed-bugs-changes-vortex-opensplice-6-6-x/
          Hide
          ttsai Te-Wei Tsai added a comment - - edited

          Noticed the new commands (hexapod) in SAL 3.10 not implemented: abort, setLogLevel, setSimulationMode, and setValue.

          Do not find the command (hexapod): "stop" in the SAL 3.10.

          Not sure I need to use the abort to replace stop or not. After the discussion with Rob and Andy, we decided to add this command (stop) back to the ts_xml for hexapod and rotator. Before the real work, I send an email to Harini for the history.

          Show
          ttsai Te-Wei Tsai added a comment - - edited Noticed the new commands (hexapod) in SAL 3.10 not implemented: abort, setLogLevel, setSimulationMode, and setValue. Do not find the command (hexapod): "stop" in the SAL 3.10. Not sure I need to use the abort to replace stop or not. After the discussion with Rob and Andy, we decided to add this command (stop) back to the ts_xml for hexapod and rotator. Before the real work, I send an email to Harini for the history.
          Hide
          ttsai Te-Wei Tsai added a comment -

          Updated the following page for the use of rpm to get SAL:

          https://confluence.lsstcorp.org/display/LTS/SAL+RPM%27s+building+and+using

          Show
          ttsai Te-Wei Tsai added a comment - Updated the following page for the use of rpm to get SAL: https://confluence.lsstcorp.org/display/LTS/SAL+RPM%27s+building+and+using
          Hide
          ttsai Te-Wei Tsai added a comment -

          Added the Jenkinsfile to test the googletest and make sure the result is published:

          https://tssw-ci.lsst.org/job/ts_mt_hexRot_middleware/job/tickets%252FDM-21269/

          Show
          ttsai Te-Wei Tsai added a comment - Added the Jenkinsfile to test the googletest and make sure the result is published: https://tssw-ci.lsst.org/job/ts_mt_hexRot_middleware/job/tickets%252FDM-21269/
          Hide
          ttsai Te-Wei Tsai added a comment -

          Added the stop command to Hexapod and Rotator xml.

          Show
          ttsai Te-Wei Tsai added a comment - Added the stop command to Hexapod and Rotator xml.
          Hide
          ttsai Te-Wei Tsai added a comment -

          Updated part of hexapod command.

          Show
          ttsai Te-Wei Tsai added a comment - Updated part of hexapod command.
          Hide
          ttsai Te-Wei Tsai added a comment - - edited

          Updated hexapodSubscriber.cpp to use the latest SAL.

          Updated the rotatorEventSend.cpp to use the latest SAL.

          Show
          ttsai Te-Wei Tsai added a comment - - edited Updated hexapodSubscriber.cpp to use the latest SAL. Updated the rotatorEventSend.cpp to use the latest SAL.
          Hide
          ttsai Te-Wei Tsai added a comment - - edited

          Update the rotatorSubscriber.cpp to use the latest SAL.

          Update the hexapodEventSend.cpp to use the latest SAL.

          Update the rotatorPublisher.cpp to use the latest SAL.

          Update the hexapodPublisher.cpp to use the latest SAL.

          Show
          ttsai Te-Wei Tsai added a comment - - edited Update the rotatorSubscriber.cpp to use the latest SAL. Update the hexapodEventSend.cpp to use the latest SAL. Update the rotatorPublisher.cpp to use the latest SAL. Update the hexapodPublisher.cpp to use the latest SAL.
          Hide
          ttsai Te-Wei Tsai added a comment -

          Created the PR(# 142) to add the stop command into ts_xml for Hexapod and Rotator.

          Show
          ttsai Te-Wei Tsai added a comment - Created the PR( # 142 ) to add the stop command into ts_xml for Hexapod and Rotator.
          Hide
          ttsai Te-Wei Tsai added a comment - - edited

          Fix the minor sal interface changes. The mainTcsClient can be built now. Need to find a way to test it.

          Show
          ttsai Te-Wei Tsai added a comment - - edited Fix the minor sal interface changes. The mainTcsClient can be built now. Need to find a way to test it.
          Hide
          ttsai Te-Wei Tsai added a comment - - edited

          Send the question of salProcessor() to Dave.

          Checked with Dave and he replied as the following:
          The salProcessor call is now required in later versions of sal. It was previously automatically invoked if necessary but this caused issues with the SALPY and was removed.

          Fixed this already.

          Show
          ttsai Te-Wei Tsai added a comment - - edited Send the question of salProcessor() to Dave. Checked with Dave and he replied as the following: The salProcessor call is now required in later versions of sal. It was previously automatically invoked if necessary but this caused issues with the SALPY and was removed. Fixed this already.
          Hide
          ttsai Te-Wei Tsai added a comment -

          Refactored the code to have the same indentation level.

          Show
          ttsai Te-Wei Tsai added a comment - Refactored the code to have the same indentation level.
          Hide
          ttsai Te-Wei Tsai added a comment -

          Updated the middleware code to use the latest SAL version.

          Show
          ttsai Te-Wei Tsai added a comment - Updated the middleware code to use the latest SAL version.
          Hide
          cwinslow Colin Winslow [X] (Inactive) added a comment -

          Witnessed a demonstration of the functionality, it appears to work!

          Show
          cwinslow Colin Winslow [X] (Inactive) added a comment - Witnessed a demonstration of the functionality, it appears to work!

            People

            Assignee:
            ttsai Te-Wei Tsai
            Reporter:
            ttsai Te-Wei Tsai
            Reviewers:
            Colin Winslow [X] (Inactive)
            Watchers:
            Colin Winslow [X] (Inactive), Te-Wei Tsai
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Start date:
              End date:

                Jenkins

                No builds found.