Open Lighting Architecture: ola::OutputPort Class Reference

| Open Lighting Architecture 0.10.9

Loading...
Searching...
No Matches
Public Member Functions | List of all members
ola::OutputPort Class Referenceabstract

## Detailed Description

A port that sends DMX512 data.

Inheritance diagram for ola::OutputPort:

## Public Member Functions
virtual bool | WriteDMX (const DmxBuffer &buffer, uint8_t priority)=0
| Write DMX data to this port.
virtual void | UniverseNameChanged (const std::string &new_name)=0
| Called if the universe name changes.
virtual void | SendRDMRequest (ola::rdm::RDMRequest *request, ola::rdm::RDMCallback *callback)=0
| Send a RDM command.
virtual void | RunFullDiscovery (ola::rdm::RDMDiscoveryCallback *on_complete)=0
| Start a full discovery operation.
virtual void | RunIncrementalDiscovery (ola::rdm::RDMDiscoveryCallback *on_complete)=0
| Start an incremental discovery operation.
virtual bool | SupportsTimeCode () const =0
virtual bool | SendTimeCode (const ola::timecode::TimeCode &timecode)=0
Public Member Functions inherited from ola::Port
virtual unsigned int | PortId () const =0
| Get the Port ID. This is the index within the device.
virtual AbstractDevice * | GetDevice () const =0
| Get the device which owns this Port.
virtual std::string | Description () const =0
| Fetch the string description for a Port.
virtual bool | SetUniverse (Universe *universe)=0
| Bind this port to a universe.
virtual Universe * | GetUniverse () const =0
| Fetch the universe this Port is bound to.
virtual std::string | UniqueId () const =0
| Return the globally unique id for a Port.
virtual port_priority_capability | PriorityCapability () const =0
| Get the priority capabilities for this port.
virtual bool | SetPriority (uint8_t priority)=0
| Set the Priority for this Port.
virtual uint8_t | GetPriority () const =0
| Get the numeric priority for this Port.
virtual void | SetPriorityMode (port_priority_mode mode)=0
| Set the Priority Mode for this Port.
virtual port_priority_mode | GetPriorityMode () const =0
| Get the Priority Mode for this Port.
virtual bool | SupportsRDM () const =0
| Check if this Port supports RDM or not.

## Member Function Documentation

## ◆ RunFullDiscovery()

virtual void ola::OutputPort::RunFullDiscovery | ( | ola::rdm::RDMDiscoveryCallback * | callback | ) |
| pure virtual

Start a full discovery operation.

Parameters

  callback | The callback run when discovery completes. This may run immediately in some implementations.

Implements ola::rdm::DiscoverableRDMControllerInterface.

Implemented in ola::BasicOutputPort, ola::plugin::artnet::ArtNetOutputPort, ola::plugin::dummy::DummyPort, ola::plugin::spi::SPIOutputPort, ola::plugin::usbdmx::JaRuleOutputPort, ola::plugin::usbpro::ArduinoRGBOutputPort, ola::plugin::usbpro::DmxterOutputPort, ola::plugin::usbpro::DmxTriOutputPort, ola::plugin::usbpro::RobeOutputPort, and ola::plugin::usbpro::UsbProOutputPort.

## ◆ RunIncrementalDiscovery()

virtual void ola::OutputPort::RunIncrementalDiscovery | ( | ola::rdm::RDMDiscoveryCallback * | callback | ) |
| pure virtual

Start an incremental discovery operation.

Parameters

  callback | The callback run when discovery completes. This may run immediately in some implementations.

Implements ola::rdm::DiscoverableRDMControllerInterface.

Implemented in ola::BasicOutputPort, ola::plugin::artnet::ArtNetOutputPort, ola::plugin::dummy::DummyPort, ola::plugin::spi::SPIOutputPort, ola::plugin::usbdmx::JaRuleOutputPort, ola::plugin::usbpro::ArduinoRGBOutputPort, ola::plugin::usbpro::DmxterOutputPort, ola::plugin::usbpro::DmxTriOutputPort, ola::plugin::usbpro::RobeOutputPort, and ola::plugin::usbpro::UsbProOutputPort.

## ◆ SendRDMRequest()

virtual void ola::OutputPort::SendRDMRequest | ( | ola::rdm::RDMRequest * | request,
|  | ola::rdm::RDMCallback * | on_complete )
| pure virtual

Send a RDM command.

Parameters

  request | the RDMRequest, ownership is transferred.
  on_complete | The 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.

Implemented in ola::BasicOutputPort, ola::plugin::artnet::ArtNetOutputPort, ola::plugin::dummy::DummyPort, ola::plugin::spi::SPIOutputPort, ola::plugin::usbdmx::JaRuleOutputPort, ola::plugin::usbpro::ArduinoRGBOutputPort, ola::plugin::usbpro::DmxterOutputPort, ola::plugin::usbpro::DmxTriOutputPort, ola::plugin::usbpro::RobeOutputPort, and ola::plugin::usbpro::UsbProOutputPort.

## ◆ SendTimeCode()

virtual bool ola::OutputPort::SendTimeCode | ( | const ola::timecode::TimeCode & | timecode | ) |
| pure virtual

Implemented in ola::BasicOutputPort, and ola::plugin::artnet::ArtNetOutputPort.

## ◆ UniverseNameChanged()

virtual void ola::OutputPort::UniverseNameChanged | ( | const std::string & | new_name | ) |
| pure virtual

Called if the universe name changes.

Implemented in ola::BasicOutputPort.

## ◆ WriteDMX()

virtual bool ola::OutputPort::WriteDMX | ( | const DmxBuffer & | buffer,
|  | uint8_t | priority )
| pure virtual

Write DMX data to this port.

Parameters

  buffer | the DmxBuffer to write
  priority | the priority of the DMX data

Returns
  true on success, false on failure

Implemented in ola::plugin::artnet::ArtNetOutputPort, ola::plugin::dmx4linux::Dmx4LinuxOutputPort, ola::plugin::dummy::DummyPort, ola::plugin::e131::E131OutputPort, ola::plugin::espnet::EspNetOutputPort, ola::plugin::ftdidmx::FtdiDmxOutputPort, ola::plugin::gpio::GPIOOutputPort, ola::plugin::karate::KarateOutputPort, ola::plugin::kinet::KiNetOutputPort, ola::plugin::milinst::MilInstOutputPort, ola::plugin::opendmx::OpenDmxOutputPort, ola::plugin::openpixelcontrol::OPCOutputPort, ola::plugin::osc::OSCOutputPort, ola::plugin::pathport::PathportOutputPort, ola::plugin::renard::RenardOutputPort, ola::plugin::sandnet::SandNetOutputPort, ola::plugin::shownet::ShowNetOutputPort, ola::plugin::spi::SPIOutputPort, ola::plugin::stageprofi::StageProfiOutputPort, ola::plugin::uartdmx::UartDmxOutputPort, ola::plugin::usbdmx::GenericOutputPort, ola::plugin::usbdmx::JaRuleOutputPort, ola::plugin::usbpro::ArduinoRGBOutputPort, ola::plugin::usbpro::DmxterOutputPort, ola::plugin::usbpro::DmxTriOutputPort, ola::plugin::usbpro::RobeOutputPort, ola::plugin::usbpro::UltraDMXProOutputPort, and ola::plugin::usbpro::UsbProOutputPort.

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

- include/olad/Port.h