81 lines
3.2 KiB
C++
81 lines
3.2 KiB
C++
/*
|
||
E1.37-1.h.h
|
||
|
||
Copyright (c) 2021 Kevin Matz (kevin.matz@gmail.com)
|
||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||
of this software and associated documentation files (the "Software"), to deal
|
||
in the Software without restriction, including without limitation the rights
|
||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||
copies of the Software, and to permit persons to whom the Software is
|
||
furnished to do so, subject to the following conditions:
|
||
|
||
The above copyright notice and this permission notice shall be included in all
|
||
copies or substantial portions of the Software.
|
||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||
SOFTWARE.
|
||
*/
|
||
#pragma once
|
||
|
||
#include <cstdint>
|
||
|
||
/**
|
||
* \ingroup RDM
|
||
* \details ANSI E1.37-1 – 2012 (R2017)
|
||
* Additional Message Sets for ANSI E1.20 (RDM) – Part 1,
|
||
* Dimmer Message Sets
|
||
*/
|
||
namespace RDM {
|
||
|
||
using PID = uint16_t;
|
||
|
||
/// Appendix A: Defined Parameters (Normative)
|
||
|
||
/// Table A-1: RDM Parameter ID Defines
|
||
/// Category – DMX512 Setup
|
||
static const PID DMX_BLOCK_ADDRESS = 0x0140;
|
||
static const PID DMX_FAIL_MODE = 0x0141;
|
||
static const PID DMX_STARTUP_MODE = 0x0142;
|
||
/// Category – Dimmer Settings
|
||
static const PID DIMMER_INFO = 0x0340;
|
||
static const PID MINIMUM_LEVEL = 0x0341;
|
||
static const PID MAXIMUM_LEVEL = 0x0342;
|
||
static const PID CURVE = 0x0343;
|
||
static const PID CURVE_DESCRIPTION = 0x0344;
|
||
static const PID OUTPUT_RESPONSE_TIME = 0x0345;
|
||
static const PID OUTPUT_RESPONSE_TIME_DESCRIPTION = 0x0346;
|
||
static const PID MODULATION_FREQUENCY = 0x0347;
|
||
static const PID MODULATION_FREQUENCY_DESCRIPTION = 0x0348;
|
||
/// Category – Power/Lamp Settings
|
||
static const PID BURN_IN = 0x0440;
|
||
/// Category – Configuration
|
||
static const PID LOCK_PIN = 0x0640;
|
||
static const PID LOCK_STATE = 0x0641;
|
||
static const PID LOCK_STATE_DESCRIPTION = 0x0642;
|
||
/// Category – Control
|
||
static const PID IDENTIFY_MODE = 0x1040;
|
||
static const PID PRESET_INFO = 0x1041;
|
||
static const PID PRESET_STATUS = 0x1042;
|
||
static const PID PRESET_MERGEMODE = 0x1043;
|
||
static const PID POWER_ON_SELF_TEST = 0x1044;
|
||
|
||
/// Preset Programmed Defines
|
||
static const uint8_t PRESET_NOT_PROGRAMMED = 0x00;
|
||
static const uint8_t PRESET_PROGRAMMED = 0x01;
|
||
static const uint8_t PRESET_PROGRAMMED_READ_ONLY = 0x02;
|
||
|
||
/// Merge Mode Defines
|
||
static const uint8_t MERGEMODE_DEFAULT = 0x00;
|
||
static const uint8_t MERGEMODE_HTP = 0x01;
|
||
static const uint8_t MERGEMODE_LTP = 0x02;
|
||
static const uint8_t MERGEMODE_DMX_ONLY = 0x03;
|
||
static const uint8_t MERGEMODE_OTHER = 0xFF;
|
||
|
||
} // namespace RDM
|