24 #include <interfaces/LedInterface.h>
26 #include <core/exceptions/software.h>
50 LedInterface::LedInterface() : Interface()
54 data = (LedInterface_data_t *)
data_ptr;
61 unsigned char tmp_hash[] = {0xd, 0x86, 0x60, 0xcd, 0xae, 0x41, 0xa5, 0xa1, 0xbc, 0xb7, 0xf, 0x9, 0x90, 00, 0x4d, 0x40};
66 LedInterface::~LedInterface()
78 return data->intensity;
98 data->intensity = new_intensity;
106 if ( strncmp(
"SetIntensityMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
108 }
else if ( strncmp(
"TurnOnMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
110 }
else if ( strncmp(
"TurnOffMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
114 "message type for this interface type.", type);
130 memcpy(data, oi->data,
sizeof(LedInterface_data_t));
153 data_size =
sizeof(SetIntensityMessage_data_t);
156 data = (SetIntensityMessage_data_t *)
data_ptr;
158 data->time_sec = ini_time_sec;
159 data->intensity = ini_intensity;
166 data_size =
sizeof(SetIntensityMessage_data_t);
169 data = (SetIntensityMessage_data_t *)
data_ptr;
189 data = (SetIntensityMessage_data_t *)
data_ptr;
203 return data->time_sec;
225 data->time_sec = new_time_sec;
235 return data->intensity;
255 data->intensity = new_intensity;
278 data_size =
sizeof(TurnOnMessage_data_t);
281 data = (TurnOnMessage_data_t *)
data_ptr;
299 data = (TurnOnMessage_data_t *)
data_ptr;
324 data_size =
sizeof(TurnOffMessage_data_t);
327 data = (TurnOffMessage_data_t *)
data_ptr;
345 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.
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 const char * enum_tostring(const char *enumtype, int val) const
Convert arbitrary enum value to string.
static const float ON
ON constant.
message_data_ts_t * data_ts
data timestamp aliasing pointer
unsigned int data_size
Size of memory needed to hold all data.
virtual bool message_valid(const Message *message) const
Check if message is valid and can be enqueued.
void add_messageinfo(const char *name)
Add an entry to the message info list.
size_t maxlenof_time_sec() const
Get maximum length of time_sec value.
virtual void copy_values(const Interface *other)
Copy values from other interface.
bool data_changed
Indicator if data has changed.
virtual Message * clone() const
Clone this message.
void set_intensity(const float new_intensity)
Set intensity value.
void set_intensity(const float new_intensity)
Set intensity value.
static const float OFF
OFF constant.
void * data_ptr
Pointer to local memory storage.
size_t maxlenof_intensity() const
Get maximum length of intensity value.
SetIntensityMessage Fawkes BlackBoard Interface Message.
void add_fieldinfo(interface_fieldtype_t type, const char *name, size_t length, void *value, const char *enumtype=0)
Add an entry to the field info list.
LedInterface Fawkes BlackBoard Interface.
virtual Message * create_message(const char *type) const
Create message based on type name.
TurnOnMessage Fawkes BlackBoard Interface Message.
float intensity() const
Get intensity value.
float time_sec() const
Get time_sec value.
TurnOffMessage()
Constructor.
void add_fieldinfo(interface_fieldtype_t type, const char *name, size_t length, void *value, const char *enumtype=0)
Add an entry to the info list.
~TurnOffMessage()
Destructor.
interface_data_ts_t * data_ts
Pointer to data casted to timestamp struct.
float intensity() const
Get intensity value.
const char * type() const
Get type of interface.
~SetIntensityMessage()
Destructor.
size_t maxlenof_intensity() const
Get maximum length of intensity value.