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

Write initial simulator for low-level TMA controller

    XMLWordPrintable

    Details

    • Story Points:
      4
    • Sprint:
      TSSW Sprint - Jan 21 - Feb 01, TSSW Sprint - Feb 17 - Mar 2, TSSW Sprint - Mar 2 - Mar 16, TSSW Sprint - Mar 16 - Mar 30
    • Team:
      Telescope and Site

      Description

      Write an initial emulator for Tekniker's low-level TMA controller. Requirements:

      • TCP/IP must be correct
      • CCW commands should be properly emulated
      • A client for the CSC side that talks to the emulator (needed to unit test the emulator, as well as by the eventual CSC).
      • Other commands can be emulated on a best-effort basis. It'd be ideal if the EUI could usefully talk to this (via the CSC), even if the displayed values were not reasonable.

      Much of the work involved is reading the C++ code and understanding what Tekniker has done.

        Attachments

          Issue Links

            Activity

            Hide
            rowen Russell Owen added a comment - - edited

            Pull requests:

            Known limitations:

            • Relies on low-level commands to enable and disable tracking that Tekniker is planning to add (I used the command codes they plan to use) but have not yet implemented
            • I am still learning some subtleties about what the low level code in the PXI expects from the CSC with respect to enabling, disabling and powering devices. I fully expect updates to be required to handle new information. In particular I probably have to power on the mirror covers and locking pins, but am not sure whether to leave that power on all the time or only while opening or closing the mirror covers. Also I have gotten conflicting information about how to operate the azimuth cable wrap.
            • Some useful events are not yet output, including "in position" because the information is not yet available from the low-level controller.

            So I have done the best I can for now, but this is not final code.

            Show
            rowen Russell Owen added a comment - - edited Pull requests: https://github.com/lsst-ts/ts_hexrotcomm/pull/8 (reviewed and merged) https://github.com/lsst-ts/ts_MTMount/pull/1 Known limitations: Relies on low-level commands to enable and disable tracking that Tekniker is planning to add (I used the command codes they plan to use) but have not yet implemented I am still learning some subtleties about what the low level code in the PXI expects from the CSC with respect to enabling, disabling and powering devices. I fully expect updates to be required to handle new information. In particular I probably have to power on the mirror covers and locking pins, but am not sure whether to leave that power on all the time or only while opening or closing the mirror covers. Also I have gotten conflicting information about how to operate the azimuth cable wrap. Some useful events are not yet output, including "in position" because the information is not yet available from the low-level controller. So I have done the best I can for now, but this is not final code.
            Hide
            wvreeven Wouter van Reeven added a comment -

            Code reviewed and accepted with a few minor comments.

            Show
            wvreeven Wouter van Reeven added a comment - Code reviewed and accepted with a few minor comments.
            Hide
            rowen Russell Owen added a comment - - edited

            Thank you for your suggestion to move astropy_time_from_tai_unix to salobj. Great idea!

            New pull request for salobj: https://github.com/lsst-ts/ts_salobj/pull/94

            Show
            rowen Russell Owen added a comment - - edited Thank you for your suggestion to move astropy_time_from_tai_unix to salobj. Great idea! New pull request for salobj: https://github.com/lsst-ts/ts_salobj/pull/94
            Hide
            rowen Russell Owen added a comment -

            Please review the salobj pull request adding astropy_time_from_tai_unix.

            Also feel free to review the last commit on ts_MTMount or not as you prefer.

            Show
            rowen Russell Owen added a comment - Please review the salobj pull request adding astropy_time_from_tai_unix. Also feel free to review the last commit on ts_MTMount or not as you prefer.
            Hide
            wvreeven Wouter van Reeven added a comment -

            Code reviewed and accepted.

            Show
            wvreeven Wouter van Reeven added a comment - Code reviewed and accepted.
            Hide
            rowen Russell Owen added a comment - - edited

            Merged to develop.

            salobj merged to master and released as v5.7.0

            Show
            rowen Russell Owen added a comment - - edited Merged to develop. salobj merged to master and released as v5.7.0

              People

              Assignee:
              rowen Russell Owen
              Reporter:
              rowen Russell Owen
              Reviewers:
              Wouter van Reeven
              Watchers:
              Andrew Heyer [X] (Inactive), Russell Owen, Tiago Ribeiro, Wouter van Reeven
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Jenkins

                  No builds found.