Open Lighting Architecture: ola::rdm Namespace Reference

| Open Lighting Architecture 0.10.9

Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions | Variables
ola::rdm Namespace Reference

## Detailed Description

PLASA E1.20 Remote Device Management.

## Classes
class | QueuedResponse
class | DescriptorConsistencyChecker
class | FakeNetworkManager
| An implementation of NetworkManagerInterface which simulates a network configuration. More...
class | StaticGroupTokenCalculator
class | GroupSizeCalculator
class | NetworkManager
| A NetworkManager which reflects the actual host network configuration. More...
class | PidStoreLoader
class | FakeSensor
class | VariableFieldSizeCalculator
class | AckTimerResponder
class | AdvancedDimmerResponder
class | CommandPrinter
class | DimmerResponder
class | DimmerRootDevice
class | DimmerSubDevice
class | DiscoveryTargetInterface
| The interface used by the DiscoveryTarget to send RDM commands. More...
class | DiscoveryAgent
| An asynchronous RDM Discovery algorithm. More...
class | DummyResponder
class | MessageDeserializer
class | MessageSerializer
class | MovingLightResponder
class | NetworkManagerInterface
| Gets global network information. More...
class | NetworkResponder
class | RootPidStore
| The root of the RDM parameter descriptor store. More...
class | PidStore
| Holds the PidDescriptors for a single manufacturer. More...
class | PidDescriptor
class | PidStoreHelper
class | QueueingRDMController
class | DiscoverableQueueingRDMController
struct | StatusMessage
struct | ParameterDescriptor
struct | SensorDescriptor
class | QueuedMessageHandler
class | RDMAPI
class | ResponseStatus
| Represents the state of a response and/or any error codes. More...
class | RDMAPIImplInterface
| This is the interface for an RDMAPI implementation. More...
class | RDMCommand
| The base class that all RDM requests & responses inherit from. More...
class | RDMRequest
| RDM Commands that represent requests (GET, SET or DISCOVER). More...
class | RDMGetSetRequest
| An RDM Get / Set Request. More...
class | BaseRDMRequest
class | RDMResponse
| An RDM Command that represents responses (GET, SET or DISCOVER). More...
class | RDMGetSetResponse
| The base class for GET/SET responses. More...
class | BaseRDMResponse
class | RDMDiscoveryRequest
| An RDM request of type DISCOVER_COMMAND. More...
class | RDMDiscoveryResponse
| An RDM response of type DISCOVER_COMMAND. More...
class | RDMCommandSerializer
| Serializes RDMCommands. More...
class | DiscoverableRDMControllerAdaptor
class | RDMControllerInterface
| The interface that can send RDMRequest. More...
class | DiscoverableRDMControllerInterface
| The interface that can send RDM commands, as well as perform discovery operations. More...
class | RDMFrame
| The raw data for a RDM message and its associated timing information. More...
class | RDMMessagePrinter
class | ProxiedDevicesPrinter
class | StatusMessagePrinter
class | SupportedParamsPrinter
class | DeviceInfoPrinter
class | LabelPrinter
class | ProductIdPrinter
class | LanguageCapabilityPrinter
class | ClockPrinter
class | SlotInfoPrinter
class | SensorDefinitionPrinter
struct | RDMCommandHeader
struct | RDMReply
| Holds the final state of an RDM request. More...
class | ResponderHelper
class | LoadSensor
class | ResponderOps
| A class which dispatches RDM requests to registered PID handlers. More...
class | Personality
class | PersonalityCollection
class | PersonalityManager
class | Sensor
| Holds information about a single sensor. More...
class | SettingInterface
| The base class all Settings inherit from. More...
class | BasicSetting
| A Setting which has a description and no other properties. More...
class | FrequencyModulationSetting
| A PWM Frequency Setting. See Section 4.10 of E1.37-1. More...
class | SettingCollection
| Holds the list of settings for a class of responder. A single instance is shared between all responders of the same type. Subclass this and use a singleton. More...
class | SettingManager
class | SlotData
| Holds information about a single DMX slot. More...
class | SlotDataCollection
| Holds information about a set of slots. More...
class | SensorResponder
class | StringMessageBuilder
class | SubDeviceDispatcher
class | UID
| Represents a RDM UID. More...
class | UIDAllocator
| Allocate UIDs from a pool. More...
class | UIDSet
| Represents a set of RDM UIDs. More...
class | string
| STL class. More...
class | vector
| STL class. More...
class | Descriptor
class | Message
class | auto_ptr
| STL class. More...
class | Interface
class | InterfacePicker
| Given some initial parameters, find the best network interface to use. More...
class | IPV4Address
| Represents a IPv4 Address. More...
class | FieldDescriptor
class | FieldDescriptorGroup
class | MessageFieldInterface
class | MACAddress
| Represents a MAC Address. More...
class | map
| STL class. More...
class | ostringstream
| STL class. More...
class | set
| STL class. More...
class | SingleUseCallback1
| A 1 argument callback which deletes itself after it's run. More...
class | SingleUseCallback2
| A 2 argument callback which deletes itself after it's run. More...
class | SingleUseCallback4
| A 4 argument callback which deletes itself after it's run. More...
class | StringFieldDescriptor

## Typedefs
typedef struct device_info_s | DeviceDescriptor
typedef struct slot_info_s | SlotDescriptor
typedef struct slot_default_s | SlotDefault
typedef struct sensor_values_s | SensorValueDescriptor
typedef struct clock_value_s | ClockValue
typedef BaseRDMRequest< RDMCommand::GET_COMMAND > | RDMGetRequest
typedef BaseRDMRequest< RDMCommand::SET_COMMAND > | RDMSetRequest
typedef BaseRDMResponse< RDMCommand::GET_COMMAND_RESPONSE > | RDMGetResponse
typedef BaseRDMResponse< RDMCommand::SET_COMMAND_RESPONSE > | RDMSetResponse
typedef ola::BaseCallback1< void, RDMReply * > | RDMCallback
| The callback run when a RDM request completes.
typedef ola::BaseCallback1< void, const ola::rdm::UIDSet & > | RDMDiscoveryCallback
| The callback run when a discovery operation completes.
typedef std::vector< RDMFrame > | RDMFrames
| A vector of RDMFrames.
typedef RDMStatusCode | rdm_response_code
typedef std::vector< ola::rdm::Sensor * > | Sensors
typedef SettingCollection< BasicSetting > | BasicSettingCollection
typedef SettingManager< BasicSetting > | BasicSettingManager

