27 #ifndef INCLUDE_OLA_RDM_RESPONDERHELPER_H_
28 #define INCLUDE_OLA_RDM_RESPONDERHELPER_H_
32 #include <ola/network/Interface.h>
35 #include <ola/rdm/ResponderPersonality.h>
51 static bool ExtractUInt8(
const RDMRequest *request, uint8_t *output);
52 static bool ExtractUInt16(
const RDMRequest *request, uint16_t *output);
53 static bool ExtractUInt32(
const RDMRequest *request, uint32_t *output);
59 uint16_t device_model,
60 rdm_product_category product_category,
61 uint32_t software_version,
62 uint16_t dmx_footprint,
63 uint8_t current_personality,
64 uint8_t personality_count,
65 uint16_t dmx_start_address,
66 uint16_t sub_device_count,
68 uint8_t queued_message_count = 0);
72 uint16_t device_model,
73 rdm_product_category product_category,
74 uint32_t software_version,
76 uint16_t dmx_start_address,
77 uint16_t sub_device_count,
79 uint8_t queued_message_count = 0);
83 const std::vector<rdm_product_detail> &product_details,
84 uint8_t queued_message_count = 0);
89 uint8_t queued_message_count = 0);
93 uint16_t start_address,
94 uint8_t queued_message_count = 0);
96 static const RDMResponse *GetPersonalityDescription(
99 uint8_t queued_message_count = 0);
104 uint8_t queued_message_count = 0);
109 uint8_t queued_message_count = 0);
114 uint8_t queued_message_count = 0);
119 uint16_t start_address,
120 uint8_t queued_message_count = 0);
124 uint16_t *dmx_address,
125 uint8_t queued_message_count = 0);
128 const RDMRequest *request,
const Sensors &sensor_list);
131 const RDMRequest *request,
const Sensors &sensor_list);
133 const RDMRequest *request,
const Sensors &sensor_list);
136 const RDMRequest *request,
const Sensors &sensor_list);
142 rdm_data_type data_type,
143 rdm_command_class command_class,
145 rdm_pid_prefix prefix,
147 uint32_t default_value,
149 std::string description,
150 uint8_t queued_message_count = 0);
151 static const RDMResponse *GetASCIIParamDescription(
154 rdm_command_class command_class,
155 std::string description,
156 uint8_t queued_message_count = 0);
157 static const RDMResponse *GetBitFieldParamDescription(
161 rdm_command_class command_class,
162 std::string description,
163 uint8_t queued_message_count = 0);
167 uint8_t queued_message_count = 0);
173 uint8_t queued_message_count = 0);
178 uint8_t queued_message_count = 0);
180 static const RDMResponse *GetInterfaceHardwareAddressType1(
183 uint8_t queued_message_count = 0);
188 uint8_t queued_message_count = 0);
193 uint8_t queued_message_count = 0);
198 uint8_t queued_message_count = 0);
203 uint8_t queued_message_count = 0);
208 uint8_t queued_message_count = 0);
213 uint8_t queued_message_count = 0);
218 const std::string &value,
219 uint8_t queued_message_count = 0,
220 uint8_t max_length = MAX_RDM_STRING_LENGTH);
224 uint8_t queued_message_count = 0);
227 uint8_t queued_message_count = 0);
231 uint8_t queued_message_count = 0);
234 uint8_t queued_message_count = 0);
237 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);
256 uint8_t queued_message_count = 0);
259 struct sensor_value_s {
268 static bool FindInterface(
275 #endif // INCLUDE_OLA_RDM_RESPONDERHELPER_H_