Fawkes API  Fawkes Development Version
fawkes::Roomba500Interface::DriveMessage Class Reference

DriveMessage Fawkes BlackBoard Interface Message. More...

#include <>>

Inheritance diagram for fawkes::Roomba500Interface::DriveMessage:

Public Member Functions

 DriveMessage (const int16_t ini_velocity, const int16_t ini_radius)
 Constructor with initial values. More...
 
 DriveMessage ()
 Constructor. More...
 
 ~DriveMessage ()
 Destructor. More...
 
 DriveMessage (const DriveMessage *m)
 Copy constructor. More...
 
int16_t velocity () const
 Get velocity value. More...
 
void set_velocity (const int16_t new_velocity)
 Set velocity value. More...
 
size_t maxlenof_velocity () const
 Get maximum length of velocity value. More...
 
int16_t radius () const
 Get radius value. More...
 
void set_radius (const int16_t new_radius)
 Set radius value. More...
 
size_t maxlenof_radius () const
 Get maximum length of radius value. More...
 
virtual Messageclone () const
 Clone this message. More...
 
- Public Member Functions inherited from fawkes::Message
 Message (const char *type)
 Constructor. More...
 
 Message (const Message *mesg)
 Copy constructor. More...
 
 Message (const Message &mesg)
 Copy constructor. More...
 
virtual ~Message ()
 Destructor. More...
 
Messageoperator= (const Message &m)
 Assign this message to given message. More...
 
unsigned int id () const
 Get message ID. More...
 
void set_id (unsigned int message_id)
 Set message ID. More...
 
void mark_enqueued ()
 Mark message as being enqueued. More...
 
bool enqueued () const
 Check is message has been enqueued. More...
 
const Timetime_enqueued () const
 Get time when message was enqueued. More...
 
unsigned int sender_id () const
 Get ID of sender. More...
 
const char * sender_thread_name () const
 Get sender of message. More...
 
Interfaceinterface () const
 Get transmitting interface. More...
 
const char * type () const
 Get message type. More...
 
InterfaceFieldIterator fields ()
 Get iterator over all fields of this interface instance. More...
 
InterfaceFieldIterator fields_end ()
 Invalid iterator. More...
 
unsigned int num_fields () const
 Get the number of fields in the message. More...
 
const void * datachunk () const
 Get pointer to data. More...
 
unsigned int datasize () const
 Get size of data. More...
 
unsigned int hops () const
 Get number of hops. More...
 
void set_hops (unsigned int hops)
 Set number of hops. More...
 
void set_from_chunk (const void *chunk)
 Set from raw data chunk. More...
 
unsigned int recipient () const
 Get recipient memory serial. More...
 
template<class MessageType >
bool is_of_type ()
 Check if message has desired type. More...
 
template<class MessageType >
MessageType * as_type ()
 Cast message to given type if possible. More...
 
- Public Member Functions inherited from fawkes::RefCount
 RefCount ()
 Constructor. More...
 
virtual ~RefCount ()
 Destructor. More...
 
void ref ()
 Increment reference count. More...
 
void unref ()
 Decrement reference count and conditionally delete this instance. More...
 
unsigned int refcount ()
 Get reference count for this instance. More...
 

Additional Inherited Members

- Protected Member Functions inherited from fawkes::Message
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 info list. More...
 
- Protected Attributes inherited from fawkes::Message
void * data_ptr
 Pointer to memory that contains local data. More...
 
unsigned int data_size
 Size of memory needed to hold all data. More...
 
message_data_ts_tdata_ts
 data timestamp aliasing pointer More...
 

Detailed Description

DriveMessage Fawkes BlackBoard Interface Message.

Definition at line 329 of file Roomba500Interface.h.

Constructor & Destructor Documentation

◆ DriveMessage() [1/3]

fawkes::Roomba500Interface::DriveMessage::DriveMessage ( const int16_t  ini_velocity,
const int16_t  ini_radius 
)

Constructor with initial values.

Parameters
ini_velocityinitial value for velocity
ini_radiusinitial value for radius

Definition at line 2984 of file Roomba500Interface.cpp.