## Enumerations
enum | rdm_ola_manufacturer_pid { OLA_MANUFACTURER_PID_SERIAL_NUMBER = 0x8000 , OLA_MANUFACTURER_PID_CODE_VERSION = 0x8001 }
enum | ola_rdm_model_id { OLA_DUMMY_DEVICE_MODEL = 1 , OLA_SPI_DEVICE_MODEL = 3 , OLA_DUMMY_DIMMER_MODEL = 4 , OLA_DUMMY_MOVING_LIGHT_MODEL = 5 , OLA_ACK_TIMER_MODEL = 6 , OLA_SENSOR_ONLY_MODEL = 7 , OLA_E137_DIMMER_MODEL = 8 , OLA_E137_2_MODEL = 9 }
enum | rdm_protocol_version { RDM_VERSION_1_0 = 0x100 }
enum | RDMCommandClass { DISCOVER_COMMAND = 0x10 , DISCOVER_COMMAND_RESPONSE = 0x11 , GET_COMMAND = 0x20 , GET_COMMAND_RESPONSE = 0x21 , SET_COMMAND = 0x30 , SET_COMMAND_RESPONSE = 0x31 , INVALID_COMMAND = 0xff }
| A set of values representing CommandClasses in E1.20. More...
enum | rdm_pid { PID_DISC_UNIQUE_BRANCH = 0x0001 , PID_DISC_MUTE = 0x0002 , PID_DISC_UN_MUTE = 0x0003 , PID_PROXIED_DEVICES = 0x0010 , PID_PROXIED_DEVICE_COUNT = 0x0011 , PID_COMMS_STATUS = 0x0015 , PID_QUEUED_MESSAGE = 0x0020 , PID_STATUS_MESSAGES = 0x0030 , PID_STATUS_ID_DESCRIPTION = 0x0031 , PID_CLEAR_STATUS_ID = 0x0032 , PID_SUB_DEVICE_STATUS_REPORT_THRESHOLD = 0x0033 , PID_SUPPORTED_PARAMETERS = 0x0050 , PID_PARAMETER_DESCRIPTION = 0x0051 , PID_DEVICE_INFO = 0x0060 , PID_PRODUCT_DETAIL_ID_LIST = 0x0070 , PID_DEVICE_MODEL_DESCRIPTION = 0x0080 , PID_MANUFACTURER_LABEL = 0x0081 , PID_DEVICE_LABEL = 0x0082 , PID_FACTORY_DEFAULTS = 0x0090 , PID_LANGUAGE_CAPABILITIES = 0x00A0 , PID_LANGUAGE = 0x00B0 , PID_SOFTWARE_VERSION_LABEL = 0x00C0 , PID_BOOT_SOFTWARE_VERSION_ID = 0x00C1 , PID_BOOT_SOFTWARE_VERSION_LABEL = 0x00C2 , PID_DMX_PERSONALITY = 0x00E0 , PID_DMX_PERSONALITY_DESCRIPTION = 0x00E1 , PID_DMX_START_ADDRESS = 0x00F0 , PID_SLOT_INFO = 0x0120 , PID_SLOT_DESCRIPTION = 0x0121 , PID_DEFAULT_SLOT_VALUE = 0x0122 , PID_SENSOR_DEFINITION = 0x0200 , PID_SENSOR_VALUE = 0x0201 , PID_RECORD_SENSORS = 0x0202 , PID_DEVICE_HOURS = 0x0400 , PID_LAMP_HOURS = 0x0401 , PID_LAMP_STRIKES = 0x0402 , PID_LAMP_STATE = 0x0403 , PID_LAMP_ON_MODE = 0x0404 , PID_DEVICE_POWER_CYCLES = 0x0405 , PID_DISPLAY_INVERT = 0x0500 , PID_DISPLAY_LEVEL = 0x0501 , PID_PAN_INVERT = 0x0600 , PID_TILT_INVERT = 0x0601 , PID_PAN_TILT_SWAP = 0x0602 , PID_REAL_TIME_CLOCK = 0x0603 , PID_IDENTIFY_DEVICE = 0x1000 , PID_RESET_DEVICE = 0x1001 , PID_POWER_STATE = 0x1010 , PID_PERFORM_SELFTEST = 0x1020 , PID_SELF_TEST_DESCRIPTION = 0x1021 , PID_CAPTURE_PRESET = 0x1030 , PID_PRESET_PLAYBACK = 0x1031 , PID_DMX_BLOCK_ADDRESS = 0x0140 , PID_DMX_FAIL_MODE = 0x0141 , PID_DMX_STARTUP_MODE = 0x0142 , PID_DIMMER_INFO = 0x0340 , PID_MINIMUM_LEVEL = 0x0341 , PID_MAXIMUM_LEVEL = 0x0342 , PID_CURVE = 0x0343 , PID_CURVE_DESCRIPTION = 0x0344 , PID_OUTPUT_RESPONSE_TIME = 0x0345 , PID_OUTPUT_RESPONSE_TIME_DESCRIPTION = 0x0346 , PID_MODULATION_FREQUENCY = 0x0347 , PID_MODULATION_FREQUENCY_DESCRIPTION = 0x0348 , PID_BURN_IN = 0x0440 , PID_LOCK_PIN = 0x0640 , PID_LOCK_STATE = 0x0641 , PID_LOCK_STATE_DESCRIPTION = 0x0642 , PID_IDENTIFY_MODE = 0x1040 , PID_PRESET_INFO = 0x1041 , PID_PRESET_STATUS = 0x1042 , PID_PRESET_MERGEMODE = 0x1043 , PID_POWER_ON_SELF_TEST = 0x1044 , PID_ENDPOINT_LIST = 0x7FE0 , PID_ENDPOINT_TO_UNIVERSE = 0x7FE1 , PID_RDM_TRAFFIC_ENABLE = 0x7FE2 , PID_ENDPOINT_MODE = 0x7FE3 , PID_ENDPOINT_LABEL = 0x7FE4 , PID_DISCOVERY_STATE = 0x7FE5 , PID_ENDPOINT_TIMING = 0x7FE6 , PID_ENDPOINT_TIMING_DESCRIPTION = 0x7FE7 , PID_BINDING_CONTROL_FIELDS = 0x7FE8 , PID_ENDPOINT_IDENTIFY = 0x7FE9 , PID_BACKGROUND_DISCOVERY = 0x7FEA , PID_ENDPOINT_DEVICE_LIST_CHANGE = 0x7FEB , PID_ENDPOINT_DEVICES = 0x7FEC , PID_TCP_COMMS_STATUS = 0x7FED , PID_ENDPOINT_LIST_CHANGE = 0x7FEE , PID_BACKGROUND_QUEUED_STATUS_POLICY = 0x7FD0 , PID_BACKGROUND_QUEUED_STATUS_POLICY_DESCRIPTION = 0x7FD1 , PID_BACKGROUND_STATUS_TYPE = 0x7FD2 , PID_QUEUED_STATUS_ENDPOINT_COLLECTION = 0x7FD3 , PID_QUEUED_STATUS_UID_COLLECTION = 0x7FD4 , PID_LIST_INTERFACES = 0x0700 , PID_INTERFACE_LABEL = 0x0701 , PID_INTERFACE_HARDWARE_ADDRESS_TYPE1 = 0x0702 , PID_IPV4_DHCP_MODE = 0x0703 , PID_IPV4_ZEROCONF_MODE = 0x0704 , PID_IPV4_CURRENT_ADDRESS = 0x0705 , PID_IPV4_STATIC_ADDRESS = 0x0706 , PID_INTERFACE_RENEW_DHCP = 0x0707 , PID_INTERFACE_RELEASE_DHCP = 0x0708 , PID_INTERFACE_APPLY_CONFIGURATION = 0x0709 , PID_IPV4_DEFAULT_ROUTE = 0x070A , PID_DNS_NAME_SERVER = 0x070B , PID_DNS_HOSTNAME = 0x070C , PID_DNS_DOMAIN_NAME = 0x070D }
enum | rdm_status_type { STATUS_NONE = 0x0 , STATUS_GET_LAST_MESSAGE = 0x1 , STATUS_ADVISORY = 0x2 , STATUS_WARNING = 0x3 , STATUS_ERROR = 0x4 , STATUS_ADVISORY_CLEARED = 0x12 , STATUS_WARNING_CLEARED = 0x13 , STATUS_ERROR_CLEARED = 0x14 }
enum | rdm_sensor_type { SENSOR_TEMPERATURE = 0x00 , SENSOR_VOLTAGE = 0x01 , SENSOR_CURRENT = 0x02 , SENSOR_FREQUENCY = 0x03 , SENSOR_RESISTANCE = 0x04 , SENSOR_POWER = 0x05 , SENSOR_MASS = 0x06 , SENSOR_LENGTH = 0x07 , SENSOR_AREA = 0x08 , SENSOR_VOLUME = 0x09 , SENSOR_DENSITY = 0x0A , SENSOR_VELOCITY = 0x0B , SENSOR_ACCELERATION = 0x0C , SENSOR_FORCE = 0x0D , SENSOR_ENERGY = 0x0E , SENSOR_PRESSURE = 0x0F , SENSOR_TIME = 0x10 , SENSOR_ANGLE = 0x11 , SENSOR_POSITION_X = 0x12 , SENSOR_POSITION_Y = 0x13 , SENSOR_POSITION_Z = 0x14 , SENSOR_ANGULAR_VELOCITY = 0x15 , SENSOR_LUMINOUS_INTENSITY = 0x16 , SENSOR_LUMINOUS_FLUX = 0x17 , SENSOR_ILLUMINANCE = 0x18 , SENSOR_CHROMINANCE_RED = 0x19 , SENSOR_CHROMINANCE_GREEN = 0x1A , SENSOR_CHROMINANCE_BLUE = 0x1B , SENSOR_CONTACTS = 0x1C , SENSOR_MEMORY = 0x1D , SENSOR_ITEMS = 0x1E , SENSOR_HUMIDITY = 0x1F , SENSOR_COUNTER_16BIT = 0x20 , SENSOR_OTHER = 0x7F }
enum | rdm_pid_unit { UNITS_NONE = 0x00 , UNITS_CENTIGRADE = 0x01 , UNITS_VOLTS_DC = 0x02 , UNITS_VOLTS_AC_PEAK = 0x03 , UNITS_VOLTS_AC_RMS = 0x04 , UNITS_AMPERE_DC = 0x05 , UNITS_AMPERE_AC_PEAK = 0x06 , UNITS_AMPERE_AC_RMS = 0x07 , UNITS_HERTZ = 0x08 , UNITS_OHM = 0x09 , UNITS_WATT = 0x0A , UNITS_KILOGRAM = 0x0B , UNITS_METERS = 0x0C , UNITS_METERS_SQUARED = 0x0D , UNITS_METERS_CUBED = 0x0E , UNITS_KILOGRAMMES_PER_METER_CUBED = 0x0F , UNITS_METERS_PER_SECOND = 0x10 , UNITS_METERS_PER_SECOND_SQUARED = 0x11 , UNITS_NEWTON = 0x12 , UNITS_JOULE = 0x13 , UNITS_PASCAL = 0x14 , UNITS_SECOND = 0x15 , UNITS_DEGREE = 0x16 , UNITS_STERADIAN = 0x17 , UNITS_CANDELA = 0x18 , UNITS_LUMEN = 0x19 , UNITS_LUX = 0x1A , UNITS_IRE = 0x1B , UNITS_BYTE = 0x1C }
enum | rdm_pid_prefix { PREFIX_NONE = 0x00 , PREFIX_DECI = 0x01 , PREFIX_CENTI = 0x02 , PREFIX_MILLI = 0x03 , PREFIX_MICRO = 0x04 , PREFIX_NANO = 0x05 , PREFIX_PICO = 0x06 , PREFIX_FEMTO = 0x07 , PREFIX_ATTO = 0x08 , PREFIX_ZEPTO = 0x09 , PREFIX_YOCTO = 0x0A , PREFIX_DECA = 0x11 , PREFIX_HECTO = 0x12 , PREFIX_KILO = 0x13 , PREFIX_MEGA = 0x14 , PREFIX_GIGA = 0x15 , PREFIX_TERA = 0x16 , PREFIX_PETA = 0x17 , PREFIX_EXA = 0x18 , PREFIX_ZETTA = 0x19 , PREFIX_YOTTA = 0x1A }
enum | rdm_command_class { CC_GET = 0x01 , CC_SET = 0x02 , CC_GET_SET = 0x03 }
enum | rdm_data_type { DS_NOT_DEFINED = 0x0 , DS_BIT_FIELD = 0x01 , DS_ASCII = 0x02 , DS_UNSIGNED_BYTE = 0x03 , DS_SIGNED_BYTE = 0x04 , DS_UNSIGNED_WORD = 0x05 , DS_SIGNED_WORD = 0x06 , DS_UNSIGNED_DWORD = 0x07 , DS_SIGNED_DWORD = 0x08 }
enum | rdm_nack_reason { NR_UNKNOWN_PID = 0x0000 , NR_FORMAT_ERROR = 0x0001 , NR_HARDWARE_FAULT = 0x0002 , NR_PROXY_REJECT = 0x0003 , NR_WRITE_PROTECT = 0x0004 , NR_UNSUPPORTED_COMMAND_CLASS = 0x0005 , NR_DATA_OUT_OF_RANGE = 0x0006 , NR_BUFFER_FULL = 0x0007 , NR_PACKET_SIZE_UNSUPPORTED = 0x0008 , NR_SUB_DEVICE_OUT_OF_RANGE = 0x0009 , NR_PROXY_BUFFER_FULL = 0x000A , NR_ACTION_NOT_SUPPORTED = 0x000B , NR_ENDPOINT_NUMBER_INVALID = 0x000C , NR_INVALID_ENDPOINT_MODE = 0x000D , NR_UNKNOWN_UID = 0x000E , NR_UNKNOWN_SCOPE = 0x000F , NR_INVALID_STATIC_CONFIG_TYPE = 0x0010 , NR_INVALID_IPV4_ADDRESS = 0x0011 , NR_INVALID_IPV6_ADDRESS = 0x0012 , NR_INVALID_PORT = 0x0013 }
enum | rdm_product_category { PRODUCT_CATEGORY_NOT_DECLARED = 0x0000 , PRODUCT_CATEGORY_FIXTURE = 0x0100 , PRODUCT_CATEGORY_FIXTURE_FIXED = 0x0101 , PRODUCT_CATEGORY_FIXTURE_MOVING_YOKE = 0x0102 , PRODUCT_CATEGORY_FIXTURE_MOVING_MIRROR = 0x0103 , PRODUCT_CATEGORY_FIXTURE_OTHER = 0x01FF , PRODUCT_CATEGORY_FIXTURE_ACCESSORY = 0x0200 , PRODUCT_CATEGORY_FIXTURE_ACCESSORY_COLOR = 0x0201 , PRODUCT_CATEGORY_FIXTURE_ACCESSORY_YOKE = 0x0202 , PRODUCT_CATEGORY_FIXTURE_ACCESSORY_MIRROR = 0x0203 , PRODUCT_CATEGORY_FIXTURE_ACCESSORY_EFFECT = 0x0204 , PRODUCT_CATEGORY_FIXTURE_ACCESSORY_BEAM = 0x0205 , PRODUCT_CATEGORY_FIXTURE_ACCESSORY_OTHER = 0x02FF , PRODUCT_CATEGORY_PROJECTOR = 0x0300 , PRODUCT_CATEGORY_PROJECTOR_FIXED = 0x0301 , PRODUCT_CATEGORY_PROJECTOR_MOVING_YOKE = 0x0302 , PRODUCT_CATEGORY_PROJECTOR_MOVING_MIRROR = 0x0303 , PRODUCT_CATEGORY_PROJECTOR_OTHER = 0x03FF , PRODUCT_CATEGORY_ATMOSPHERIC = 0x0400 , PRODUCT_CATEGORY_ATMOSPHERIC_EFFECT = 0x0401 , PRODUCT_CATEGORY_ATMOSPHERIC_PYRO = 0x0402 , PRODUCT_CATEGORY_ATMOSPHERIC_OTHER = 0x04FF , PRODUCT_CATEGORY_DIMMER = 0x0500 , PRODUCT_CATEGORY_DIMMER_AC_INCANDESCENT = 0x0501 , PRODUCT_CATEGORY_DIMMER_AC_FLUORESCENT = 0x0502 , PRODUCT_CATEGORY_DIMMER_AC_COLDCATHODE = 0x0503 , PRODUCT_CATEGORY_DIMMER_AC_NONDIM = 0x0504 , PRODUCT_CATEGORY_DIMMER_AC_ELV = 0x0505 , PRODUCT_CATEGORY_DIMMER_AC_OTHER = 0x0506 , PRODUCT_CATEGORY_DIMMER_DC_LEVEL = 0x0507 , PRODUCT_CATEGORY_DIMMER_DC_PWM = 0x0508 , PRODUCT_CATEGORY_DIMMER_CS_LED = 0x0509 , PRODUCT_CATEGORY_DIMMER_OTHER = 0x05FF , PRODUCT_CATEGORY_POWER = 0x0600 , PRODUCT_CATEGORY_POWER_CONTROL = 0x0601 , PRODUCT_CATEGORY_POWER_SOURCE = 0x0602 , PRODUCT_CATEGORY_POWER_OTHER = 0x06FF , PRODUCT_CATEGORY_SCENIC = 0x0700 , PRODUCT_CATEGORY_SCENIC_DRIVE = 0x0701 , PRODUCT_CATEGORY_SCENIC_OTHER = 0x07FF , PRODUCT_CATEGORY_DATA = 0x0800 , PRODUCT_CATEGORY_DATA_DISTRIBUTION = 0x0801 , PRODUCT_CATEGORY_DATA_CONVERSION = 0x0802 , PRODUCT_CATEGORY_DATA_OTHER = 0x08FF , PRODUCT_CATEGORY_AV = 0x0900 , PRODUCT_CATEGORY_AV_AUDIO = 0x0901 , PRODUCT_CATEGORY_AV_VIDEO = 0x0902 , PRODUCT_CATEGORY_AV_OTHER = 0x09FF , PRODUCT_CATEGORY_MONITOR = 0x0A00 , PRODUCT_CATEGORY_MONITOR_ACLINEPOWER = 0x0A01 , PRODUCT_CATEGORY_MONITOR_DCPOWER = 0x0A02 , PRODUCT_CATEGORY_MONITOR_ENVIRONMENTAL = 0x0A03 , PRODUCT_CATEGORY_MONITOR_OTHER = 0x0AFF , PRODUCT_CATEGORY_CONTROL = 0x7000 , PRODUCT_CATEGORY_CONTROL_CONTROLLER = 0x7001 , PRODUCT_CATEGORY_CONTROL_BACKUPDEVICE = 0x7002 , PRODUCT_CATEGORY_CONTROL_OTHER = 0x70FF , PRODUCT_CATEGORY_TEST = 0x7100 , PRODUCT_CATEGORY_TEST_EQUIPMENT = 0x7101 , PRODUCT_CATEGORY_TEST_EQUIPMENT_OTHER = 0x71FF , PRODUCT_CATEGORY_OTHER = 0x7FFF }
enum | rdm_product_detail { PRODUCT_DETAIL_NOT_DECLARED = 0x0000 , PRODUCT_DETAIL_ARC = 0x0001 , PRODUCT_DETAIL_METAL_HALIDE = 0x0002 , PRODUCT_DETAIL_INCANDESCENT = 0x0003 , PRODUCT_DETAIL_LED = 0x0004 , PRODUCT_DETAIL_FLUORESCENT = 0x0005 , PRODUCT_DETAIL_COLDCATHODE = 0x0006 , PRODUCT_DETAIL_ELECTROLUMINESCENT = 0x0007 , PRODUCT_DETAIL_LASER = 0x0008 , PRODUCT_DETAIL_FLASHTUBE = 0x0009 , PRODUCT_DETAIL_COLORSCROLLER = 0x0100 , PRODUCT_DETAIL_COLORWHEEL = 0x0101 , PRODUCT_DETAIL_COLORCHANGE = 0x0102 , PRODUCT_DETAIL_IRIS_DOUSER = 0x0103 , PRODUCT_DETAIL_DIMMING_SHUTTER = 0x0104 , PRODUCT_DETAIL_PROFILE_SHUTTER = 0x0105 , PRODUCT_DETAIL_BARNDOOR_SHUTTER = 0x0106 , PRODUCT_DETAIL_EFFECTS_DISC = 0x0107 , PRODUCT_DETAIL_GOBO_ROTATOR = 0x0108 , PRODUCT_DETAIL_VIDEO = 0x0200 , PRODUCT_DETAIL_SLIDE = 0x0201 , PRODUCT_DETAIL_FILM = 0x0202 , PRODUCT_DETAIL_OILWHEEL = 0x0203 , PRODUCT_DETAIL_LCDGATE = 0x0204 , PRODUCT_DETAIL_FOGGER_GLYCOL = 0x0300 , PRODUCT_DETAIL_FOGGER_MINERALOIL = 0x0301 , PRODUCT_DETAIL_FOGGER_WATER = 0x0302 , PRODUCT_DETAIL_CO2 = 0x0303 , PRODUCT_DETAIL_LN2 = 0x0304 , PRODUCT_DETAIL_BUBBLE = 0x0305 , PRODUCT_DETAIL_FLAME_PROPANE = 0x0306 , PRODUCT_DETAIL_FLAME_OTHER = 0x0307 , PRODUCT_DETAIL_OLEFACTORY_STIMULATOR = 0x0308 , PRODUCT_DETAIL_SNOW = 0x0309 , PRODUCT_DETAIL_WATER_JET = 0x030A , PRODUCT_DETAIL_WIND = 0x030B , PRODUCT_DETAIL_CONFETTI = 0x030C , PRODUCT_DETAIL_HAZARD = 0x030D , PRODUCT_DETAIL_PHASE_CONTROL = 0x0400 , PRODUCT_DETAIL_REVERSE_PHASE_CONTROL = 0x0401 , PRODUCT_DETAIL_SINE = 0x0402 , PRODUCT_DETAIL_PWM = 0x0403 , PRODUCT_DETAIL_DC = 0x0404 , PRODUCT_DETAIL_HFBALLAST = 0x0405 , PRODUCT_DETAIL_HFHV_NEONBALLAST = 0x0406 , PRODUCT_DETAIL_HFHV_EL = 0x0407 , PRODUCT_DETAIL_MHR_BALLAST = 0x0408 , PRODUCT_DETAIL_BITANGLE_MODULATION = 0x0409 , PRODUCT_DETAIL_FREQUENCY_MODULATION = 0x040A , PRODUCT_DETAIL_HIGHFREQUENCY_12V = 0x040B , PRODUCT_DETAIL_RELAY_MECHANICAL = 0x040C , PRODUCT_DETAIL_RELAY_ELECTRONIC = 0x040D , PRODUCT_DETAIL_SWITCH_ELECTRONIC = 0x040E , PRODUCT_DETAIL_CONTACTOR = 0x040F , PRODUCT_DETAIL_MIRRORBALL_ROTATOR = 0x0500 , PRODUCT_DETAIL_OTHER_ROTATOR = 0x0501 , PRODUCT_DETAIL_KABUKI_DROP = 0x0502 , PRODUCT_DETAIL_CURTAIN = 0x0503 , PRODUCT_DETAIL_LINESET = 0x0504 , PRODUCT_DETAIL_MOTOR_CONTROL = 0x0505 , PRODUCT_DETAIL_DAMPER_CONTROL = 0x0506 , PRODUCT_DETAIL_SPLITTER = 0x0600 , PRODUCT_DETAIL_ETHERNET_NODE = 0x0601 , PRODUCT_DETAIL_MERGE = 0x0602 , PRODUCT_DETAIL_DATAPATCH = 0x0603 , PRODUCT_DETAIL_WIRELESS_LINK = 0x0604 , PRODUCT_DETAIL_PROTOCOL_CONVERTER = 0x0701 , PRODUCT_DETAIL_ANALOG_DEMULTIPLEX = 0x0702 , PRODUCT_DETAIL_ANALOG_MULTIPLEX = 0x0703 , PRODUCT_DETAIL_SWITCH_PANEL = 0x0704 , PRODUCT_DETAIL_ROUTER = 0x0800 , PRODUCT_DETAIL_FADER = 0x0801 , PRODUCT_DETAIL_MIXER = 0x0802 , PRODUCT_DETAIL_CHANGEOVER_MANUAL = 0x0900 , PRODUCT_DETAIL_CHANGEOVER_AUTO = 0x0901 , PRODUCT_DETAIL_TEST = 0x0902 , PRODUCT_DETAIL_GFI_RCD = 0x0A00 , PRODUCT_DETAIL_BATTERY = 0x0A01 , PRODUCT_DETAIL_CONTROLLABLE_BREAKER = 0x0A02 , PRODUCT_DETAIL_OTHER = 0x7FFF }
enum | rdm_slot_type { ST_PRIMARY = 0x00 , ST_SEC_FINE = 0x01 , ST_SEC_TIMING = 0x02 , ST_SEC_SPEED = 0x03 , ST_SEC_CONTROL = 0x04 , ST_SEC_INDEX = 0x05 , ST_SEC_ROTATION = 0x06 , ST_SEC_INDEX_ROTATE = 0x07 , ST_SEC_UNDEFINED = 0xFF }
| The RDM slot types, from table C-1 of the standard.
enum | rdm_slot_definition { SD_INTENSITY = 0x0001 , SD_INTENSITY_MASTER = 0x0002 , SD_PAN = 0x0101 , SD_TILT = 0x0102 , SD_COLOR_WHEEL = 0x0201 , SD_COLOR_SUB_CYAN = 0x0202 , SD_COLOR_SUB_YELLOW = 0x0203 , SD_COLOR_SUB_MAGENTA = 0x0204 , SD_COLOR_ADD_RED = 0x0205 , SD_COLOR_ADD_GREEN = 0x0206 , SD_COLOR_ADD_BLUE = 0x0207 , SD_COLOR_CORRECTION = 0x0208 , SD_COLOR_SCROLL = 0x0209 , SD_COLOR_SEMAPHORE = 0x0210 , SD_COLOR_ADD_AMBER = 0x0211 , SD_COLOR_ADD_WHITE = 0x0212 , SD_COLOR_ADD_WARM_WHITE = 0x0213 , SD_COLOR_ADD_COOL_WHITE = 0x0214 , SD_COLOR_SUB_UV = 0x0215 , SD_COLOR_HUE = 0x0216 , SD_COLOR_SATURATION = 0x0217 , SD_STATIC_GOBO_WHEEL = 0x0301 , SD_ROTO_GOBO_WHEEL = 0x0302 , SD_PRISM_WHEEL = 0x0303 , SD_EFFECTS_WHEEL = 0x0304 , SD_BEAM_SIZE_IRIS = 0x0401 , SD_EDGE = 0x0402 , SD_FROST = 0x0403 , SD_STROBE = 0x0404 , SD_ZOOM = 0x0405 , SD_FRAMING_SHUTTER = 0x0406 , SD_SHUTTER_ROTATE = 0x0407 , SD_DOUSER = 0x0408 , SD_BARN_DOOR = 0x0409 , SD_LAMP_CONTROL = 0x0501 , SD_FIXTURE_CONTROL = 0x0502 , SD_FIXTURE_SPEED = 0x0503 , SD_MACRO = 0x0504 , SD_POWER_CONTROL = 0x0505 , SD_FAN_CONTROL = 0x0506 , SD_HEATER_CONTROL = 0x0507 , SD_FOUNTAIN_CONTROL = 0x0508 , SD_UNDEFINED = 0xFFFF }
| The RDM slot definitions, from table C-2 of the standard.
enum | rdm_status_message_id { STS_CAL_FAIL = 0x0001 , STS_SENS_NOT_FOUND = 0x0002 , STS_SENS_ALWAYS_ON = 0x0003 , STS_FEEDBACK_ERROR = 0x0004 , STS_INDEX_ERROR = 0x0005 , STS_LAMP_DOUSED = 0x0011 , STS_LAMP_STRIKE = 0x0012 , STS_LAMP_ACCESS_OPEN = 0x0013 , STS_LAMP_ALWAYS_ON = 0x0014 , STS_OVERTEMP = 0x0021 , STS_UNDERTEMP = 0x0022 , STS_SENS_OUT_RANGE = 0x0023 , STS_OVERVOLTAGE_PHASE = 0x0031 , STS_UNDERVOLTAGE_PHASE = 0x0032 , STS_OVERCURRENT = 0x0033 , STS_UNDERCURRENT = 0x0034 , STS_PHASE = 0x0035 , STS_PHASE_ERROR = 0x0036 , STS_AMPS = 0x0037 , STS_VOLTS = 0x0038 , STS_DIMSLOT_OCCUPIED = 0x0041 , STS_BREAKER_TRIP = 0x0042 , STS_WATTS = 0x0043 , STS_DIM_FAILURE = 0x0044 , STS_DIM_PANIC = 0x0045 , STS_LOAD_FAILURE = 0x0046 , STS_READY = 0x0050 , STS_NOT_READY = 0x0051 , STS_LOW_FLUID = 0x0052 , STS_EEPROM_ERROR = 0x0060 , STS_RAM_ERROR = 0x0061 , STS_FPGA_ERROR = 0x0062 , STS_PROXY_BROADCAST_DROPPED = 0x0070 , STS_ASC_RXOK = 0x0071 , STS_ASC_DROPPED = 0x0072 , STS_DMXNSCNONE = 0x0080 , STS_DMXNSCLOSS = 0x0081 , STS_DMXNSCERROR = 0x0082 , STS_DMXNSC_OK = 0x0083 }
enum | rdm_lamp_state { LAMP_OFF = 0x00 , LAMP_ON = 0x01 , LAMP_STRIKE = 0x02 , LAMP_STANDBY = 0x03 , LAMP_NOT_PRESENT = 0x04 , LAMP_ERROR = 0x7F }
enum | rdm_lamp_mode { LAMP_ON_MODE_OFF = 0x00 , LAMP_ON_MODE_DMX = 0x01 , LAMP_ON_MODE_ON = 0x02 , LAMP_ON_MODE_ON_AFTER_CAL = 0x03 }
enum | rdm_power_state { POWER_STATE_FULL_OFF = 0x00 , POWER_STATE_SHUTDOWN = 0x01 , POWER_STATE_STANDBY = 0x02 , POWER_STATE_NORMAL = 0xFF }
enum | rdm_display_invert { DISPLAY_INVERT_OFF = 0x00 , DISPLAY_INVERT_ON = 0x01 , DISPLAY_INVERT_AUTO = 0x02 , DISPLAY_INVERT_MAX }
enum | rdm_identify_mode { IDENTIFY_MODE_QUIET = 0x00 , IDENTIFY_MODE_LOUD = 0xFF }
enum | rdm_reset_device_mode { RESET_WARM = 0x01 , RESET_COLD = 0xFF }
enum | rdm_preset_programmed_mode { PRESET_NOT_PROGRAMMED = 0x00 , PRESET_PROGRAMMED = 0x01 , PRESET_PROGRAMMED_READ_ONLY = 0x02 }
enum | rdm_preset_mergemode { MERGEMODE_DEFAULT = 0x00 , MERGEMODE_HTP = 0x01 , MERGEMODE_LTP = 0x02 , MERGEMODE_DMX_ONLY = 0x03 , MERGEMODE_OTHER = 0xFF }
enum | rdm_dhcp_status { DHCP_STATUS_INACTIVE = 0x00 , DHCP_STATUS_ACTIVE = 0x01 , DHCP_STATUS_UNKNOWN = 0x02 , DHCP_STATUS_MAX }
enum | RDMStatusCode { RDM_COMPLETED_OK = 0 , RDM_WAS_BROADCAST = 1 , RDM_FAILED_TO_SEND = 2 , RDM_TIMEOUT = 3 , RDM_INVALID_RESPONSE = 4 , RDM_UNKNOWN_UID = 5 , RDM_CHECKSUM_INCORRECT = 6 , RDM_TRANSACTION_MISMATCH = 7 , RDM_SUB_DEVICE_MISMATCH = 8 , RDM_SRC_UID_MISMATCH = 9 , RDM_DEST_UID_MISMATCH = 10 , RDM_WRONG_SUB_START_CODE = 11 , RDM_PACKET_TOO_SHORT = 12 , RDM_PACKET_LENGTH_MISMATCH = 13 , RDM_PARAM_LENGTH_MISMATCH = 14 , RDM_INVALID_COMMAND_CLASS = 15 , RDM_COMMAND_CLASS_MISMATCH = 16 , RDM_INVALID_RESPONSE_TYPE = 17 , RDM_PLUGIN_DISCOVERY_NOT_SUPPORTED = 18 , RDM_DUB_RESPONSE = 19 }
| RDM Status Codes. More...
enum | rdm_response_type { RDM_ACK = 0 , RDM_ACK_TIMER = 1 , RDM_NACK_REASON = 2 }
| RDM response types.

## Functions
RDMResponse * | NackWithReason (const RDMRequest *request, rdm_nack_reason reason, uint8_t outstanding_messages=0)
| Generate a NACK response with a reason code.
RDMResponse * | GetResponseFromData (const RDMRequest *request, const uint8_t *data=NULL, unsigned int length=0, rdm_response_type type=RDM_ACK, uint8_t outstanding_messages=0)
| Generate an ACK Response with some data.
RDMResponse * | GetResponseWithPid (const RDMRequest *request, uint16_t pid, const uint8_t *data, unsigned int length, uint8_t type=RDM_ACK, uint8_t outstanding_messages=0)
| Construct an RDM response from a RDMRequest object.
RDMDiscoveryRequest * | NewDiscoveryUniqueBranchRequest (const UID &source, const UID &lower, const UID &upper, uint8_t transaction_number, uint8_t port_id=1)
| Create a new DUB request object.
RDMDiscoveryRequest * | NewMuteRequest (const UID &source, const UID &destination, uint8_t transaction_number, uint8_t port_id=1)
| Create a new Mute Request Object.
RDMDiscoveryRequest * | NewUnMuteRequest (const UID &source, const UID &destination, uint8_t transaction_number, uint8_t port_id)
string | StatusCodeToString (RDMStatusCode status)
string | DataTypeToString (uint8_t type)
string | LampModeToString (uint8_t lamp_mode)
string | LampStateToString (uint8_t lamp_state)
string | NackReasonToString (uint16_t reason)
string | PowerStateToString (uint8_t power_state)
bool | UIntToPowerState (uint8_t state, rdm_power_state *power_state)
string | PrefixToString (uint8_t prefix)
string | ProductCategoryToString (uint16_t category)
string | ProductDetailToString (uint16_t detail)
string | ResetDeviceToString (uint8_t reset_device)
bool | UIntToResetDevice (uint8_t state, rdm_reset_device_mode *reset_device)
string | SensorTypeToString (uint8_t type)
string | SensorSupportsRecordingToString (uint8_t supports_recording)
string | SlotInfoToString (uint8_t slot_type, uint16_t slot_label)
string | StatusMessageIdToString (uint16_t message_id, int16_t data1, int16_t data2)
string | StatusTypeToString (uint8_t status_type)
string | UnitToString (uint8_t unit)
template<typename T>
static bool | GenericExtractValue (const RDMRequest *request, T *output)
template<typename T>
static RDMResponse * | GenericGetIntValue (const RDMRequest *request, T value, uint8_t queued_message_count=0)
template<typename T>
static RDMResponse * | GenericSetIntValue (const RDMRequest *request, T *value, uint8_t queued_message_count=0)
| PACK (struct device_info_s { uint8_t protocol_version_high;uint8_t protocol_version_low;uint16_t device_model;uint16_t product_category;uint32_t software_version;uint16_t dmx_footprint;uint8_t current_personality;uint8_t personality_count;uint16_t dmx_start_address;uint16_t sub_device_count;uint8_t sensor_count;})
| PACK (struct slot_info_s { uint16_t slot_offset;uint8_t slot_type;uint16_t slot_label;})
| PACK (struct slot_default_s { uint16_t slot_offset;uint8_t default_value;})
| PACK (struct sensor_values_s { uint8_t sensor_number;int16_t present_value;int16_t lowest;int16_t highest;int16_t recorded;})
| PACK (struct clock_value_s { uint16_t year;uint8_t month;uint8_t day;uint8_t hour;uint8_t minute;uint8_t second;})
void | RunRDMCallback (RDMCallback *callback, RDMStatusCode status_code)
| A helper message to run a RDMCallback with the given status code.
std::string | ResponseCodeToString (RDMStatusCode status)
uint16_t | HostToNetwork (uint16_t value)
| 16-bit unsigned host to network conversion.
uint16_t | NetworkToHost (uint16_t value)
| 16-bit unsigned network to host conversion.
uint16_t | HostToNetwork (uint16_t value)
| 16-bit unsigned host to network conversion.
uint16_t | NetworkToHost (uint16_t value)
| 16-bit unsigned network to host conversion.
uint16_t | NetworkToHost (uint16_t value)
| 16-bit unsigned network to host conversion.
uint16_t | HostToNetwork (uint16_t value)
| 16-bit unsigned host to network conversion.
uint16_t | NetworkToHost (uint16_t value)
| 16-bit unsigned network to host conversion.
uint16_t | HostToNetwork (uint16_t value)
| 16-bit unsigned host to network conversion.
uint16_t | NetworkToHost (uint16_t value)
| 16-bit unsigned network to host conversion.
uint16_t | JoinUInt8 (uint8_t high, uint8_t low)
| Convert two uint8_t's to a uint16_t.
uint16_t | HostToNetwork (uint16_t value)
| 16-bit unsigned host to network conversion.
uint16_t | NetworkToHost (uint16_t value)
| 16-bit unsigned network to host conversion.
uint16_t | HostToNetwork (uint16_t value)
| 16-bit unsigned host to network conversion.
uint16_t | NetworkToHost (uint16_t value)
| 16-bit unsigned network to host conversion.
uint16_t | HostToNetwork (uint16_t value)
| 16-bit unsigned host to network conversion.
uint16_t | NetworkToHost (uint16_t value)
| 16-bit unsigned network to host conversion.
uint16_t | HostToNetwork (uint16_t value)
| 16-bit unsigned host to network conversion.
uint16_t | NetworkToHost (uint16_t value)
| 16-bit unsigned network to host conversion.
template<typename T>
_ToHex< T > | ToHex (T v, bool prefix=true)
| Convert a value to a hex string.
uint16_t | JoinUInt8 (uint8_t high, uint8_t low)
| Convert two uint8_t's to a uint16_t.
void | SplitUInt16 (uint16_t input, uint8_t *high, uint8_t *low)
| Convert a uint16_t to two uint8_t's.
void | SplitUInt16 (uint16_t input, uint8_t *high, uint8_t *low)
| Convert a uint16_t to two uint8_t's.
uint16_t | HostToNetwork (uint16_t value)
| 16-bit unsigned host to network conversion.
uint16_t | NetworkToHost (uint16_t value)
| 16-bit unsigned network to host conversion.
uint16_t | HostToNetwork (uint16_t value)
| 16-bit unsigned host to network conversion.
uint16_t | NetworkToHost (uint16_t value)
| 16-bit unsigned network to host conversion.

## Variables
const char | OLA_MANUFACTURER_LABEL [] = "Open Lighting Project"
static const uint16_t | ROOT_RDM_DEVICE = 0
static const uint16_t | ALL_RDM_SUBDEVICES = 0xffff
static const uint16_t | MAX_SUBDEVICE_NUMBER = 0x0200
static const uint8_t | MAX_RDM_STRING_LENGTH = 32
static const uint16_t | ZERO_FOOTPRINT_DMX_ADDRESS = 0xffff
static const uint8_t | MAX_QUEUED_MESSAGE_COUNT = 255
static const uint8_t | ACK_OVERFLOW = 3
static const uint16_t | PRESET_PLAYBACK_OFF = 0x0000
static const uint16_t | PRESET_PLAYBACK_ALL = 0xFFFF
static const uint8_t | ALL_SENSORS = 0xff
static const uint8_t | SENSOR_RECORDED_VALUE = 0x01
static const uint8_t | SENSOR_RECORDED_RANGE_VALUES = 0x02
static const uint8_t | SENSOR_RECORDED_UNSUPPORTED = 0x0000
static const uint8_t | SENSOR_RECORDED_RANGE_UNSUPPORTED = 0x0000
static const int16_t | SENSOR_DEFINITION_RANGE_MIN_UNDEFINED = -0x8000
static const int16_t | SENSOR_DEFINITION_RANGE_MAX_UNDEFINED = 0x7FFF
static const int16_t | SENSOR_DEFINITION_NORMAL_MIN_UNDEFINED = -0x8000
static const int16_t | SENSOR_DEFINITION_NORMAL_MAX_UNDEFINED = 0x7FFF
static const uint16_t | MAX_LOCK_PIN = 9999
static const uint16_t | IPV4_UNCONFIGURED = 0x00000000
static const uint16_t | NO_DEFAULT_ROUTE = 0x00000000
static const uint32_t | MIN_RDM_INTERFACE_INDEX = 0x00000001
static const uint32_t | MAX_RDM_INTERFACE_INDEX = 0xFFFFFF00
static const uint8_t | MAX_RDM_HOSTNAME_LENGTH = 63
static const uint8_t | MAX_RDM_DOMAIN_NAME_LENGTH = 231
static const uint8_t | DNS_NAME_SERVER_MAX_INDEX = 2
static const uint8_t | START_CODE = 0xcc
static const uint8_t | SUB_START_CODE = 0x01
static const unsigned int | CHECKSUM_LENGTH = 2

