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

      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

            Hide
            ttsai Te-Wei Tsai added a comment -

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

            Show
            ttsai Te-Wei Tsai added a comment - The details of Copley drive code can be found at:  All-CANopen_Programmers_Manual-Manual.pdf .
            Hide
            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".

            Show
            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".
            Hide
            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:

            Show
            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:
            Hide
            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!

            Show
            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!
            Hide
            rowen Russell Owen added a comment -

            Reviewed on github.

            Show
            rowen Russell Owen added a comment - Reviewed on github.

              People

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

                  Jenkins Builds

                  No builds found.