Open Lighting Architecture  Latest Git
Public Member Functions | Static Public Member Functions | List of all members
ola::rdm::ResponderHelper Class Reference

Detailed Description

Helper methods for building RDM responders. These don't check that the request is for the specified pid, so be sure to get it right!

Public Member Functions

 PACK (struct sensor_value_s { uint8_t sensor;int16_t value;int16_t lowest;int16_t highest;int16_t recorded;})
 

Static Public Member Functions

static bool ExtractUInt8 (const RDMRequest *request, uint8_t *output)
 
static bool ExtractUInt16 (const RDMRequest *request, uint16_t *output)
 
static bool ExtractUInt32 (const RDMRequest *request, uint32_t *output)
 
static RDMResponse * GetDeviceInfo (const RDMRequest *request, uint16_t device_model, rdm_product_category product_category, uint32_t software_version, uint16_t dmx_footprint, uint8_t current_personality, uint8_t personality_count, uint16_t dmx_start_address, uint16_t sub_device_count, uint8_t sensor_count, uint8_t queued_message_count=0)
 
static RDMResponse * GetDeviceInfo (const RDMRequest *request, uint16_t device_model, rdm_product_category product_category, uint32_t software_version, const PersonalityManager *personality_manager, uint16_t dmx_start_address, uint16_t sub_device_count, uint8_t sensor_count, uint8_t queued_message_count=0)
 
static RDMResponse * GetProductDetailList (const RDMRequest *request, const std::vector< rdm_product_detail > &product_details, uint8_t queued_message_count=0)
 
static RDMResponse * GetPersonality (const RDMRequest *request, const PersonalityManager *personality_manager, uint8_t queued_message_count=0)
 
static RDMResponse * SetPersonality (const RDMRequest *request, PersonalityManager *personality_manager, uint16_t start_address, uint8_t queued_message_count=0)
 
static RDMResponse * GetPersonalityDescription (const RDMRequest *request, const PersonalityManager *personality_manager, uint8_t queued_message_count=0)
 
static RDMResponse * GetSlotInfo (const RDMRequest *request, const PersonalityManager *personality_manager, uint8_t queued_message_count=0)
 
static RDMResponse * GetSlotDescription (const RDMRequest *request, const PersonalityManager *personality_manager, uint8_t queued_message_count=0)
 
static RDMResponse * GetSlotDefaultValues (const RDMRequest *request, const PersonalityManager *personality_manager, uint8_t queued_message_count=0)
 
static RDMResponse * GetDmxAddress (const RDMRequest *request, const PersonalityManager *personality_manager, uint16_t start_address, uint8_t queued_message_count=0)
 
static RDMResponse * SetDmxAddress (const RDMRequest *request, const PersonalityManager *personality_manager, uint16_t *dmx_address, uint8_t queued_message_count=0)
 
static RDMResponse * GetSensorDefinition (const RDMRequest *request, const Sensors &sensor_list)
 
static RDMResponse * GetSensorValue (const RDMRequest *request, const Sensors &sensor_list)
 
static RDMResponse * SetSensorValue (const RDMRequest *request, const Sensors &sensor_list)
 
static RDMResponse * RecordSensor (const RDMRequest *request, const Sensors &sensor_list)
 
static RDMResponse * GetParamDescription (const RDMRequest *request, uint16_t pid, uint8_t pdl_size, rdm_data_type data_type, rdm_command_class command_class, rdm_pid_unit unit, rdm_pid_prefix prefix, uint32_t min_value, uint32_t default_value, uint32_t max_value, std::string description, uint8_t queued_message_count=0)
 
static RDMResponse * GetASCIIParamDescription (const RDMRequest *request, uint16_t pid, rdm_command_class command_class, std::string description, uint8_t queued_message_count=0)
 
static RDMResponse * GetBitFieldParamDescription (const RDMRequest *request, uint16_t pid, uint8_t pdl_size, rdm_command_class command_class, std::string description, uint8_t queued_message_count=0)
 
static RDMResponse * GetRealTimeClock (const RDMRequest *request, uint8_t queued_message_count=0)
 
static RDMResponse * GetListInterfaces (const RDMRequest *request, const NetworkManagerInterface *network_manager, uint8_t queued_message_count=0)
 
static RDMResponse * GetInterfaceLabel (const RDMRequest *request, const NetworkManagerInterface *network_manager, uint8_t queued_message_count=0)
 
static RDMResponse * GetInterfaceHardwareAddressType1 (const RDMRequest *request, const NetworkManagerInterface *network_manager, uint8_t queued_message_count=0)
 
static RDMResponse * GetIPV4CurrentAddress (const RDMRequest *request, const NetworkManagerInterface *network_manager, uint8_t queued_message_count=0)
 
static RDMResponse * GetIPV4DefaultRoute (const RDMRequest *request, const NetworkManagerInterface *network_manager, uint8_t queued_message_count=0)
 
