Open Lighting Architecture
0.10.4
|
A port that sends DMX512 data.
Public Member Functions | |
virtual bool | WriteDMX (const DmxBuffer &buffer, uint8_t priority)=0 |
Write DMX data to this port. More... | |
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. More... | |
virtual void | RunFullDiscovery (ola::rdm::RDMDiscoveryCallback *on_complete)=0 |
Start a full discovery operation. More... | |
virtual void | RunIncrementalDiscovery (ola::rdm::RDMDiscoveryCallback *on_complete)=0 |
Start an incremental discovery operation. More... | |
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. More... | |
virtual AbstractDevice * | GetDevice () const =0 |
Get the device which owns this Port. More... | |
virtual std::string | Description () const =0 |
Fetch the string description for a Port. More... | |
virtual bool | SetUniverse (Universe *universe)=0 |
Bind this port to a universe. More... | |
virtual Universe * | GetUniverse () const =0 |
Fetch the universe this Port is bound to. More... | |
virtual std::string | UniqueId () const =0 |
Return the globally unique id for a Port. More... | |
virtual port_priority_capability | PriorityCapability () const =0 |
Get the priority capabilities for this port. More... | |
virtual bool | SetPriority (uint8_t priority)=0 |
Set the Priority for this Port. More... | |
virtual uint8_t | GetPriority () const =0 |
Get the numeric priority for this Port. More... | |
virtual void | SetPriorityMode (port_priority_mode mode)=0 |
Set the Priority Mode for this Port. More... | |
virtual port_priority_mode | GetPriorityMode () const =0 |
Get the Priority Mode for this Port. More... | |
virtual bool | SupportsRDM () const =0 |
Check if this Port supports RDM or not. More... | |
|
pure virtual |
Start a full discovery operation.
callback | The callback run when discovery completes. This may run immediately in some implementations. |
Implements ola::rdm::DiscoverableRDMControllerInterface.
Implemented in ola::BasicOutputPort, ola::plugin::usbpro::UsbProOutputPort, ola::plugin::usbpro::RobeOutputPort, ola::plugin::artnet::ArtNetOutputPort, ola::plugin::usbpro::ArduinoRGBOutputPort, ola::plugin::dummy::DummyPort, ola::plugin::usbpro::DmxTriOutputPort, ola::plugin::usbdmx::JaRuleOutputPort, ola::plugin::usbpro::DmxterOutputPort, and ola::plugin::spi::SPIOutputPort.
|
pure virtual |
Start an incremental discovery operation.
callback | The callback run when discovery completes. This may run immediately in some implementations. |
Implements ola::rdm::DiscoverableRDMControllerInterface.
Implemented in ola::BasicOutputPort, ola::plugin::usbpro::UsbProOutputPort, ola::plugin::usbpro::RobeOutputPort, ola::plugin::artnet::ArtNetOutputPort, ola::plugin::usbpro::ArduinoRGBOutputPort, ola::plugin::usbpro::DmxTriOutputPort, ola::plugin::dummy::DummyPort, ola::plugin::usbpro::DmxterOutputPort, ola::plugin::usbdmx::JaRuleOutputPort, and ola::plugin::spi::SPIOutputPort.
|
pure virtual |
Send a RDM command.
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::usbpro::UsbProOutputPort, ola::plugin::usbpro::RobeOutputPort, ola::plugin::artnet::ArtNetOutputPort, ola::plugin::dummy::DummyPort, ola::plugin::usbpro::ArduinoRGBOutputPort, ola::plugin::usbpro::DmxTriOutputPort, ola::plugin::usbdmx::JaRuleOutputPort, ola::plugin::usbpro::DmxterOutputPort, and ola::plugin::spi::SPIOutputPort.
|
pure virtual |
Write DMX data to this port.
buffer | the DmxBuffer to write |
priority | the priority of the DMX data |
Implemented in ola::plugin::usbpro::UsbProOutputPort, ola::plugin::usbpro::UltraDMXProOutputPort, ola::plugin::osc::OSCOutputPort, ola::plugin::sandnet::SandNetOutputPort, ola::plugin::usbpro::RobeOutputPort, ola::plugin::e131::E131OutputPort, ola::plugin::openpixelcontrol::OPCOutputPort, ola::plugin::pathport::PathportOutputPort, ola::plugin::artnet::ArtNetOutputPort, ola::plugin::dummy::DummyPort, ola::plugin::espnet::EspNetOutputPort, ola::plugin::usbpro::ArduinoRGBOutputPort, ola::plugin::usbpro::DmxTriOutputPort, ola::plugin::shownet::ShowNetOutputPort, ola::plugin::usbdmx::JaRuleOutputPort, ola::plugin::gpio::GPIOOutputPort, ola::plugin::usbpro::DmxterOutputPort, ola::plugin::ftdidmx::FtdiDmxOutputPort, ola::plugin::uartdmx::UartDmxOutputPort, ola::plugin::usbdmx::GenericOutputPort, ola::plugin::karate::KarateOutputPort, ola::plugin::opendmx::OpenDmxOutputPort, ola::plugin::stageprofi::StageProfiOutputPort, ola::plugin::dmx4linux::Dmx4LinuxOutputPort, ola::plugin::spi::SPIOutputPort, ola::plugin::kinet::KiNetOutputPort, ola::plugin::milinst::MilInstOutputPort, and ola::plugin::renard::RenardOutputPort.