References fawkes::Message::add_fieldinfo(), fawkes::Roomba500Interface::BRUSHSTATE_BACKWARD, fawkes::Roomba500Interface::BRUSHSTATE_FORWARD, fawkes::Roomba500Interface::BRUSHSTATE_OFF, fawkes::Roomba500Interface::CHARGING_ERROR, fawkes::Roomba500Interface::CHARGING_FULL, fawkes::Roomba500Interface::CHARGING_NO, fawkes::Roomba500Interface::CHARGING_RECONDITIONING, fawkes::Roomba500Interface::CHARGING_TRICKLE, fawkes::Roomba500Interface::CHARGING_WAITING, fawkes::Message::data_ptr, fawkes::Message::data_size, fawkes::Message::data_ts, fawkes::IFT_INT16, fawkes::Roomba500Interface::IR_DISC_DOCK_FORCE_FIELD, fawkes::Roomba500Interface::IR_DISC_DOCK_GREEN_BUOY, fawkes::Roomba500Interface::IR_DISC_DOCK_GREEN_BUOY_FORCE_FIELD, fawkes::Roomba500Interface::IR_DISC_DOCK_RED_BUOY, fawkes::Roomba500Interface::IR_DISC_DOCK_RED_BUOY_FORCE_FIELD, fawkes::Roomba500Interface::IR_DISC_DOCK_RED_GREEN_BUOY, fawkes::Roomba500Interface::IR_DISC_DOCK_RED_GREEN_BUOY_FORCE_FIELD, fawkes::Roomba500Interface::IR_DISC_DOCK_RESERVED, fawkes::Roomba500Interface::IR_DOCK_FORCE_FIELD, fawkes::Roomba500Interface::IR_DOCK_GREEN_BUOY, fawkes::Roomba500Interface::IR_DOCK_GREEN_BUOY_FORCE_FIELD, fawkes::Roomba500Interface::IR_DOCK_RED_BUOY, fawkes::Roomba500Interface::IR_DOCK_RED_BUOY_FORCE_FIELD, fawkes::Roomba500Interface::IR_DOCK_RED_GREEN_BUOY, fawkes::Roomba500Interface::IR_DOCK_RED_GREEN_BUOY_FORCE_FIELD, fawkes::Roomba500Interface::IR_DOCK_RESERVED, fawkes::Roomba500Interface::IR_NONE, fawkes::Roomba500Interface::IR_REMOTE_ARC_LEFT, fawkes::Roomba500Interface::IR_REMOTE_ARC_RIGHT, fawkes::Roomba500Interface::IR_REMOTE_FORWARD, fawkes::Roomba500Interface::IR_REMOTE_LARGE_CLEAN, fawkes::Roomba500Interface::IR_REMOTE_LEFT, fawkes::Roomba500Interface::IR_REMOTE_MAX, fawkes::Roomba500Interface::IR_REMOTE_MEDIUM, fawkes::Roomba500Interface::IR_REMOTE_POWER, fawkes::Roomba500Interface::IR_REMOTE_RIGHT, fawkes::Roomba500Interface::IR_REMOTE_SMALL, fawkes::Roomba500Interface::IR_REMOTE_SPOT, fawkes::Roomba500Interface::IR_REMOTE_STOP, fawkes::Roomba500Interface::IR_REMOTE_STOP2, fawkes::Roomba500Interface::IR_SCHED_REMOTE_DOWNLOAD, fawkes::Roomba500Interface::IR_SCHED_REMOTE_SEEK_DOCK, fawkes::Roomba500Interface::IR_VIRTUAL_WALL, fawkes::Roomba500Interface::MODE_FULL, fawkes::Roomba500Interface::MODE_OFF, fawkes::Roomba500Interface::MODE_PASSIVE, and fawkes::Roomba500Interface::MODE_SAFE.

◆ DriveMessage() [2/3]

fawkes::Roomba500Interface::DriveMessage::DriveMessage ( )

Constructor.

Definition at line 3043 of file Roomba500Interface.cpp.

