-
Type:
Bug
-
Status: Done (View Workflow)
-
Priority:
Major
-
Resolution: Done
-
Component/s: None
-
Labels:None
-
Sprint:2017-10A
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.