Open Lighting Architecture
0.9.3
|
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 |
class | DiscoveryAgent |
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 commands inherit from. More... | |
class | RDMRequest |
RDM Commands that represent requests (GET, SET or DISCOVER). More... | |
class | RDMGetSetRequest |
The parent class for GET/SET requests. More... | |
class | BaseRDMRequest |
class | RDMResponse |
The set of RDM Commands that represent 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 |
class | DiscoverableRDMControllerAdaptor |
class | RDMControllerInterface |
class | DiscoverableRDMControllerInterface |
class | RDMMessagePrinter |
class | ProxiedDevicesPrinter |
class | StatusMessagePrinter |
class | SupportedParamsPrinter |
class | DeviceInfoPrinter |
class | LabelPrinter |
class | ProductIdPrinter |
class | LanguageCapabilityPrinter |
class | ClockPrinter |
class | SlotInfoPrinter |
class | SensorDefinitionPrinter |
struct | RDMCommandHeader |
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... |
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::BaseCallback3 < void, rdm_response_code, const RDMResponse *, const std::vector< std::string > & > | RDMCallback |
typedef ola::BaseCallback1 < void, const ola::rdm::UIDSet & > | RDMDiscoveryCallback |
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_message_type { RDM_REQUEST, RDM_RESPONSE, RDM_INVALID } |
An OLA specific enum that allows us to tell if a command is a request or a response. See RDMCommandClass for more information. More... | |
enum | rdm_protocol_version { RDM_VERSION_1_0 = 0x100 } |
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_FEMPTO = 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_TERRA = 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 = 0x0011 } |
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_CONVERTOR = 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 } |
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 } |
Functions | |
bool | GuessMessageType (rdm_message_type *type_arg, RDMCommand::RDMCommandClass *command_class_arg, const uint8_t *data, unsigned int length) |
Guess the type of an RDM message. | |
RDMResponse * | NackWithReason (const RDMRequest *request, rdm_nack_reason reason_enum, uint8_t outstanding_messages) |
RDMResponse * | GetResponseFromData (const RDMRequest *request, const uint8_t *data, unsigned int length, rdm_response_type type, uint8_t outstanding_messages) |
RDMResponse * | GetResponseWithPid (const RDMRequest *request, uint16_t pid, const uint8_t *data, unsigned int length, uint8_t type, uint8_t outstanding_messages) |
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 | ResponseCodeToString (rdm_response_code 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 const RDMResponse * | GenericGetIntValue (const RDMRequest *request, T value, uint8_t queued_message_count=0) |
template<typename T > | |
static const 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;}) |
typedef ola::BaseCallback3<void, rdm_response_code, const RDMResponse*, const std::vector<std::string>&> ola::rdm::RDMCallback |
This is the type of callback that is run when a request completes or fails. For performance reasons we can take either a single use callback or a permanent callback.
rdm_response_code | the status code for the response |
RDMResponse | a pointer to the response object |
vector<string> | a list of strings that contain the raw response messages (if the device supports this, some don't). |
typedef ola::BaseCallback1<void, const ola::rdm::UIDSet&> ola::rdm::RDMDiscoveryCallback |
This is the callback used when discovery completes.
Also see the list here http://www.opendmx.net/index.php/Open_Lighting_Allocations#RDM_Model_Numbers
Please discuss on open- before claiming additional manufacturer PIDs and update ligh ting@ goog legro ups. comhttp://opendmx.net/index.php/Open_Lighting_PIDs 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
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 |
std::string ola::rdm::ResponseCodeToString | ( | rdm_response_code | status | ) |
Convert a rdm_response_code to a string
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::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 |