Hi all,
I started learning OCL/RTT and I wrote my first programs. I noticed that when I invoke a commandi, the end condition is correctly checked (the TaskManager reports command done) but the Execution engine continues checking it. For example if I have a command C with end condition E, C is correctly executed only once, E reports true (and the TaskManager notices that) but the execution engine invokes again and again E. Moreover, if I try C.done() it reports false.
Is this the expected behavior?

When a command is done?
On Friday 11 April 2008 09:53:45 Lorenzo Riano wrote:
> Hi all,
>
> I started learning OCL/RTT and I wrote my first programs. I noticed that
> when I invoke a commandi, the end condition is correctly checked (the
> TaskManager reports command done) but the Execution engine continues
> checking it. For example if I have a command C with end condition E, C is
> correctly executed only once, E reports true (and the TaskManager notices
> that) but the execution engine invokes again and again E. Moreover, if I
> try C.done() it reports false.
>
> Is this the expected behavior?
No. When the TaskBrowser says 'done', the C.done() function should also
return true. Also, I don't understand why the Execution Engine checks E. It
shouldn't (or are you using an Orocos script ??). E is only called when a
user (or a script) checks for 'done()' on the command C.
Peter