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

Please uncomment some logging statements in the MT Rotator cRIO

    XMLWordPrintable

    Details

      Description

      Please enable the logging statements at lines 400, 403 and 408 in rotator/targetx2/commanding.c: the commented-out syslog calls in:

                      // select who can command the rotator: GUI (default/0) or DDS (1)
                      case CMDSOURCE:
                          if (isOffline(state1) && isPublishOnly(offlineSubstate1))
                          {
                              syslog(LOG_ERR, "command not allowed in Offline/PublishOnly state");
                              gCommandSourceDDS = 0;
                              break;
                          }
                          if (cmdMsg.param1 > 0.5) 
                          {
                             if (gCmdDDSServerConnected == 1)
                             {
                                //syslog(LOG_NOTICE, "Command source now == DDS");
                                gCommandSourceDDS = 1;
                             }
                             //else syslog(LOG_NOTICE, "Not connected to DDS Cmd socket");
                          }                    
                          else
                          {
                             //syslog(LOG_NOTICE, "Command source now == GUI");
                             gCommandSourceDDS = 0;
                          }
                          break;
      

      Please also look for and enable similar messages in the hexapod commanding.c

      This will help us diagnose when the rotator or hexapod cRIO decides to ignore commands from the CSC.

      Note that any command from the "GUI", which is what we call the Engineering User Interface (EUI), will reset gCommandSourceDDS to 0, making the CSC unable to command the cRIO. That is based on different code in rotator/targetx2/cmdClientSocket.c:

                    // IF DDS was in control, a cmd from GUI will revert to GUI control
                    if (gCommandSourceDDS) 
                    {
                         ////printf("Command source==GUI\n");
                       gCommandSourceDDS = 0;
                    }
      

      This looks like a bug or misfeature to me (unless it also changes the state to Offline/PublishOnly, which I strongly doubt).

      I would expect the CSC to always be able to control the rotator except in Offline/PublishOnly mode.

      • This task will try to understand the logging mechanism and log the useful information. This will be helpful for the following debug.

        Attachments

          Issue Links

            Activity

            Hide
            ttsai Te-Wei Tsai added a comment -

            Please help to review the PR:

            https://github.com/lsst-ts/ts_rotator_controller/pull/3

            The Jenkins test is here:

            https://tssw-ci.lsst.org/job/LSST_Telescope-and-Site/job/ts_rotator_controller/job/tickets%252FDM-22103/

            The ticket of DM-24361 is created to do the related update in hexapod PXI code.

            For the control of GUI (take from DDS), there was the discussion (section of GUI DDS Lockout) here after the CCW and rotator integration test:

            https://confluence.lsstcorp.org/display/LTS/CCW+Action+Items+1

            It is safer that the GUI can take over the control from DDS. However, I do agree that GUI can not take over the control easily from DDS. We may need to discuss the related mechanism in another thread. This detail is unrelated to this ticket actually.

            Thanks! 

            Show
            ttsai Te-Wei Tsai added a comment - Please help to review the PR: https://github.com/lsst-ts/ts_rotator_controller/pull/3 The Jenkins test is here: https://tssw-ci.lsst.org/job/LSST_Telescope-and-Site/job/ts_rotator_controller/job/tickets%252FDM-22103/ The ticket of DM-24361 is created to do the related update in hexapod PXI code. For the control of GUI (take from DDS), there was the discussion (section of GUI DDS Lockout ) here after the CCW and rotator integration test: https://confluence.lsstcorp.org/display/LTS/CCW+Action+Items+1 It is safer that the GUI can take over the control from DDS. However, I do agree that GUI can not take over the control easily from DDS. We may need to discuss the related mechanism in another thread. This detail is unrelated to this ticket actually. Thanks! 
            Hide
            rowen Russell Owen added a comment -

            This looks perfect.

            I agree that the other changes discussed are not relevant to this ticket.

            Show
            rowen Russell Owen added a comment - This looks perfect. I agree that the other changes discussed are not relevant to this ticket.

              People

              Assignee:
              ttsai Te-Wei Tsai
              Reporter:
              rowen Russell Owen
              Reviewers:
              Russell Owen
              Watchers:
              Russell Owen, 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.