Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F67714933
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
Sun, Jun 23, 23:07
Size
2 KB
Mime Type
text/x-c++
Expires
Tue, Jun 25, 23:07 (1 d, 23 h)
Engine
blob
Format
Raw Data
Handle
18456908
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