Fawkes API
Fawkes Development Version
|
JacoInterface Fawkes BlackBoard Interface. More...
#include <>>
Classes | |
class | AngularGotoMessage |
AngularGotoMessage Fawkes BlackBoard Interface Message. More... | |
class | CalibrateMessage |
CalibrateMessage Fawkes BlackBoard Interface Message. More... | |
class | CartesianGotoMessage |
CartesianGotoMessage Fawkes BlackBoard Interface Message. More... | |
class | JoystickPushMessage |
JoystickPushMessage Fawkes BlackBoard Interface Message. More... | |
class | JoystickReleaseMessage |
JoystickReleaseMessage Fawkes BlackBoard Interface Message. More... | |
class | MoveGripperMessage |
MoveGripperMessage Fawkes BlackBoard Interface Message. More... | |
class | RetractMessage |
RetractMessage Fawkes BlackBoard Interface Message. More... | |
class | SetPlannerParamsMessage |
SetPlannerParamsMessage Fawkes BlackBoard Interface Message. More... | |
class | StopMessage |
StopMessage Fawkes BlackBoard Interface Message. More... | |
Public Member Functions | |
virtual bool | message_valid (const Message *message) const |
Check if message is valid and can be enqueued. More... | |
bool | is_connected () const |
Get connected value. More... | |
void | set_connected (const bool new_connected) |
Set connected value. More... | |
size_t | maxlenof_connected () const |
Get maximum length of connected value. More... | |
bool | is_initialized () const |
Get initialized value. More... | |
void | set_initialized (const bool new_initialized) |
Set initialized value. More... | |
size_t | maxlenof_initialized () const |
Get maximum length of initialized value. More... | |
float | x () const |
Get x value. More... | |
void | set_x (const float new_x) |
Set x value. More... | |
size_t | maxlenof_x () const |
Get maximum length of x value. More... | |
float | y () const |
Get y value. More... | |
void | set_y (const float new_y) |
Set y value. More... | |
size_t | maxlenof_y () const |
Get maximum length of y value. More... | |
float | z () const |
Get z value. More... | |
void | set_z (const float new_z) |
Set z value. More... | |
size_t | maxlenof_z () const |
Get maximum length of z value. More... | |
float | euler1 () const |
Get euler1 value. More... | |
void | set_euler1 (const float new_euler1) |
Set euler1 value. More... | |
size_t | maxlenof_euler1 () const |
Get maximum length of euler1 value. More... | |
float | euler2 () const |
Get euler2 value. More... | |
void | set_euler2 (const float new_euler2) |
Set euler2 value. More... | |
size_t | maxlenof_euler2 () const |
Get maximum length of euler2 value. More... | |
float | euler3 () const |
Get euler3 value. More... | |
void | set_euler3 (const float new_euler3) |
Set euler3 value. More... | |
size_t | maxlenof_euler3 () const |
Get maximum length of euler3 value. More... | |
float * | joints () const |
Get joints value. More... | |
float | joints (unsigned int index) const |
Get joints value at given index. More... | |
void | set_joints (unsigned int index, const float new_joints) |
Set joints value at given index. More... | |
void | set_joints (const float *new_joints) |
Set joints value. More... | |
size_t | maxlenof_joints () const |
Get maximum length of joints value. More... | |
float | finger1 () const |
Get finger1 value. More... | |
void | set_finger1 (const float new_finger1) |
Set finger1 value. More... | |
size_t | maxlenof_finger1 () const |
Get maximum length of finger1 value. More... | |
float | finger2 () const |
Get finger2 value. More... | |
void | set_finger2 (const float new_finger2) |
Set finger2 value. More... | |
size_t | maxlenof_finger2 () const |
Get maximum length of finger2 value. More... | |
float | finger3 () const |
Get finger3 value. More... | |
void | set_finger3 (const float new_finger3) |
Set finger3 value. More... | |
size_t | maxlenof_finger3 () const |
Get maximum length of finger3 value. More... | |
uint32_t | msgid () const |
Get msgid value. More... | |
void | set_msgid (const uint32_t new_msgid) |
Set msgid value. More... | |
size_t | maxlenof_msgid () const |
Get maximum length of msgid value. More... | |
bool | is_final () const |
Get final value. More... | |
void | set_final (const bool new_final) |
Set final value. More... | |
size_t | maxlenof_final () const |
Get maximum length of final value. More... | |
uint32_t | error_code () const |
Get error_code value. More... | |
void | set_error_code (const uint32_t new_error_code) |
Set error_code value. More... | |
size_t | maxlenof_error_code () const |
Get maximum length of error_code value. More... | |
virtual Message * | create_message (const char *type) const |
Create message based on type name. More... | |
virtual void | copy_values (const Interface *other) |
Copy values from other interface. More... | |
virtual const char * | enum_tostring (const char *enumtype, int val) const |
Convert arbitrary enum value to string. More... | |
![]() | |
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... | |
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 Attributes | |
static const uint32_t | ERROR_NONE = 0u |
ERROR_NONE constant. More... | |
static const uint32_t | ERROR_UNSPECIFIC = 1u |
ERROR_UNSPECIFIC constant. More... | |
static const uint32_t | ERROR_NO_IK = 2u |
ERROR_NO_IK constant. More... | |
static const uint32_t | ERROR_PLANNING = 4u |
ERROR_PLANNING constant. More... | |
Additional Inherited Members | |
![]() | |
static void | parse_uid (const char *uid, std::string &type, std::string &id) |
Parse UID to type and ID strings. More... | |
![]() | |
Interface () | |
Constructor. 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... | |
![]() | |
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... | |
JacoInterface Fawkes BlackBoard Interface.
Interface providing access to a Kinova Jaco arm.
Definition at line 33 of file JacoInterface.h.
|
virtual |
Copy values from other interface.
other | other interface to copy values from |
Implements fawkes::Interface.
Definition at line 630 of file JacoInterface.cpp.
References fawkes::Interface::type().
|
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. |
Implements fawkes::Interface.
Definition at line 599 of file JacoInterface.cpp.
|
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. |
Implements fawkes::Interface.
Definition at line 641 of file JacoInterface.cpp.
uint32_t fawkes::JacoInterface::error_code | ( | ) | const |
Get error_code value.
Error code, set if final is true. 0 if no error occured, an error code from ERROR_* constants otherwise.
Definition at line 569 of file JacoInterface.cpp.
float fawkes::JacoInterface::euler1 | ( | ) | const |
Get euler1 value.
1st Euler angle of tool rotation.
Definition at line 255 of file JacoInterface.cpp.
Referenced by JacoGotoThread::loop().
float fawkes::JacoInterface::euler2 | ( | ) | const |
Get euler2 value.
2nd Euler angle of tool rotation.
Definition at line 286 of file JacoInterface.cpp.
Referenced by JacoGotoThread::loop().
float fawkes::JacoInterface::euler3 | ( | ) | const |
Get euler3 value.
3rd Euler angle of tool rotation.
Definition at line 317 of file JacoInterface.cpp.
Referenced by JacoGotoThread::loop().
float fawkes::JacoInterface::finger1 | ( | ) | const |
Get finger1 value.
Angular value of finger 1.
Definition at line 408 of file JacoInterface.cpp.
Referenced by JacoGotoThread::loop(), and JacoOpenraveThread::update_openrave().
float fawkes::JacoInterface::finger2 | ( | ) | const |
Get finger2 value.
Angular value of finger 2.
Definition at line 439 of file JacoInterface.cpp.
Referenced by JacoGotoThread::loop(), and JacoOpenraveThread::update_openrave().
float fawkes::JacoInterface::finger3 | ( | ) | const |
Get finger3 value.
Angular value of finger 3.
Definition at line 470 of file JacoInterface.cpp.
Referenced by JacoGotoThread::loop(), and JacoOpenraveThread::update_openrave().
bool fawkes::JacoInterface::is_connected | ( | ) | const |
Get connected value.
Is JacoArm connected/ready?
Definition at line 100 of file JacoInterface.cpp.
bool fawkes::JacoInterface::is_final | ( | ) | const |
Get final value.
True, if the last goto command has been finished, false if it is still running
Definition at line 535 of file JacoInterface.cpp.
Referenced by JacoInfoThread::loop().
bool fawkes::JacoInterface::is_initialized | ( | ) | const |
Get initialized value.
Checks if Jaco arm has been initialized once after switched on.
Definition at line 131 of file JacoInterface.cpp.
float * fawkes::JacoInterface::joints | ( | ) | const |
Get joints value.
Angle values of joints
Definition at line 348 of file JacoInterface.cpp.
Referenced by JacoGotoThread::loop(), and JacoOpenraveThread::update_openrave().
float fawkes::JacoInterface::joints | ( | unsigned int | index | ) | const |
Get joints value at given index.
Angle values of joints
index | index of value |
Exception | thrown if index is out of bounds |
Definition at line 360 of file JacoInterface.cpp.
size_t fawkes::JacoInterface::maxlenof_connected | ( | ) | const |
Get maximum length of connected value.
Definition at line 110 of file JacoInterface.cpp.
size_t fawkes::JacoInterface::maxlenof_error_code | ( | ) | const |
Get maximum length of error_code value.
Definition at line 579 of file JacoInterface.cpp.
size_t fawkes::JacoInterface::maxlenof_euler1 | ( | ) | const |
Get maximum length of euler1 value.
Definition at line 265 of file JacoInterface.cpp.
size_t fawkes::JacoInterface::maxlenof_euler2 | ( | ) | const |
Get maximum length of euler2 value.
Definition at line 296 of file JacoInterface.cpp.
size_t fawkes::JacoInterface::maxlenof_euler3 | ( | ) | const |
Get maximum length of euler3 value.
Definition at line 327 of file JacoInterface.cpp.
size_t fawkes::JacoInterface::maxlenof_final | ( | ) | const |
Get maximum length of final value.
Definition at line 545 of file JacoInterface.cpp.
size_t fawkes::JacoInterface::maxlenof_finger1 | ( | ) | const |
Get maximum length of finger1 value.
Definition at line 418 of file JacoInterface.cpp.
size_t fawkes::JacoInterface::maxlenof_finger2 | ( | ) | const |
Get maximum length of finger2 value.
Definition at line 449 of file JacoInterface.cpp.
size_t fawkes::JacoInterface::maxlenof_finger3 | ( | ) | const |
Get maximum length of finger3 value.
Definition at line 480 of file JacoInterface.cpp.
size_t fawkes::JacoInterface::maxlenof_initialized | ( | ) | const |
Get maximum length of initialized value.
Definition at line 141 of file JacoInterface.cpp.
size_t fawkes::JacoInterface::maxlenof_joints | ( | ) | const |
Get maximum length of joints value.
Definition at line 373 of file JacoInterface.cpp.
size_t fawkes::JacoInterface::maxlenof_msgid | ( | ) | const |
Get maximum length of msgid value.
Definition at line 512 of file JacoInterface.cpp.
size_t fawkes::JacoInterface::maxlenof_x | ( | ) | const |
Get maximum length of x value.
Definition at line 172 of file JacoInterface.cpp.
size_t fawkes::JacoInterface::maxlenof_y | ( | ) | const |
Get maximum length of y value.
Definition at line 203 of file JacoInterface.cpp.
size_t fawkes::JacoInterface::maxlenof_z | ( | ) | const |
Get maximum length of z value.
Definition at line 234 of file JacoInterface.cpp.
|
virtual |
Check if message is valid and can be enqueued.
message | Message to check |
Implements fawkes::Interface.
Definition at line 1694 of file JacoInterface.cpp.
uint32_t fawkes::JacoInterface::msgid | ( | ) | const |
Get msgid value.
The ID of the message that is currently being processed, or 0 if no message is being processed.
Definition at line 502 of file JacoInterface.cpp.
void fawkes::JacoInterface::set_connected | ( | const bool | new_connected | ) |
Set connected value.
Is JacoArm connected/ready?
new_connected | new connected value |
Definition at line 120 of file JacoInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by JacoInfoThread::loop().
void fawkes::JacoInterface::set_error_code | ( | const uint32_t | new_error_code | ) |
Set error_code value.
Error code, set if final is true. 0 if no error occured, an error code from ERROR_* constants otherwise.
new_error_code | new error_code value |
Definition at line 591 of file JacoInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by JacoActThread::loop(), and JacoGotoThread::loop().
void fawkes::JacoInterface::set_euler1 | ( | const float | new_euler1 | ) |
Set euler1 value.
1st Euler angle of tool rotation.
new_euler1 | new euler1 value |
Definition at line 275 of file JacoInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by JacoInfoThread::loop().
void fawkes::JacoInterface::set_euler2 | ( | const float | new_euler2 | ) |
Set euler2 value.
2nd Euler angle of tool rotation.
new_euler2 | new euler2 value |
Definition at line 306 of file JacoInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by JacoInfoThread::loop().
void fawkes::JacoInterface::set_euler3 | ( | const float | new_euler3 | ) |
Set euler3 value.
3rd Euler angle of tool rotation.
new_euler3 | new euler3 value |
Definition at line 337 of file JacoInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by JacoInfoThread::loop().
void fawkes::JacoInterface::set_final | ( | const bool | new_final | ) |
Set final value.
True, if the last goto command has been finished, false if it is still running
new_final | new final value |
Definition at line 556 of file JacoInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by JacoActThread::loop().
void fawkes::JacoInterface::set_finger1 | ( | const float | new_finger1 | ) |
Set finger1 value.
Angular value of finger 1.
new_finger1 | new finger1 value |
Definition at line 428 of file JacoInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by JacoInfoThread::loop().
void fawkes::JacoInterface::set_finger2 | ( | const float | new_finger2 | ) |
Set finger2 value.
Angular value of finger 2.
new_finger2 | new finger2 value |
Definition at line 459 of file JacoInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by JacoInfoThread::loop().
void fawkes::JacoInterface::set_finger3 | ( | const float | new_finger3 | ) |
Set finger3 value.
Angular value of finger 3.
new_finger3 | new finger3 value |
Definition at line 490 of file JacoInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by JacoInfoThread::loop().
void fawkes::JacoInterface::set_initialized | ( | const bool | new_initialized | ) |
Set initialized value.
Checks if Jaco arm has been initialized once after switched on.
new_initialized | new initialized value |
Definition at line 151 of file JacoInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by JacoActThread::loop().
void fawkes::JacoInterface::set_joints | ( | unsigned int | index, |
const float | new_joints | ||
) |
Set joints value at given index.
Angle values of joints
new_joints | new joints value |
index | index for of the value |
Definition at line 395 of file JacoInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by JacoInfoThread::loop().
void fawkes::JacoInterface::set_joints | ( | const float * | new_joints | ) |
Set joints value.
Angle values of joints
new_joints | new joints value |
Definition at line 383 of file JacoInterface.cpp.
References fawkes::Interface::data_changed.
void fawkes::JacoInterface::set_msgid | ( | const uint32_t | new_msgid | ) |
Set msgid value.
The ID of the message that is currently being processed, or 0 if no message is being processed.
new_msgid | new msgid value |
Definition at line 523 of file JacoInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by JacoActThread::loop().
void fawkes::JacoInterface::set_x | ( | const float | new_x | ) |
Set x value.
X-Coordinate of tool translation.
new_x | new x value |
Definition at line 182 of file JacoInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by JacoInfoThread::loop().
void fawkes::JacoInterface::set_y | ( | const float | new_y | ) |
Set y value.
Y-Coordinate op tool translation.
new_y | new y value |
Definition at line 213 of file JacoInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by JacoInfoThread::loop().
void fawkes::JacoInterface::set_z | ( | const float | new_z | ) |
Set z value.
Z-Coordinate of tool translation.
new_z | new z value |
Definition at line 244 of file JacoInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by JacoInfoThread::loop().
float fawkes::JacoInterface::x | ( | ) | const |
Get x value.
X-Coordinate of tool translation.
Definition at line 162 of file JacoInterface.cpp.
Referenced by JacoGotoThread::loop().
float fawkes::JacoInterface::y | ( | ) | const |
Get y value.
Y-Coordinate op tool translation.
Definition at line 193 of file JacoInterface.cpp.
Referenced by JacoGotoThread::loop().
float fawkes::JacoInterface::z | ( | ) | const |
Get z value.
Z-Coordinate of tool translation.
Definition at line 224 of file JacoInterface.cpp.
Referenced by JacoGotoThread::loop().
|
static |
ERROR_NO_IK constant.
Definition at line 42 of file JacoInterface.h.
|
static |
ERROR_NONE constant.
Definition at line 40 of file JacoInterface.h.
|
static |
ERROR_PLANNING constant.
Definition at line 43 of file JacoInterface.h.
|
static |
ERROR_UNSPECIFIC constant.
Definition at line 41 of file JacoInterface.h.