Open Lighting Architecture
Latest Git
|
ESTA E1.20 Remote Device Management.
Classes | |
class | AckTimerResponder |
class | AdvancedDimmerResponder |
class | BaseRDMRequest |
class | BaseRDMResponse |
class | BasicSetting |
A Setting which has a description and no other properties. More... | |
class | ClockPrinter |
class | CommandPrinter |
class | DescriptorConsistencyChecker |
class | DeviceInfoPrinter |
struct | DimmerInfoDescriptor |
struct | DimmerMinimumDescriptor |
class | DimmerResponder |
class | DimmerRootDevice |
class | DimmerSubDevice |
class | DiscoverableQueueingRDMController |
class | DiscoverableRDMControllerAdaptor |
class | DiscoverableRDMControllerInterface |
The interface that can send RDM commands, as well as perform discovery operations. More... | |
class | DiscoveryAgent |
An asynchronous RDM Discovery algorithm. More... | |
class | DiscoveryTargetInterface |
The interface used by the DiscoveryTarget to send RDM commands. More... | |
class | DummyResponder |
class | FakeNetworkManager |
An implementation of NetworkManagerInterface which simulates a network configuration. More... | |
class | FakeSensor |
class | FrequencyModulationSetting |
A PWM Frequency Setting. See Section 4.10 of E1.37-1. More... | |
class | GroupSizeCalculator |
class | LabelPrinter |
class | LanguageCapabilityPrinter |
class | LoadSensor |
class | MessageDeserializer |
class | MessageSerializer |
class | MovingLightResponder |
class | NetworkManager |
A NetworkManager which reflects the actual host network configuration. More... | |
class | NetworkManagerInterface |
Gets global network information. More... | |
class | NetworkResponder |
struct | ParameterDescriptor |
class | Personality |
class | PersonalityCollection |
class | PersonalityManager |
class | PidDescriptor |
class | PidStore |
Holds the PidDescriptors for a single manufacturer. More... | |
class | PidStoreHelper |
class | PidStoreLoader |
class | ProductIdPrinter |
class | ProxiedDevicesPrinter |
class | QueuedMessageHandler |
class | QueuedResponse |
class | QueueingRDMController |
class | RDMAPI |
class | RDMAPIImplInterface |
This is the interface for an RDMAPI implementation. More... | |
class | RDMCommand |
The base class that all RDM requests & responses inherit from. More... | |
struct | RDMCommandHeader |
class | RDMCommandSerializer |
Serializes RDMCommands. More... | |
class | RDMControllerInterface |
The interface that can send RDMRequest. More... | |
class | RDMDiscoveryRequest |
An RDM request of type DISCOVER_COMMAND. More... | |
class | RDMDiscoveryResponse |
An RDM response of type DISCOVER_COMMAND. More... | |
class | RDMFrame |
The raw data for a RDM message and its associated timing information. More... | |
class | RDMGetSetRequest |
An RDM Get / Set Request. More... | |
class | RDMGetSetResponse |
The base class for GET/SET responses. More... | |
class | RDMMessagePrinter |
struct | RDMReply |
Holds the final state of an RDM request. More... | |
class | RDMRequest |
RDM Commands that represent requests (GET, SET or DISCOVER). More... | |
class | RDMResponse |
An RDM Command that represents responses (GET, SET or DISCOVER). More... | |
class | ResponderHelper |
class | ResponderOps |
A class which dispatches RDM requests to registered PID handlers. More... | |
class | ResponseStatus |
Represents the state of a response and/or any error codes. More... | |
class | RootPidStore |
The root of the RDM parameter descriptor store. More... | |
class | Sensor |
Holds information about a single sensor. More... | |
class | SensorDefinitionPrinter |
struct | SensorDescriptor |
class | SensorResponder |
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 | SettingInterface |
The base class all Settings inherit from. More... | |
class | SettingManager |
class | SlotData |
Holds information about a single DMX slot. More... | |
class | SlotDataCollection |
Holds information about a set of slots. More... | |
class | SlotInfoPrinter |
class | StaticGroupTokenCalculator |
struct | StatusMessage |
class | StatusMessagePrinter |
class | StringMessageBuilder |
class | SubDeviceDispatcher |
class | SupportedParamsPrinter |
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 | VariableFieldSizeCalculator |
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. More... | |
typedef ola::BaseCallback1< void, const ola::rdm::UIDSet & > | RDMDiscoveryCallback |
The callback run when a discovery operation completes. More... | |
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. More... | |
std::string | ResponseCodeToString (RDMStatusCode status) |
typedef ola::BaseCallback1<void, RDMReply*> ola::rdm::RDMCallback |
The callback run when a RDM request completes.
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.
typedef ola::BaseCallback1<void, const ola::rdm::UIDSet&> ola::rdm::RDMDiscoveryCallback |
The callback run when a discovery operation completes.
UIDSet | The UIDs that were discovered. |
Also see the list here https://wiki.openlighting.org/index.php/Open_Lighting_Allocations#RDM_Model_Numbers
Please discuss on open- before claiming additional manufacturer PIDs and update ligh ting@ goog legro ups. comhttps://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
A set of values representing CommandClasses in E1.20.
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.
std::string ola::rdm::DataTypeToString | ( | uint8_t | type | ) |
Convert a uint8_t representing a data type to a human-readable string.
type | the data type value |
std::string ola::rdm::LampModeToString | ( | uint8_t | lamp_mode | ) |
Convert a uint8_t representing a lamp mode to a human-readable string.
lamp_mode | the lamp mode value |
std::string ola::rdm::LampStateToString | ( | uint8_t | lamp_state | ) |
Convert a uint8_t representing a lamp state to a human-readable string.
lamp_state | the lamp state value |
std::string ola::rdm::NackReasonToString | ( | uint16_t | reason | ) |
Convert a uint16_t representing a nack reason to a human-readable string.
reason | the nack reason value |
std::string ola::rdm::PowerStateToString | ( | uint8_t | power_state | ) |
Convert a uint8_t representing a power state to a human-readable string.
power_state | the power state value |
std::string ola::rdm::PrefixToString | ( | uint8_t | prefix | ) |
Convert a uint8 representing a prefix to a human-readable string.
prefix | the prefix value |
std::string ola::rdm::ProductCategoryToString | ( | uint16_t | category | ) |
Convert a uint16_t representing a product category to a human-readable string.
category | the product category value |
std::string ola::rdm::ProductDetailToString | ( | uint16_t | detail | ) |
Convert a uint16_t representing a product detail to a human-readable string.
detail | the product detail value. |
std::string ola::rdm::ResetDeviceToString | ( | uint8_t | reset_device | ) |
Convert a uint8_t representing a reset device to a human-readable string.
reset_device | the reset device value |
|
inline |
|
inline |
A helper message to run a RDMCallback with the given status code.
callback | The RDMCallback to run. |
status_code | The status code to use in the RDMReply. |
std::string ola::rdm::SensorSupportsRecordingToString | ( | uint8_t | supports_recording | ) |
Convert a uint8_t representing a sensor's recording support to a human-readable string.
supports_recording | the sensor recording support bitmask |
std::string ola::rdm::SensorTypeToString | ( | uint8_t | type | ) |
Convert a uint8_t representing a sensor type to a human-readable string.
type | the sensor type value |
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.
slot_type | the type of the slot. |
slot_label | the label for the slot. |
std::string ola::rdm::StatusCodeToString | ( | RDMStatusCode | status | ) |
Convert a RDMStatusCode to a string
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.
message_id | the status message value |
data1 | the first data value for the message |
data2 | the second data value for the message |
std::string ola::rdm::StatusTypeToString | ( | uint8_t | status_type | ) |
Convert a uint8_t representing a status type to a human-readable string.
status_type | the status type value |
bool ola::rdm::UIntToPowerState | ( | uint8_t | state, |
rdm_power_state * | power_state | ||
) |
Safely convert a uint8_t to a rdm_power_state
bool ola::rdm::UIntToResetDevice | ( | uint8_t | state, |
rdm_reset_device_mode * | reset_device | ||
) |
Safely convert a uint8_t to a rdm_reset_device_mode
std::string ola::rdm::UnitToString | ( | uint8_t | unit | ) |
Convert a uint8_t representing a unit to a human-readable string.
unit | the unit value |