static RDMResponse * GetDNSHostname (const RDMRequest *request, const NetworkManagerInterface *network_manager, uint8_t queued_message_count=0)
 
static RDMResponse * GetDNSDomainName (const RDMRequest *request, const NetworkManagerInterface *network_manager, uint8_t queued_message_count=0)
 
static RDMResponse * GetDNSNameServer (const RDMRequest *request, const NetworkManagerInterface *network_manager, uint8_t queued_message_count=0)
 
static RDMResponse * GetIPV4Address (const RDMRequest *request, const ola::network::IPV4Address &value, uint8_t queued_message_count=0)
 
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. More...
 
static RDMResponse * EmptyGetResponse (const RDMRequest *request, uint8_t queued_message_count=0)
 
static RDMResponse * EmptySetResponse (const RDMRequest *request, uint8_t queued_message_count=0)
 
static RDMResponse * SetString (const RDMRequest *request, std::string *value, uint8_t queued_message_count=0, uint8_t max_length=MAX_RDM_STRING_LENGTH)
 
static RDMResponse * GetBoolValue (const RDMRequest *request, bool value, uint8_t queued_message_count=0)
 
static RDMResponse * SetBoolValue (const RDMRequest *request, bool *value, uint8_t queued_message_count=0)
 
static RDMResponse * GetUInt8Value (const RDMRequest *request, uint8_t value, uint8_t queued_message_count=0)
 
static RDMResponse * GetUInt16Value (const RDMRequest *request, uint16_t value, uint8_t queued_message_count=0)
 
static RDMResponse * GetUInt32Value (const RDMRequest *request, uint32_t value, uint8_t queued_message_count=0)
 
static RDMResponse * SetUInt8Value (const RDMRequest *request, uint8_t *value, uint8_t queued_message_count=0)
 
static RDMResponse * SetUInt16Value (const RDMRequest *request, uint16_t *value, uint8_t queued_message_count=0)
 
static RDMResponse * SetUInt32Value (const RDMRequest *request, uint32_t *value, uint8_t queued_message_count=0)
 

Member Function Documentation

◆ GetDmxAddress()

RDMResponse * ola::rdm::ResponderHelper::GetDmxAddress ( const RDMRequest *  request,
const PersonalityManager *  personality_manager,
uint16_t  start_address,
uint8_t  queued_message_count = 0 
)
static

Get the start address

◆ GetRealTimeClock()

RDMResponse * ola::rdm::ResponderHelper::GetRealTimeClock ( const RDMRequest *  request,
uint8_t  queued_message_count = 0 
)
static

Get the clock response.

◆ GetSensorDefinition()

RDMResponse * ola::rdm::ResponderHelper::GetSensorDefinition ( const RDMRequest *  request,
const Sensors &  sensor_list 
)
static

Get a sensor definition

◆ GetSensorValue()

RDMResponse * ola::rdm::ResponderHelper::GetSensorValue ( const RDMRequest *  request,
const Sensors &  sensor_list 
)
static

Get a sensor value

◆ GetSlotDefaultValues()

RDMResponse * ola::rdm::ResponderHelper::GetSlotDefaultValues ( const RDMRequest *  request,
const PersonalityManager *  personality_manager,
uint8_t  queued_message_count = 0 
)
static

Get slot default values

◆ GetSlotDescription()

RDMResponse * ola::rdm::ResponderHelper::GetSlotDescription ( const RDMRequest *  request,
const PersonalityManager *  personality_manager,
uint8_t  queued_message_count = 0 
)
static

Get a slot description

◆ GetSlotInfo()

RDMResponse * ola::rdm::ResponderHelper::GetSlotInfo ( const RDMRequest *  request,
const PersonalityManager *  personality_manager,
uint8_t  queued_message_count = 0 
)
static

Get slot info

◆ GetString()

RDMResponse * ola::rdm::ResponderHelper::GetString ( const RDMRequest *  request,
const std::string &  value,
uint8_t  queued_message_count = 0,
uint8_t  max_length = MAX_RDM_STRING_LENGTH 
)
static

Handle a request that returns a string.

Note
this truncates the string to max_length

◆ RecordSensor()

RDMResponse * ola::rdm::ResponderHelper::RecordSensor ( const RDMRequest *  request,
const Sensors &  sensor_list 
)
static

Record a sensor

◆ SetDmxAddress()

RDMResponse * ola::rdm::ResponderHelper::SetDmxAddress ( const RDMRequest *  request,
const PersonalityManager *  personality_manager,
uint16_t *  dmx_address,
uint8_t  queued_message_count = 0 
)
static

Set the start address

◆ SetSensorValue()

RDMResponse * ola::rdm::ResponderHelper::SetSensorValue ( const RDMRequest *  request,
const Sensors &  sensor_list 
)
static

Set a sensor value


The documentation for this class was generated from the following files: