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

The MTHexapod low-level controller appears to only publish application status for the first actuator

    XMLWordPrintable

Details

    • 1
    • TSSW Sprint - Apr 12 - Apr 26
    • Telescope and Site
    • No

    Description

      The summit EFD shows that application status is only nonzero for the first actuator (field applicationStatus0 of logevent_controllerState. Fields 1-5 are all zero.

      I suspect the problem is in the low-level controller because I checked the values when using the internal simulator and found nonzero data for all elements of the array.

      Attachments

        Issue Links

          Activity

            ttsai Te-Wei Tsai added a comment -

            The details of Copley drive code can be found at: All-CANopen_Programmers_Manual-Manual.pdf.

            ttsai Te-Wei Tsai added a comment - The details of Copley drive code can be found at:  All-CANopen_Programmers_Manual-Manual.pdf .
            ttsai Te-Wei Tsai added a comment - - edited

            For the information of limit switch, we could check the input_pin_states. The code is 0x219A. The key is to check the pins "6, 7, 8" and "16, 17, 18).

            PS. The pin state here also contains the information of interlock. The details can follow: DM-28434.

            For the implementation of low-level controller, the code is:
            1. https://github.com/lsst-ts/ts_hexapod_controller/blob/develop/src/utility.c#L42-L44
            2. https://github.com/lsst-ts/ts_hexapod_controller/blob/develop/src/drives/drive.c#L459-L464

            It looks like the copley_fault_status_register (or 0x1002) gives more information (page 61 in All-CANopen_Programmers_Manual-Manual.pdf ). The bit value in use in EUI now is:

            List the interested bit value of 0x1002 in the following:
            Bit 9: Positive limit switch active
            Bit 10: Negative limit switch active
            Bit 27: In motion (I guess this can be seen as the "Actuator moving")

            I do not find something called the "kill switch".

            ttsai Te-Wei Tsai added a comment - - edited For the information of limit switch, we could check the input_pin_states . The code is 0x219A . The key is to check the pins "6, 7, 8" and "16, 17, 18). PS. The pin state here also contains the information of interlock. The details can follow:  DM-28434 . For the implementation of low-level controller, the code is: 1. https://github.com/lsst-ts/ts_hexapod_controller/blob/develop/src/utility.c#L42-L44 2. https://github.com/lsst-ts/ts_hexapod_controller/blob/develop/src/drives/drive.c#L459-L464 It looks like the copley_fault_status_register (or 0x1002 ) gives more information (page 61 in All-CANopen_Programmers_Manual-Manual.pdf ). The bit value in use in EUI now is: List the interested bit value of 0x1002 in the following: Bit 9: Positive limit switch active Bit 10: Negative limit switch active Bit 27: In motion (I guess this can be seen as the "Actuator moving") I do not find something called the "kill switch".
            ttsai Te-Wei Tsai added a comment - - edited

            The status_word (or 0x6041) has some information (page 60):
            Bit 10: Target Reached (I guess this can be seen as "In position")
            Bit 14: Set when the amplifier is performing a move and cleared when the trajectory finishes (I guess this can be seen as "Drive enabled")

            The related EUI image is here:

            ttsai Te-Wei Tsai added a comment - - edited The status_word (or 0x6041 ) has some information (page 60): Bit 10: Target Reached (I guess this can be seen as "In position") Bit 14: Set when the amplifier is performing a move and cleared when the trajectory finishes (I guess this can be seen as "Drive enabled") The related EUI image is here:
            ttsai Te-Wei Tsai added a comment -

            Please help to review:
            1. https://github.com/lsst-ts/ts_hexapod_controller/pull/10
            2. https://github.com/lsst-ts/ts_hexapod_gui/pull/6

            Please ignore the LabVIEW jenkins failed test. There is the problem of CTIO Jenkins now. Contact the people there to fix it already.

            Thanks!

            ttsai Te-Wei Tsai added a comment - Please help to review: 1. https://github.com/lsst-ts/ts_hexapod_controller/pull/10 2. https://github.com/lsst-ts/ts_hexapod_gui/pull/6 Please ignore the LabVIEW jenkins failed test. There is the problem of CTIO Jenkins now. Contact the people there to fix it already. Thanks!
            rowen Russell Owen added a comment -

            Reviewed on github.

            rowen Russell Owen added a comment - Reviewed on github.

            People

              ttsai Te-Wei Tsai
              rowen Russell Owen
              Russell Owen
              Andy Clements, Bo Xin [X] (Inactive), Brian Stalder, Holger Drass, Russell Owen, Te-Wei Tsai
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Jenkins

                  No builds found.