![]() |
Open Lighting Architecture
0.9.5
|
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.
1.8.1.2