Open Lighting Architecture
Latest Git
|
Public Member Functions | |
DmxTriWidgetImpl (ola::thread::SchedulerInterface *executor, ola::io::ConnectedDescriptor *descriptor, bool use_raw_rdm) | |
void | UseRawRDM (bool use_raw_rdm) |
void | Stop () |
bool | SendDMX (const DmxBuffer &buffer) |
void | SendRDMRequest (ola::rdm::RDMRequest *request, ola::rdm::RDMCallback *on_complete) |
Send a RDM command. More... | |
void | RunFullDiscovery (ola::rdm::RDMDiscoveryCallback *callback) |
void | RunIncrementalDiscovery (ola::rdm::RDMDiscoveryCallback *callback) |
Public Member Functions inherited from ola::plugin::usbpro::BaseUsbProWidget | |
BaseUsbProWidget (ola::io::ConnectedDescriptor *descriptor) | |
ola::io::ConnectedDescriptor * | GetDescriptor () const |
void | DescriptorReady () |
bool | SendMessage (uint8_t label, const uint8_t *data, unsigned int length) const |
Additional Inherited Members | |
Static Public Member Functions inherited from ola::plugin::usbpro::BaseUsbProWidget | |
static ola::io::ConnectedDescriptor * | OpenDevice (const std::string &path) |
Static Public Attributes inherited from ola::plugin::usbpro::BaseUsbProWidget | |
static const uint8_t | DEVICE_LABEL = 78 |
static const uint8_t | DMX_LABEL = 6 |
static const uint8_t | GET_PARAMS = 3 |
static const uint8_t | HARDWARE_VERSION_LABEL = 14 |
static const uint8_t | MANUFACTURER_LABEL = 77 |
static const uint8_t | SERIAL_LABEL = 10 |
|
virtual |
Start the discovery process
Implements ola::rdm::DiscoverableRDMControllerInterface.
|
virtual |
Start incremental discovery, which on the TRI is the same as full.
Implements ola::rdm::DiscoverableRDMControllerInterface.
|
virtual |
Send a DMX frame. This may queue the frame if there is a transaction pending.
Reimplemented from ola::plugin::usbpro::BaseUsbProWidget.
|
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 |
Stop the rdm discovery process if it's running
Implements ola::plugin::usbpro::SerialWidgetInterface.