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

ATDome improvements

    Details

    • Type: Improvement
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: None
    • Labels:

      Description

      Found some small issues with the ATDome during tonight startup procedure.

      When opening the dome the controller was sending an error response and the CSC was ignoring it. Running the command in the prompt gives;

      > SO
      Top Comm Error

      In looking at the problem with more detail it seems like the issue is that when one open the TCP/IP connection the dome controller  freezes for a couple seconds... I have the impression that, if you send a command to move in that period of time the controller will reject it. 

      Also, there are some information available on the large status that would be nice to have published as telemetry. For instance:

       Main Door Encoder Closed: 118446770091
      Main Door Encoder Opened: 28121547241
      Dropout Encoder Closed: 5669731976
      Dropout Encoder Opened: 5711691005

      See DM-23158 for a sample dump of full status

        Attachments

          Issue Links

            Activity

            Hide
            rowen Russell Owen added a comment - - edited

            At present the ATDome just prints a warning if it gets extra output. I'll change that to report the command has failed.

            The output you show has no final > when the command failed. I hope there was a > since that's the character that the CSC uses to identify the end of responses for a given command. The CSC should have issued a warning log message because of the extra output. If it did, then fixing this should be easy – report the command as failed in addition to logging the message.

            I think those encoder readings you requested are the expected encoder values for when the door is open or shut. If so, that is fairly static information and should be output as an event. If it is configuration information then I suggest adding it to settingsAppliedDomeController (which is already mostly settings like these that we have no direct control over). If it is measured somehow (e.g. whenever the doors are opened and closed) then a new event might be better.

            Show
            rowen Russell Owen added a comment - - edited At present the ATDome just prints a warning if it gets extra output. I'll change that to report the command has failed. The output you show has no final > when the command failed. I hope there was a > since that's the character that the CSC uses to identify the end of responses for a given command. The CSC should have issued a warning log message because of the extra output. If it did, then fixing this should be easy – report the command as failed in addition to logging the message. I think those encoder readings you requested are the expected encoder values for when the door is open or shut. If so, that is fairly static information and should be output as an event. If it is configuration information then I suggest adding it to settingsAppliedDomeController (which is already mostly settings like these that we have no direct control over). If it is measured somehow (e.g. whenever the doors are opened and closed) then a new event might be better.
            Hide
            rowen Russell Owen added a comment - - edited

            These values do seem to change, since the sample output on DM-23158 shows them as zero, so I assume they are measured whenever the doors open or close. I'll make a new event for them. They won't do you much good unless we also ask the vendor to provide the current encoder position of each door (that information is not currently output as part of full status).

            Main Door Encoder Closed: 1856
            Main Door Encoder Opened: 456540
            Dropout Encoder Closed: 7156
            Dropout Encoder Opened: 10321

            I will also:

            • Add new fields to settingsAppliedController
            • Add a new lastAzimuthGoTo event
            • Add an azimuthEncoderPosition to the position telemetry

            In order to manage that last one I will change the code to always request full status. That simplifies the code, at the cost of some bandwidth and a bit more fragility should the vendor change the format of full status again.

            Show
            rowen Russell Owen added a comment - - edited These values do seem to change, since the sample output on DM-23158 shows them as zero, so I assume they are measured whenever the doors open or close. I'll make a new event for them. They won't do you much good unless we also ask the vendor to provide the current encoder position of each door (that information is not currently output as part of full status). Main Door Encoder Closed: 1856 Main Door Encoder Opened: 456540 Dropout Encoder Closed: 7156 Dropout Encoder Opened: 10321 I will also: Add new fields to settingsAppliedController Add a new lastAzimuthGoTo event Add an azimuthEncoderPosition to the position telemetry In order to manage that last one I will change the code to always request full status. That simplifies the code, at the cost of some bandwidth and a bit more fragility should the vendor change the format of full status again.
            Hide
            rowen Russell Owen added a comment - - edited

            I also took advantage of this to format the code with black (including a pre-commit hook) and update test_csc.py to use salobj.BaseCscTestCase.

            Pull requests:

            Show
            rowen Russell Owen added a comment - - edited I also took advantage of this to format the code with black (including a pre-commit hook) and update test_csc.py to use salobj.BaseCscTestCase. Pull requests: https://github.com/lsst-ts/ts_ATDome/pull/19 https://github.com/lsst-ts/ts_xml/pull/231
            Hide
            tribeiro Tiago Ribeiro added a comment -

            Review completed on GitHub.

            Show
            tribeiro Tiago Ribeiro added a comment - Review completed on GitHub.
            Hide
            rowen Russell Owen added a comment -

            Merged to develop. I will release a new version of ts_ATDome when ts_xml 4.7 is released.

            Show
            rowen Russell Owen added a comment - Merged to develop. I will release a new version of ts_ATDome when ts_xml 4.7 is released.

              People

              • Assignee:
                rowen Russell Owen
                Reporter:
                tribeiro Tiago Ribeiro
                Reviewers:
                Patrick Ingraham, Tiago Ribeiro
                Watchers:
                Andy Clements, Patrick Ingraham, Russell Owen, Tiago Ribeiro
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: