Uploaded image for project: 'Instrument control development'
  1. Instrument control development
  2. INSTRM-109

Retrieve status of individual command when using a sequencer

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Done (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Component/s: None
    • Labels:
      None
    • Sprint:
      2017-10A

      Description

      ics_spsaitActor has for now a very basic operating logic.
      Basically, a sequence is only a list of single command.
      For each of it, we are using actorcore.cmdr.call function where we are passing a keyvar with few arguments :

      • actor
      • cmdStr
      • timeLim
      • forUserCmd

      When the command is over, or overpass timeLim, we switch to next command etc ...

      The problem is that we don't know if the command has finished correctly or not.
      We can check actors keywords in some cases.
      for instance if we call a ccd wipe, we know that ccdState should be integrating
      But that's not working in every cases.

      I did investigate a bit, in the keyvar documentation, and it seems that there is a way to pass a callback :

      callFunc: a function to call when the command changes state; see addCallback for details.

      In the case of actorcore.cmdr.call this callFunc is overridden, so I can't use it:

      q = Queue.Queue()
      argv['callFunc'] = q.put

      I was wondering if it's something already used in the past, I may miss something.

      Thank you.

        Attachments

          Activity

            People

            • Assignee:
              cloomis cloomis
              Reporter:
              arnaud.lefur arnaud.lefur
              Reviewers:
              cloomis
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: