Fawkes API
Fawkes Development Version
|
24 #include <interfaces/LedInterface.h>
26 #include <core/exceptions/software.h>
52 LedInterface::LedInterface() : Interface()
56 data = (LedInterface_data_t *)
data_ptr;
63 unsigned char tmp_hash[] = {0xd, 0x86, 0x60, 0xcd, 0xae, 0x41, 0xa5, 0xa1, 0xbc, 0xb7, 0xf, 0x9, 0x90, 00, 0x4d, 0x40};
68 LedInterface::~LedInterface()
80 return data->intensity;
107 if ( strncmp(
"SetIntensityMessage",
type, INTERFACE_MESSAGE_TYPE_SIZE_ - 1) == 0 ) {
109 }
else if ( strncmp(
"TurnOnMessage",
type, INTERFACE_MESSAGE_TYPE_SIZE_ - 1) == 0 ) {
111 }
else if ( strncmp(
"TurnOffMessage",
type, INTERFACE_MESSAGE_TYPE_SIZE_ - 1) == 0 ) {
115 "message type for this interface type.",
type);
131 memcpy(data, oi->data,
sizeof(LedInterface_data_t));
154 data_size =
sizeof(SetIntensityMessage_data_t);
157 data = (SetIntensityMessage_data_t *)
data_ptr;
159 data->time_sec = ini_time_sec;
160 data->intensity = ini_intensity;
167 data_size =
sizeof(SetIntensityMessage_data_t);
170 data = (SetIntensityMessage_data_t *)
data_ptr;
190 data = (SetIntensityMessage_data_t *)
data_ptr;
204 return data->time_sec;
236 return data->intensity;
279 data_size =
sizeof(TurnOnMessage_data_t);
282 data = (TurnOnMessage_data_t *)
data_ptr;
300 data = (TurnOnMessage_data_t *)
data_ptr;
325 data_size =
sizeof(TurnOffMessage_data_t);
328 data = (TurnOffMessage_data_t *)
data_ptr;
346 data = (TurnOffMessage_data_t *)
data_ptr;
virtual void copy_values(const Interface *other)
Copy values from other interface.
void * data_ptr
Pointer to local memory storage.
void set_time_sec(const float new_time_sec)
Set time_sec value.
static const float OFF
OFF constant.
virtual Message * clone() const
Clone this message.
virtual Message * clone() const
Clone this message.
size_t maxlenof_intensity() const
Get maximum length of intensity value.
Base class for all messages passed through interfaces in Fawkes BlackBoard.
virtual const char * enum_tostring(const char *enumtype, int val) const
Convert arbitrary enum value to string.
void * data_ptr
Pointer to memory that contains local data.
message_data_ts_t * data_ts
data timestamp aliasing pointer
TurnOffMessage()
Constructor.
~TurnOffMessage()
Destructor.
TurnOnMessage()
Constructor.
const char * type() const
Get type of interface.
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.
SetIntensityMessage Fawkes BlackBoard Interface Message.
interface_data_ts_t * data_ts
Pointer to data casted to timestamp struct.
Timestamp data, must be present and first entries for each interface data structs!...
virtual Message * create_message(const char *type) const
Create message based on type name.
bool data_changed
Indicator if data has changed.
size_t maxlenof_time_sec() const
Get maximum length of time_sec value.
Fawkes library namespace.
void set_hash(unsigned char *ihash)
Set hash.
float time_sec() const
Get time_sec value.
unsigned int data_size
Size of memory needed to hold all data.
TurnOffMessage Fawkes BlackBoard Interface Message.
SetIntensityMessage()
Constructor.
Base class for all Fawkes BlackBoard interfaces.
void set_intensity(const float new_intensity)
Set intensity value.
LedInterface Fawkes BlackBoard Interface.
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.
unsigned int data_size
Minimal data size to hold data storage.
~SetIntensityMessage()
Destructor.
float intensity() const
Get intensity value.
virtual bool message_valid(const Message *message) const
Check if message is valid and can be enqueued.
~TurnOnMessage()
Destructor.
size_t maxlenof_intensity() const
Get maximum length of intensity value.
virtual Message * clone() const
Clone this message.
void add_messageinfo(const char *name)
Add an entry to the message info list.
void set_intensity(const float new_intensity)
Set intensity value.
static const float ON
ON constant.
float intensity() const
Get intensity value.
TurnOnMessage Fawkes BlackBoard Interface Message.
bool change_field(FieldT &field, const DataT &value)
Set a field and return whether it changed.