#pragma once // Standard control commands (IEC 62386 command set) #define DALI_CMD_OFF 0x00 #define DALI_CMD_RECALL_MAX 0x05 #define DALI_CMD_RECALL_MAX_LEVEL DALI_CMD_RECALL_MAX #define DALI_CMD_RECALL_MIN 0x06 #define DALI_CMD_RECALL_MIN_LEVEL DALI_CMD_RECALL_MIN #define DALI_CMD_RESET 0x20 #define DALI_CMD_STORE_ACTUAL_LEVEL_IN_THE_DTR 0x21 #define DALI_CMD_STORE_THE_DTR_AS_MAX_LEVEL 0x2A #define DALI_CMD_STORE_THE_DTR_AS_MIN_LEVEL 0x2B #define DALI_CMD_STORE_THE_DTR_AS_SYS_FAIL_LEVEL 0x2C #define DALI_CMD_STORE_THE_DTR_AS_PWR_ON_LEVEL 0x2D #define DALI_CMD_STORE_THE_DTR_AS_FADE_TIME 0x2E #define DALI_CMD_STORE_THE_DTR_AS_FADE_RATE 0x2F #define DALI_CMD_STORE_DTR_AS_SHORT_ADDRESS 0x80 #define DALI_CMD_STOP_FADE 0xFF // Indexed command ranges #define DALI_CMD_GO_TO_SCENE(scene) (0x10 + (scene)) #define DALI_CMD_SET_SCENE(scene) (0x40 + (scene)) #define DALI_CMD_REMOVE_SCENE(scene) (0x50 + (scene)) #define DALI_CMD_ADD_TO_GROUP(group) (0x60 + (group)) #define DALI_CMD_REMOVE_FROM_GROUP(group) (0x70 + (group)) #define DALI_CMD_QUERY_SCENE_LEVEL(scene) (0xB0 + (scene)) // Command range boundaries used by decoders #define DALI_CMD_GO_TO_SCENE_MIN DALI_CMD_GO_TO_SCENE(0) #define DALI_CMD_GO_TO_SCENE_MAX DALI_CMD_GO_TO_SCENE(15) #define DALI_CMD_SET_SCENE_MIN DALI_CMD_SET_SCENE(0) #define DALI_CMD_SET_SCENE_MAX DALI_CMD_SET_SCENE(15) #define DALI_CMD_ADD_TO_GROUP_MIN DALI_CMD_ADD_TO_GROUP(0) #define DALI_CMD_ADD_TO_GROUP_MAX DALI_CMD_ADD_TO_GROUP(15) #define DALI_CMD_REMOVE_FROM_GROUP_MIN DALI_CMD_REMOVE_FROM_GROUP(0) #define DALI_CMD_REMOVE_FROM_GROUP_MAX DALI_CMD_REMOVE_FROM_GROUP(15) #define DALI_CMD_QUERY_SCENE_LEVEL_MIN DALI_CMD_QUERY_SCENE_LEVEL(0) #define DALI_CMD_QUERY_SCENE_LEVEL_MAX DALI_CMD_QUERY_SCENE_LEVEL(15) #define DALI_CMD_SPECIAL_RANGE_MIN DALI_CMD_QUERY_STATUS #define DALI_CMD_SPECIAL_RANGE_MAX DALI_CMD_DT8_QUERY_ASSIGNED_COLOR // Query commands #define DALI_CMD_QUERY_STATUS 0x90 #define DALI_CMD_QUERY_BALLAST 0x91 #define DALI_CMD_QUERY_LAMP_FAILURE 0x92 #define DALI_CMD_QUERY_LAMP_POWER_ON 0x93 #define DALI_CMD_QUERY_LIMIT_ERROR 0x94 #define DALI_CMD_QUERY_RESET_STATE 0x95 #define DALI_CMD_QUERY_MISSING_SHORT_ADDRESS 0x96 #define DALI_CMD_QUERY_VERSION_NUMBER 0x97 #define DALI_CMD_QUERY_CONTENT_DTR 0x98 #define DALI_CMD_QUERY_DEVICE_TYPE 0x99 #define DALI_CMD_QUERY_PHYSICAL_MINIMUM_LEVEL 0x9A #define DALI_CMD_QUERY_POWER_FAILURE 0x9B #define DALI_CMD_QUERY_CONTENT_DTR1 0x9C #define DALI_CMD_QUERY_CONTENT_DTR2 0x9D #define DALI_CMD_QUERY_OPERATING_MODE 0x9E #define DALI_CMD_QUERY_LIGHT_SOURCE_TYPE 0x9F #define DALI_CMD_QUERY_ACTUAL_LEVEL 0xA0 #define DALI_CMD_QUERY_MAX_LEVEL 0xA1 #define DALI_CMD_QUERY_MIN_LEVEL 0xA2 #define DALI_CMD_QUERY_POWER_ON_LEVEL 0xA3 #define DALI_CMD_QUERY_SYSTEM_FAILURE_LEVEL 0xA4 #define DALI_CMD_QUERY_FADE_TIME_FADE_RATE 0xA5 #define DALI_CMD_QUERY_MANUFACTURER_SPECIFIC_MODE 0xA6 #define DALI_CMD_QUERY_NEXT_DEVICE_TYPE 0xA7 #define DALI_CMD_QUERY_EXTENDED_FADE_TIME 0xA8 #define DALI_CMD_QUERY_CONTROL_GEAR_FAILURE 0xAA #define DALI_CMD_QUERY_GROUPS_0_7 0xC0 #define DALI_CMD_QUERY_GROUP_8_15 0xC1 #define DALI_CMD_QUERY_RANDOM_ADDRESS_H 0xC2 #define DALI_CMD_QUERY_RANDOM_ADDRESS_M 0xC3 #define DALI_CMD_QUERY_RANDOM_ADDRESS_L 0xC4 #define DALI_CMD_READ_MEMORY_LOCATION 0xC5 // Special/programming commands #define DALI_CMD_SPECIAL_TERMINATE 0xA1 #define DALI_CMD_SPECIAL_SET_DTR0 0xA3 #define DALI_CMD_SPECIAL_INITIALIZE 0xA5 #define DALI_CMD_SPECIAL_RANDOMIZE 0xA7 #define DALI_CMD_SPECIAL_COMPARE 0xA9 #define DALI_CMD_SPECIAL_WITHDRAW 0xAB #define DALI_CMD_SPECIAL_CANCEL 0xAD #define DALI_CMD_SPECIAL_SEARCHADDRH 0xB1 #define DALI_CMD_SPECIAL_SEARCHADDRM 0xB3 #define DALI_CMD_SPECIAL_SEARCHADDRL 0xB5 #define DALI_CMD_SPECIAL_PROGRAM_SHORT_ADDRESS 0xB7 #define DALI_CMD_SPECIAL_VERIFY_SHORT_ADDRESS 0xB9 #define DALI_CMD_SPECIAL_QUERY_SHORT_ADDRESS 0xBB #define DALI_CMD_SPECIAL_PHYSICAL_SELECTION 0xBD #define DALI_CMD_SPECIAL_DT_SELECT 0xC1 #define DALI_CMD_SPECIAL_SET_DTR_1 0xC3 #define DALI_CMD_SPECIAL_SET_DTR_2 0xC5 // DT8 commands and queries #define DALI_CMD_DT8_STORE_DTR_AS_COLORX 0xE0 #define DALI_CMD_DT8_STORE_DTR_AS_COLORY 0xE1 #define DALI_CMD_DT8_ACTIVATE 0xE2 #define DALI_CMD_DT8_STEP_UP_X_COORDINATE 0xE3 #define DALI_CMD_DT8_STEP_DOWN_X_COORDINATE 0xE4 #define DALI_CMD_DT8_STEP_UP_Y_COORDINATE 0xE5 #define DALI_CMD_DT8_STEP_DOWN_Y_COORDINATE 0xE6 #define DALI_CMD_DT8_SET_COLOR_TEMPERATURE 0xE7 #define DALI_CMD_DT8_STEP_UP_COLOR_TEMPERATURE 0xE8 #define DALI_CMD_DT8_STEP_DOWN_COLOR_TEMPERATURE 0xE9 #define DALI_CMD_DT8_SET_TEMPORARY_PRIMARY_DIM_LEVEL 0xEA #define DALI_CMD_DT8_SET_TEMPORARY_RGB_DIM_LEVELS 0xEB #define DALI_CMD_DT8_SET_TEMPORARY_WAF_DIM_LEVELS 0xEC #define DALI_CMD_DT8_SET_TEMPORARY_RGBWAF_CONTROL 0xED #define DALI_CMD_DT8_COPY_REPORT_TO_TEMPORARY 0xEE #define DALI_CMD_DT8_STORE_PRIMARY_N_TY 0xF0 #define DALI_CMD_DT8_STORE_PRIMARY_N_XY 0xF1 #define DALI_CMD_DT8_STORE_COLOR_TEMPERATURE_LIMIT 0xF2 #define DALI_CMD_DT8_SET_GEAR_FEATURES 0xF3 #define DALI_CMD_DT8_ASSIGN_COLOR_TO_LINKED_CHANNEL 0xF5 #define DALI_CMD_DT8_START_AUTO_CALIBRATION 0xF6 #define DALI_CMD_DT8_QUERY_GEAR_FEATURES_STATUS 0xF7 #define DALI_CMD_QUERY_COLOR_STATUS 0xF8 #define DALI_CMD_QUERY_COLOR_TYPE 0xF9 #define DALI_CMD_QUERY_COLOR_VALUE 0xFA #define DALI_CMD_DT8_QUERY_RGBWAF_CONTROL 0xFB #define DALI_CMD_DT8_QUERY_ASSIGNED_COLOR 0xFC #define DALI_CMD_DT8_QUERY_EXTENDED_VERSION 0xFF // DT1 commands and queries #define DALI_CMD_DT1_REST 0xE0 #define DALI_CMD_DT1_INHIBIT 0xE1 #define DALI_CMD_DT1_RE_LIGHT_RESET_INHIBIT 0xE2 #define DALI_CMD_DT1_START_FUNCTION_TEST 0xE3 #define DALI_CMD_DT1_START_DURATION_TEST 0xE4 #define DALI_CMD_DT1_STOP_TEST 0xE5 #define DALI_CMD_DT1_RESET_FUNCTION_TEST_DONE_FLAG 0xE6 #define DALI_CMD_DT1_RESET_DURATION_TEST_DONE_FLAG 0xE7 #define DALI_CMD_DT1_RESET_LAMP_TIME 0xE8 #define DALI_CMD_DT1_STORE_DTR_AS_EMERGENCY_LEVEL 0xE9 #define DALI_CMD_DT1_STORE_DTR_AS_DELAY_TIME_HIGH 0xEA #define DALI_CMD_DT1_STORE_DTR_AS_DELAY_TIME_LOW 0xEB #define DALI_CMD_DT1_STORE_DTR_AS_PROLONG_TIME 0xEC #define DALI_CMD_DT1_STORE_DTR_AS_RATED_DURATION 0xED #define DALI_CMD_DT1_STORE_DTR_AS_EMERGENCY_MIN_LEVEL 0xEE #define DALI_CMD_DT1_STORE_DTR_AS_EMERGENCY_MAX_LEVEL 0xEF #define DALI_CMD_DT1_START_IDENTIFICATION 0xF0 #define DALI_CMD_DT1_QUERY_EMERGENCY_LEVEL 0xF1 #define DALI_CMD_DT1_QUERY_EMERGENCY_MIN_LEVEL 0xF2 #define DALI_CMD_DT1_QUERY_EMERGENCY_MAX_LEVEL 0xF3 #define DALI_CMD_DT1_QUERY_PROLONG_TIME 0xF4 #define DALI_CMD_DT1_QUERY_FUNCTION_TEST_INTERVAL 0xF5 #define DALI_CMD_DT1_QUERY_DURATION_TEST_INTERVAL 0xF6 #define DALI_CMD_DT1_QUERY_DURATION_TEST_RESULT 0xF7 #define DALI_CMD_DT1_QUERY_LAMP_EMERGENCY_TIME 0xF8 #define DALI_CMD_DT1_QUERY_RATED_DURATION 0xF9 #define DALI_CMD_DT1_QUERY_EMERGENCY_MODE 0xFA #define DALI_CMD_DT1_QUERY_FEATURE 0xFB #define DALI_CMD_DT1_QUERY_FAILURE_STATUS 0xFC #define DALI_CMD_DT1_QUERY_STATUS 0xFD #define DALI_CMD_DT1_PERFORM_DTR_SELECTED_FUNCTION 0xFE #define DALI_CMD_DT1_QUERY_EXTENDED_VERSION 0xFF