24#include <interfaces/GripperInterface.h>
26#include <core/exceptions/software.h>
47GripperInterface::GripperInterface() : Interface()
49 data_size =
sizeof(GripperInterface_data_t);
50 data_ptr = malloc(data_size);
51 data = (GripperInterface_data_t *)data_ptr;
52 data_ts = (interface_data_ts_t *)data_ptr;
53 memset(data_ptr, 0, data_size);
54 enum_map_GripperState[(int)OPEN] =
"OPEN";
55 enum_map_GripperState[(int)CLOSED] =
"CLOSED";
56 add_fieldinfo(IFT_ENUM,
"gripper_state", 1, &data->gripper_state,
"GripperState", &enum_map_GripperState);
57 add_messageinfo(
"OpenGripperMessage");
58 add_messageinfo(
"CloseGripperMessage");
59 unsigned char tmp_hash[] = {0xf8, 0xd6, 0x88, 0xb4, 0xfc, 0xfa, 0x1f, 0x1b, 0x20, 0x9f, 0xc, 0xd, 0x81, 0x3c, 0xba, 0xdf};
64GripperInterface::~GripperInterface()
76 case OPEN:
return "OPEN";
77 case CLOSED:
return "CLOSED";
78 default:
return "UNKNOWN";
89GripperInterface::gripper_state()
const
99GripperInterface::maxlenof_gripper_state()
const
111GripperInterface::set_gripper_state(
const GripperState new_gripper_state)
113 set_field(data->gripper_state, new_gripper_state);
118GripperInterface::create_message(
const char *type)
const
120 if ( strncmp(
"OpenGripperMessage", type, INTERFACE_MESSAGE_TYPE_SIZE_ - 1) == 0 ) {
122 }
else if ( strncmp(
"CloseGripperMessage", type, INTERFACE_MESSAGE_TYPE_SIZE_ - 1) == 0 ) {
126 "message type for this interface type.", type);
140 type(), other->
type());
142 memcpy(data, oi->data,
sizeof(GripperInterface_data_t));
146GripperInterface::enum_tostring(
const char *enumtype,
int val)
const
148 if (strcmp(enumtype,
"GripperState") == 0) {
163GripperInterface::OpenGripperMessage::OpenGripperMessage() :
Message(
"OpenGripperMessage")
165 data_size =
sizeof(OpenGripperMessage_data_t);
168 data = (OpenGripperMessage_data_t *)
data_ptr;
170 enum_map_GripperState[(int)
OPEN] =
"OPEN";
171 enum_map_GripperState[(int)
CLOSED] =
"CLOSED";
188 data = (OpenGripperMessage_data_t *)
data_ptr;
213 data_size =
sizeof(CloseGripperMessage_data_t);
216 data = (CloseGripperMessage_data_t *)
data_ptr;
218 enum_map_GripperState[(int)
OPEN] =
"OPEN";
219 enum_map_GripperState[(int)
CLOSED] =
"CLOSED";
236 data = (CloseGripperMessage_data_t *)
data_ptr;
CloseGripperMessage Fawkes BlackBoard Interface Message.
~CloseGripperMessage()
Destructor.
CloseGripperMessage()
Constructor.
virtual Message * clone() const
Clone this message.
OpenGripperMessage Fawkes BlackBoard Interface Message.
~OpenGripperMessage()
Destructor.
OpenGripperMessage()
Constructor.
virtual Message * clone() const
Clone this message.
GripperInterface Fawkes BlackBoard Interface.
virtual bool message_valid(const Message *message) const
Check if message is valid and can be enqueued.
GripperState
Indicator of current or desired gripper state.
@ CLOSED
Gripper is closed.
Base class for all Fawkes BlackBoard interfaces.
const char * type() const
Get type of interface.
void * data_ptr
Pointer to local memory storage.
Base class for all messages passed through interfaces in Fawkes BlackBoard.
void * data_ptr
Pointer to memory that contains local data.
message_data_ts_t * data_ts
data timestamp aliasing pointer
unsigned int data_size
Size of memory needed to hold all data.
Fawkes library namespace.
Timestamp data, must be present and first entries for each interface data structs!...