## Typedef Documentation

## ◆ rdm_response_code

typedef RDMStatusCode ola::rdm::rdm_response_code

Deprecated
  Use RDMStatusCode instead.

## ◆ RDMCallback

typedef ola::BaseCallback1<void, RDMReply*> ola::rdm::RDMCallback

The callback run when a RDM request completes.

Template Parameters

  reply | The RDMReply object. The reply object is valid for the duration of the call.

The RDMReply is not const, since some stages of the pipeline may need to rewrite the UID / Transaction Number.

For performance reasons this can be either a single use callback or a permanent callback.

## ◆ RDMDiscoveryCallback

typedef ola::BaseCallback1<void, const ola::rdm::UIDSet&> ola::rdm::RDMDiscoveryCallback

The callback run when a discovery operation completes.

Template Parameters

  UIDSet | The UIDs that were discovered.

## Enumeration Type Documentation

## ◆ ola_rdm_model_id

enum ola::rdm::ola_rdm_model_id

Also see the list here https://wiki.openlighting.org/index.php/Open_Lighting_Allocations#RDM_Model_Numbers

## ◆ rdm_ola_manufacturer_pid

enum ola::rdm::rdm_ola_manufacturer_pid

Please discuss on open-.nosp@m.ligh.nosp@m.ting@.nosp@m.goog.nosp@m.legro.nosp@m.ups..nosp@m.com before claiming additional manufacturer PIDs and update https://wiki.openlighting.org/index.php/Open_Lighting_PIDs N.B. This list may only include PIDs relevant to OLA, not other Open Lighting Project products. See ANSI E1.20 section 6.2.10.2 Parameter ID (PID) for info on assigning manufacturer PIDs, although we're not currently sticking entirely to the specification, like a number of other companies

## ◆ RDMCommandClass

enum ola::rdm::RDMCommandClass

A set of values representing CommandClasses in E1.20.

Note
  See section 6.2.10 of ANSI E1.20 for more information.

Enumerator
DISCOVER_COMMAND | Discovery Command
DISCOVER_COMMAND_RESPONSE | Discovery Response
GET_COMMAND | Get Command
GET_COMMAND_RESPONSE | Get Response
SET_COMMAND | Set Command
SET_COMMAND_RESPONSE | Set Response
INVALID_COMMAND | Invalid Command, specific to OLA

## ◆ RDMStatusCode

enum ola::rdm::RDMStatusCode

RDM Status Codes.

The status codes indicates the outcome of an RDM Request. The two most common status codes are RDM_COMPLETED_OK and RDM_WAS_BROADCAST. The other codes generally indicate some sort of failure.

## Function Documentation

## ◆ DataTypeToString()

std::string ola::rdm::DataTypeToString | ( | uint8_t | type | ) |

Convert a uint8_t representing a data type to a human-readable string.

Parameters

  type | the data type value

## ◆ JoinUInt8() [1/2]

uint16_t ola::utils::JoinUInt8 | ( | uint8_t | high,
|  | uint8_t | low )
| inline

Convert two uint8_t's to a uint16_t.

