Open Lighting Architecture: ola::plugin::dummy::DimmerResponder Class Reference

| Open Lighting Architecture 0.10.9

Loading...
Searching...
No Matches
Public Member Functions | List of all members
ola::plugin::dummy::DimmerResponder Class Reference

## Detailed Description

A RDM responder that simulates a dimmer rack. This has a configurable number of sub-devices.

Inheritance diagram for ola::plugin::dummy::DimmerResponder:

## Public Member Functions
| DimmerResponder (const UID &uid, uint16_t number_of_subdevices)
virtual | ~DimmerResponder ()
void | SendRDMRequest (RDMRequest *request, RDMCallback *callback)
| Send a RDM command.

## Constructor & Destructor Documentation

## ◆ DimmerResponder()

ola::rdm::DimmerResponder::DimmerResponder | ( | const UID & | uid,
|  | uint16_t | number_of_subdevices )

Create a new dummy dimmer responder.

Parameters

  uid | the UID of the responder
  number_of_subdevices | the number of sub devices for this responder. Valid range is 0 to 512.

## ◆ ~DimmerResponder()

ola::rdm::DimmerResponder::~DimmerResponder | ( |  | ) |
| virtual

Cleanup this responder

## Member Function Documentation

## ◆ SendRDMRequest()

void ola::rdm::DimmerResponder::SendRDMRequest | ( | RDMRequest * | request,
|  | RDMCallback * | on_complete )
| virtual

Send a RDM command.

Parameters

  request | the RDMRequest, ownership is transferred.
  on_complete | The callback to run when the request completes.

Implementors much ensure that the callback is always run at some point. In other words, there must be no way that a request can be dropped in such a way that the callback is never run. Doing so will either block all subsequent requests, or leak memory depending on the implementation.

Also the implementor of this class may want to re-write the transaction #, and possibly the UID (changing src UIDs isn't addressed by the RDM spec).

The RDMRequest may be a DISCOVERY_COMMAND, if the implementation does not support DISCOVERY_COMMANDs then the callback should be run with ola::rdm::RDM_PLUGIN_DISCOVERY_NOT_SUPPORTED.

Implements ola::rdm::RDMControllerInterface.

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

- include/ola/rdm/DimmerResponder.h
- common/rdm/DimmerResponder.cpp