.. _oncilla: ============= CCA Oncilla ============= The class ``CCAOncilla`` sets up the oncilla resource nodes, the synchronizer and a proper default configuration, either local or remote (see below). The interface opens a number of input ports to receive commands as well as output ports to send its current status. Input ports to send commands to (currently eight ports, all :ref:`JointAngles `):: /oncilla/cmd/pos/lf/l1 (receiving a joint angle command for the L1 joint of the left fore leg) /oncilla/cmd/pos/rf/l1 (receiving a joint angle command for the L1 joint of the right fore leg) /oncilla/cmd/pos/lh/l1 (receiving a joint angle command for the L1 joint of the left hind leg) ... /oncilla/cmd/pos/lf/l2 (receiving a joint angle command for the L2 joint of the left fore leg) ... Output ports, that send the current robot status (currently eight ports, all :ref:`JointAngles `):: /oncilla/status/pos/lf/l1 (current joint angle of the L1 joint of the left fore leg) /oncilla/status/pos/rf/l1 (current joint angle of the L1 joint of the right fore leg) /oncilla/status/pos/lh/l1 (current joint angle of the L1 joint of the left hind leg) ... /oncilla/status/pos/lf/l2 (current joint angle of the L2 joint of the left fore leg) ... Local Interface --------------- A local interface can be set up with:: // A 2 ms beat BeatPtr heartbeat = PeriodicBeat::create(2); // 2 ms // Instantiate the Oncilla representation in CCA CCAOncilla oncilla = CCAOncilla(heartbeat, PortConfiguration::CCALocal); An example for setting up and using the local interface can be found at :ref:`ccaexample`. Remote Interface ---------------- A remote interface can be set up with:: // A 2 ms beat BeatPtr heartbeat = PeriodicBeat::create(2); // 2 ms // Instantiate the Oncilla representation in CCA CCAOncilla oncilla = CCAOncilla(heartbeat, PortConfiguration::CCARemote); To reduce the amount of data packages sent remotely over the network, it is recommended to use CCA :ref:`Collectors ` and :ref:`Splitters `. An example for setting up and using the remote interface accordingly can be found at :ref:`pythonexample`.