Open Lighting Architecture: ola::plugin::usbdmx::VellemanAsyncUsbSender Class Reference

| Open Lighting Architecture 0.10.9

Loading...
Searching...
No Matches
Public Member Functions | List of all members
ola::plugin::usbdmx::VellemanAsyncUsbSender Class Reference
Inheritance diagram for ola::plugin::usbdmx::VellemanAsyncUsbSender:

## Public Member Functions
| VellemanAsyncUsbSender (LibUsbAdaptor *adaptor, libusb_device *usb_device)
libusb_device_handle * | SetupHandle ()
| Open the device handle.
bool | PerformTransfer (const DmxBuffer &buffer)
| Perform the DMX transfer.
void | PostTransferHook ()
| Called when the transfer completes.
Public Member Functions inherited from ola::plugin::usbdmx::AsyncUsbSender
| AsyncUsbSender (ola::usb::LibUsbAdaptor *const adaptor, libusb_device *usb_device)
| Create a new AsyncUsbSender.
virtual | ~AsyncUsbSender ()
| Destructor.
bool | SendDMX (const DmxBuffer &buffer)
| Send one frame of DMX data.
void | TransferComplete (struct libusb_transfer *transfer)
| Called from the libusb callback when the asynchronous transfer completes.
Public Member Functions inherited from ola::plugin::usbdmx::AsyncUsbTransceiverBase
| AsyncUsbTransceiverBase (ola::usb::LibUsbAdaptor *const adaptor, libusb_device *usb_device)
| Create a new AsyncUsbTransceiverBase.
virtual | ~AsyncUsbTransceiverBase ()
| Destructor.
bool | Init ()
| Initialize the transceiver.
libusb_device_handle * | GetHandle ()
| Get the libusb_device_handle of an already opened widget.

## Additional Inherited Members
Protected Types inherited from ola::plugin::usbdmx::AsyncUsbTransceiverBase
enum | TransferState { IDLE , IN_PROGRESS , DISCONNECTED }
Protected Member Functions inherited from ola::plugin::usbdmx::AsyncUsbSender
bool | TransferPending () const
| Check if there is a pending transfer.
Protected Member Functions inherited from ola::plugin::usbdmx::AsyncUsbTransceiverBase
void | CancelTransfer ()
| Cancel any pending transfers.
void | FillControlTransfer (unsigned char *buffer, unsigned int timeout)
| Fill a control transfer.
void | FillBulkTransfer (unsigned char endpoint, unsigned char *buffer, int length, unsigned int timeout)
| Fill a bulk transfer.
void | FillInterruptTransfer (unsigned char endpoint, unsigned char *buffer, int length, unsigned int timeout)
| Fill an interrupt transfer.
int | SubmitTransfer ()
| Submit the transfer for tx.
Protected Attributes inherited from ola::plugin::usbdmx::AsyncUsbTransceiverBase
ola::usb::LibUsbAdaptor *const | m_adaptor
| The LibUsbAdaptor passed in the constructor.
libusb_device *const | m_usb_device
| The libusb_device passed in the constructor.
libusb_device_handle * | m_usb_handle
bool | m_suppress_continuation
struct libusb_transfer * | m_transfer
TransferState | m_transfer_state
ola::thread::Mutex | m_mutex

## Member Function Documentation

## ◆ PerformTransfer()

bool ola::plugin::usbdmx::VellemanAsyncUsbSender::PerformTransfer | ( | const DmxBuffer & | buffer | ) |
| virtual

Perform the DMX transfer.

Parameters

  buffer | the DMX buffer to send.

Returns
  true if the transfer was scheduled, false otherwise.

This method is implemented by the subclass. The subclass should call FillControlTransfer() / FillBulkTransfer() as appropriate and then call SubmitTransfer().

Implements ola::plugin::usbdmx::AsyncUsbSender.

## ◆ PostTransferHook()

void ola::plugin::usbdmx::VellemanAsyncUsbSender::PostTransferHook | ( |  | ) |
| virtual

Called when the transfer completes.

Some devices require multiple transfers per DMX frame. This provides a hook for continuation.

Reimplemented from ola::plugin::usbdmx::AsyncUsbSender.

## ◆ SetupHandle()

libusb_device_handle * ola::plugin::usbdmx::VellemanAsyncUsbSender::SetupHandle | ( |  | ) |
| inlinevirtual

Open the device handle.

Returns
  A valid libusb_device_handle or NULL if the device could not be opened.

Implements ola::plugin::usbdmx::AsyncUsbTransceiverBase.

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

- plugins/usbdmx/VellemanK8062.cpp