References fawkes::Message::add_fieldinfo(), fawkes::Roomba500Interface::BRUSHSTATE_BACKWARD, fawkes::Roomba500Interface::BRUSHSTATE_FORWARD, fawkes::Roomba500Interface::BRUSHSTATE_OFF, fawkes::Roomba500Interface::CHARGING_ERROR, fawkes::Roomba500Interface::CHARGING_FULL, fawkes::Roomba500Interface::CHARGING_NO, fawkes::Roomba500Interface::CHARGING_RECONDITIONING, fawkes::Roomba500Interface::CHARGING_TRICKLE, fawkes::Roomba500Interface::CHARGING_WAITING, fawkes::Message::data_ptr, fawkes::Message::data_size, fawkes::Message::data_ts, fawkes::IFT_INT16, fawkes::Roomba500Interface::IR_DISC_DOCK_FORCE_FIELD, fawkes::Roomba500Interface::IR_DISC_DOCK_GREEN_BUOY, fawkes::Roomba500Interface::IR_DISC_DOCK_GREEN_BUOY_FORCE_FIELD, fawkes::Roomba500Interface::IR_DISC_DOCK_RED_BUOY, fawkes::Roomba500Interface::IR_DISC_DOCK_RED_BUOY_FORCE_FIELD, fawkes::Roomba500Interface::IR_DISC_DOCK_RED_GREEN_BUOY, fawkes::Roomba500Interface::IR_DISC_DOCK_RED_GREEN_BUOY_FORCE_FIELD, fawkes::Roomba500Interface::IR_DISC_DOCK_RESERVED, fawkes::Roomba500Interface::IR_DOCK_FORCE_FIELD, fawkes::Roomba500Interface::IR_DOCK_GREEN_BUOY, fawkes::Roomba500Interface::IR_DOCK_GREEN_BUOY_FORCE_FIELD, fawkes::Roomba500Interface::IR_DOCK_RED_BUOY, fawkes::Roomba500Interface::IR_DOCK_RED_BUOY_FORCE_FIELD, fawkes::Roomba500Interface::IR_DOCK_RED_GREEN_BUOY, fawkes::Roomba500Interface::IR_DOCK_RED_GREEN_BUOY_FORCE_FIELD, fawkes::Roomba500Interface::IR_DOCK_RESERVED, fawkes::Roomba500Interface::IR_NONE, fawkes::Roomba500Interface::IR_REMOTE_ARC_LEFT, fawkes::Roomba500Interface::IR_REMOTE_ARC_RIGHT, fawkes::Roomba500Interface::IR_REMOTE_FORWARD, fawkes::Roomba500Interface::IR_REMOTE_LARGE_CLEAN, fawkes::Roomba500Interface::IR_REMOTE_LEFT, fawkes::Roomba500Interface::IR_REMOTE_MAX, fawkes::Roomba500Interface::IR_REMOTE_MEDIUM, fawkes::Roomba500Interface::IR_REMOTE_POWER, fawkes::Roomba500Interface::IR_REMOTE_RIGHT, fawkes::Roomba500Interface::IR_REMOTE_SMALL, fawkes::Roomba500Interface::IR_REMOTE_SPOT, fawkes::Roomba500Interface::IR_REMOTE_STOP, fawkes::Roomba500Interface::IR_REMOTE_STOP2, fawkes::Roomba500Interface::IR_SCHED_REMOTE_DOWNLOAD, fawkes::Roomba500Interface::IR_SCHED_REMOTE_SEEK_DOCK, fawkes::Roomba500Interface::IR_VIRTUAL_WALL, fawkes::Roomba500Interface::MODE_FULL, fawkes::Roomba500Interface::MODE_OFF, fawkes::Roomba500Interface::MODE_PASSIVE, and fawkes::Roomba500Interface::MODE_SAFE.

◆ ~DriveMessage()

fawkes::Roomba500Interface::DriveMessage::~DriveMessage ( )

Destructor.

Definition at line 3101 of file Roomba500Interface.cpp.

References fawkes::Message::data_ptr.

◆ DriveMessage() [3/3]

fawkes::Roomba500Interface::DriveMessage::DriveMessage ( const DriveMessage m)

Copy constructor.

Parameters
mmessage to copy from

Definition at line 3109 of file Roomba500Interface.cpp.

References fawkes::Message::data_ptr, fawkes::Message::data_size, and fawkes::Message::data_ts.

Member Function Documentation

◆ clone()

Message * fawkes::Roomba500Interface::DriveMessage::clone ( ) const
virtual

Clone this message.

Produces a message of the same type as this message and copies the data to the new message.

Returns
clone of this message

Reimplemented from fawkes::Message.

Definition at line 3185 of file Roomba500Interface.cpp.

◆ maxlenof_radius()

size_t fawkes::Roomba500Interface::DriveMessage::maxlenof_radius ( ) const

Get maximum length of radius value.

Returns
length of radius value, can be length of the array or number of maximum number of characters for a string

Definition at line 3164 of file Roomba500Interface.cpp.

◆ maxlenof_velocity()

size_t fawkes::Roomba500Interface::DriveMessage::maxlenof_velocity ( ) const

Get maximum length of velocity value.

Returns
length of velocity value, can be length of the array or number of maximum number of characters for a string

Definition at line 3134 of file Roomba500Interface.cpp.

◆ radius()

int16_t fawkes::Roomba500Interface::DriveMessage::radius ( ) const

Get radius value.

Requested radius in mm.

Returns
radius value

Definition at line 3154 of file Roomba500Interface.cpp.

Referenced by Roomba500Thread::loop().

◆ set_radius()

void fawkes::Roomba500Interface::DriveMessage::set_radius ( const int16_t  new_radius)

Set radius value.

Requested radius in mm.

Parameters
new_radiusnew radius value

Definition at line 3174 of file Roomba500Interface.cpp.

◆ set_velocity()

void fawkes::Roomba500Interface::DriveMessage::set_velocity ( const int16_t  new_velocity)

Set velocity value.

Requested velocity in mm/s.

Parameters
new_velocitynew velocity value

Definition at line 3144 of file Roomba500Interface.cpp.

◆ velocity()

int16_t fawkes::Roomba500Interface::DriveMessage::velocity ( ) const

Get velocity value.

Requested velocity in mm/s.

Returns
velocity value

Definition at line 3124 of file Roomba500Interface.cpp.

Referenced by Roomba500Thread::loop().


The documentation for this class was generated from the following files: