Open Lighting Architecture
0.9.4
|
A sub device in the simulated dimmer.
Classes | |
class | Personalities |
class | RDMOps |
Public Member Functions | |
DimmerSubDevice (const UID &uid, uint16_t sub_device_number, uint16_t total_sub_devices) | |
void | SendRDMRequest (const RDMRequest *request, RDMCallback *callback) |
uint16_t | Footprint () const |
bool | SetDmxStartAddress (uint16_t start_address) |
uint16_t | GetDmxStartAddress () const |
ola::rdm::DimmerSubDevice::DimmerSubDevice | ( | const UID & | uid, |
uint16_t | sub_device_number, | ||
uint16_t | total_sub_devices | ||
) |
We need the total sub device count here because the sub device field in DEVICE_INFO must be the same for both the root and all sub devices (10.5).
|
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.