Open Lighting Architecture  Latest Git
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | List of all members
ola::plugin::usbpro::DmxTriWidgetImpl Class Reference
Inheritance diagram for ola::plugin::usbpro::DmxTriWidgetImpl:
Inheritance graph
Collaboration diagram for ola::plugin::usbpro::DmxTriWidgetImpl:
Collaboration graph

Public Member Functions

 DmxTriWidgetImpl (ola::thread::SchedulerInterface *executor, ola::io::ConnectedDescriptor *descriptor, bool use_raw_rdm)
void UseRawRDM (bool use_raw_rdm)
void Stop ()
bool SendDMX (const DmxBuffer &buffer)
void SendRDMRequest (ola::rdm::RDMRequest *request, ola::rdm::RDMCallback *on_complete)
 Send a RDM command. More...
void RunFullDiscovery (ola::rdm::RDMDiscoveryCallback *callback)
void RunIncrementalDiscovery (ola::rdm::RDMDiscoveryCallback *callback)
- Public Member Functions inherited from ola::plugin::usbpro::BaseUsbProWidget
 BaseUsbProWidget (ola::io::ConnectedDescriptor *descriptor)
ola::io::ConnectedDescriptorGetDescriptor () const
void DescriptorReady ()
bool SendMessage (uint8_t label, const uint8_t *data, unsigned int length) const

Additional Inherited Members

- Static Public Member Functions inherited from ola::plugin::usbpro::BaseUsbProWidget
OpenDevice (const std::string &path)
- Static Public Attributes inherited from ola::plugin::usbpro::BaseUsbProWidget
static const uint8_t DEVICE_LABEL = 78
static const uint8_t DMX_LABEL = 6
static const uint8_t GET_PARAMS = 3
static const uint8_t HARDWARE_VERSION_LABEL = 14
static const uint8_t MANUFACTURER_LABEL = 77
static const uint8_t SERIAL_LABEL = 10

Member Function Documentation

void ola::plugin::usbpro::DmxTriWidgetImpl::RunFullDiscovery ( ola::rdm::RDMDiscoveryCallback callback)

Start the discovery process

Implements ola::rdm::DiscoverableRDMControllerInterface.

void ola::plugin::usbpro::DmxTriWidgetImpl::RunIncrementalDiscovery ( ola::rdm::RDMDiscoveryCallback callback)

Start incremental discovery, which on the TRI is the same as full.

Implements ola::rdm::DiscoverableRDMControllerInterface.

bool ola::plugin::usbpro::DmxTriWidgetImpl::SendDMX ( const DmxBuffer buffer)

Send a DMX frame. This may queue the frame if there is a transaction pending.

Reimplemented from ola::plugin::usbpro::BaseUsbProWidget.

void ola::plugin::usbpro::DmxTriWidgetImpl::SendRDMRequest ( ola::rdm::RDMRequest request,
ola::rdm::RDMCallback on_complete 

Send a RDM command.

requestthe RDMRequest, ownership is transferred.
on_completeThe callback to run when the request completes.

Implementors much ensure that the callback is always run at some point. In other words, 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 may want to re-write the transaction #, and possibly the UID (changing src UIDs isn't addressed by the RDM spec).

The RDMRequest may be a DISCOVERY_COMMAND, if the implementation does not support DISCOVERY_COMMANDs then the callback should be run with ola::rdm::RDM_PLUGIN_DISCOVERY_NOT_SUPPORTED.

Implements ola::rdm::RDMControllerInterface.

void ola::plugin::usbpro::DmxTriWidgetImpl::Stop ( )

Stop the rdm discovery process if it's running

Implements ola::plugin::usbpro::SerialWidgetInterface.

The documentation for this class was generated from the following files: