An instance of LLRP manager functionality.
See Using the LLRP Manager API for details of how to use this API.
#include <rdmnet/cpp/llrp_manager.h>
|
using | Handle = llrp_manager_t |
| A handle type used by the RDMnet library to identify LLRP manager instances.
|
|
|
| Manager (const Manager &other)=delete |
|
Manager & | operator= (const Manager &other)=delete |
|
| Manager (Manager &&other)=default |
| Move a manager instance.
|
|
Manager & | operator= (Manager &&other)=default |
| Move a manager instance.
|
|
etcpal::Error | Startup (NotifyHandler ¬ify_handler, uint16_t manufacturer_id, unsigned int netint_index, etcpal_iptype_t ip_type=kEtcPalIpTypeV4, const etcpal::Uuid &cid=etcpal::Uuid::OsPreferred()) |
| Allocate resources and startup this LLRP manager with the given configuration. More...
|
|
void | Shutdown () |
| Shut down this LLRP manager and deallocate resources.
|
|
etcpal::Error | StartDiscovery (uint16_t filter=0) |
| Start LLRP discovery. More...
|
|
etcpal::Error | StopDiscovery () |
| Stop LLRP discovery. More...
|
|
etcpal::Expected< uint32_t > | SendRdmCommand (const DestinationAddr &destination, rdmnet_command_class_t command_class, uint16_t param_id, const uint8_t *data=nullptr, uint8_t data_len=0) |
| Send an RDM command from an LLRP manager. More...
|
|
etcpal::Expected< uint32_t > | SendGetCommand (const DestinationAddr &destination, uint16_t param_id, const uint8_t *data=nullptr, uint8_t data_len=0) |
| Send an RDM GET command from an LLRP manager. More...
|
|
etcpal::Expected< uint32_t > | SendSetCommand (const DestinationAddr &destination, uint16_t param_id, const uint8_t *data=nullptr, uint8_t data_len=0) |
| Send an RDM SET command from an LLRP manager. More...
|
|
constexpr Handle | handle () const |
| Retrieve the handle of an LLRP manager instance.
|
|
constexpr NotifyHandler * | notify_handler () const |
| Retrieve the NotifyHandler reference that this LLRP manager was configured with.
|
|
◆ SendGetCommand()
etcpal::Expected< uint32_t > rdmnet::llrp::Manager::SendGetCommand |
( |
const DestinationAddr & |
destination, |
|
|
uint16_t |
param_id, |
|
|
const uint8_t * |
data = nullptr , |
|
|
uint8_t |
data_len = 0 |
|
) |
| |
|
inline |
Send an RDM GET command from an LLRP manager.
The response will be delivered via the NotifyHandler::HandleLlrpRdmResponse() callback.
- Parameters
-
destination | The destination addressing information for the RDM command. |
param_id | The command's RDM parameter ID. |
data | [optional] The command's RDM parameter data, if it has any. |
data_len | [optional] The length of the RDM parameter data (or 0 if data is nullptr). |
- Returns
- On success, a sequence number which can be used to match the command with a response.
-
On failure, error codes from llrp_manager_send_rdm_command().
◆ SendRdmCommand()
Send an RDM command from an LLRP manager.
The response will be delivered via the NotifyHandler::HandleLlrpRdmResponse() callback.
- Parameters
-
destination | The destination addressing information for the RDM command. |
command_class | The command's RDM command class (GET or SET). |
param_id | The command's RDM parameter ID. |
data | [optional] The command's RDM parameter data, if it has any. |
data_len | [optional] The length of the RDM parameter data (or 0 if data is nullptr). |
- Returns
- On success, a sequence number which can be used to match the command with a response.
-
On failure, error codes from llrp_manager_send_rdm_command().
◆ SendSetCommand()
etcpal::Expected< uint32_t > rdmnet::llrp::Manager::SendSetCommand |
( |
const DestinationAddr & |
destination, |
|
|
uint16_t |
param_id, |
|
|
const uint8_t * |
data = nullptr , |
|
|
uint8_t |
data_len = 0 |
|
) |
| |
|
inline |
Send an RDM SET command from an LLRP manager.
The response will be delivered via the NotifyHandler::HandleLlrpRdmResponse() callback.
- Parameters
-
destination | The destination addressing information for the RDM command. |
param_id | The command's RDM parameter ID. |
data | [optional] The command's RDM parameter data, if it has any. |
data_len | [optional] The length of the RDM parameter data (or 0 if data is nullptr). |
- Returns
- On success, a sequence number which can be used to match the command with a response.
-
On failure, error codes from llrp_manager_send_rdm_command().
◆ StartDiscovery()
etcpal::Error rdmnet::llrp::Manager::StartDiscovery |
( |
uint16_t |
filter = 0 | ) |
|
|
inline |
Start LLRP discovery.
Configure a manager to start discovery and send the first discovery message. Fails if a previous discovery process is still ongoing.
- Parameters
-
filter | Discovery filter, made up of one or more of the LLRP_FILTERVAL_* constants defined in rdmnet/defs.h. |
- Returns
- etcpal::Error::Ok(): Discovery started successfully.
-
Errors from llrp_manager_start_discovery().
◆ Startup()
Allocate resources and startup this LLRP manager with the given configuration.
- Parameters
-
notify_handler | A class instance to handle callback notifications from this manager. |
manufacturer_id | The LLRP manager's ESTA manufacturer ID. |
netint_index | The network interface index on which this manager should operate. |
ip_type | The IP protocol type with which this manager should operate. |
cid | The manager's Component Identifier (CID). |
- Returns
- etcpal::Error::Ok(): LLRP manager started successfully.
-
Errors forwarded from llrp_manager_create().
◆ StopDiscovery()
The documentation for this class was generated from the following file: