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);
127 const LedInterface *oi = dynamic_cast<const LedInterface *>(other);
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;
373 const TurnOnMessage *m1 = dynamic_cast<const TurnOnMessage *>(message);
377 const TurnOffMessage *m2 = dynamic_cast<const TurnOffMessage *>(message);
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!...
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.