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;
100 data->intensity = new_intensity;
108 if ( strncmp(
"SetIntensityMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
110 }
else if ( strncmp(
"TurnOnMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
112 }
else if ( strncmp(
"TurnOffMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
116 "message type for this interface type.", type);
132 memcpy(data, oi->data,
sizeof(LedInterface_data_t));
155 data_size =
sizeof(SetIntensityMessage_data_t);
158 data = (SetIntensityMessage_data_t *)
data_ptr;
160 data->time_sec = ini_time_sec;
161 data->intensity = ini_intensity;
168 data_size =
sizeof(SetIntensityMessage_data_t);
171 data = (SetIntensityMessage_data_t *)
data_ptr;
191 data = (SetIntensityMessage_data_t *)
data_ptr;
205 return data->time_sec;
227 data->time_sec = new_time_sec;
237 return data->intensity;
257 data->intensity = new_intensity;
280 data_size =
sizeof(TurnOnMessage_data_t);
283 data = (TurnOnMessage_data_t *)
data_ptr;
301 data = (TurnOnMessage_data_t *)
data_ptr;
326 data_size =
sizeof(TurnOffMessage_data_t);
329 data = (TurnOffMessage_data_t *)
data_ptr;
347 data = (TurnOffMessage_data_t *)
data_ptr;
TurnOffMessage Fawkes BlackBoard Interface Message.
void * data_ptr
Pointer to memory that contains local data.
Base class for all messages passed through interfaces in Fawkes BlackBoard.
~TurnOnMessage()
Destructor.
virtual Message * clone() const
Clone this message.
SetIntensityMessage()
Constructor.
void set_hash(unsigned char *ihash)
Set hash.
TurnOnMessage()
Constructor.
float intensity() const
Get intensity value.
Fawkes library namespace.
Timestamp data, must be present and first entries for each interface data structs! This leans on time...
void set_time_sec(const float new_time_sec)
Set time_sec value.
unsigned int data_size
Minimal data size to hold data storage.
virtual Message * clone() const
Clone this message.
Base class for all Fawkes BlackBoard interfaces.
virtual bool message_valid(const Message *message) const
Check if message is valid and can be enqueued.
static const float ON
ON constant.
message_data_ts_t * data_ts
data timestamp aliasing pointer
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.
unsigned int data_size
Size of memory needed to hold all data.
void add_messageinfo(const char *name)
Add an entry to the message info list.
virtual void copy_values(const Interface *other)
Copy values from other interface.
bool data_changed
Indicator if data has changed.
void set_intensity(const float new_intensity)
Set intensity value.
float intensity() const
Get intensity value.
void set_intensity(const float new_intensity)
Set intensity value.
const char * type() const
Get type of interface.
static const float OFF
OFF constant.
void * data_ptr
Pointer to local memory storage.
size_t maxlenof_time_sec() const
Get maximum length of time_sec value.
float time_sec() const
Get time_sec value.
size_t maxlenof_intensity() const
Get maximum length of intensity value.
SetIntensityMessage Fawkes BlackBoard Interface Message.
size_t maxlenof_intensity() const
Get maximum length of intensity value.
virtual const char * enum_tostring(const char *enumtype, int val) const
Convert arbitrary enum value to string.
virtual Message * clone() const
Clone this message.
LedInterface Fawkes BlackBoard Interface.
TurnOnMessage Fawkes BlackBoard Interface Message.
TurnOffMessage()
Constructor.
~TurnOffMessage()
Destructor.
interface_data_ts_t * data_ts
Pointer to data casted to timestamp struct.
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.
~SetIntensityMessage()
Destructor.
virtual Message * create_message(const char *type) const
Create message based on type name.