Open Lighting Architecture
0.9.5
|
A port represents a universe of DMX. It can be used to either send or receive DMX.
Public Member Functions | |
EnttecPort (EnttecPortImpl *impl, unsigned int queue_size, bool enable_rdm) | |
bool | SendDMX (const DmxBuffer &buffer) |
const DmxBuffer & | FetchDMX () const |
void | SetDMXCallback (ola::Callback0< void > *callback) |
bool | ChangeToReceiveMode (bool change_only) |
void | GetParameters (usb_pro_params_callback *callback) |
bool | SetParameters (uint8_t break_time, uint8_t mab_time, uint8_t rate) |
bool | SupportsRDM () 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) |
Friends | |
class | ::EnttecUsbProWidgetTest |
ola::plugin::usbpro::EnttecPort::EnttecPort | ( | EnttecPortImpl * | impl, |
unsigned int | queue_size, | ||
bool | enable_rdm | ||
) |
EnttecUsbProWidget Constructor
|
virtual |
These methods trigger RDM discovery. The callback may run immediately.
Implements ola::rdm::DiscoverableRDMControllerInterface.
|
virtual |
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.