New pull request for modifying the updateHook() behavior.
Peter Soetens <[email protected]> Mon, 13 Apr 2015 10:12:51 +0200
| Newsgroups | gmane.science.robotics.orocos.devel |
|---|---|
| Message-ID | <CAMYDobW-h_SOBpQJ9TSPJiRYYhBwtPiQhapJaCM9Kw8_D256sQ@mail.gmail.com> |
--===============1507607219== Content-Type: multipart/alternative; boundary=001a11c1f5127459c0051396afc6 --001a11c1f5127459c0051396afc6 Content-Type: text/plain; charset=UTF-8 Last year, we did a first attempt to describe and solve the issues users are having with updateHook() semantics ( https://github.com/orocos-toolchain/rtt/pull/70 ). The major culprit was that updateHook() is called 'any time the component's ExecutionEngine is stepped' which is a highly unpredictable event. Users expected that updateHook() is stepped at the component's period, or when they did a trigger()/update() in case of non-periodic or slave components. The same behavior was expected for RTT scripts or Lua rFSM state machines. Also callbacks on event ports were not executed at the rate of data arriving, but at the rate of (the unpredictable) updateHook(). https://github.com/orocos-toolchain/rtt/pull/91 offers what I believe the first mergable candidate to solve these issues. To show how it works, two drawings were made, included in this PR. We would make these part of the Orocos Component Builder's manual once the PR is merged. Please report back how this patch is affecting your applications in a good/bad way. Thanks, Peter --001a11c1f5127459c0051396afc6 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Last year, we did a first attempt to describe and solve th= e issues users are having with updateHook() semantics ( <a href=3D"https://= github.com/orocos-toolchain/rtt/pull/70">https://github.com/orocos-toolchai= n/rtt/pull/70</a> ). The major culprit was that updateHook() is called '= ;any time the component's ExecutionEngine is stepped' which is a hi= ghly unpredictable event.=C2=A0<div><br></div><div>Users expected that upda= teHook() is stepped at the component's period, or when they did a trigg= er()/update() in case of non-periodic or slave components.=C2=A0=C2=A0The s= ame behavior was expected for RTT scripts or Lua rFSM state machines. Also = callbacks on event ports were not executed at the rate of data arriving, bu= t at the rate of (the unpredictable) updateHook().</div><div><div><br></div= ><div><a href=3D"https://github.com/orocos-toolchain/rtt/pull/91">https://g= ithub.com/orocos-toolchain/rtt/pull/91</a> offers what I believe the first = mergable candidate to solve these issues. To show how it works, two drawing= s were made, included in this PR. We would make these part of the Orocos Co= mponent Builder's manual once the PR is merged.<br></div></div><div><br= ></div><div>Please report back how this patch is affecting your application= s in a good/bad way.</div><div><br></div><div>Thanks,</div><div>Peter</div>= <div><br></div><div><br></div></div> --001a11c1f5127459c0051396afc6-- --===============1507607219== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline -- Orocos-Dev mailing list [email protected] http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev --===============1507607219==--