Gumtree
  1. Gumtree
  2. GUMTREE-105

Support new Quokka beamstop device in GumTree

    Details

    • Type: New Feature New Feature
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.4.0
    • Component/s: quokka, sics
    • Labels:
      None
    • Number of attachments :
      0

      Description

      Quokka will have a new beamstop hardware installed soon. We need to make sure the Pyhton and workflow can run as normal with this device.

      This involve a number tasks:

      • Replace new GumTree device for beamstop
      • Check gumpy script can work with the new GumTree device
      • Check workflow instrument config

        Activity

        Hide
        Tony Lam added a comment -

        Ferdi has added six drivable devices under /instrument/detector/bs<1-6>.

        When it is driven to 0 (down), SICS reports "ERROR: Crashed into limit switch on bs1"
        And when it is driven 90 (up), SICS reports "ERROR: aborting motor bs1 after 3 retries"

        Show
        Tony Lam added a comment - Ferdi has added six drivable devices under /instrument/detector/bs<1-6>. When it is driven to 0 (down), SICS reports "ERROR: Crashed into limit switch on bs1" And when it is driven 90 (up), SICS reports "ERROR: aborting motor bs1 after 3 retries"
        Hide
        Tony Lam added a comment -

        The error messages from previous comment were because of the bug in the dummy SICS motor driver. It should not happen in real device or simulated driver.

        Show
        Tony Lam added a comment - The error messages from previous comment were because of the bug in the dummy SICS motor driver. It should not happen in real device or simulated driver.
        Hide
        Tony Lam added a comment -

        The Python script will be something like:

        def multiDrive(entries):
        runner = MultiDrivableRunner()
        for key in entries:
        drivable = sics.getSicsController().findDeviceController(key)
        runner.addDrivable(drivable, entries[key])
        runner.drive()

        multiDrive(

        {'bs1':90.0, 'bs2':0.0, 'bs3':90.0, 'bs4':0.0, 'bs5':90.0, 'bs6':0.0,}

        )

        Show
        Tony Lam added a comment - The Python script will be something like: def multiDrive(entries): runner = MultiDrivableRunner() for key in entries: drivable = sics.getSicsController().findDeviceController(key) runner.addDrivable(drivable, entries [key] ) runner.drive() multiDrive( {'bs1':90.0, 'bs2':0.0, 'bs3':90.0, 'bs4':0.0, 'bs5':90.0, 'bs6':0.0,} )
        Show
        Tony Lam added a comment - See: http://fisheye.codehaus.org/changelog/gumtree/?cs=7287
        Hide
        Tony Lam added a comment -

        SICS now supports the selbs (selbsn and selbsxz) command for driving the beamstop with relative bsx and bsz value.

        See:
        http://fisheye.codehaus.org/changelog/gumtree/?cs=7328

        TODO:
        Both commands listen on the same statemon event (selbs), we need to wait for the feedback support from SICS to distinguish command state.

        Show
        Tony Lam added a comment - SICS now supports the selbs (selbsn and selbsxz) command for driving the beamstop with relative bsx and bsz value. See: http://fisheye.codehaus.org/changelog/gumtree/?cs=7328 TODO: Both commands listen on the same statemon event (selbs), we need to wait for the feedback support from SICS to distinguish command state.

          People

          • Assignee:
            Tony Lam
            Reporter:
            Tony Lam
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: