Open Lighting Architecture: ola::rdm::RDMControllerInterface Class Reference

| Open Lighting Architecture 0.10.9

Loading...
Searching...
No Matches
Public Member Functions | List of all members
ola::rdm::RDMControllerInterface Class Referenceabstract

## Detailed Description

The interface that can send RDMRequest.

Inheritance diagram for ola::rdm::RDMControllerInterface:

## Public Member Functions
virtual void | SendRDMRequest (RDMRequest *request, RDMCallback *on_complete)=0
| Send a RDM command.

## Member Function Documentation

## ◆ SendRDMRequest()

virtual void ola::rdm::RDMControllerInterface::SendRDMRequest | ( | RDMRequest * | request,
|  | RDMCallback * | on_complete )
| pure 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.

Implemented in ola::BasicOutputPort, ola::OutputPort, ola::plugin::artnet::ArtNetNodeImplRDMWrapper, ola::plugin::artnet::ArtNetOutputPort, ola::plugin::dummy::DimmerResponder, ola::plugin::dummy::DummyPort, ola::plugin::dummy::DummyResponder, ola::plugin::spi::SPIOutput, ola::plugin::spi::SPIOutputPort, ola::plugin::usbdmx::JaRuleOutputPort, ola::plugin::usbdmx::JaRulePortHandle, ola::plugin::usbpro::ArduinoRGBOutputPort, ola::plugin::usbpro::ArduinoWidget, ola::plugin::usbpro::ArduinoWidgetImpl, ola::plugin::usbpro::DmxterOutputPort, ola::plugin::usbpro::DmxterWidget, ola::plugin::usbpro::DmxterWidgetImpl, ola::plugin::usbpro::DmxTriOutputPort, ola::plugin::usbpro::DmxTriWidget, ola::plugin::usbpro::DmxTriWidgetImpl, ola::plugin::usbpro::EnttecPort, ola::plugin::usbpro::EnttecPortImpl, ola::plugin::usbpro::RobeOutputPort, ola::plugin::usbpro::RobeWidget, ola::plugin::usbpro::RobeWidgetImpl, ola::plugin::usbpro::UsbProOutputPort, ola::rdm::AckTimerResponder, ola::rdm::AdvancedDimmerResponder, ola::rdm::DimmerResponder, ola::rdm::DimmerRootDevice, ola::rdm::DimmerSubDevice, ola::rdm::DiscoverableRDMControllerAdaptor, ola::rdm::DummyResponder, ola::rdm::MovingLightResponder, ola::rdm::NetworkResponder, ola::rdm::QueueingRDMController, ola::rdm::SensorResponder, ola::rdm::SubDeviceDispatcher, ola::Universe, ola::usb::JaRulePortHandle, and ola::usb::JaRulePortHandleImpl.

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

- include/ola/rdm/RDMControllerInterface.h