Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F120429375
OncillaSynchronizer.h
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Fri, Jul 4, 07:54
Size
2 KB
Mime Type
text/x-c++
Expires
Sun, Jul 6, 07:54 (2 d)
Engine
blob
Format
Raw Data
Handle
27187593
Attached To
R6622 liboncilla
OncillaSynchronizer.h
View Options
#pragma once
#include <vector>
#include <iostream>
#include <boost/shared_ptr.hpp>
#include <rci/Synchronizer.h>
namespace rci {
namespace oncilla {
class OncillaSynchronizer;
typedef boost::shared_ptr<OncillaSynchronizer> OncillaSynchronizerPtr;
class OncillaTrunk;
typedef boost::shared_ptr<OncillaTrunk> OncillaTrunkPtr;
class OncillaL0;
typedef boost::shared_ptr<OncillaL0> OncillaL0Ptr;
class OncillaL1;
typedef boost::shared_ptr<OncillaL1> OncillaL1Ptr;
class OncillaL2;
typedef boost::shared_ptr<OncillaL2> OncillaL2Ptr;
class OncillaL3;
typedef boost::shared_ptr<OncillaL3> OncillaL3Ptr;
class OncillaL4;
typedef boost::shared_ptr<OncillaL4> OncillaL4Ptr;
/**
* OncillaSynchronizer
* Different OncillaSynchronizers may be for example:
* * Update with a given frequency
* ** Send data every time
* ** Send only if new data
* * Update only if new data (event-based)
* * Triggered from robot side (e.g. FRI)
*/
class OncillaSynchronizer: public Synchronizer {
public:
OncillaSynchronizer(const std::string &name);
virtual ~OncillaSynchronizer();
/**
* Registers a trunk node.
* @todo use Oncilla::Leg as index (problem with cyclic includes)
*/
virtual void registerTrunkNode(unsigned int index, OncillaTrunkPtr node) = 0;
/**
* Registers an L0 node.
* @todo use Oncilla::Leg as index (problem with cyclic includes)
*/
virtual void registerL0Node(unsigned int index, OncillaL0Ptr node) = 0;
/**
* Registers an L1 node.
* @todo use Oncilla::Leg as index (problem with cyclic includes)
*/
virtual void registerL1Node(unsigned int index, OncillaL1Ptr node) = 0;
/**
* Registers an L2 node.
* @todo use Oncilla::Leg as index (problem with cyclic includes)
*/
virtual void registerL2Node(unsigned int index, OncillaL2Ptr node) = 0;
/**
* Registers an L3 node.
* @todo use Oncilla::Leg as index (problem with cyclic includes)
*/
virtual void registerL3Node(unsigned int index, OncillaL3Ptr node) = 0;
/**
* Registers an L4 node.
* @todo use Oncilla::Leg as index (problem with cyclic includes)
*/
virtual void registerL4Node(unsigned int index, OncillaL4Ptr node) = 0;
/**
*
*/
friend std::ostream
& operator<<(std::ostream& os, const OncillaSynchronizer& val);
};
}
}
Event Timeline
Log In to Comment