Parameters

  high | the high byte
  low | the low byte

Returns
  the combined uint16_t

## ◆ JoinUInt8() [2/2]

uint16_t ola::utils::JoinUInt8 | ( | uint8_t | high,
|  | uint8_t | low )
| inline

Convert two uint8_t's to a uint16_t.

Parameters

  high | the high byte
  low | the low byte

Returns
  the combined uint16_t

## ◆ LampModeToString()

std::string ola::rdm::LampModeToString | ( | uint8_t | lamp_mode | ) |

Convert a uint8_t representing a lamp mode to a human-readable string.

Parameters

  lamp_mode | the lamp mode value

## ◆ LampStateToString()

std::string ola::rdm::LampStateToString | ( | uint8_t | lamp_state | ) |

Convert a uint8_t representing a lamp state to a human-readable string.

Parameters

  lamp_state | the lamp state value

## ◆ NackReasonToString()

std::string ola::rdm::NackReasonToString | ( | uint16_t | reason | ) |

Convert a uint16_t representing a nack reason to a human-readable string.

Parameters

  reason | the nack reason value

## ◆ PowerStateToString()

std::string ola::rdm::PowerStateToString | ( | uint8_t | power_state | ) |

Convert a uint8_t representing a power state to a human-readable string.

Parameters

  power_state | the power state value

