Open Lighting Architecture
|
Classes | |
struct | Options |
class | RDMOps |
Public Member Functions | |
SPIOutput (const UID &uid, class SPIBackendInterface *backend, const Options &options) | |
uint8_t | GetPersonality () const |
bool | SetPersonality (uint16_t personality) |
uint16_t | GetStartAddress () const |
bool | SetStartAddress (uint16_t start_address) |
unsigned int | PixelCount () const |
string | Description () const |
bool | WriteDMX (const DmxBuffer &buffer) |
void | RunFullDiscovery (ola::rdm::RDMDiscoveryCallback *callback) |
void | RunIncrementalDiscovery (ola::rdm::RDMDiscoveryCallback *callback) |
void | SendRDMRequest (const ola::rdm::RDMRequest *request, ola::rdm::RDMCallback *callback) |
|
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.