Open Lighting Architecture
0.9.6
|
The internal implementation of a JaRuleWidget.
Public Member Functions | |
JaRuleWidgetImpl (ola::io::SelectServerInterface *ss, AsyncronousLibUsbAdaptor *adaptor, libusb_device *device, const ola::rdm::UID &controller_uid) | |
Create a new JaRuleWidgetImpl. | |
bool | Init () |
Initialize the widget. | |
void | RunFullDiscovery (ola::rdm::RDMDiscoveryCallback *callback) |
Start a full discovery operation. | |
void | RunIncrementalDiscovery (ola::rdm::RDMDiscoveryCallback *callback) |
Start an incremental discovery operation. | |
void | SendRDMRequest (ola::rdm::RDMRequest *request, ola::rdm::RDMCallback *on_complete) |
Send a RDM command. | |
void | MuteDevice (const ola::rdm::UID &target, MuteDeviceCallback *mute_complete) |
Mute a device. | |
void | UnMuteAll (UnMuteDeviceCallback *unmute_complete) |
Unmute all devices. | |
void | Branch (const ola::rdm::UID &lower, const ola::rdm::UID &upper, BranchCallback *branch_complete) |
Send a DUB command. | |
bool | SendDMX (const DmxBuffer &buffer) |
Send DMX data from this widget. | |
void | ResetDevice () |
Send a reset message to the hardware widget. |
Additional Inherited Members | |
Public Types inherited from ola::rdm::DiscoveryTargetInterface | |
typedef ola::BaseCallback1 < void, bool > | MuteDeviceCallback |
The callback run when a mute command completes. | |
typedef ola::BaseCallback0< void > | UnMuteDeviceCallback |
The callback run when an unmute command completes. | |
typedef ola::BaseCallback2 < void, const uint8_t *, unsigned int > | BranchCallback |
The callback run when a DUB command completes. |
ola::plugin::usbdmx::JaRuleWidgetImpl::JaRuleWidgetImpl | ( | ola::io::SelectServerInterface * | ss, |
AsyncronousLibUsbAdaptor * | adaptor, | ||
libusb_device * | device, | ||
const ola::rdm::UID & | controller_uid | ||
) |
Create a new JaRuleWidgetImpl.
ss | The SelectServer to run the RDM callbacks on. |
adaptor | The LibUsbAdaptor to use. |
device | the libusb_device for the Ja Rule widget. |
controller_uid | The UID of the controller. This is used for DUB & Mute / Unmute messages. |
|
virtual |
Send a DUB command.
lower | the lower bound UID. |
upper | the upper bound UID. |
callback | the callback to run when the DUB completes. |
Any data received in response to the DUB command should be passed back when the callback is run.
Implements ola::rdm::DiscoveryTargetInterface.
bool ola::plugin::usbdmx::JaRuleWidgetImpl::Init | ( | ) |
Initialize the widget.
|
virtual |
Mute a device.
target | the device to mute |
mute_complete | the callback to run when the mute operations completes. |
Implements ola::rdm::DiscoveryTargetInterface.
|
virtual |
Start a full discovery operation.
callback | The callback run when discovery completes. This may run immediately in some implementations. |
Implements ola::rdm::DiscoverableRDMControllerInterface.
|
virtual |
Start an incremental discovery operation.
callback | The callback run when discovery completes. This may run immediately in some implementations. |
Implements ola::rdm::DiscoverableRDMControllerInterface.
bool ola::plugin::usbdmx::JaRuleWidgetImpl::SendDMX | ( | const DmxBuffer & | buffer | ) |
Send DMX data from this widget.
buffer | The DmxBuffer containing the data to send. |
|
virtual |
Send a RDM command.
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.
|
virtual |
Unmute all devices.
unmute_complete | the callback to run when the unmute operation completes. |
Implements ola::rdm::DiscoveryTargetInterface.