Fawkes API
Fawkes Development Version
|
Base class for all Fawkes BlackBoard interfaces. More...
#include <>>
Inherited by fawkes::BatteryInterface, fawkes::CameraControlInterface, fawkes::DynamixelServoInterface, fawkes::EclipseDebuggerInterface, fawkes::FacerInterface, fawkes::FacialExpressionInterface, fawkes::GameStateInterface, fawkes::GripperInterface, fawkes::HumanoidMotionInterface, fawkes::HumanSkeletonInterface, fawkes::HumanSkeletonProjectionInterface, fawkes::IMUInterface, fawkes::JacoBimanualInterface, fawkes::JacoInterface, fawkes::JointInterface, fawkes::JoystickInterface, fawkes::KatanaInterface, fawkes::KeyValueInterface, fawkes::KickerInterface, fawkes::Laser1080Interface, fawkes::Laser360Interface, fawkes::Laser720Interface, fawkes::LaserClusterInterface, fawkes::LaserLineInterface, fawkes::LedInterface, fawkes::LocalizationInterface, fawkes::MotorInterface, fawkes::NaoJointPositionInterface, fawkes::NaoJointStiffnessInterface, fawkes::NaoSensorInterface, fawkes::NavGraphGeneratorInterface, fawkes::NavigatorInterface, fawkes::NavPathInterface, fawkes::ObjectPositionInterface, fawkes::OpenCVStereoParamsInterface, fawkes::OpenRaveInterface, fawkes::PanTiltInterface, fawkes::PclDatabaseMergeInterface, fawkes::PclDatabaseRetrieveInterface, fawkes::PclDatabaseStoreInterface, fawkes::Position2DTrackInterface, fawkes::Position3DInterface, fawkes::RobotinoSensorInterface, fawkes::Roomba500Interface, fawkes::SkillerDebugInterface, fawkes::SkillerInterface, fawkes::SoccerPenaltyInterface, fawkes::SpeechRecognitionInterface, fawkes::SpeechSynthInterface, fawkes::SwitchInterface, fawkes::TestInterface, fawkes::TransformInterface, and fawkes::VisualDisplay2DInterface.
Classes | |
struct | interface_data_ts_t |
Timestamp data, must be present and first entries for each interface data structs! This leans on timeval struct. More... | |
struct | interface_messageinfo_t |
Message info list. More... | |
Public Member Functions | |
virtual | ~Interface () |
Destructor. More... | |
bool | oftype (const char *interface_type) const |
Check if interface is of given type. More... | |
const void * | datachunk () const |
Get data chunk. More... | |
unsigned int | datasize () const |
Get data size. More... | |
const char * | type () const |
Get type of interface. More... | |
const char * | id () const |
Get identifier of interface. More... | |
const char * | uid () const |
Get unique identifier of interface. More... | |
unsigned short | serial () const |
Get instance serial of interface. More... | |
unsigned int | mem_serial () const |
Get memory serial of interface. More... | |
bool | operator== (Interface &comp) const |
Check equality of two interfaces. More... | |
const unsigned char * | hash () const |
Get interface hash. More... | |
size_t | hash_size () const |
Get size of interface hash. More... | |
const char * | hash_printable () const |
Get printable interface hash. More... | |
bool | is_writer () const |
Check if this is a writing instance. More... | |
void | set_validity (bool valid) |
Mark this interface invalid. More... | |
bool | is_valid () const |
Check validity of interface. More... | |
const char * | owner () const |
Get owner of interface. More... | |
void | set_from_chunk (void *chunk) |
Set from a raw data chunk. More... | |
virtual Message * | create_message (const char *type) const =0 |
Create message based on type name. More... | |
virtual void | copy_values (const Interface *interface)=0 |
Copy values from another interface. More... | |
virtual const char * | enum_tostring (const char *enumtype, int val) const =0 |
Convert arbitrary enum value to string. More... | |
void | resize_buffers (unsigned int num_buffers) |
Resize buffer array. More... | |
unsigned int | num_buffers () const |
Get number of buffers. More... | |
void | copy_shared_to_buffer (unsigned int buffer) |
Copy data from private memory to buffer. More... | |
void | copy_private_to_buffer (unsigned int buffer) |
Copy data from private memory to buffer. More... | |
void | read_from_buffer (unsigned int buffer) |
Copy data from buffer to private memory. More... | |
int | compare_buffers (unsigned int buffer) |
Compare buffer to private memory. More... | |
Time | buffer_timestamp (unsigned int buffer) |
Get time of a buffer. More... | |
void | buffer_timestamp (unsigned int buffer, Time *timestamp) |
Get time of a buffer. More... | |
void | read () |
Read from BlackBoard into local copy. More... | |
void | write () |
Write from local copy into BlackBoard memory. More... | |
bool | has_writer () const |
Check if there is a writer for the interface. More... | |
unsigned int | num_readers () const |
Get the number of readers. More... | |
std::string | writer () const |
Get owner name of writing interface instance. More... | |
std::list< std::string > | readers () const |
Get owner names of reading interface instances. More... | |
bool | changed () const |
Check if data has been changed. More... | |
const Time * | timestamp () const |
Get timestamp of last write. More... | |
void | set_auto_timestamping (bool enabled) |
Enable or disable automated timestamping. More... | |
void | set_timestamp (const Time *t=NULL) |
Set timestamp. More... | |
void | set_clock (Clock *clock) |
Set clock to use for timestamping. More... | |
void | mark_data_changed () |
Mark data as changed. More... | |
std::list< const char * > | get_message_types () |
Obtain a list of textual representations of the message types available for this interface. More... | |
unsigned int | msgq_enqueue (Message *message) |
Enqueue message at end of queue. More... | |
unsigned int | msgq_enqueue_copy (Message *message) |
Enqueue copy of message at end of queue. More... | |
void | msgq_remove (Message *message) |
Remove message from queue. More... | |
void | msgq_remove (unsigned int message_id) |
Remove message from queue. More... | |
unsigned int | msgq_size () |
Get size of message queue. More... | |
void | msgq_flush () |
Flush all messages. More... | |
void | msgq_lock () |
Lock message queue. More... | |
bool | msgq_try_lock () |
Try to lock message queue. More... | |
void | msgq_unlock () |
Unlock message queue. More... | |
void | msgq_pop () |
Erase first message from queue. More... | |
Message * | msgq_first () |
Get the first message from the message queue. More... | |
bool | msgq_empty () |
Check if queue is empty. More... | |
void | msgq_append (Message *message) |
Enqueue message. More... | |
template<class MessageType > | |
bool | msgq_first_is () |
Check if first message has desired type. More... | |
template<class MessageType > | |
MessageType * | msgq_first () |
Get first message casted to the desired type. More... | |
template<class MessageType > | |
MessageType * | msgq_first (MessageType *&msg) |
Get first message casted to the desired type. More... | |
template<class MessageType > | |
MessageType * | msgq_first_safe (MessageType *&msg) throw () |
Get first message casted to the desired type without exceptions. More... | |
MessageQueue::MessageIterator | msgq_begin () |
Get start iterator for message queue. More... | |
MessageQueue::MessageIterator | msgq_end () |
Get end iterator for message queue. More... | |
InterfaceFieldIterator | fields () |
Get iterator over all fields of this interface instance. More... | |
InterfaceFieldIterator | fields_end () |
Invalid iterator. More... | |
unsigned int | num_fields () |
Get the number of fields in the interface. More... | |
Static Public Member Functions | |
static void | parse_uid (const char *uid, std::string &type, std::string &id) |
Parse UID to type and ID strings. More... | |
Protected Member Functions | |
Interface () | |
Constructor. More... | |
virtual bool | message_valid (const Message *message) const =0 |
Check if the message is valid and can be enqueued. More... | |
void | set_hash (unsigned char *ihash) |
Set hash. More... | |
void | add_fieldinfo (interface_fieldtype_t type, const char *name, size_t length, void *value, const char *enumtype=0, const interface_enum_map_t *enum_map=0) |
Add an entry to the field info list. More... | |
void | add_messageinfo (const char *name) |
Add an entry to the message info list. More... | |
Protected Attributes | |
void * | data_ptr |
Pointer to local memory storage. More... | |
unsigned int | data_size |
Minimal data size to hold data storage. More... | |
bool | data_changed |
Indicator if data has changed. More... | |
interface_data_ts_t * | data_ts |
Pointer to data casted to timestamp struct. More... | |
Friends | |
class | BlackBoardInterfaceManager |
class | BlackBoardInstanceFactory |
class | BlackBoardMessageManager |
class | BlackBoardInterfaceProxy |
Base class for all Fawkes BlackBoard interfaces.
Interfaces are identified by a type and an ID. The type is just a textual representation of the class name. The ID identifies a specific instance of this interface type. Additionally each interface has a hash. The hash is an MD5 digest of the XML config file that was fed to the interface generator to create the interface. It is used to detect incompatible versions of the same interface type.
Interfaces have at least two sections of memory which contains a struct composed of the internal data of the interface. The first is shared with either the LocalBlackBoard instance (and hence all other instances of the interface) or with a transmission thread of a RemoteBlackBoard. The second is a private copy of the data. The data is copied between the shared and private section only upon request. Interfaces are either reading or writing, denoting their kind of access towards the shared memory section. At any point in time there may at most exist one writer for an interface, but any number of readers. The shared section is protected by a ReadWriteLock. For a writer, a call to write() will copy the data from the private to the shared section. For a reader, a call to read() will copy the data from the shared to the private section. Upon opening the interface, the private section is copied once from the shared section, even when opening a writer.
An interface has an internal timestamp. This timestamp indicates when the data in the interface has been modified last. The timestamp is usually automatically updated. But it some occasions the writer may choose to provide its own timestamp data. This can be useful for example for an interface providing hardware data to give the exact capture time. In the automatic case nothing has to be done manually. The timestamp is updated automatically by calling the write() method if and only if the data in the interface has actually been modified. The reader can call changed() to see if the data changed. In the non-automatic case the writer must first disable automatic timestamping using set_auto_timestamping(). Then it must provide a timestamp everytime before calling write(). Note that setting the timestamp already marks the interface as having changed. So set the timestamp only if the data has changed and the readers should see this.
An interface provides support for buffers. Like the shared and private memory sections described above, buffers are additional memory sections that can be used to save data from the shared section or save or restore from and to the private memory section. One example use case is to save the current shared memory content at one point in time at a specific main loop hook, and restore it only later at a suitable time in another continuous thread. Another useful application is to keep a history for hysteresis processing, or to observe the development of the values in an interface.
Interfaces are not created directly, but rather by using the interface generator.
Definition at line 79 of file interface.h.
|
virtual |
Destructor.
Definition at line 261 of file interface.cpp.
References fawkes::interface_fieldinfo_t::next, and fawkes::Interface::interface_messageinfo_t::next.
|
protected |
|
protected |
Add an entry to the field info list.
Never use directly, use the interface generator instead. The info list is used for introspection purposes to allow for iterating over all fields of an interface.
type | field type |
name | name of the field, this is referenced, not copied |
length | length of the field |
value | pointer to the value in the data struct |
enumtype | name of the enum type, valid only if type == IFT_ENUM. |
enum_map | enum value map |
Definition at line 335 of file interface.cpp.
References fawkes::interface_fieldinfo_t::enum_map, fawkes::interface_fieldinfo_t::enumtype, fawkes::interface_fieldinfo_t::length, fawkes::interface_fieldinfo_t::name, fawkes::interface_fieldinfo_t::next, fawkes::interface_fieldinfo_t::type, and fawkes::interface_fieldinfo_t::value.
|
protected |
Add an entry to the message info list.
Never use directly, use the interface generator instead. The info list is used for introspection purposes to allow for iterating over all message types of an interface.
type | the type of the message |
Definition at line 373 of file interface.cpp.
References fawkes::Interface::interface_messageinfo_t::next, and fawkes::Interface::interface_messageinfo_t::type.
Time fawkes::Interface::buffer_timestamp | ( | unsigned int | buffer | ) |
Get time of a buffer.
buffer | buffer number |
Definition at line 1372 of file interface.cpp.
References fawkes::Interface::interface_data_ts_t::timestamp_sec, and fawkes::Interface::interface_data_ts_t::timestamp_usec.
Referenced by fawkes::LaserOccupancyGrid::reset_old().
void fawkes::Interface::buffer_timestamp | ( | unsigned int | buffer, |
Time * | timestamp | ||
) |
Get time of a buffer.
Use this method to query the time without allocating a new Time instance.
buffer | buffer number |
timestamp | upon return contains the timestamp of the buffer. |
Definition at line 1393 of file interface.cpp.
References fawkes::Time::set_time(), fawkes::Interface::interface_data_ts_t::timestamp_sec, and fawkes::Interface::interface_data_ts_t::timestamp_usec.
bool fawkes::Interface::changed | ( | ) | const |
Check if data has been changed.
This method has slightly different semantics depending on whether this interface is a writing or a reading instance. For a reading instance: Note that if the data has been modified this method will return true at least until the next call to read. From then on it will return false if the data has not been modified between the two read() calls and still true otherwise. For a writing instance: The data is considered to have changed if any of the interface field set methods has been called since the last write() call.
Definition at line 796 of file interface.cpp.
Referenced by RobotinoRosJointsThread::loop(), RoombaJoystickThread::loop(), RobotinoIrPclThread::loop(), RobotinoActThread::loop(), PointCloudDBROSCommThread::loop(), RosSkillerThread::loop(), and WebviewBlackBoardRequestProcessor::process_request().
int fawkes::Interface::compare_buffers | ( | unsigned int | buffer | ) |
Compare buffer to private memory.
buffer | buffer number of buffer to compare to private memory |
Definition at line 1351 of file interface.cpp.
Referenced by NaoQiButtonThread::loop().
void fawkes::Interface::copy_private_to_buffer | ( | unsigned int | buffer | ) |
Copy data from private memory to buffer.
buffer | buffer number to copy to |
Definition at line 1307 of file interface.cpp.
void fawkes::Interface::copy_shared_to_buffer | ( | unsigned int | buffer | ) |
Copy data from private memory to buffer.
buffer | buffer number to copy to |
Definition at line 1278 of file interface.cpp.
References fawkes::InterfaceInvalidException::InterfaceInvalidException().
Referenced by NaoQiButtonThread::loop(), and fawkes::LaserOccupancyGrid::reset_old().
|
pure virtual |
Copy values from another interface.
The operation will only succeed if the supplied interface is of the same type as this instance.
interface | interface to copy from |
Implemented in fawkes::DynamixelServoInterface, fawkes::NavGraphGeneratorInterface, fawkes::HumanSkeletonInterface, fawkes::KatanaInterface, fawkes::NavigatorInterface, fawkes::Roomba500Interface, fawkes::NaoJointPositionInterface, fawkes::MotorInterface, fawkes::OpenCVStereoParamsInterface, fawkes::HumanoidMotionInterface, fawkes::OpenRaveInterface, fawkes::JacoInterface, fawkes::FacerInterface, fawkes::PanTiltInterface, fawkes::NaoJointStiffnessInterface, fawkes::VisualDisplay2DInterface, fawkes::NaoSensorInterface, fawkes::ObjectPositionInterface, fawkes::HumanSkeletonProjectionInterface, fawkes::JacoBimanualInterface, fawkes::GameStateInterface, fawkes::FacialExpressionInterface, fawkes::JoystickInterface, fawkes::SkillerInterface, fawkes::NavPathInterface, fawkes::SwitchInterface, fawkes::KickerInterface, fawkes::CameraControlInterface, fawkes::SkillerDebugInterface, fawkes::TestInterface, fawkes::RobotinoSensorInterface, fawkes::LaserClusterInterface, fawkes::PclDatabaseRetrieveInterface, fawkes::LedInterface, fawkes::SpeechRecognitionInterface, fawkes::PclDatabaseMergeInterface, fawkes::LaserLineInterface, fawkes::PclDatabaseStoreInterface, fawkes::BatteryInterface, fawkes::LocalizationInterface, fawkes::GripperInterface, fawkes::IMUInterface, fawkes::SpeechSynthInterface, fawkes::KeyValueInterface, fawkes::Position3DInterface, fawkes::SoccerPenaltyInterface, fawkes::TransformInterface, fawkes::Position2DTrackInterface, fawkes::EclipseDebuggerInterface, fawkes::Laser1080Interface, fawkes::Laser360Interface, fawkes::Laser720Interface, and fawkes::JointInterface.
Referenced by SyncInterfaceListener::bb_interface_data_changed().
|
pure virtual |
Create message based on type name.
This will create a new message of the given type. The type must be given without the InterfaceName:: prefix but just the plain class name of the message.
type | message type |
UnknownTypeException | thrown if this interface cannot create a message of the given type. |
Implemented in fawkes::DynamixelServoInterface, fawkes::NavGraphGeneratorInterface, fawkes::HumanSkeletonInterface, fawkes::KatanaInterface, fawkes::NavigatorInterface, fawkes::Roomba500Interface, fawkes::NaoJointPositionInterface, fawkes::MotorInterface, fawkes::OpenCVStereoParamsInterface, fawkes::HumanoidMotionInterface, fawkes::OpenRaveInterface, fawkes::JacoInterface, fawkes::FacerInterface, fawkes::PanTiltInterface, fawkes::NaoJointStiffnessInterface, fawkes::VisualDisplay2DInterface, fawkes::NaoSensorInterface, fawkes::ObjectPositionInterface, fawkes::HumanSkeletonProjectionInterface, fawkes::JacoBimanualInterface, fawkes::GameStateInterface, fawkes::FacialExpressionInterface, fawkes::JoystickInterface, fawkes::SkillerInterface, fawkes::NavPathInterface, fawkes::SwitchInterface, fawkes::KickerInterface, fawkes::CameraControlInterface, fawkes::SkillerDebugInterface, fawkes::TestInterface, fawkes::RobotinoSensorInterface, fawkes::LaserClusterInterface, fawkes::PclDatabaseRetrieveInterface, fawkes::LedInterface, fawkes::SpeechRecognitionInterface, fawkes::PclDatabaseMergeInterface, fawkes::LaserLineInterface, fawkes::PclDatabaseStoreInterface, fawkes::BatteryInterface, fawkes::LocalizationInterface, fawkes::GripperInterface, fawkes::IMUInterface, fawkes::SpeechSynthInterface, fawkes::KeyValueInterface, fawkes::Position3DInterface, fawkes::SoccerPenaltyInterface, fawkes::TransformInterface, fawkes::Position2DTrackInterface, fawkes::EclipseDebuggerInterface, fawkes::Laser1080Interface, fawkes::Laser360Interface, fawkes::Laser720Interface, and fawkes::JointInterface.
Referenced by fawkes::EclExternalBlackBoard::interfaces(), and fawkes::BlackBoardInterfaceProxy::process_interface_message().
const void * fawkes::Interface::datachunk | ( | ) | const |
Get data chunk.
Use sparsely
Definition at line 430 of file interface.cpp.
Referenced by BBLoggerThread::bb_interface_data_changed(), fawkes::BlackBoardNetworkHandler::loop(), and fawkes::BlackBoardInterfaceProxy::notify_of_data_change().
unsigned int fawkes::Interface::datasize | ( | ) | const |
Get data size.
Definition at line 534 of file interface.cpp.
Referenced by BBLoggerThread::bb_interface_data_changed(), fawkes::BlackBoardInterfaceProxy::BlackBoardInterfaceProxy(), BBLoggerThread::init(), fawkes::BlackBoardNetworkHandler::loop(), fawkes::BlackBoardInterfaceProxy::notify_of_data_change(), WebviewBlackBoardRequestProcessor::process_request(), BBLoggerThread::set_threadlist(), and fawkes::BlackBoardInterfaceManager::~BlackBoardInterfaceManager().
|
pure virtual |
Convert arbitrary enum value to string.
Given the string representation of the enum type and the value this method returns the string representation of the specific value, or the string UNKNOWN if the value is not defined. An exception is thrown if the enum type is invalid.
enumtype | enum type as string |
val | value to convert |
UnknownTypeException | thrown if enumtype is not specified for interface. |
Implemented in fawkes::DynamixelServoInterface, fawkes::NavGraphGeneratorInterface, fawkes::HumanSkeletonInterface, fawkes::KatanaInterface, fawkes::NavigatorInterface, fawkes::Roomba500Interface, fawkes::NaoJointPositionInterface, fawkes::MotorInterface, fawkes::OpenCVStereoParamsInterface, fawkes::HumanoidMotionInterface, fawkes::OpenRaveInterface, fawkes::JacoInterface, fawkes::FacerInterface, fawkes::PanTiltInterface, fawkes::NaoJointStiffnessInterface, fawkes::VisualDisplay2DInterface, fawkes::NaoSensorInterface, fawkes::ObjectPositionInterface, fawkes::HumanSkeletonProjectionInterface, fawkes::JacoBimanualInterface, fawkes::GameStateInterface, fawkes::FacialExpressionInterface, fawkes::JoystickInterface, fawkes::SkillerInterface, fawkes::NavPathInterface, fawkes::SwitchInterface, fawkes::KickerInterface, fawkes::CameraControlInterface, fawkes::SkillerDebugInterface, fawkes::TestInterface, fawkes::RobotinoSensorInterface, fawkes::LaserClusterInterface, fawkes::PclDatabaseRetrieveInterface, fawkes::LedInterface, fawkes::SpeechRecognitionInterface, fawkes::PclDatabaseMergeInterface, fawkes::LaserLineInterface, fawkes::PclDatabaseStoreInterface, fawkes::BatteryInterface, fawkes::LocalizationInterface, fawkes::GripperInterface, fawkes::IMUInterface, fawkes::SpeechSynthInterface, fawkes::KeyValueInterface, fawkes::Position3DInterface, fawkes::SoccerPenaltyInterface, fawkes::TransformInterface, fawkes::Position2DTrackInterface, fawkes::EclipseDebuggerInterface, fawkes::Laser1080Interface, fawkes::Laser360Interface, fawkes::Laser720Interface, and fawkes::JointInterface.
Referenced by fawkes::InterfaceFieldIterator::get_value_string().
InterfaceFieldIterator fawkes::Interface::fields | ( | ) |
Get iterator over all fields of this interface instance.
Definition at line 1208 of file interface.cpp.
Referenced by MongoLogBlackboardThread::bb_interface_created(), BlackboardCLIPSFeature::clips_context_destroyed(), XabslEngineThread::init(), fawkes::EclExternalBlackBoard::interfaces(), and WebviewBlackBoardRequestProcessor::process_request().
InterfaceFieldIterator fawkes::Interface::fields_end | ( | ) |
Invalid iterator.
Definition at line 1218 of file interface.cpp.
Referenced by MongoLogBlackboardThread::bb_interface_created(), BlackboardCLIPSFeature::clips_context_destroyed(), XabslEngineThread::init(), fawkes::EclExternalBlackBoard::interfaces(), and WebviewBlackBoardRequestProcessor::process_request().
std::list< const char * > fawkes::Interface::get_message_types | ( | ) |
Obtain a list of textual representations of the message types available for this interface.
Definition at line 400 of file interface.cpp.
References fawkes::Interface::interface_messageinfo_t::next, and fawkes::Interface::interface_messageinfo_t::type.
bool fawkes::Interface::has_writer | ( | ) | const |
Check if there is a writer for the interface.
Use this method to determine if there is any open instance of the interface that is writing to the interface. This can also be the queried interface instance.
Definition at line 834 of file interface.cpp.
Referenced by RosJointThread::bb_interface_reader_removed(), RosPosition3DThread::bb_interface_reader_removed(), RosLaserScanThread::bb_interface_reader_removed(), RosTfThread::bb_interface_reader_removed(), fawkes::tf::TransformListener::bb_interface_reader_removed(), RobotStatePublisherThread::bb_interface_reader_removed(), LaserDrawingArea::draw_persons_legs(), LaserDrawingArea::draw_segments(), ROSCmdVelThread::finalize(), JoystickTeleOpThread::finalize(), ClipsAgentThread::finalize(), LuaAgentPeriodicExecutionThread::finalize(), LuaAgentContinuousExecutionThread::finalize(), WebviewPtzCamThread::init(), ClipsAgentThread::init(), AgentControlThread::loop(), JoystickTeleOpThread::loop(), WebviewPtzCamThread::loop(), BlackBoardSynchronizationThread::loop(), RefBoxCommThread::loop(), fawkes::BlackBoardNetworkHandler::loop(), ClipsAgentThread::loop(), RobotinoActThread::loop(), RosMoveBaseThread::loop(), NavGraphClustersThread::loop(), RosSkillerThread::loop(), NavGraphThread::loop(), ColliThread::loop(), LaserDeadSpotCalibrator::num_detected_spots(), LaserDrawingArea::on_expose_event(), RosMoveBaseThread::once(), RosSkillerThread::once(), WebviewBlackBoardRequestProcessor::process_request(), BatteryMonitorTreeView::rem_host(), LaserDrawingArea::set_rotation(), fawkes::BaseMotorInstruct::~BaseMotorInstruct(), fawkes::BlackBoardInterfaceListMaintainer::~BlackBoardInterfaceListMaintainer(), Bumblebee2CalibGtkWindow::~Bumblebee2CalibGtkWindow(), NaoGuiGtkWindow::~NaoGuiGtkWindow(), NavGraphInteractiveThread::~NavGraphInteractiveThread(), and SkillGuiGtkWindow::~SkillGuiGtkWindow().
const unsigned char * fawkes::Interface::hash | ( | ) | const |
Get interface hash.
The interface is a unique version identifier of an interface. It is the has of the input XML file during the generation of the interface. It is meant to be used to ensure that all sides are using the exact same version of an interface.
Definition at line 294 of file interface.cpp.
Referenced by fawkes::BlackBoardInterfaceProxy::BlackBoardInterfaceProxy(), fawkes::BlackBoardNetworkHandler::loop(), fawkes::BlackBoardInterfaceManager::open_for_reading(), fawkes::BlackBoardInterfaceManager::open_for_writing(), fawkes::BlackBoardInterfaceManager::open_multiple_for_reading(), BBLogFile::set_interface(), BBLoggerThread::set_threadlist(), fawkes::RemoteBlackBoard::try_aliveness_restore(), and fawkes::BlackBoardInterfaceManager::~BlackBoardInterfaceManager().
const char * fawkes::Interface::hash_printable | ( | ) | const |
Get printable interface hash.
Definition at line 304 of file interface.cpp.
Referenced by WebviewBlackBoardRequestProcessor::process_request().
size_t fawkes::Interface::hash_size | ( | ) | const |
Get size of interface hash.
Returns the size in bytes of the interface hash. This depends on the used hash.
Definition at line 419 of file interface.cpp.
Referenced by fawkes::BlackBoardInterfaceManager::open_for_reading(), fawkes::BlackBoardInterfaceManager::open_for_writing(), and fawkes::BlackBoardInterfaceManager::open_multiple_for_reading().
const char * fawkes::Interface::id | ( | ) | const |
Get identifier of interface.
Definition at line 661 of file interface.cpp.
Referenced by MongoLogBlackboardThread::bb_interface_created(), RosLaserScanThread::bb_interface_created(), RobotStatePublisherThread::bb_interface_created(), RosJointThread::bb_interface_data_changed(), RosPosition3DThread::bb_interface_data_changed(), RobotStatePublisherThread::bb_interface_data_changed(), fawkes::BlackBoardInterfaceProxy::BlackBoardInterfaceProxy(), BlackboardCLIPSFeature::clips_context_destroyed(), fawkes::openni::HandIfObserver::HandIfObserver(), fawkes::RemoteBlackBoard::is_alive(), JacoBimanualActThread::loop(), JacoActThread::loop(), NaoQiButtonThread::loop(), WebviewBlackBoardRequestProcessor::process_request(), BBLogFile::set_interface(), BBLoggerThread::set_threadlist(), fawkes::BlackBoardMessageManager::transmit(), fawkes::BaseMotorInstruct::~BaseMotorInstruct(), and NaoGuiGtkWindow::~NaoGuiGtkWindow().
bool fawkes::Interface::is_valid | ( | ) | const |
Check validity of interface.
Definition at line 466 of file interface.cpp.
Referenced by RemoteBlackBoardRefBoxProcessor::check_connection(), RemoteBlackBoardRefBoxProcessor::refbox_process(), NaoGuiGtkWindow::~NaoGuiGtkWindow(), and SkillGuiGtkWindow::~SkillGuiGtkWindow().
bool fawkes::Interface::is_writer | ( | ) | const |
Check if this is a writing instance.
Definition at line 440 of file interface.cpp.
Referenced by fawkes::LuaInterfaceImporter::add_interface(), fawkes::BlackBoardInterfaceListener::bbil_add_message_interface(), fawkes::BlackBoardNetHandlerInterfaceListener::BlackBoardNetHandlerInterfaceListener(), BlackboardCLIPSFeature::clips_context_destroyed(), fawkes::InterfaceDispatcher::InterfaceDispatcher(), fawkes::EclExternalBlackBoard::interfaces(), fawkes::RemoteBlackBoard::is_alive(), fawkes::BlackBoardNetworkHandler::loop(), fawkes::BlackBoardInterfaceProxy::process_interface_message(), and fawkes::BlackBoardInterfaceManager::~BlackBoardInterfaceManager().
void fawkes::Interface::mark_data_changed | ( | ) |
Mark data as changed.
This m will mark the data as changed for a writing instance. One the next write, the data will be written with an updated timestamp (if auto timestamping is enabled), irregardless of whether new data was actually set.
Definition at line 773 of file interface.cpp.
Referenced by fawkes::InterfaceFieldIterator::set_bool(), fawkes::InterfaceFieldIterator::set_bools(), fawkes::InterfaceFieldIterator::set_byte(), fawkes::InterfaceFieldIterator::set_bytes(), fawkes::InterfaceFieldIterator::set_double(), fawkes::InterfaceFieldIterator::set_doubles(), fawkes::InterfaceFieldIterator::set_enum(), fawkes::InterfaceFieldIterator::set_enum_string(), fawkes::InterfaceFieldIterator::set_float(), fawkes::InterfaceFieldIterator::set_floats(), fawkes::InterfaceFieldIterator::set_int16(), fawkes::InterfaceFieldIterator::set_int16s(), fawkes::InterfaceFieldIterator::set_int32(), fawkes::InterfaceFieldIterator::set_int32s(), fawkes::InterfaceFieldIterator::set_int64(), fawkes::InterfaceFieldIterator::set_int64s(), fawkes::InterfaceFieldIterator::set_int8(), fawkes::InterfaceFieldIterator::set_int8s(), fawkes::InterfaceFieldIterator::set_string(), fawkes::InterfaceFieldIterator::set_uint16(), fawkes::InterfaceFieldIterator::set_uint16s(), fawkes::InterfaceFieldIterator::set_uint32(), fawkes::InterfaceFieldIterator::set_uint32s(), fawkes::InterfaceFieldIterator::set_uint64(), fawkes::InterfaceFieldIterator::set_uint64s(), fawkes::InterfaceFieldIterator::set_uint8(), and fawkes::InterfaceFieldIterator::set_uint8s().
unsigned int fawkes::Interface::mem_serial | ( | ) | const |
Get memory serial of interface.
Definition at line 707 of file interface.cpp.
Referenced by fawkes::Message::sender_id().
|
protectedpure virtual |
Check if the message is valid and can be enqueued.
message | The message to check |
Implemented in fawkes::NavGraphGeneratorInterface, fawkes::DynamixelServoInterface, fawkes::KatanaInterface, fawkes::NavigatorInterface, fawkes::NaoJointPositionInterface, fawkes::MotorInterface, fawkes::OpenCVStereoParamsInterface, fawkes::Roomba500Interface, fawkes::HumanoidMotionInterface, fawkes::OpenRaveInterface, fawkes::JacoInterface, fawkes::VisualDisplay2DInterface, fawkes::FacerInterface, fawkes::PanTiltInterface, fawkes::NaoJointStiffnessInterface, fawkes::HumanSkeletonInterface, fawkes::JacoBimanualInterface, fawkes::FacialExpressionInterface, fawkes::GameStateInterface, fawkes::JoystickInterface, fawkes::SkillerInterface, fawkes::SwitchInterface, fawkes::ObjectPositionInterface, fawkes::NaoSensorInterface, fawkes::KickerInterface, fawkes::SkillerDebugInterface, fawkes::CameraControlInterface, fawkes::TestInterface, fawkes::LaserClusterInterface, fawkes::LedInterface, fawkes::RobotinoSensorInterface, fawkes::PclDatabaseRetrieveInterface, fawkes::SpeechRecognitionInterface, fawkes::LocalizationInterface, fawkes::PclDatabaseMergeInterface, fawkes::GripperInterface, fawkes::PclDatabaseStoreInterface, fawkes::HumanSkeletonProjectionInterface, fawkes::BatteryInterface, fawkes::SpeechSynthInterface, fawkes::NavPathInterface, fawkes::SoccerPenaltyInterface, fawkes::LaserLineInterface, fawkes::TransformInterface, fawkes::EclipseDebuggerInterface, fawkes::Position3DInterface, fawkes::IMUInterface, fawkes::KeyValueInterface, fawkes::Position2DTrackInterface, fawkes::Laser1080Interface, fawkes::Laser360Interface, fawkes::Laser720Interface, and fawkes::JointInterface.
void fawkes::Interface::msgq_append | ( | Message * | message | ) |
Enqueue message.
This will enqueue the message without transmitting it via the message mediator. It can be useful, for example, to enqueue the message from an event callback.
This can only be called on a writing interface instance.
message | message to enqueue, reference count will be incremented. |
Definition at line 976 of file interface.cpp.
References fawkes::RefCount::ref().
Referenced by fawkes::BlackBoardInterfaceProxy::process_interface_message(), and fawkes::BlackBoardMessageManager::transmit().
MessageQueue::MessageIterator fawkes::Interface::msgq_begin | ( | ) |
Get start iterator for message queue.
Not that you must have locked the queue before this operation!
This can only be called on a writing interface instance.
NotLockedException | thrown if message queue is not locked during this operation. |
Definition at line 1140 of file interface.cpp.
bool fawkes::Interface::msgq_empty | ( | ) |
Check if queue is empty.
This can only be called on a writing interface instance.
Definition at line 1048 of file interface.cpp.
Referenced by Roomba500Thread::finalize(), LuaAgentPeriodicExecutionThread::finalize(), fawkes::EclExternalBlackBoard::interfaces(), JacoActThread::loop(), JacoBimanualActThread::loop(), OpenRaveMessageHandlerThread::loop(), AgentControlThread::loop(), RosNavgraphBreakoutThread::loop(), FestivalSynthThread::loop(), PanTiltDirectedPerceptionThread::loop(), FliteSynthThread::loop(), PanTiltSonyEviD100PThread::loop(), PointCloudDBStoreThread::loop(), RosNavigatorThread::loop(), NaoQiSpeechSynthThread::loop(), RefBoxCommThread::loop(), RobotinoSensorThread::loop(), Roomba500Thread::loop(), NaoQiMotionThread::loop(), PointCloudDBRetrieveThread::loop(), ColliActThread::loop(), NaoQiButtonThread::loop(), RobotinoActThread::loop(), PointCloudDBMergeThread::loop(), LaserClusterThread::loop(), NaoQiDCMThread::loop(), PanTiltRX28Thread::loop(), RobotinoSimThread::loop(), NavGraphThread::loop(), FvAcquisitionThread::loop(), Bumblebee2Thread::loop(), LaserLinesThread::loop(), KatanaActThread::loop(), TabletopObjectsThread::loop(), JoystickActThread::MessageProcessor::process(), and PlayerMotorPositionMapper::sync_fawkes_to_player().
MessageQueue::MessageIterator fawkes::Interface::msgq_end | ( | ) |
Get end iterator for message queue.
Not that you must have locked the queue before this operation!
This can only be called on a writing interface instance.
NotLockedException | thrown if message queue is not locked during this operation. |
Definition at line 1161 of file interface.cpp.
unsigned int fawkes::Interface::msgq_enqueue | ( | Message * | message | ) |
Enqueue message at end of queue.
This appends the given message to the queue and transmits the message via the message mediator. The message is afterwards owned by the other side and will be unrefed and freed as soon as it has been processed. If you want to keep this message to read a feedback status you have to reference it before enqueuing it! This can only be called on a reading interface instance.
message | Message to enqueue. |
MessageAlreadyQueuedException | thrown if the message has already been enqueued to an interface. |
Definition at line 903 of file interface.cpp.
References fawkes::Message::id(), fawkes::Message::set_id(), and fawkes::RefCount::unref().
Referenced by SyncInterfaceListener::bb_interface_message_received(), ROSCmdVelThread::finalize(), JoystickTeleOpThread::finalize(), ClipsAgentThread::finalize(), LuaAgentPeriodicExecutionThread::finalize(), LuaAgentContinuousExecutionThread::finalize(), JoystickTeleOpThread::init(), WebviewPtzCamThread::init(), LuaAgentPeriodicExecutionThread::init(), LuaAgentContinuousExecutionThread::init(), JoystickTeleOpThread::loop(), RoombaJoystickThread::loop(), WebviewPtzCamThread::loop(), RefBoxCommThread::loop(), ClipsAgentThread::loop(), RosMoveBaseThread::loop(), PointCloudDBROSCommThread::loop(), RosSkillerThread::loop(), XabslEngineThread::loop(), NavGraphThread::loop(), LaserDrawingArea::on_expose_event(), RosMoveBaseThread::once(), RosSkillerThread::once(), XabslEngineThread::once(), AmclROSThread::publish_map(), fawkes::BaseMotorInstruct::~BaseMotorInstruct(), Bumblebee2CalibGtkWindow::~Bumblebee2CalibGtkWindow(), LuaAgentContinuousExecutionThread::~LuaAgentContinuousExecutionThread(), LuaAgentPeriodicExecutionThread::~LuaAgentPeriodicExecutionThread(), NaoGuiGtkWindow::~NaoGuiGtkWindow(), NavGraphInteractiveThread::~NavGraphInteractiveThread(), and SkillGuiGtkWindow::~SkillGuiGtkWindow().
unsigned int fawkes::Interface::msgq_enqueue_copy | ( | Message * | message | ) |
Enqueue copy of message at end of queue.
This method creates a copy of the message and enqueues it. Note that this way you cannot receive status message in the message, because the other side will not use your message instance but a copy instead.
This is particularly useful if you call from an environment with automatic garbage collection that does not honor the referencing feature of message but rather just deletes it.
This can only be called on a reading interface instance.
message | Message to enqueue. |
MessageAlreadyQueuedException | thrown if the message has already been enqueued to an interface. |
Definition at line 942 of file interface.cpp.
References fawkes::Message::clone(), fawkes::Message::id(), fawkes::Message::set_id(), and fawkes::RefCount::unref().
Message * fawkes::Interface::msgq_first | ( | ) |
Get the first message from the message queue.
This can only be called on a writing interface instance.
Definition at line 1180 of file interface.cpp.
Referenced by LuaAgentPeriodicExecutionThread::finalize(), fawkes::EclExternalBlackBoard::interfaces(), JacoBimanualActThread::loop(), JacoActThread::loop(), OpenRaveMessageHandlerThread::loop(), AgentControlThread::loop(), FestivalSynthThread::loop(), PanTiltDirectedPerceptionThread::loop(), PanTiltSonyEviD100PThread::loop(), FliteSynthThread::loop(), RefBoxCommThread::loop(), Roomba500Thread::loop(), ColliActThread::loop(), PanTiltRX28Thread::loop(), NavGraphThread::loop(), FvAcquisitionThread::loop(), KatanaActThread::loop(), JoystickActThread::MessageProcessor::process(), and PlayerMotorPositionMapper::sync_fawkes_to_player().
MessageType * fawkes::Interface::msgq_first | ( | ) |
Get first message casted to the desired type.
TypeMismatchException | thrown if message is not of desired type |
Definition at line 280 of file interface.h.
MessageType * fawkes::Interface::msgq_first | ( | MessageType *& | msg | ) |
Get first message casted to the desired type.
msg | reference to pointer to message of desired type, upon successful return points to the message. |
TypeMismatchException | thrown if message is not of desired type |
Definition at line 293 of file interface.h.
bool fawkes::Interface::msgq_first_is | ( | ) |
Check if first message has desired type.
Definition at line 314 of file interface.h.
Referenced by Roomba500Thread::finalize(), LuaAgentPeriodicExecutionThread::finalize(), JacoBimanualActThread::loop(), JacoActThread::loop(), OpenRaveMessageHandlerThread::loop(), AgentControlThread::loop(), FestivalSynthThread::loop(), PanTiltDirectedPerceptionThread::loop(), PanTiltSonyEviD100PThread::loop(), FliteSynthThread::loop(), RefBoxCommThread::loop(), Roomba500Thread::loop(), NaoQiMotionThread::loop(), ColliActThread::loop(), RobotinoActThread::loop(), PanTiltRX28Thread::loop(), RobotinoSimThread::loop(), NavGraphThread::loop(), FvAcquisitionThread::loop(), KatanaActThread::loop(), and PlayerMotorPositionMapper::sync_fawkes_to_player().
MessageType * fawkes::Interface::msgq_first_safe | ( | MessageType *& | msg | ) | |
throw | ( | ||||
) |
Get first message casted to the desired type without exceptions.
This method allows to combine a call to msgq_first_is() and msgq_first() into a single call.
msg | reference to pointer to message of desired type, upon successful return points to the message. |
Definition at line 302 of file interface.h.
Referenced by RosNavgraphBreakoutThread::loop(), PointCloudDBStoreThread::loop(), RosNavigatorThread::loop(), NaoQiSpeechSynthThread::loop(), RobotinoSensorThread::loop(), NaoQiMotionThread::loop(), PointCloudDBRetrieveThread::loop(), NaoQiButtonThread::loop(), PointCloudDBMergeThread::loop(), RobotinoActThread::loop(), NaoQiDCMThread::loop(), LaserClusterThread::loop(), RobotinoSimThread::loop(), Bumblebee2Thread::loop(), LaserLinesThread::loop(), and TabletopObjectsThread::loop().
void fawkes::Interface::msgq_flush | ( | ) |
Flush all messages.
Deletes all messages from the queue. This can only be called on a writing interface instance.
Definition at line 1064 of file interface.cpp.
Referenced by PanTiltDirectedPerceptionThread::bb_interface_message_received(), PanTiltSonyEviD100PThread::bb_interface_message_received(), PanTiltRX28Thread::bb_interface_message_received(), KatanaActThread::bb_interface_message_received(), RosNavgraphBreakoutThread::loop(), RosNavigatorThread::loop(), RobotinoActThread::loop(), and JoystickActThread::MessageProcessor::process().
void fawkes::Interface::msgq_lock | ( | ) |
Lock message queue.
Lock the message queue. You have to do this * before using the iterator safely.
This can only be called on a writing interface instance.
Definition at line 1082 of file interface.cpp.
void fawkes::Interface::msgq_pop | ( | ) |
Erase first message from queue.
This can only be called on a writing interface instance.
Definition at line 1193 of file interface.cpp.
Referenced by Roomba500Thread::finalize(), LuaAgentPeriodicExecutionThread::finalize(), fawkes::EclExternalBlackBoard::interfaces(), JacoActThread::loop(), JacoBimanualActThread::loop(), OpenRaveMessageHandlerThread::loop(), AgentControlThread::loop(), RosNavgraphBreakoutThread::loop(), FestivalSynthThread::loop(), PanTiltDirectedPerceptionThread::loop(), FliteSynthThread::loop(), PanTiltSonyEviD100PThread::loop(), PointCloudDBStoreThread::loop(), RosNavigatorThread::loop(), NaoQiSpeechSynthThread::loop(), RefBoxCommThread::loop(), RobotinoSensorThread::loop(), Roomba500Thread::loop(), NaoQiMotionThread::loop(), PointCloudDBRetrieveThread::loop(), ColliActThread::loop(), NaoQiButtonThread::loop(), RobotinoActThread::loop(), PointCloudDBMergeThread::loop(), LaserClusterThread::loop(), NaoQiDCMThread::loop(), PanTiltRX28Thread::loop(), RobotinoSimThread::loop(), NavGraphThread::loop(), FvAcquisitionThread::loop(), Bumblebee2Thread::loop(), LaserLinesThread::loop(), KatanaActThread::loop(), TabletopObjectsThread::loop(), JoystickActThread::MessageProcessor::process(), and PlayerMotorPositionMapper::sync_fawkes_to_player().
void fawkes::Interface::msgq_remove | ( | Message * | message | ) |
Remove message from queue.
Removes the given message from the queue. Note that if you unref()ed the message after insertion this will most likely delete the object. It is not safe to use the message after removing it from the queue in general.
This can only be called on a writing interface instance.
message | Message to remove. |
Definition at line 999 of file interface.cpp.
void fawkes::Interface::msgq_remove | ( | unsigned int | message_id | ) |
Remove message from queue.
Removes message with the given ID from the queue.
message_id | Message ID to remove. This can only be called on a writing interface instance. |
Definition at line 1016 of file interface.cpp.
unsigned int fawkes::Interface::msgq_size | ( | ) |
Get size of message queue.
This can only be called on a writing interface instance.
Definition at line 1032 of file interface.cpp.
bool fawkes::Interface::msgq_try_lock | ( | ) |
Try to lock message queue.
Try to lock the message queue. Returns immediately and does not wait for lock.
This can only be called on a writing interface instance.
Definition at line 1102 of file interface.cpp.
void fawkes::Interface::msgq_unlock | ( | ) |
Unlock message queue.
Give free the lock on the message queue. This can only be called on a writing interface instance.
Definition at line 1120 of file interface.cpp.
unsigned int fawkes::Interface::num_buffers | ( | ) | const |
unsigned int fawkes::Interface::num_fields | ( | ) |
Get the number of fields in the interface.
Definition at line 1228 of file interface.cpp.
unsigned int fawkes::Interface::num_readers | ( | ) | const |
Get the number of readers.
Use this method to determine how many reading instances of the interface currently exist. If the current instance is a reading instance it will be included in the count number. To determine if you are the last man having this interface you can use the following code:
Note that this can result in a race condition. You have to be registered as a BlackBoardEventListener to be sure that you are really the last.
Definition at line 863 of file interface.cpp.
Referenced by RosJointThread::bb_interface_reader_removed(), RosPosition3DThread::bb_interface_reader_removed(), RosLaserScanThread::bb_interface_reader_removed(), RosTfThread::bb_interface_reader_removed(), fawkes::tf::TransformListener::bb_interface_reader_removed(), RobotStatePublisherThread::bb_interface_reader_removed(), fawkes::BlackBoardNetworkHandler::loop(), NavGraphClustersThread::loop(), WebviewBlackBoardRequestProcessor::process_request(), and fawkes::BlackBoardInterfaceListMaintainer::~BlackBoardInterfaceListMaintainer().
bool fawkes::Interface::oftype | ( | const char * | interface_type | ) | const |
Check if interface is of given type.
interface_type | type to query |
Definition at line 641 of file interface.cpp.
bool fawkes::Interface::operator== | ( | Interface & | comp | ) | const |
Check equality of two interfaces.
Two interfaces are the same if their types and identifiers are equal. This does not mean that both interfaces are the very same instance for accessing the BlackBoard. Instead this just means that both instances will access the same chunk of memory in the BlackBoard and the instances MAY be the same. If you want to know if two instances are exactly the same compare the instance serials using the serial() method.
comp | interface to compare current instance with |
Definition at line 629 of file interface.cpp.
const char * fawkes::Interface::owner | ( | ) | const |
Get owner of interface.
The owner is an arbitrary name, usually a thread or plugin name for the entity which opened this specific interface instance.
Definition at line 673 of file interface.cpp.
Referenced by fawkes::RemoteBlackBoard::is_alive().
|
static |
Parse UID to type and ID strings.
Note that the returned values (type and id) must be freed once they are no longer used. Also verifies lengths of the type and id strings.
uid | UID to parse |
type | upon return contains the type part of the UID |
id | upon return contains the ID part |
Definition at line 1418 of file interface.cpp.
References fawkes::Exception::Exception().
void fawkes::Interface::read | ( | ) |
Read from BlackBoard into local copy.
InterfaceInvalidException | thrown if the interface has been marked invalid |
Definition at line 477 of file interface.cpp.
References fawkes::InterfaceInvalidException::InterfaceInvalidException().
Referenced by MongoLogBlackboardThread::bb_interface_created(), SyncInterfaceListener::bb_interface_data_changed(), RosJointThread::bb_interface_data_changed(), RosPosition3DThread::bb_interface_data_changed(), RosLaserScanThread::bb_interface_data_changed(), BBLoggerThread::bb_interface_data_changed(), RosTfThread::bb_interface_data_changed(), fawkes::tf::TransformListener::bb_interface_data_changed(), RobotStatePublisherThread::bb_interface_data_changed(), RosTfThread::bb_interface_reader_removed(), LaserDrawingArea::draw_persons_legs(), LaserDrawingArea::draw_segments(), RobotinoRosJointsThread::init(), RobotinoIrPclThread::init(), RosLaserScanThread::init(), LuaAgentPeriodicExecutionThread::init(), LuaAgentContinuousExecutionThread::init(), JoystickBlackBoardLogger::JoystickBlackBoardLogger(), BallPosLogThread::loop(), ROSOdometryThread::loop(), RoombaJoystickThread::loop(), JoystickTeleOpThread::loop(), RobotinoRosJointsThread::loop(), WebviewPtzCamThread::loop(), RobotinoIrPclThread::loop(), MapLaserGenThread::loop(), fawkes::BlackBoardNetworkHandler::loop(), VisLocalizationThread::loop(), NaoQiMotionThread::loop(), ClipsAgentThread::loop(), RosMoveBaseThread::loop(), NaoQiButtonThread::loop(), RobotinoActThread::loop(), PointCloudDBROSCommThread::loop(), RosSkillerThread::loop(), XabslEngineThread::loop(), LuaAgentPeriodicExecutionThread::loop(), LuaAgentContinuousExecutionThread::loop(), NavGraphThread::loop(), ColliThread::loop(), LaserDrawingArea::on_expose_event(), WebviewBlackBoardRequestProcessor::process_request(), RemoteBlackBoardRefBoxProcessor::refbox_process(), BatteryMonitorTreeView::rem_host(), fawkes::LaserOccupancyGrid::reset_old(), Bumblebee2CalibGtkWindow::~Bumblebee2CalibGtkWindow(), NaoGuiGtkWindow::~NaoGuiGtkWindow(), and SkillGuiGtkWindow::~SkillGuiGtkWindow().
void fawkes::Interface::read_from_buffer | ( | unsigned int | buffer | ) |
Copy data from buffer to private memory.
buffer | buffer number to copy to |
Definition at line 1327 of file interface.cpp.
Referenced by fawkes::LaserOccupancyGrid::reset_old().
std::list< std::string > fawkes::Interface::readers | ( | ) | const |
Get owner names of reading interface instances.
Definition at line 884 of file interface.cpp.
Referenced by WebviewBlackBoardRequestProcessor::process_request().
void fawkes::Interface::resize_buffers | ( | unsigned int | num_buffers | ) |
Resize buffer array.
This resizes the memory region used to store data buffers.
num_buffers | number of buffers to resize to (memory is allocated as necessary, 0 frees the memory area). |
Exception | thrown if resizing the memory section fails |
Definition at line 1241 of file interface.cpp.
References fawkes::Exception::Exception().
Referenced by NaoQiButtonThread::init(), fawkes::LaserOccupancyGrid::LaserOccupancyGrid(), and fawkes::LuaInterfaceImporter::~LuaInterfaceImporter().
unsigned short fawkes::Interface::serial | ( | ) | const |
Get instance serial of interface.
Definition at line 697 of file interface.cpp.
Referenced by fawkes::BlackBoardNetHandlerInterfaceListener::bb_interface_message_received(), fawkes::BlackBoardInterfaceManager::close(), fawkes::RemoteBlackBoard::close(), fawkes::BlackBoardNetworkHandler::loop(), ClipsAgentThread::loop(), RosSkillerThread::loop(), fawkes::BlackBoardInterfaceProxy::notify_of_data_change(), RosSkillerThread::once(), fawkes::BlackBoardInterfaceManager::open_for_reading(), fawkes::BlackBoardInterfaceManager::open_for_writing(), WebviewBlackBoardRequestProcessor::process_request(), fawkes::Message::sender_id(), fawkes::BlackBoardInterfaceProxy::transmit(), and SkillGuiGtkWindow::~SkillGuiGtkWindow().
void fawkes::Interface::set_auto_timestamping | ( | bool | enabled | ) |
Enable or disable automated timestamping.
enabled | true to enable automated timestamping, false to disable |
Definition at line 760 of file interface.cpp.
Referenced by IMUSensorThread::init(), LaserSensorThread::init(), IMUAcquisitionThread::init(), LaserSimThread::init(), fawkes::tf::TransformPublisher::TransformPublisher(), and LaserFilterThread::wait_done().
void fawkes::Interface::set_clock | ( | Clock * | clock | ) |
Set clock to use for timestamping.
clock | clock to use from now on |
Definition at line 749 of file interface.cpp.
void fawkes::Interface::set_from_chunk | ( | void * | chunk | ) |
Set from a raw data chunk.
This allows for setting the interface data from a raw chunk. This is not useful in general but only in rare situations like network transmission. Do not use it unless you really know what you are doing. The method expects the chunk to be exactly of the size returned by datasize(). No check is done, a segfault will most likely occur if you provide invalid data.
chunk | data chunk, must be exactly of the size that is returned by datasize() |
Definition at line 817 of file interface.cpp.
|
protected |
Set hash.
Never use directly.
ihash | interface hash |
Definition at line 314 of file interface.cpp.
void fawkes::Interface::set_timestamp | ( | const Time * | t = NULL | ) |
Set timestamp.
t | time stamp to copy time from, if NULL current time is queried from clock. |
Definition at line 729 of file interface.cpp.
References fawkes::Exception::Exception(), and fawkes::Time::stamp().
Referenced by IMUSensorThread::loop(), LaserSensorThread::loop(), LaserSimThread::loop(), IMUAcquisitionThread::loop(), and fawkes::tf::TransformPublisher::send_transform().
void fawkes::Interface::set_validity | ( | bool | valid | ) |
Mark this interface invalid.
An interface can become invalid, for example if the connection of a RemoteBlackBoard dies. In this case the interface becomes invalid and successive read()/write() calls will throw an InterfaceInvalidException.
valid | true to mark the interface valid or false to mark it invalid |
Definition at line 454 of file interface.cpp.
Referenced by fawkes::RemoteBlackBoard::is_alive().
const Time * fawkes::Interface::timestamp | ( | ) | const |
Get timestamp of last write.
Note that you need to call read() before this provides useful information.
Definition at line 718 of file interface.cpp.
Referenced by RosLaserScanThread::bb_interface_data_changed(), fawkes::tf::TransformListener::bb_interface_data_changed(), RosTfThread::bb_interface_reader_removed(), RobotinoRosJointsThread::loop(), RobotinoIrPclThread::loop(), RosSkillerThread::loop(), ColliThread::loop(), WebviewBlackBoardRequestProcessor::process_request(), and fawkes::LaserOccupancyGrid::reset_old().
const char * fawkes::Interface::type | ( | ) | const |
Get type of interface.
Definition at line 651 of file interface.cpp.
Referenced by MongoLogBlackboardThread::bb_interface_created(), fawkes::BlackBoardInterfaceProxy::BlackBoardInterfaceProxy(), fawkes::JointInterface::copy_values(), fawkes::Laser1080Interface::copy_values(), fawkes::Laser720Interface::copy_values(), fawkes::Laser360Interface::copy_values(), fawkes::EclipseDebuggerInterface::copy_values(), fawkes::Position2DTrackInterface::copy_values(), fawkes::TransformInterface::copy_values(), fawkes::Position3DInterface::copy_values(), fawkes::SoccerPenaltyInterface::copy_values(), fawkes::KeyValueInterface::copy_values(), fawkes::SpeechSynthInterface::copy_values(), fawkes::IMUInterface::copy_values(), fawkes::GripperInterface::copy_values(), fawkes::LocalizationInterface::copy_values(), fawkes::BatteryInterface::copy_values(), fawkes::LaserLineInterface::copy_values(), fawkes::PclDatabaseStoreInterface::copy_values(), fawkes::PclDatabaseMergeInterface::copy_values(), fawkes::SpeechRecognitionInterface::copy_values(), fawkes::LedInterface::copy_values(), fawkes::PclDatabaseRetrieveInterface::copy_values(), fawkes::LaserClusterInterface::copy_values(), fawkes::RobotinoSensorInterface::copy_values(), fawkes::TestInterface::copy_values(), fawkes::SkillerDebugInterface::copy_values(), fawkes::CameraControlInterface::copy_values(), fawkes::KickerInterface::copy_values(), fawkes::SwitchInterface::copy_values(), fawkes::NavPathInterface::copy_values(), fawkes::SkillerInterface::copy_values(), fawkes::JoystickInterface::copy_values(), fawkes::FacialExpressionInterface::copy_values(), fawkes::GameStateInterface::copy_values(), fawkes::JacoBimanualInterface::copy_values(), fawkes::HumanSkeletonProjectionInterface::copy_values(), fawkes::ObjectPositionInterface::copy_values(), fawkes::NaoSensorInterface::copy_values(), fawkes::VisualDisplay2DInterface::copy_values(), fawkes::NaoJointStiffnessInterface::copy_values(), fawkes::PanTiltInterface::copy_values(), fawkes::FacerInterface::copy_values(), fawkes::JacoInterface::copy_values(), fawkes::OpenRaveInterface::copy_values(), fawkes::HumanoidMotionInterface::copy_values(), fawkes::OpenCVStereoParamsInterface::copy_values(), fawkes::MotorInterface::copy_values(), fawkes::NaoJointPositionInterface::copy_values(), fawkes::Roomba500Interface::copy_values(), fawkes::NavigatorInterface::copy_values(), fawkes::KatanaInterface::copy_values(), fawkes::HumanSkeletonInterface::copy_values(), fawkes::NavGraphGeneratorInterface::copy_values(), fawkes::DynamixelServoInterface::copy_values(), PlayerMapperFactory::create_mapper(), fawkes::RemoteBlackBoard::is_alive(), WebviewBlackBoardRequestProcessor::process_request(), BBLogFile::set_interface(), BBLoggerThread::set_threadlist(), fawkes::BlackBoardMessageManager::transmit(), and fawkes::BlackBoardInterfaceListMaintainer::~BlackBoardInterfaceListMaintainer().
const char * fawkes::Interface::uid | ( | ) | const |
Get unique identifier of interface.
As the name suggests this ID denotes a unique memory instance of this interface in the blackboard. It is provided by the system and currently returns a string of the form "type::id", where type is replaced by the type returned by type() and id is the ID returned by id().
Definition at line 687 of file interface.cpp.
Referenced by MongoLogBlackboardThread::bb_interface_created(), RosLaserScanThread::bb_interface_created(), RosLaserScanThread::bb_interface_reader_removed(), RosTfThread::bb_interface_reader_removed(), fawkes::BlackBoardInterfaceListener::bb_interface_writer_removed(), fawkes::BlackBoardInterfaceListener::bbil_add_message_interface(), BlackboardCLIPSFeature::clips_context_destroyed(), BBLoggerThread::init(), fawkes::EclExternalBlackBoard::interfaces(), NavGraphClustersThread::loop(), fawkes::BlackBoardNotifier::notify_of_data_change(), fawkes::BlackBoardNotifier::notify_of_message_received(), fawkes::BlackBoardNotifier::notify_of_reader_added(), fawkes::BlackBoardNotifier::notify_of_reader_removed(), fawkes::BlackBoardNotifier::notify_of_writer_added(), fawkes::BlackBoardNotifier::notify_of_writer_removed(), LaserDrawingArea::on_expose_event(), fawkes::BlackBoardInterfaceManager::open_for_reading(), fawkes::BlackBoardInterfaceManager::open_for_writing(), fawkes::BlackBoardInterfaceManager::open_multiple_for_reading(), fawkes::BlackBoardInterfaceProxy::process_interface_message(), fawkes::BlackBoardInterfaceManager::readers(), fawkes::BlackBoardNotifier::unregister_listener(), LaserFilterThread::wait_done(), fawkes::BlackBoardInterfaceManager::writer(), fawkes::BlackBoardInterfaceListMaintainer::~BlackBoardInterfaceListMaintainer(), and fawkes::BlackBoardInterfaceManager::~BlackBoardInterfaceManager().
void fawkes::Interface::write | ( | ) |
Write from local copy into BlackBoard memory.
InterfaceInvalidException | thrown if the interface has been marked invalid |
Definition at line 500 of file interface.cpp.
References fawkes::InterfaceInvalidException::InterfaceInvalidException().
Referenced by SyncInterfaceListener::bb_interface_data_changed(), BBLoggerThread::bb_interface_message_received(), ColliThread::colli_stop(), NavGraphThread::fam_event(), RosNavigatorThread::finalize(), RefBoxCommThread::handle_refbox_state(), IMUSensorThread::init(), PanTiltDirectedPerceptionThread::init(), LaserSensorThread::init(), PanTiltSonyEviD100PThread::init(), IMUAcquisitionThread::init(), ColliActThread::init(), RobotinoActThread::init(), PanTiltRX28Thread::init(), BBLoggerThread::init(), LaserClusterThread::init(), RobotinoSimThread::init(), FvAcquisitionThread::init(), Bumblebee2Thread::init(), LaserLinesThread::init(), AmclThread::init(), TabletopObjectsThread::init(), JoystickRemoteBlackBoardPoster::joystick_changed(), JoystickRemoteBlackBoardPoster::joystick_plugged(), JoystickRemoteBlackBoardPoster::joystick_unplugged(), JacoBimanualActThread::loop(), JacoActThread::loop(), JoystickSensorThread::loop(), OpenRaveMessageHandlerThread::loop(), AgentControlThread::loop(), IMUSensorThread::loop(), RosNavgraphBreakoutThread::loop(), PanTiltDirectedPerceptionThread::loop(), PanTiltSonyEviD100PThread::loop(), LaserSensorThread::loop(), PointCloudDBStoreThread::loop(), IMUAcquisitionThread::loop(), MapLaserGenThread::loop(), LaserSimThread::loop(), RosNavigatorThread::loop(), NaoQiSpeechSynthThread::loop(), NavGraphGeneratorThread::loop(), LocalizationSimThread::loop(), Roomba500Thread::loop(), RobotinoSensorThread::loop(), RefBoxCommThread::loop(), NaoQiMotionThread::loop(), RosLaserScanThread::loop(), PointCloudDBRetrieveThread::loop(), ColliActThread::loop(), PointCloudDBMergeThread::loop(), NaoQiButtonThread::loop(), RobotinoActThread::loop(), BBLogReplayThread::loop(), NaoQiDCMThread::loop(), LaserClusterThread::loop(), PanTiltRX28Thread::loop(), RobotinoSimThread::loop(), NavGraphThread::loop(), ColliThread::loop(), Bumblebee2Thread::loop(), LaserLinesThread::loop(), KatanaActThread::loop(), TabletopObjectsThread::loop(), LaserDeadSpotCalibrator::num_detected_spots(), BBLogReplayThread::once(), KatanaActThread::once(), JoystickActThread::MessageProcessor::process(), JoystickActThread::MessageProcessor::process_message(), FestivalSynthThread::say(), FliteSynthThread::say(), fawkes::tf::TransformPublisher::send_transform(), FvAcquisitionThread::set_enabled(), PlayerLaserMapper::sync_player_to_fawkes(), PlayerMotorPositionMapper::sync_player_to_fawkes(), PlayerPositionMapper::sync_player_to_fawkes(), PanTiltDirectedPerceptionThread::update_sensor_values(), PanTiltSonyEviD100PThread::update_sensor_values(), PanTiltRX28Thread::update_sensor_values(), and Roomba500Thread::write_blackboard().
std::string fawkes::Interface::writer | ( | ) | const |
Get owner name of writing interface instance.
Definition at line 874 of file interface.cpp.
Referenced by fawkes::tf::TransformListener::bb_interface_data_changed(), and WebviewBlackBoardRequestProcessor::process_request().
|
protected |
Indicator if data has changed.
This must be set by all methods that manipulate internal data or the timestamp. Only if set to true a call to write() will update data_ts.
Definition at line 222 of file interface.h.
Referenced by fawkes::NaoSensorInterface::set_accel_x(), fawkes::NaoSensorInterface::set_accel_y(), fawkes::NaoSensorInterface::set_accel_z(), fawkes::SwitchInterface::set_activation_count(), fawkes::NaoSensorInterface::set_angle_x(), fawkes::NaoSensorInterface::set_angle_y(), fawkes::IMUInterface::set_angular_velocity(), fawkes::IMUInterface::set_angular_velocity_covariance(), fawkes::HumanoidMotionInterface::set_arms_enabled(), fawkes::NavigatorInterface::set_auto_drive_mode(), fawkes::JoystickInterface::set_axis(), fawkes::NaoSensorInterface::set_battery_charge(), fawkes::ObjectPositionInterface::set_bearing(), fawkes::FacerInterface::set_bearing(), fawkes::FacialExpressionInterface::set_brows_action(), fawkes::NaoSensorInterface::set_chest_button(), fawkes::TransformInterface::set_child_frame(), fawkes::Laser360Interface::set_clockwise_angle(), fawkes::Laser720Interface::set_clockwise_angle(), fawkes::Laser1080Interface::set_clockwise_angle(), fawkes::HumanSkeletonInterface::set_com(), fawkes::JacoInterface::set_connected(), fawkes::MotorInterface::set_controller(), fawkes::MotorInterface::set_controller_thread_name(), fawkes::SpeechRecognitionInterface::set_counter(), fawkes::VisualDisplay2DInterface::set_counter(), fawkes::Position3DInterface::set_covariance(), fawkes::KickerInterface::set_current_intensity(), fawkes::ObjectPositionInterface::set_dbs_covariance(), fawkes::MotorInterface::set_des_omega(), fawkes::MotorInterface::set_des_vx(), fawkes::MotorInterface::set_des_vy(), fawkes::NavigatorInterface::set_dest_dist(), fawkes::NavigatorInterface::set_dest_ori(), fawkes::NavigatorInterface::set_dest_x(), fawkes::NavigatorInterface::set_dest_y(), fawkes::ObjectPositionInterface::set_distance(), fawkes::Laser360Interface::set_distances(), fawkes::Laser1080Interface::set_distances(), fawkes::Laser720Interface::set_distances(), fawkes::MotorInterface::set_drive_mode(), fawkes::NavigatorInterface::set_drive_mode(), fawkes::SpeechSynthInterface::set_duration(), fawkes::CameraControlInterface::set_effect(), fawkes::CameraControlInterface::set_effect_supported(), fawkes::SpeechRecognitionInterface::set_enabled(), fawkes::SwitchInterface::set_enabled(), fawkes::PclDatabaseStoreInterface::set_error(), fawkes::PclDatabaseRetrieveInterface::set_error(), fawkes::SkillerInterface::set_error(), fawkes::JacoInterface::set_error_code(), fawkes::NavigatorInterface::set_error_code(), fawkes::NavigatorInterface::set_escaping_enabled(), fawkes::JacoInterface::set_euler1(), fawkes::JacoInterface::set_euler2(), fawkes::JacoInterface::set_euler3(), fawkes::SkillerInterface::set_exclusive_controller(), fawkes::ObjectPositionInterface::set_extent_x(), fawkes::ObjectPositionInterface::set_extent_y(), fawkes::ObjectPositionInterface::set_extent_z(), fawkes::FacialExpressionInterface::set_eyes_action(), fawkes::JoystickInterface::set_ff_effects(), fawkes::SpeechSynthInterface::set_final(), fawkes::PclDatabaseStoreInterface::set_final(), fawkes::PclDatabaseRetrieveInterface::set_final(), fawkes::JacoInterface::set_final(), fawkes::NavigatorInterface::set_final(), fawkes::JacoInterface::set_finger1(), fawkes::JacoInterface::set_finger2(), fawkes::JacoInterface::set_finger3(), fawkes::TestInterface::set_flags(), fawkes::ObjectPositionInterface::set_flags(), fawkes::NavigatorInterface::set_flags(), fawkes::Laser1080Interface::set_frame(), fawkes::Laser360Interface::set_frame(), fawkes::Laser720Interface::set_frame(), fawkes::IMUInterface::set_frame(), fawkes::Position3DInterface::set_frame(), fawkes::TransformInterface::set_frame(), fawkes::GameStateInterface::set_game_state(), fawkes::KickerInterface::set_guide_ball_side(), fawkes::NaoSensorInterface::set_gyro_ref(), fawkes::NaoSensorInterface::set_gyro_x(), fawkes::NaoSensorInterface::set_gyro_y(), fawkes::GameStateInterface::set_half(), fawkes::NaoJointStiffnessInterface::set_head_pitch(), fawkes::NaoSensorInterface::set_head_touch_front(), fawkes::NaoSensorInterface::set_head_touch_middle(), fawkes::NaoSensorInterface::set_head_touch_rear(), fawkes::NaoJointStiffnessInterface::set_head_yaw(), fawkes::SwitchInterface::set_history(), fawkes::FacerInterface::set_history_ratio(), fawkes::EclipseDebuggerInterface::set_host(), fawkes::FacerInterface::set_index_last_learned(), fawkes::JacoInterface::set_initialized(), fawkes::LedInterface::set_intensity(), fawkes::JacoInterface::set_joints(), fawkes::FacialExpressionInterface::set_jowl_action(), fawkes::KeyValueInterface::set_key(), fawkes::GameStateInterface::set_kickoff(), fawkes::NaoJointStiffnessInterface::set_l_ankle_pitch(), fawkes::NaoJointStiffnessInterface::set_l_ankle_roll(), fawkes::NaoSensorInterface::set_l_cop_x(), fawkes::NaoSensorInterface::set_l_cop_y(), fawkes::NaoJointStiffnessInterface::set_l_elbow_roll(), fawkes::NaoJointStiffnessInterface::set_l_elbow_yaw(), fawkes::NaoSensorInterface::set_l_foot_bumper_l(), fawkes::NaoSensorInterface::set_l_foot_bumper_r(), fawkes::NaoSensorInterface::set_l_fsr_fl(), fawkes::NaoSensorInterface::set_l_fsr_fr(), fawkes::NaoSensorInterface::set_l_fsr_rl(), fawkes::NaoSensorInterface::set_l_fsr_rr(), fawkes::NaoJointStiffnessInterface::set_l_hand(), fawkes::NaoJointStiffnessInterface::set_l_hip_pitch(), fawkes::NaoJointStiffnessInterface::set_l_hip_roll(), fawkes::NaoJointStiffnessInterface::set_l_hip_yaw_pitch(), fawkes::NaoJointStiffnessInterface::set_l_knee_pitch(), fawkes::NaoJointStiffnessInterface::set_l_shoulder_pitch(), fawkes::NaoJointStiffnessInterface::set_l_shoulder_roll(), fawkes::NaoSensorInterface::set_l_total_weight(), fawkes::NaoJointStiffnessInterface::set_l_wrist_yaw(), fawkes::FacerInterface::set_learning_in_progress(), fawkes::MotorInterface::set_left_rpm(), fawkes::Position2DTrackInterface::set_length(), fawkes::IMUInterface::set_linear_acceleration(), fawkes::IMUInterface::set_linear_acceleration_covariance(), fawkes::SwitchInterface::set_long_activations(), fawkes::LocalizationInterface::set_map(), fawkes::NavigatorInterface::set_max_rotation(), fawkes::NavigatorInterface::set_max_velocity(), fawkes::NaoJointStiffnessInterface::set_minimum(), fawkes::CameraControlInterface::set_mirror(), fawkes::CameraControlInterface::set_mirror_supported(), fawkes::FacerInterface::set_most_likely_gender(), fawkes::FacerInterface::set_most_likely_identity(), fawkes::MotorInterface::set_motor_state(), fawkes::FacialExpressionInterface::set_mouth_action(), fawkes::HumanoidMotionInterface::set_moving(), fawkes::SpeechSynthInterface::set_msgid(), fawkes::PclDatabaseStoreInterface::set_msgid(), fawkes::PclDatabaseRetrieveInterface::set_msgid(), fawkes::SkillerInterface::set_msgid(), fawkes::JacoInterface::set_msgid(), fawkes::HumanoidMotionInterface::set_msgid(), fawkes::NavigatorInterface::set_msgid(), fawkes::JoystickInterface::set_num_axes(), fawkes::JoystickInterface::set_num_buttons(), fawkes::FacerInterface::set_num_detections(), fawkes::FacerInterface::set_num_identities(), fawkes::KickerInterface::set_num_kicks_center(), fawkes::KickerInterface::set_num_kicks_left(), fawkes::KickerInterface::set_num_kicks_right(), fawkes::FacerInterface::set_num_recognitions(), fawkes::ObjectPositionInterface::set_object_type(), fawkes::MotorInterface::set_odometry_orientation(), fawkes::MotorInterface::set_odometry_path_length(), fawkes::MotorInterface::set_odometry_position_x(), fawkes::MotorInterface::set_odometry_position_y(), fawkes::MotorInterface::set_omega(), fawkes::FacerInterface::set_opmode(), fawkes::HumanSkeletonInterface::set_ori_head(), fawkes::HumanSkeletonInterface::set_ori_head_confidence(), fawkes::HumanSkeletonInterface::set_ori_left_ankle(), fawkes::HumanSkeletonInterface::set_ori_left_ankle_confidence(), fawkes::HumanSkeletonInterface::set_ori_left_collar(), fawkes::HumanSkeletonInterface::set_ori_left_collar_confidence(), fawkes::HumanSkeletonInterface::set_ori_left_elbow(), fawkes::HumanSkeletonInterface::set_ori_left_elbow_confidence(), fawkes::HumanSkeletonInterface::set_ori_left_fingertip(), fawkes::HumanSkeletonInterface::set_ori_left_fingertip_confidence(), fawkes::HumanSkeletonInterface::set_ori_left_foot(), fawkes::HumanSkeletonInterface::set_ori_left_foot_confidence(), fawkes::HumanSkeletonInterface::set_ori_left_hand(), fawkes::HumanSkeletonInterface::set_ori_left_hand_confidence(), fawkes::HumanSkeletonInterface::set_ori_left_hip(), fawkes::HumanSkeletonInterface::set_ori_left_hip_confidence(), fawkes::HumanSkeletonInterface::set_ori_left_knee(), fawkes::HumanSkeletonInterface::set_ori_left_knee_confidence(), fawkes::HumanSkeletonInterface::set_ori_left_shoulder(), fawkes::HumanSkeletonInterface::set_ori_left_shoulder_confidence(), fawkes::HumanSkeletonInterface::set_ori_left_wrist(), fawkes::HumanSkeletonInterface::set_ori_left_wrist_confidence(), fawkes::HumanSkeletonInterface::set_ori_neck(), fawkes::HumanSkeletonInterface::set_ori_neck_confidence(), fawkes::HumanSkeletonInterface::set_ori_right_ankle(), fawkes::HumanSkeletonInterface::set_ori_right_ankle_confidence(), fawkes::HumanSkeletonInterface::set_ori_right_collar(), fawkes::HumanSkeletonInterface::set_ori_right_collar_confidence(), fawkes::HumanSkeletonInterface::set_ori_right_elbow(), fawkes::HumanSkeletonInterface::set_ori_right_elbow_confidence(), fawkes::HumanSkeletonInterface::set_ori_right_fingertip(), fawkes::HumanSkeletonInterface::set_ori_right_fingertip_confidence(), fawkes::HumanSkeletonInterface::set_ori_right_foot(), fawkes::HumanSkeletonInterface::set_ori_right_foot_confidence(), fawkes::HumanSkeletonInterface::set_ori_right_hand(), fawkes::HumanSkeletonInterface::set_ori_right_hand_confidence(), fawkes::HumanSkeletonInterface::set_ori_right_hip(), fawkes::HumanSkeletonInterface::set_ori_right_hip_confidence(), fawkes::HumanSkeletonInterface::set_ori_right_knee(), fawkes::HumanSkeletonInterface::set_ori_right_knee_confidence(), fawkes::HumanSkeletonInterface::set_ori_right_shoulder(), fawkes::HumanSkeletonInterface::set_ori_right_shoulder_confidence(), fawkes::HumanSkeletonInterface::set_ori_right_wrist(), fawkes::HumanSkeletonInterface::set_ori_right_wrist_confidence(), fawkes::HumanSkeletonInterface::set_ori_torso(), fawkes::HumanSkeletonInterface::set_ori_torso_confidence(), fawkes::HumanSkeletonInterface::set_ori_waist(), fawkes::HumanSkeletonInterface::set_ori_waist_confidence(), fawkes::IMUInterface::set_orientation(), fawkes::IMUInterface::set_orientation_covariance(), fawkes::NavigatorInterface::set_orientation_mode(), fawkes::GameStateInterface::set_our_goal_color(), fawkes::GameStateInterface::set_our_team(), fawkes::NavPathInterface::set_path_length(), fawkes::NavPathInterface::set_path_node_1(), fawkes::NavPathInterface::set_path_node_10(), fawkes::NavPathInterface::set_path_node_11(), fawkes::NavPathInterface::set_path_node_12(), fawkes::NavPathInterface::set_path_node_13(), fawkes::NavPathInterface::set_path_node_14(), fawkes::NavPathInterface::set_path_node_15(), fawkes::NavPathInterface::set_path_node_16(), fawkes::NavPathInterface::set_path_node_17(), fawkes::NavPathInterface::set_path_node_18(), fawkes::NavPathInterface::set_path_node_19(), fawkes::NavPathInterface::set_path_node_2(), fawkes::NavPathInterface::set_path_node_20(), fawkes::NavPathInterface::set_path_node_21(), fawkes::NavPathInterface::set_path_node_22(), fawkes::NavPathInterface::set_path_node_23(), fawkes::NavPathInterface::set_path_node_24(), fawkes::NavPathInterface::set_path_node_25(), fawkes::NavPathInterface::set_path_node_26(), fawkes::NavPathInterface::set_path_node_27(), fawkes::NavPathInterface::set_path_node_28(), fawkes::NavPathInterface::set_path_node_29(), fawkes::NavPathInterface::set_path_node_3(), fawkes::NavPathInterface::set_path_node_30(), fawkes::NavPathInterface::set_path_node_31(), fawkes::NavPathInterface::set_path_node_32(), fawkes::NavPathInterface::set_path_node_33(), fawkes::NavPathInterface::set_path_node_34(), fawkes::NavPathInterface::set_path_node_35(), fawkes::NavPathInterface::set_path_node_36(), fawkes::NavPathInterface::set_path_node_37(), fawkes::NavPathInterface::set_path_node_38(), fawkes::NavPathInterface::set_path_node_39(), fawkes::NavPathInterface::set_path_node_4(), fawkes::NavPathInterface::set_path_node_40(), fawkes::NavPathInterface::set_path_node_5(), fawkes::NavPathInterface::set_path_node_6(), fawkes::NavPathInterface::set_path_node_7(), fawkes::NavPathInterface::set_path_node_8(), fawkes::NavPathInterface::set_path_node_9(), fawkes::SoccerPenaltyInterface::set_penalty(), fawkes::ObjectPositionInterface::set_pitch(), fawkes::EclipseDebuggerInterface::set_port(), fawkes::HumanSkeletonInterface::set_pos_head(), fawkes::HumanSkeletonInterface::set_pos_head_confidence(), fawkes::HumanSkeletonInterface::set_pos_left_ankle(), fawkes::HumanSkeletonInterface::set_pos_left_ankle_confidence(), fawkes::HumanSkeletonInterface::set_pos_left_collar(), fawkes::HumanSkeletonInterface::set_pos_left_collar_confidence(), fawkes::HumanSkeletonInterface::set_pos_left_elbow(), fawkes::HumanSkeletonInterface::set_pos_left_elbow_confidence(), fawkes::HumanSkeletonInterface::set_pos_left_fingertip(), fawkes::HumanSkeletonInterface::set_pos_left_fingertip_confidence(), fawkes::HumanSkeletonInterface::set_pos_left_foot(), fawkes::HumanSkeletonInterface::set_pos_left_foot_confidence(), fawkes::HumanSkeletonInterface::set_pos_left_hand(), fawkes::HumanSkeletonInterface::set_pos_left_hand_confidence(), fawkes::HumanSkeletonInterface::set_pos_left_hip(), fawkes::HumanSkeletonInterface::set_pos_left_hip_confidence(), fawkes::HumanSkeletonInterface::set_pos_left_knee(), fawkes::HumanSkeletonInterface::set_pos_left_knee_confidence(), fawkes::HumanSkeletonInterface::set_pos_left_shoulder(), fawkes::HumanSkeletonInterface::set_pos_left_shoulder_confidence(), fawkes::HumanSkeletonInterface::set_pos_left_wrist(), fawkes::HumanSkeletonInterface::set_pos_left_wrist_confidence(), fawkes::HumanSkeletonInterface::set_pos_neck(), fawkes::HumanSkeletonInterface::set_pos_neck_confidence(), fawkes::HumanSkeletonInterface::set_pos_right_ankle(), fawkes::HumanSkeletonInterface::set_pos_right_ankle_confidence(), fawkes::HumanSkeletonInterface::set_pos_right_collar(), fawkes::HumanSkeletonInterface::set_pos_right_collar_confidence(), fawkes::HumanSkeletonInterface::set_pos_right_elbow(), fawkes::HumanSkeletonInterface::set_pos_right_elbow_confidence(), fawkes::HumanSkeletonInterface::set_pos_right_fingertip(), fawkes::HumanSkeletonInterface::set_pos_right_fingertip_confidence(), fawkes::HumanSkeletonInterface::set_pos_right_foot(), fawkes::HumanSkeletonInterface::set_pos_right_foot_confidence(), fawkes::HumanSkeletonInterface::set_pos_right_hand(), fawkes::HumanSkeletonInterface::set_pos_right_hand_confidence(), fawkes::HumanSkeletonInterface::set_pos_right_hip(), fawkes::HumanSkeletonInterface::set_pos_right_hip_confidence(), fawkes::HumanSkeletonInterface::set_pos_right_knee(), fawkes::HumanSkeletonInterface::set_pos_right_knee_confidence(), fawkes::HumanSkeletonInterface::set_pos_right_shoulder(), fawkes::HumanSkeletonInterface::set_pos_right_shoulder_confidence(), fawkes::HumanSkeletonInterface::set_pos_right_wrist(), fawkes::HumanSkeletonInterface::set_pos_right_wrist_confidence(), fawkes::HumanSkeletonInterface::set_pos_torso(), fawkes::HumanSkeletonInterface::set_pos_torso_confidence(), fawkes::HumanSkeletonInterface::set_pos_waist(), fawkes::HumanSkeletonInterface::set_pos_waist_confidence(), fawkes::HumanSkeletonInterface::set_pose(), fawkes::JointInterface::set_position(), fawkes::JoystickInterface::set_pressed_buttons(), fawkes::SpeechRecognitionInterface::set_processing(), fawkes::NaoJointStiffnessInterface::set_r_ankle_pitch(), fawkes::NaoJointStiffnessInterface::set_r_ankle_roll(), fawkes::NaoSensorInterface::set_r_cop_x(), fawkes::NaoSensorInterface::set_r_cop_y(), fawkes::NaoJointStiffnessInterface::set_r_elbow_roll(), fawkes::NaoJointStiffnessInterface::set_r_elbow_yaw(), fawkes::NaoSensorInterface::set_r_foot_bumper_l(), fawkes::NaoSensorInterface::set_r_foot_bumper_r(), fawkes::NaoSensorInterface::set_r_fsr_fl(), fawkes::NaoSensorInterface::set_r_fsr_fr(), fawkes::NaoSensorInterface::set_r_fsr_rl(), fawkes::NaoSensorInterface::set_r_fsr_rr(), fawkes::NaoJointStiffnessInterface::set_r_hand(), fawkes::NaoJointStiffnessInterface::set_r_hip_pitch(), fawkes::NaoJointStiffnessInterface::set_r_hip_roll(), fawkes::NaoJointStiffnessInterface::set_r_hip_yaw_pitch(), fawkes::NaoJointStiffnessInterface::set_r_knee_pitch(), fawkes::NaoJointStiffnessInterface::set_r_shoulder_pitch(), fawkes::NaoJointStiffnessInterface::set_r_shoulder_roll(), fawkes::NaoSensorInterface::set_r_total_weight(), fawkes::NaoJointStiffnessInterface::set_r_wrist_yaw(), fawkes::MotorInterface::set_rear_rpm(), fawkes::FacerInterface::set_recognized_identity(), fawkes::FacerInterface::set_recognized_name(), fawkes::FacerInterface::set_recording_progress(), fawkes::ObjectPositionInterface::set_relative_x(), fawkes::ObjectPositionInterface::set_relative_x_velocity(), fawkes::ObjectPositionInterface::set_relative_xyz_covariance(), fawkes::ObjectPositionInterface::set_relative_xyz_velocity_covariance(), fawkes::ObjectPositionInterface::set_relative_y(), fawkes::ObjectPositionInterface::set_relative_y_velocity(), fawkes::ObjectPositionInterface::set_relative_z(), fawkes::ObjectPositionInterface::set_relative_z_velocity(), fawkes::SoccerPenaltyInterface::set_remaining(), fawkes::FacerInterface::set_requested_index(), fawkes::FacerInterface::set_requested_name(), fawkes::TestInterface::set_result(), fawkes::MotorInterface::set_right_rpm(), fawkes::GameStateInterface::set_role(), fawkes::ObjectPositionInterface::set_roll(), fawkes::Position3DInterface::set_rotation(), fawkes::TransformInterface::set_rotation(), fawkes::GameStateInterface::set_score_cyan(), fawkes::GameStateInterface::set_score_magenta(), fawkes::FacerInterface::set_searching_person(), fawkes::FacerInterface::set_sec_since_detection(), fawkes::NavigatorInterface::set_security_distance(), fawkes::SwitchInterface::set_short_activations(), fawkes::SkillerInterface::set_skill_string(), fawkes::ObjectPositionInterface::set_slope(), fawkes::FacerInterface::set_slope(), fawkes::HumanSkeletonInterface::set_state(), fawkes::GameStateInterface::set_state_team(), fawkes::TransformInterface::set_static_transform(), fawkes::SkillerInterface::set_status(), fawkes::NavigatorInterface::set_stop_at_target(), fawkes::JoystickInterface::set_supported_ff_effects(), fawkes::TestInterface::set_test_bool(), fawkes::TestInterface::set_test_int(), fawkes::TestInterface::set_test_string(), fawkes::TestInterface::set_test_uint(), fawkes::SpeechSynthInterface::set_text(), fawkes::SpeechRecognitionInterface::set_text(), fawkes::Position2DTrackInterface::set_track_id(), fawkes::Position2DTrackInterface::set_track_timestamps(), fawkes::Position2DTrackInterface::set_track_x_positions(), fawkes::Position2DTrackInterface::set_track_y_positions(), fawkes::TransformInterface::set_translation(), fawkes::Position3DInterface::set_translation(), fawkes::NaoSensorInterface::set_ultrasonic_direction(), fawkes::NaoSensorInterface::set_ultrasonic_distance_left(), fawkes::NaoSensorInterface::set_ultrasonic_distance_right(), fawkes::HumanSkeletonInterface::set_user_id(), fawkes::Position2DTrackInterface::set_valid(), fawkes::ObjectPositionInterface::set_valid(), fawkes::SwitchInterface::set_value(), fawkes::KeyValueInterface::set_value_bool(), fawkes::KeyValueInterface::set_value_byte(), fawkes::KeyValueInterface::set_value_float(), fawkes::KeyValueInterface::set_value_int(), fawkes::KeyValueInterface::set_value_string(), fawkes::KeyValueInterface::set_value_type(), fawkes::KeyValueInterface::set_value_uint(), fawkes::JointInterface::set_velocity(), fawkes::Position3DInterface::set_visibility_history(), fawkes::ObjectPositionInterface::set_visibility_history(), fawkes::HumanSkeletonInterface::set_visibility_history(), fawkes::FacerInterface::set_visibility_history(), fawkes::ObjectPositionInterface::set_visible(), fawkes::MotorInterface::set_vx(), fawkes::MotorInterface::set_vy(), fawkes::ObjectPositionInterface::set_world_x(), fawkes::ObjectPositionInterface::set_world_x_velocity(), fawkes::ObjectPositionInterface::set_world_xyz_covariance(), fawkes::ObjectPositionInterface::set_world_xyz_velocity_covariance(), fawkes::ObjectPositionInterface::set_world_y(), fawkes::ObjectPositionInterface::set_world_y_velocity(), fawkes::ObjectPositionInterface::set_world_z(), fawkes::ObjectPositionInterface::set_world_z_velocity(), fawkes::JacoInterface::set_x(), fawkes::NavigatorInterface::set_x(), fawkes::JacoInterface::set_y(), fawkes::NavigatorInterface::set_y(), fawkes::ObjectPositionInterface::set_yaw(), fawkes::JacoInterface::set_z(), fawkes::CameraControlInterface::set_zoom(), fawkes::CameraControlInterface::set_zoom_max(), fawkes::CameraControlInterface::set_zoom_min(), and fawkes::CameraControlInterface::set_zoom_supported().
|
protected |
Pointer to local memory storage.
Definition at line 220 of file interface.h.
|
protected |
Minimal data size to hold data storage.
Definition at line 221 of file interface.h.
|
protected |
Pointer to data casted to timestamp struct.
This assumes that the very first two entries are 64 bit wide signed integers containing seconds and microseconds since the Unix epoch.
Definition at line 224 of file interface.h.