27 #ifndef INCLUDE_OLA_RDM_RESPONDERHELPER_H_
28 #define INCLUDE_OLA_RDM_RESPONDERHELPER_H_
31 #include <ola/network/Interface.h>
34 #include <ola/rdm/ResponderPersonality.h>
50 static bool ExtractUInt8(
const RDMRequest *request, uint8_t *output);
51 static bool ExtractUInt16(
const RDMRequest *request, uint16_t *output);
52 static bool ExtractUInt32(
const RDMRequest *request, uint32_t *output);
58 uint16_t device_model,
59 rdm_product_category product_category,
60 uint32_t software_version,
61 uint16_t dmx_footprint,
62 uint8_t current_personality,
63 uint8_t personality_count,
64 uint16_t dmx_start_address,
65 uint16_t sub_device_count,
67 uint8_t queued_message_count = 0);
71 uint16_t device_model,
72 rdm_product_category product_category,
73 uint32_t software_version,
75 uint16_t dmx_start_address,
76 uint16_t sub_device_count,
78 uint8_t queued_message_count = 0);
82 const std::vector<rdm_product_detail> &product_details,
83 uint8_t queued_message_count = 0);
88 uint8_t queued_message_count = 0);
92 uint16_t start_address,
93 uint8_t queued_message_count = 0);
95 static const RDMResponse *GetPersonalityDescription(
98 uint8_t queued_message_count = 0);
103 uint8_t queued_message_count = 0);
108 uint8_t queued_message_count = 0);
113 uint8_t queued_message_count = 0);
118 uint16_t start_address,
119 uint8_t queued_message_count = 0);
123 uint16_t *dmx_address,
124 uint8_t queued_message_count = 0);
127 const RDMRequest *request,
const Sensors &sensor_list);
130 const RDMRequest *request,
const Sensors &sensor_list);
132 const RDMRequest *request,
const Sensors &sensor_list);
135 const RDMRequest *request,
const Sensors &sensor_list);
141 rdm_data_type data_type,
142 rdm_command_class command_class,
144 rdm_pid_prefix prefix,
146 uint32_t default_value,
148 std::string description,
149 uint8_t queued_message_count = 0);
150 static const RDMResponse *GetASCIIParamDescription(
153 rdm_command_class command_class,
154 std::string description,
155 uint8_t queued_message_count = 0);
156 static const RDMResponse *GetBitFieldParamDescription(
160 rdm_command_class command_class,
161 std::string description,
162 uint8_t queued_message_count = 0);
166 uint8_t queued_message_count = 0);
172 uint8_t queued_message_count = 0);
177 uint8_t queued_message_count = 0);
179 static const RDMResponse *GetInterfaceHardwareAddressType1(
182 uint8_t queued_message_count = 0);
187 uint8_t queued_message_count = 0);
192 uint8_t queued_message_count = 0);
197 uint8_t queued_message_count = 0);
202 uint8_t queued_message_count = 0);
207 uint8_t queued_message_count = 0);
212 uint8_t queued_message_count = 0);
216 const std::string &value,
217 uint8_t queued_message_count = 0);
221 uint8_t queued_message_count = 0);
224 uint8_t queued_message_count = 0);
228 uint8_t queued_message_count = 0);
231 uint8_t queued_message_count = 0);
234 uint8_t queued_message_count = 0);
238 uint8_t queued_message_count = 0);
241 uint8_t queued_message_count = 0);
244 uint8_t queued_message_count = 0);
247 uint8_t queued_message_count = 0);
250 uint8_t queued_message_count = 0);
253 uint8_t queued_message_count = 0);
261 } __attribute__((packed));
264 static bool FindInterface(
271 #endif // INCLUDE_OLA_RDM_RESPONDERHELPER_H_