## ◆ PrefixToString()

std::string ola::rdm::PrefixToString | ( | uint8_t | prefix | ) |

Convert a uint8 representing a prefix to a human-readable string.

Parameters

  prefix | the prefix value

## ◆ ProductCategoryToString()

std::string ola::rdm::ProductCategoryToString | ( | uint16_t | category | ) |

Convert a uint16_t representing a product category to a human-readable string.

Parameters

  category | the product category value

## ◆ ProductDetailToString()

std::string ola::rdm::ProductDetailToString | ( | uint16_t | detail | ) |

Convert a uint16_t representing a product detail to a human-readable string.

Parameters

  detail | the product detail value.

## ◆ ResetDeviceToString()

std::string ola::rdm::ResetDeviceToString | ( | uint8_t | reset_device | ) |

Convert a uint8_t representing a reset device to a human-readable string.

Parameters

  reset_device | the reset device value

## ◆ ResponseCodeToString()

std::string ola::rdm::ResponseCodeToString | ( | RDMStatusCode | status | ) |
| inline

Deprecated
  Use StatusCodeToString instead.

## ◆ RunRDMCallback()

void ola::rdm::RunRDMCallback | ( | RDMCallback * | callback,
|  | RDMStatusCode | status_code )
| inline

A helper message to run a RDMCallback with the given status code.

Parameters

  callback | The RDMCallback to run.
  status_code | The status code to use in the RDMReply.

## ◆ SensorSupportsRecordingToString()

std::string ola::rdm::SensorSupportsRecordingToString | ( | uint8_t | supports_recording | ) |

Convert a uint8_t representing a sensor's recording support to a human-readable string.

Parameters

  supports_recording | the sensor recording support bitmask

## ◆ SensorTypeToString()

std::string ola::rdm::SensorTypeToString | ( | uint8_t | type | ) |

Convert a uint8_t representing a sensor type to a human-readable string.

Parameters

  type | the sensor type value

## ◆ SlotInfoToString()

std::string ola::rdm::SlotInfoToString | ( | uint8_t | slot_type,
|  | uint16_t | slot_label )

Convert a uint16_t representing a slot type to a human-readable string.

Parameters

  slot_type | the type of the slot.
  slot_label | the label for the slot.

## ◆ SplitUInt16() [1/2]

void ola::utils::SplitUInt16 | ( | uint16_t | input,
|  | uint8_t * | high,
|  | uint8_t * | low )
| inline

Convert a uint16_t to two uint8_t's.

Parameters

  [in] | input | the uint16_t to split
  [out] | high | the high byte
  [out] | low | the low byte

## ◆ SplitUInt16() [2/2]

void ola::utils::SplitUInt16 | ( | uint16_t | input,
|  | uint8_t * | high,
|  | uint8_t * | low )
| inline

Convert a uint16_t to two uint8_t's.

Parameters

  [in] | input | the uint16_t to split
  [out] | high | the high byte
  [out] | low | the low byte

## ◆ StatusCodeToString()

std::string ola::rdm::StatusCodeToString | ( | RDMStatusCode | status | ) |

Convert a RDMStatusCode to a string

## ◆ StatusMessageIdToString()

std::string ola::rdm::StatusMessageIdToString | ( | uint16_t | message_id,
|  | int16_t | data1,
|  | int16_t | data2 )

Convert a uint16_t representing a status message to a human-readable string.

Parameters

  message_id | the status message value
  data1 | the first data value for the message
  data2 | the second data value for the message

## ◆ StatusTypeToString()

std::string ola::rdm::StatusTypeToString | ( | uint8_t | status_type | ) |

Convert a uint8_t representing a status type to a human-readable string.

Parameters

  status_type | the status type value

## ◆ ToHex()

template<typename T>

_ToHex< T > ola::strings::ToHex | ( | T | v,
|  | bool | prefix = true )

Convert a value to a hex string.

Automatic constructor for _ToHex that deals with widths

Template Parameters

  T | the type of value to convert

Parameters

  v | the value to convert
  prefix | show the 0x prefix

Returns
  A _ToHex struct representing the value, output it to an ostream to use it.

Note
  We only currently support unsigned ints due to a lack of requirement for anything else

## ◆ UIntToPowerState()

bool ola::rdm::UIntToPowerState | ( | uint8_t | state,
|  | rdm_power_state * | power_state )

Safely convert a uint8_t to a rdm_power_state

## ◆ UIntToResetDevice()

bool ola::rdm::UIntToResetDevice | ( | uint8_t | state,
|  | rdm_reset_device_mode * | reset_device )

Safely convert a uint8_t to a rdm_reset_device_mode

## ◆ UnitToString()

std::string ola::rdm::UnitToString | ( | uint8_t | unit | ) |

Convert a uint8_t representing a unit to a human-readable string.

Parameters

  unit | the unit value