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);
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);
154 rdm_command_class command_class,
155 std::string description,
156 uint8_t queued_message_count = 0);
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 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);
232 uint8_t queued_message_count = 0,
233 uint8_t max_length = MAX_RDM_STRING_LENGTH);
236 uint8_t queued_message_count = 0);
239 uint8_t queued_message_count = 0);
243 uint8_t queued_message_count = 0);
246 uint8_t queued_message_count = 0);
249 uint8_t queued_message_count = 0);
252 uint8_t queued_message_count = 0);
255 uint8_t queued_message_count = 0);
258 uint8_t queued_message_count = 0);
261 struct sensor_value_s {
270 static bool FindInterface(
274 static bool IsInterfaceIndexValid(uint32_t index);
279 #endif // INCLUDE_OLA_RDM_RESPONDERHELPER_H_ An RDM Command that represents responses (GET, SET or DISCOVER).
Definition: RDMCommand.h:457
Gets global network information.
Definition: NetworkManagerInterface.h:46
static RDMResponse * GetRealTimeClock(const RDMRequest *request, uint8_t queued_message_count=0)
Definition: ResponderHelper.cpp:593
RDM Commands that represent requests (GET, SET or DISCOVER).
Definition: RDMCommand.h:234
Holds the information about a sensor.
static RDMResponse * GetSensorValue(const RDMRequest *request, const Sensors &sensor_list)
Definition: ResponderHelper.cpp:501
The interface for the NetworkManager.
static RDMResponse * GetSlotDescription(const RDMRequest *request, const PersonalityManager *personality_manager, uint8_t queued_message_count=0)
Definition: ResponderHelper.cpp:320
Represents a IPv4 Address.
Definition: IPV4Address.h:55
static RDMResponse * GetSlotDefaultValues(const RDMRequest *request, const PersonalityManager *personality_manager, uint8_t queued_message_count=0)
Definition: ResponderHelper.cpp:370
Definition: Interface.h:35
static RDMResponse * SetSensorValue(const RDMRequest *request, const Sensors &sensor_list)
Definition: ResponderHelper.cpp:530
Definition: ResponderHelper.h:48
Definition: ResponderPersonality.h:90
Represents an IPv4 Address.
static RDMResponse * RecordSensor(const RDMRequest *request, const Sensors &sensor_list)
Definition: ResponderHelper.cpp:568
static RDMResponse * GetSlotInfo(const RDMRequest *request, const PersonalityManager *personality_manager, uint8_t queued_message_count=0)
Definition: ResponderHelper.cpp:277
static RDMResponse * SetDmxAddress(const RDMRequest *request, const PersonalityManager *personality_manager, uint16_t *dmx_address, uint8_t queued_message_count=0)
Definition: ResponderHelper.cpp:427
The namespace containing all OLA symbols.
Definition: Credentials.cpp:44
static RDMResponse * GetDmxAddress(const RDMRequest *request, const PersonalityManager *personality_manager, uint16_t start_address, uint8_t queued_message_count=0)
Definition: ResponderHelper.cpp:412
static RDMResponse * GetString(const RDMRequest *request, const std::string &value, uint8_t queued_message_count=0, uint8_t max_length=MAX_RDM_STRING_LENGTH)
Handle a request that returns a string.
Definition: ResponderHelper.cpp:1060
static RDMResponse * GetSensorDefinition(const RDMRequest *request, const Sensors &sensor_list)
Definition: ResponderHelper.cpp:452
Classes that represent RDM commands.