Re: Questions

Peter Soetens <[email protected]> Fri, 9 Dec 2005 16:27:47 +0100
Newsgroups gmane.science.robotics.orocos.user
Organization FMTC
Message-ID <200512091627.47542.peter.soetens__22112.6253171407$1134142488$gmane$org@fmtc.be>
Hi Patrycjusz,

We better keep this discussion on orocos-dev,

On Friday 09 December 2005 15:11, Patrycjusz Szczepaniak wrote:
> Could you explain how do nameservers work?

The nameservers currently in Orocos are local to the process. The point is 
that for each nameserved class, a "name" identifies a single object of that 
type. We need it because the data connections between two components are made 
_after_ the component is loaded in the kernel. Thus once a component is 
loaded, it only then can get its data objects through a nameserver. The names 
of the writing component and the reading component must thus also match.

>
> Is it possible to access DataObjects of other Kernel belonging to the same
> namespace?

When both kernels have the same "prefix" (namespace) they can access each 
other's data objects. The kernel names must always be different.

>
> How is it possible that Outputs of a CascadeControlKernel can be accessed
> through Commands namespace of a LockFreeControlKernel? Is the same object
> used to do that?

The CascadeControlKernel 'redirects' any request/write for outputs to the 
commands of another kernel in the same 'prefix' namespace. If no 
CascadeControlKernel is present, the LockFreeControlKernel will have no 
commands, since no other kernel 'injects' commands.

>
> How to add a few Sensors to the Kernel? Can a Kernel select two Sensor
> Components?

Please do not use select() but start() and stop(). with the latter, you can 
run any number of sensors. Select is/was to atomically switch two components, 
but for most applications not required.

Peter