Open Lighting Architecture  Latest Git
Public Member Functions | List of all members
ola::plugin::usbpro::DmxTriWidgetImpl Class Reference
Inheritance diagram for ola::plugin::usbpro::DmxTriWidgetImpl:
Inheritance graph
[legend]
Collaboration diagram for ola::plugin::usbpro::DmxTriWidgetImpl:
Collaboration graph
[legend]

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
static ola::io::ConnectedDescriptorOpenDevice (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

◆ RunFullDiscovery()

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

Start the discovery process

Implements ola::rdm::DiscoverableRDMControllerInterface.

◆ RunIncrementalDiscovery()

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

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

Implements ola::rdm::DiscoverableRDMControllerInterface.

◆ SendDMX()

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

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

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

◆ SendRDMRequest()

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

Send a RDM command.

Parameters
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.

◆ Stop()

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

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: