Open Lighting Architecture
0.9.5
|
Public Member Functions | |
DmxTriWidget (ola::thread::SchedulerInterface *ss, ola::io::ConnectedDescriptor *descriptor, unsigned int queue_size=20, bool use_raw_rdm=false) | |
void | UseRawRDM (bool use_raw_rdm) |
void | Stop () |
bool | SendDMX (const DmxBuffer &buffer) const |
void | SendRDMRequest (const ola::rdm::RDMRequest *request, ola::rdm::RDMCallback *on_complete) |
void | RunFullDiscovery (ola::rdm::RDMDiscoveryCallback *callback) |
void | RunIncrementalDiscovery (ola::rdm::RDMDiscoveryCallback *callback) |
ola::io::ConnectedDescriptor * | GetDescriptor () const |
ola::plugin::usbpro::DmxTriWidget::DmxTriWidget | ( | ola::thread::SchedulerInterface * | scheduler, |
ola::io::ConnectedDescriptor * | descriptor, | ||
unsigned int | queue_size = 20 , |
||
bool | use_raw_rdm = false |
||
) |
DmxTriWidget Constructor
|
inlinevirtual |
These methods trigger RDM discovery. The callback may run immediately.
Implements ola::rdm::DiscoverableRDMControllerInterface.
|
inlinevirtual |
Assumption: A class that implements this MUST ensure that as time tends to infinity, the probably that the callback is run tends to 1. That is, 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 should re-write the transaction #, and possibly the UID (changing src UIDs isn't addressed by the RDM spec).
Implements ola::rdm::RDMControllerInterface.