Created
February 23, 2023 07:43
Revisions
-
shinyquagsire23 created this gist
Feb 23, 2023 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,681 @@ DDC/CI Command Codes (antiquated MStar function, not real): ------ 0xCC, 0xF1, 0xF0 - LG special? Only CC actually used. 3 1 0xC6 0xC8 0xF3 0xF5 0xB1 0xCC cmds (incomplete): ----- 0x20 0x21 0x30 0x31 0x34 0x35 0x37 0x38 0x3a - Returns a version number "1.1.5" 0x3b 0x3c 0x8e 0x8f 0x90 0xa7 0xa8 0xa9 0xf1 - Returns 0x89abcdef VCP List: ----- 0x2 -> 0x4 -> 0x5 -> 0x6, 0x1E, 0x20, 0x30, 0x3E, 0xE5 -> 0x8 -> 0xc -> color temp 0x10 -> brightness 0x12 -> ? 0x14 -> 0x15 -> 0x16, 0x18, 0x18 -> 0x1b -> idk 0x50 -> reads eeprom idk 0x52 -> sets some value, scratchpad/debug? 0x60 - current monitor input, setting 0 resets? 0x62 -> sets volume with UI indicator 0x64 -> eMCCS_OPCODE_AUDIO_MICROPHONE_VOLUME 0x6c, 0x6E, 0x70 -> RGB adjust 0x8d -> eMCCS_OPCODE_AUDIO_MUTE mute vs unmute, 0 brings up the overlay, 1 mutes, 2 unmutes 0xa1 -> eMCCS_OPCODE_GET_MONITOR_ID_EXTENDED monitor extend id 0xaf -> eMCCS_OPCODE_MONITOR_MODEL_NAME returns some serial, "28MQ780-V32S" 0xb6 -> eMCCS_OPCODE_MISC_DISPLAY_TECHNOLOGY_TYPE 0xc0 -> eMCCS_OPCODE_DISPLAY_DISPLY_USAGE_TIME 0xc1 -> also returns brightness? 0xc6 -> ? 0xc8 -> ? 0xc9 -> eMCCS_OPCODE_DISPLAY_DISPLY_FIRMWARE_LEVEL returns FF FF 03 03? Scaler version (from NXP) 0xca -> button control status 0xCC -> language 0xcf -> reads eeprom? 0xd0 -> "eMCCS_OPCODE_MISC_OUTPUT_SELECT" no-op 0xd6 -> eMCCS_OPCODE_DISPLAY_POWER_MODE VCP_PowerMode -- setting 5 turns off the display. 0xd7 - 0 when pdp on, 1 when off -- setting 0xd7 to 1 exits PBP, 0x5 and 0x3 are vertical side by side 0xe0 -> picture presets eMCCS_OPCODE_EYE_FINE_WINDOW 0xe2 - eMCCS_OPCODE_HDR_VALUE 0xe3 -> factory mode related 0xe4 -> subcommands: "eMCCS_OPCODE_MANUFACTURER_CALIBATION_COMMAND" 0x02 -> toggle OSD lock 0x03 -> ? 0x04 -> ? 0x05 -> n/a 0x06 -> toggles... brightness? 0x07 -> also brightness 0x08 -> calibration settings? 0xe6 -> eMCCS_OPCODE_MANUFACTURER_WRITE_GAMMA_LUT ---- in NXP fw, TCP on/off? 0xe7 -> eMCCS_OPCODE_MANUFACTURER_WRITE_COLOR_MATRIX 0xe8 -> vals 0-12, one blacks out only the main monitor? 0xea -> calib related, flood fills colors 0xeb -> OSD lock 0xec -> eMCCS_OPCODE_SMARTRESOLUTION 0xed -> eMCCS_OPCODE_MANUFACTURER_PIPMODE_OPCODE 0xee -> "eMCCS_OPCODE_SCREENSPLIT_OSD_MENU", no-op 0xef -> monitor id? 0xF2 -> screen lock? 0xf4 -> eMCCS_OPCODE_MANUFACTURER_GET_RATIO_LIST 0xf5 -> eMCCS_OPCODE_MANUFACTURER_RATIO_VALUE 0xf6 -> eMCCS_OPCODE_MANUFACTURER_SES 0xf7 -> eMCCS_OPCODE_MANUFACTURER_RESPONSE_TIME 0xf8 -> eMCCS_OPCODE_MANUFACTURER_FREE_SYNC 0xf9 -> image related, eMCCS_OPCODE_MANUFACTURER_BLACK_STABILIZER 0xfa -> eMCCS_OPCODE_MANUFACTURER_MOTION_BLUR 0xfb -> also reads eeprom 0xfc -> eMCCS_OPCODE_MANUFACTURER_FENGINE_MODE_SELECT 0xfd -> eMCCS_OPCODE_MANUFACTURER_POWER_LAMP_INDICATOR 0xfe -> eMCCS_OPCODE_MANUFACTURER_IMAGE_GAMMA_PRESET 0x50 DDC2AB: ------- 0x10 - backlight 0x12 - also backlight? 0x16 - R GAIN 0x18 - G GAIN 0x1A - B GAIN 0x1C - 0x40 - 0x41 - max 100 0x42 - returns 0 1 or 2 0x43 - ? 0x44 - ? 0x45 - no-op 0x46 - ? 0x47 - ? 0x68 - no-op (language select?) 0x69 - no-op 0x75 - ? 0x76 - 0x77 - "EDID SN UPDATE" 0x78 - serial number (from NXP fw) 0x79 - ? 0xa7 - ? 0xa8 - ? 0xa9 - ? 0xb0 - ? 0xB2 - "Peak luminance" 0xc0 - 0xc1 - 0xc2 - 0xc7 - fans? from NXP 0xc8 - some version? "PID"? from NXP fw 0xc9 - Scalar FW version? 0xca - Model number (from NXP) 0xcb - GoshenRidgeFirmwareVersion? 0xcd - disables UI loop 0xcf - ScalerFirmwareCurrentResourceVersion (no-op) 0xd0 - sets some value, same func as 0xd2, 0xd4, ... 0xd1 - returns some value, same func as 0xd3, 0xd5, ... 0xd2 - sets some value, same func as 0xd2, 0xd4, ... 0xd3 - returns some value, same func as 0xd3, 0xd5, ... 0xd4 - sets some value, same func as 0xd2, 0xd4, ... 0xd5 - returns some value, same func as 0xd3, 0xd5, ... 0xd6 - sets some value, same func as 0xd2, 0xd4, ... 0xd7 - returns some value, same func as 0xd3, 0xd5, ... 0xd8 - sets some value, same func as 0xd2, 0xd4, ... 0xd9 - returns some value, same func as 0xd3, 0xd5, ... 0xda - sets some value, same func as 0xd2, 0xd4, ... 0xdb - returns some value, same func as 0xd3, 0xd5, ... 0xdc - sets some value, same func as 0xd2, 0xd4, ... 0xdd - returns some value, same func as 0xd3, 0xd5, ... 0xde - sets some value, same func as 0xd2, 0xd4, ... 0xdf - returns some value, same func as 0xd3, 0xd5, ... --- scratchpad? unused. 0xe3 - no-op 0xe4 - "EEPROM ALL INITIAL" 0xe6 - ? 0xe7 - not eeprom? 0xe8 - not eeprom? 0xE9 - elapsed time clear 0xEB - ? 0xed - no-op 0xEF - ? 0xf0 - factory reset 0xF1 - AUTO_COLOR_ADJUST (no-op) 0xF2 - COLOR_MODE_CHANGE 01 warm 02 cool 0xF3 - aging on/off 0xf4 - Input switch 0x90 (HDMI1) 0xD0 (DP) 0xD2 (USB-C) 0xf5 - system reset (reset monitor) 0xf6 - ? 0xf7 - "APD command" (no-op) 0xf8 - probably eeprom read 0xf9 - probably eeprom write 0xfb - available ISP area? Garbage: 0x5a - other pbp input? 0x55 - 0 when pdp on, 1 when off -- switching the bottom PDP from HDMI 1 to 2 => 0x1 -> 0x16 0xf5 - one pbp input -- 2 when usb c is at the top, 1 when at the bottom -- setting 0 when pdp off resets? -- setting 0xf when pdp on only resets top screen? FIRMWARE UPDATE JUNK ---------------------------------------------------------------------------- ISP Mode Device 0x53: ------ ISP Mode Device 0x59 (I2C_IO_EXPANDER_ADDR): ------ MST_EnterIspMode: MST_EnterSerialDbg_ConfigGPIOreg() MST_EnterSerialDbg_pausingR2() Send to 0x49: ("MSTAR") Send to 0x49: (10 05) Send to 0x49: (11) read 11 Send to 0x49: (12) Send to 0x49: (10 9f) Send to 0x49: (11) read 3 Send to 0x49: (12) Send to 0x49: (10 05) Send to 0x49: (11) read 3 ... send: 02 07 f4 02 0f 99 32 32 00 22 ff 02 05 5c 8f 38 8d 39 22 02 0a 4d e4 ff fe 22 ff 02 0e 7e 12 94 # see: https://www.mouser.com/datasheet/2/870/gd25q127c_v2.3_20200220-1634067.pdf BlockWriteCheck: Send to 0x49: (10 02 hh mm ll) ex (10 02 80 10 00) send 0x100 bytes Send to 0x49: (12) read 32 Send to 0x49: (12) BlockVerifyCheck: Send to 0x49: (10 03 hh mm ll) Send to 0x49: (11) read 32 Send to 0x49: (12) MST_EnterSerialDbg_ConfigGPIOreg: Enter_SerialDebugMode ("SERDB", 0x53 = 'S') Enter_SingleStepMode (10 c0 c1 53, 10 1F C1 53) MST_i2cCh0Config: 80, 82, 84, 51, 7F, 37, 61 MST_IicBusCtrl: 35, 71, read 1 MST_DbgReadScalerReg(4, 0x26) 10 04 26 MST_DbgReadScalerReg(4, 0x28) 10 04 28 Exit_SerialDebugMode (34, 45) MST_EnterSerialDbg_pausingR2: Enter_SingleStepMode (10 c0 c1 53, 10 1F C1 53) MST_i2cCh4Config: 80, 82, 85, 53, 7F MST_IicBusCtrl: 35, 71 ?: 10 00 10 0F D7 ?: 10 00 10 0F D7 read 11? MST_DbgReadScalerReg(aa, bb): ?: 10 aa bb read 1 byte ret 0x10 - Enter_SingleStepMode (10 c0 c1 53, 10 1F C1 53) 0x10 - Exit_SingleStepMode (10 c0 c1 FF, 10 1F C1 FF) 0x45 - exit ISP mode 0x53 - Enter_SerialDebugMode ("SERDB", 0x53 = 'S') 0x80 - ? 0x82 - ? 0x84 - ? 0x51 - ? 0x7F - ? 0x37 - ? 0x61 - ? From LG's .NET app: ------------------------------------------------------------------------ eMCCS_OPCODE_MISC_DEGAUSS = 1, eMCCS_OPCODE_MISC_NEW_CONTROL_VALUE = 2, eMCCS_OPCODE_MISC_SOFT_CONTROL_VALUE = 3, eMCCS_OPCODE_PRESET_RESTORE_FACTORY_DEFAULT = 4, eMCCS_OPCODE_PRESET_RESTORE_FACTORY_LUMINANCE_DEFAULT = 5, eMCCS_OPCODE_PRESET_RESTORE_FACTORY_GEOMETRY_DEFAULT = 6, eMCCS_OPCODE_PRESET_RESTORE_FACTORY_COLOR_DEFAULT = 8, eMCCS_OPCODE_PRESET_RESTORE_FACTORY_TV_DEFAULT = 10, // 0x0000000A eMCCS_OPCODE_IMAGE_COLOR_TEMPARATURE_INCREMENT = 11, // 0x0000000B eMCCS_OPCODE_IMAGE_COLOR_TEMPARATURE_REQUEST = 12, // 0x0000000C eMCCS_OPCODE_IMAGE_CLOCK = 14, // 0x0000000E eMCCS_OPCODE_IMAGE_LUMINANCE = 16, // 0x00000010 eMCCS_OPCODE_IMAGE_FLESH_TONE_ENHANCEMENT = 17, // 0x00000011 eMCCS_OPCODE_IMAGE_CONTRAST = 18, // 0x00000012 eMCCS_OPCODE_IMAGE_BLACKLIGHT_CONTROL = 19, // 0x00000013 eMCCS_OPCODE_IMAGE_COLOR_PRESET = 20, // 0x00000014 eMCCS_OPCODE_MANUFACTURER_PICTURE_MODE_VALUE = 21, // 0x00000015 eMCCS_OPCODE_IMAGE_RED_VEDIO_GAIN = 22, // 0x00000016 eMCCS_OPCODE_IMAGE_USER_COLOR_VISION_COMPENSATION = 23, // 0x00000017 eMCCS_OPCODE_IMAGE_GREEN_VEDIO_GAIN = 24, // 0x00000018 eMCCS_OPCODE_IMAGE_BLUE_VEDIO_GAIN = 26, // 0x0000001A eMCCS_OPCODE_IMAGE_FOCUS = 28, // 0x0000001C eMCCS_OPCODE_IMAGE_AUTO_SETUP = 30, // 0x0000001E eMCCS_OPCODE_IMAGE_AUTO_COLOR_SETUP = 31, // 0x0000001F eMCCS_OPCODE_GEOMETRY_HORIZONTAL_POSITION = 32, // 0x00000020 eMCCS_OPCODE_GEOMETRY_HORIZONTAL_SIZE = 34, // 0x00000022 eMCCS_OPCODE_GEOMETRY_HORIZONTAL_PINCUSHION = 36, // 0x00000024 eMCCS_OPCODE_GEOMETRY_HORIZONTAL_PINCUSHION_BALANCE = 38, // 0x00000026 eMCCS_OPCODE_GEOMETRY_HORIZONTAL_CONVERGENCE_RB = 40, // 0x00000028 eMCCS_OPCODE_GEOMETRY_HORIZONTAL_CONVERGENCE_MG = 41, // 0x00000029 eMCCS_OPCODE_GEOMETRY_HORIZONTAL_LINEARITY = 42, // 0x0000002A eMCCS_OPCODE_GEOMETRY_HORIZONTAL_LINEARITY_BALANCE = 44, // 0x0000002C eMCCS_OPCODE_IMAGE_GRAY_SCALE_EXPANSION = 46, // 0x0000002E eMCCS_OPCODE_GEOMETRY_VERTICAL_POSITION = 48, // 0x00000030 eMCCS_OPCODE_GEOMETRY_VERTICAL_SIZE = 50, // 0x00000032 eMCCS_OPCODE_GEOMETRY_VERTICAL_PINCUSHION = 52, // 0x00000034 eMCCS_OPCODE_GEOMETRY_VERTICAL_PINCUSHION_BALANCE = 54, // 0x00000036 eMCCS_OPCODE_GEOMETRY_VERTICAL_CONVERGENCE_RB = 56, // 0x00000038 eMCCS_OPCODE_GEOMETRY_VERTICAL_CONVERGENCE_MG = 57, // 0x00000039 eMCCS_OPCODE_GEOMETRY_VERTICAL_LINEARITY = 58, // 0x0000003A eMCCS_OPCODE_GEOMETRY_VERTICAL_LINEARITY_BALANCE = 60, // 0x0000003C eMCCS_OPCODE_IMAGE_CLOCK_PHASE = 62, // 0x0000003E eMCCS_OPCODE_GEOMETRY_HORIZONTAL_PARELLELOGRAM = 64, // 0x00000040 eMCCS_OPCODE_GEOMETRY_VERTICAL_PARELLELOGRAM = 65, // 0x00000041 eMCCS_OPCODE_GEOMETRY_HORIZONTAL_KEYSTONE = 66, // 0x00000042 eMCCS_OPCODE_GEOMETRY_VERTICAL_KEYSTONE = 67, // 0x00000043 eMCCS_OPCODE_GEOMETRY_ROTATIONS = 68, // 0x00000044 eMCCS_OPCODE_MANUFACTURER_GET_PICTURE_MODE_LIST3 = 69, // 0x00000045 eMCCS_OPCODE_GEOMETRY_TOP_CORNER_FLARE = 70, // 0x00000046 eMCCS_OPCODE_GEOMETRY_TOP_CORNER_HOOK = 72, // 0x00000048 eMCCS_OPCODE_GEOMETRY_BOTTOM_CORNERF_LARE = 74, // 0x0000004A eMCCS_OPCODE_GEOMETRY_BOTTOM_CORNER_HOOK = 76, // 0x0000004C eMCCS_OPCODE_MANUFACTURER_GET_PICTURE_MODE_LIST = 77, // 0x0000004D eMCCS_OPCODE_MANUFACTURER_GET_PICTURE_MODE_LIST1 = 78, // 0x0000004E eMCCS_OPCODE_MANUFACTURER_GET_PICTURE_MODE_LIST2 = 79, // 0x0000004F eMCCS_OPCODE_MISC_ACTIVE_CONTROL = 82, // 0x00000052 eMCCS_OPCODE_MISC_PERFORMANCE_PRESERVATION = 84, // 0x00000054 eMCCS_OPCODE_IMAGE_HORIZONTAL_MOIRE = 86, // 0x00000056 eMCCS_OPCODE_IMAGE_VERTICAL_MOIRE = 88, // 0x00000058 eMCCS_OPCODE_IMAGE_SIX_AXIS_SATURATION_CONTROLRED = 89, // 0x00000059 eMCCS_OPCODE_IMAGE_SIX_AXIS_SATURATION_CONTROLYELLOW = 90, // 0x0000005A eMCCS_OPCODE_IMAGE_SIX_AXIS_SATURATION_CONTROLGREEN = 91, // 0x0000005B eMCCS_OPCODE_IMAGE_SIX_AXIS_SATURATION_CONTROLCYAN = 92, // 0x0000005C eMCCS_OPCODE_IMAGE_SIX_AXIS_SATURATION_CONTROLBLUE = 93, // 0x0000005D eMCCS_OPCODE_IMAGE_SIX_AXIS_SATURATION_CONTROLMAGENTA = 94, // 0x0000005E eMCCS_OPCODE_MISC_INPUT_SOURCE = 96, // 0x00000060 eMCCS_OPCODE_AUDIO_SPEAKER_VOLUME = 98, // 0x00000062 eMCCS_OPCODE_MANUFACTURER_VOLUME = 98, // 0x00000062 eMCCS_OPCODE_AUDIO_MICROPHONE_VOLUME = 100, // 0x00000064 eMCCS_OPCODE_MISC_AMBIENT_LIGHT_SENSOR = 102, // 0x00000066 eMCCS_OPCODE_COLOR_TEMP_VALUE = 105, // 0x00000069 eMCCS_OPCODE_COLOR_TEMP_LIST = 106, // 0x0000006A eMCCS_OPCODE_IMAGE_RED_VEDIOBLACK_LEVEL = 108, // 0x0000006C eMCCS_OPCODE_IMAGE_GREEN_VEDIOBLACK_LEVEL = 110, // 0x0000006E eMCCS_OPCODE_IMAGE_BLUE_VEDIOBLACK_LEVEL = 112, // 0x00000070 eMCCS_OPCODE_IMAGE_GAMMA = 114, // 0x00000072 eMCCS_OPCODE_IMAGE_LUTSIZE = 115, // 0x00000073 eMCCS_OPCODE_IMAGE_SINGLEPOINT_LUT_OPERATION = 116, // 0x00000074 eMCCS_OPCODE_IMAGE_BLOCK_LUT_OPERATION = 117, // 0x00000075 eMCCS_OPCODE_MISC_REMOTR_PROCEDURE_CALL = 118, // 0x00000076 eMCCS_OPCODE_MISC_EDID_OPERATION = 120, // 0x00000078 eMCCS_OPCODE_IMAGE_GET_GAMMA_LIST = 122, // 0x0000007A eMCCS_OPCODE_IMAGE_ADJUST_ZOOM = 124, // 0x0000007C eMCCS_OPCODE_GEOMETRY_HORIZONTAL_MIRROR_FLIP = 130, // 0x00000082 eMCCS_OPCODE_GEOMETRY_VERTICAL_MIRROR_FLIP = 132, // 0x00000084 eMCCS_OPCODE_GEOMETRY_DISPLAY_SCALING = 134, // 0x00000086 eMCCS_OPCODE_IMAGE_SHARPNESS = 135, // 0x00000087 eMCCS_OPCODE_IMAGE_VELOCITY_SCAN_MODULATION = 136, // 0x00000088 eMCCS_OPCODE_IMAGE_COLOR_SATURATION = 138, // 0x0000008A eMCCS_OPCODE_MISC_TVCHANNEL_UPORDOWN = 139, // 0x0000008B eMCCS_OPCODE_IMAGE_TV_SHARPNESS = 140, // 0x0000008C eMCCS_OPCODE_AUDIO_MUTE = 141, // 0x0000008D eMCCS_OPCODE_AUDIO_TREBLE = 141, // 0x0000008D eMCCS_OPCODE_IMAGE_TV_CONTRAST = 142, // 0x0000008E eMCCS_OPCODE_IMAGE_HUE = 144, // 0x00000090 eMCCS_OPCODE_AUDIO_BASS = 145, // 0x00000091 eMCCS_OPCODE_IMAGE_TV_BLACKLEVELLUMINANCE = 146, // 0x00000092 eMCCS_OPCODE_AUDIO_BALANCELR = 147, // 0x00000093 eMCCS_OPCODE_AUDIO_STEREO_MODE = 148, // 0x00000094 eMCCS_OPCODE_GEOMETRY_WINDOW_POSITION_TLX = 149, // 0x00000095 eMCCS_OPCODE_GEOMETRY_WINDOW_POSITION_TLY = 150, // 0x00000096 eMCCS_OPCODE_GEOMETRY_WINDOW_POSITION_BRX = 151, // 0x00000097 eMCCS_OPCODE_GEOMETRY_WINDOW_POSITION_BRY = 152, // 0x00000098 eMCCS_OPCODE_IMAGE_WINDOW_BACKGROUND = 154, // 0x0000009A eMCCS_OPCODE_IMAGE_SIX_AXIS_HUE_CONTROLRED = 155, // 0x0000009B eMCCS_OPCODE_IMAGE_SIX_AXIS_HUE_CONTROLYELLOW = 156, // 0x0000009C eMCCS_OPCODE_IMAGE_SIX_AXIS_HUE_CONTROLGREEN = 157, // 0x0000009D eMCCS_OPCODE_IMAGE_SIX_AXIS_HUE_CONTROLCYAN = 158, // 0x0000009E eMCCS_OPCODE_IMAGE_SIX_AXIS_HUE_CONTROLBLUE = 159, // 0x0000009F eMCCS_OPCODE_IMAGE_SIX_AXIS_HUE_CONTROLMAGENTA = 160, // 0x000000A0 eMCCS_OPCODE_GET_MONITOR_ID_EXTENDED = 161, // 0x000000A1 eMCCS_OPCODE_IMAGE_AUTO_SETUP_ONOFF = 162, // 0x000000A2 eMCCS_OPCODE_IMAGE_WINDOCONTROL_ONOFF = 164, // 0x000000A4 eMCCS_OPCODE_IMAGE_WINDOW_SELECT = 165, // 0x000000A5 eMCCS_OPCODE_IMAGE_SCREEN_ORIENTATION = 170, // 0x000000AA eMCCS_OPCODE_DISPLAY_HORIZONTAL_FREQUENCY = 172, // 0x000000AC eMCCS_OPCODE_DISPLAY_VERTICAL_FREQUENCY = 174, // 0x000000AE eMCCS_OPCODE_MONITOR_MODEL_NAME = 175, // 0x000000AF eMCCS_OPCODE_PRESET_SETTINGS = 176, // 0x000000B0 eMCCS_OPCODE_MISC_FLATPANEL_SUBPIXEL_LAYOUT = 178, // 0x000000B2 eMCCS_OPCODE_MISC_DISPLAY_TECHNOLOGY_TYPE = 182, // 0x000000B6 eMCCS_OPCODE_DPVL_MONITOR_STATUS = 183, // 0x000000B7 eMCCS_OPCODE_DPVL_PACKET_COUNT = 184, // 0x000000B8 eMCCS_OPCODE_DPVL_MONITOR_X_ORIGIN = 185, // 0x000000B9 eMCCS_OPCODE_DPVL_MONITOR_Y_ORIGIN = 186, // 0x000000BA eMCCS_OPCODE_DPVL_HEADER_ERROR_COUNT = 187, // 0x000000BB eMCCS_OPCODE_DPVL_BODY_CRC_ERROR_COUNT = 188, // 0x000000BC eMCCS_OPCODE_DPVL_CLIENT_ID = 189, // 0x000000BD eMCCS_OPCODE_DPVL_LINK_CONTROL = 190, // 0x000000BE eMCCS_OPCODE_DISPLAY_DISPLY_USAGE_TIME = 192, // 0x000000C0 eMCCS_OPCODE_MISC_DISPLAY_DESCRIPTOR_LENGTH = 194, // 0x000000C2 eMCCS_OPCODE_MISC_TRANSMIT_DISPLAY_DESCRIPTOR = 195, // 0x000000C3 eMCCS_OPCODE_MISC_ENABLE_DISPLAY_OF_DISPLAY_DESCRIPTOR = 196, // 0x000000C4 eMCCS_OPCODE_MISC_APPLICATION_ENABLEKEY = 198, // 0x000000C6 eMCCS_OPCODE_MISC_DISPLAY_ENABLEKEY = 199, // 0x000000C7 eMCCS_OPCODE_DISPLAY_DISPLY_CONTROLLER_TYPE = 200, // 0x000000C8 eMCCS_OPCODE_DISPLAY_DISPLY_FIRMWARE_LEVEL = 201, // 0x000000C9 eMCCS_OPCODE_DISPLAY_OSD = 202, // 0x000000CA eMCCS_OPCODE_DISPLAY_OSD_LANGUAGE = 204, // 0x000000CC eMCCS_OPCODE_MISC_STATUS_INDICATORS = 205, // 0x000000CD eMCCS_OPCODE_MISC_AUXILLARY_DISPLAY_SIZE = 206, // 0x000000CE eMCCS_OPCODE_MISC_AUXILLARY_DISPLAY_DATA = 207, // 0x000000CF eMCCS_OPCODE_MISC_OUTPUT_SELECT = 208, // 0x000000D0 eMCCS_OPCODE_IMAGE_STEREO_VEDIO_MODE = 212, // 0x000000D4 eMCCS_OPCODE_DISPLAY_POWER_MODE = 214, // 0x000000D6 eMCCS_OPCODE_MISC_AUXILLARY_POWER_OUTPUT = 215, // 0x000000D7 eMCCS_OPCODE_DPVL_POWER_ON_OFF = 216, // 0x000000D8 eMCCS_OPCODE_GEOMETRY_SCAN_MODE = 218, // 0x000000DA eMCCS_OPCODE_IMAGE_DISPLAY_APPLICATION = 220, // 0x000000DC eMCCS_OPCODE_MISC_OPERATION_MODE = 222, // 0x000000DE eMCCS_OPCODE_DISPLAY_VCP_VERSION = 223, // 0x000000DF eMCCS_OPCODE_EYE_FINE_WINDOW = 224, // 0x000000E0 eMCCS_OPCODE_DUAL_WEB_MODE = 225, // 0x000000E1 eMCCS_OPCODE_HDR_VALUE = 226, // 0x000000E2 eMCCS_OPCODE_SMARTDUALMON = 227, // 0x000000E3 eMCCS_OPCODE_MANUFACTURER_CALIBATION_COMMAND = 228, // 0x000000E4 eMCCS_OPCODE_MANUFACTURER_GETGAMMA_FROM_SCALER_COMMAND = 229, // 0x000000E5 eMCCS_OPCODE_MANUFACTURER_WRITE_GAMMA_LUT = 230, // 0x000000E6 eMCCS_OPCODE_MANUFACTURER_WRITE_COLOR_MATRIX = 231, // 0x000000E7 eMCCS_OPCODE_MANUFACTURER_SCALERBLOCK_ENABLE_DISABLE_COMMAND = 232, // 0x000000E8 eMCCS_OPCODE_MANUFACTURER_ENABLE_DISABLE_SCALER_PATTERN = 233, // 0x000000E9 eMCCS_OPCODE_MANUFACTURER_DISPLAY_SCALER_INTERNAL_PATTERN = 234, // 0x000000EA eMCCS_OPCODE_MANUFACTURER_WRITE_NEW_COLOR_MATRIX = 235, // 0x000000EB eMCCS_OPCODE_SMARTRESOLUTION = 236, // 0x000000EC eMCCS_OPCODE_MANUFACTURER_PIPMODE_OPCODE = 237, // 0x000000ED eMCCS_OPCODE_SCREENSPLIT_OSD_MENU = 238, // 0x000000EE eMCCS_OPCODE_MANUFACTURER_DISPLAYID = 239, // 0x000000EF eMCCS_OPCODE_MANUFACTURER_HEARTBEAT = 240, // 0x000000F0 eMCCS_OPCODE_MANUFACTURER_FENGINE_BRIGHTNESS = 241, // 0x000000F1 eMCCS_OPCODE_MANUFACTURER_FENGINE_ACE = 242, // 0x000000F2 eMCCS_OPCODE_MANUFACTURER_FENGINE_RCM = 243, // 0x000000F3 eMCCS_OPCODE_MANUFACTURER_GET_RATIO_LIST = 244, // 0x000000F4 eMCCS_OPCODE_MANUFACTURER_RATIO_VALUE = 245, // 0x000000F5 eMCCS_OPCODE_MANUFACTURER_SES = 246, // 0x000000F6 eMCCS_OPCODE_MANUFACTURER_RESPONSE_TIME = 247, // 0x000000F7 eMCCS_OPCODE_MANUFACTURER_FREE_SYNC = 248, // 0x000000F8 eMCCS_OPCODE_MANUFACTURER_BLACK_STABILIZER = 249, // 0x000000F9 eMCCS_OPCODE_MANUFACTURER_MOTION_BLUR = 250, // 0x000000FA eMCCS_OPCODE_MANUFACTURER_SCALER_ISP_AREA = 251, // 0x000000FB eMCCS_OPCODE_MANUFACTURER_FENGINE_MODE_SELECT = 252, // 0x000000FC eMCCS_OPCODE_MANUFACTURER_POWER_LAMP_INDICATOR = 253, // 0x000000FD eMCCS_OPCODE_MANUFACTURER_IMAGE_GAMMA_PRESET = 254, // 0x000000FE namespace OSC.MonitorParameterDataStruture { public class MonitorParameterConstants { public const int Max_Connected_Monitor = 6; public const int ACTIVE_PICTURE_MODE_PROFILE = 60; public const int MAX_GAMMA_OPTIONS = 14; public const int MAX_COLOR_TEMP_OPTIONS = 10; public const int MAX_COLOR_TEMP_MANUAL_OPTIONS = 11; public const int MAX_RESPONSE_TIME_OPTIONS = 4; public const int MAX_FREE_SYNC_OPTIONS = 4; public const int MAX_MOTION_BLUR_OPTIONS = 2; public const int MAX_OSC_OPCODE_LIST = 26; public const int PROFILE_GET_OPCODE_WAIT_TIME_FOR_ONE = 5000; public const int IMPORT_PROFILE_GET_OPCODE_PROGRESS_RANGE = 10; public const int IMPORT_PROFILE_SET_OPCODE_PROGRESS_RANGE = 70; public const int IMPORT_PROFILE_VERIFY_OPCODE_PROGRESS_RANGE = 10; public enum T_E_REQUEST_TYPE { eRequestNone, eInitializeStatus, eInitializeStatusReply, eGetSupportedOpcodeList, eGetSupportedOpcodeListFailed, eSupportedOpcodeList, eSetOpcodeRequest, eSetOpcodeReply, eGetAllOpcodeRequest, eGetAllOpcodeReply, eGetOpcodeRequest, eGetOpcodeReply, eScreenSplit, eApplicationPresetm, eGetScreenSplitLayout, eApplicationPosition, ePreviewWindowMoveStarted, ePreviewWindowDropped, eLayoutInitialization, ePreviewLayoutWindowClicked, GetGameWindowOpcode, GetMonitorControlOpcode, eProcessRequestForAllMonitor, eExitOSCAppManager, eModifiedInfoOfMonitor, eGetColorAdjustOpcode, eGetProfileOpcode, eSetScreenSplitNone, eGetMonitorModelName, eGetGameSSOpcodeList, eGameSSOpcodeList, ePivotChange, eModelNamePIDVID, eSetPivotStatus, eFWUpdateSdkStatus, } public enum T_E_PICTURE_MODE { eCustom, eReader, eReader1, eReader2, ePhoto, eCinema, eGame, eRed_Weakness, eGreen_Weakness, eDark_Room_1, eDark_Room_2, eFPS_Game_1, eFPS_Game_2, eRTS_Game, eCustom_Game, esRGB, Adobe, Calibration, Calibration1, Calibration2, DICOM, DCI, EBU, REC709, SMPTE_C, DCI_P3, Custom_AV, Vivid1, Vivid2, Standard, Color_Weakness, Cinema_AV, Text, HDR_Effect, HDR_Vivid, HDR_Standard, HDR_Game, HDR_Cinema, Mono, Gamer1, Gamer2, Vivid, REC2020, FPS, RTS, Pathology, Dicom_Clinical, Extention, Dicom_Diagnostic, HGIG, P3_D65_PQ, BT_2100_PQ, BT_2100_HLG, BT_709, BT_2020, P3_D65, DICOM_Custom, P3_D65_PQ2, BT_2100_PQ2, BT_2100_HLG2, } public enum T_E_GAMMA_MODE { eGammaOff, eGamma0, eGamma1, eGamma2, eMode1, eMode2, eMode3, eMode4, eGamma1dot8, eGamma2dot0, eGamma2dot2, eGamma2dot4, eGamma2dot6, eDicomGammaCurve, } public enum T_E_COLOR_TEMP { eColorTemp_Warm, eColorTemp_Medium, eColorTemp_Cool, eColorTemp_Custom, eColorTemp_6500K, eColorTemp_7500K, eColorTemp_9300K, eColorTemp_Manual1, eColorTemp_Manual2, eColorTemp_Manual3, } public enum T_E_RESPONSE_TIME { eRESPONSE_TIME_OFF = 0, eRESPONSE_TIME_HIGH = 1, eRESPONSE_TIME_MIDDLE = 2, eRESPONSE_TIME_LOW = 3, eRESPONSE_TIME_UNSUPPORTED = 255, // 0x000000FF } public enum T_E_BLACKSTABILIZER_VAL { eBLACKSTABILIZER_OFF = 0, eBLACKSTABILIZER_LOW = 1, eBLACKSTABILIZER_MIDDLE = 2, eBLACKSTABILIZER_HIGH = 3, eBLACKSTABILIZER_UNSUPPORTED = 255, // 0x000000FF } public enum T_E_PBP_MODE_OPTION { ePBPOff, eOneRationOne_PBP, eFiveRationNine_PBP, eSmall_PBP, eLarge_PBP, } public enum T_E_RATIO_LIST { eRatio_One_One, eRation_Wide, eRation_Original, eRatio_Cinema1, eRatio_Cinema2, } public enum T_E_SES { eSES_Off = 0, eSES_Low = 1, eSES_High = 2, eSES_UnSupported = 255, // 0x000000FF } public enum T_E_FREE_SYNC { eFREE_SYNC_OFF = 0, eFREE_SYNC_ON = 1, eFREE_SYNC_BASIC = 2, eFREE_SYNC_EXTENDED = 3, eFREE_SYNC_UNSUPPORTED = 255, // 0x000000FF } public enum T_E_MOTION_BLUR { eMOTION_BLUR_NOTSUPPORTED, eMOTION_BLUR_ON, eMOTION_BLUR_OFF, } public enum T_E_MONITOR_TYPE { PROFILE, GSYNC, GSYNC_PROFILE, GSYNC1, GSYNC2, GSYNC1_PROFILE, GSYNC2_PROFILE, GSYNCR4, GSYNCR425GR75FG, NORMAL, FOCUSVIEW, MD_MONITOR, } } } LG FIRMWARE URLS ------------------------------------------ Real: https://lmu.lge.com/ExternalService/onscreencontrol/fw/28MQ780/MODEL_28MQ780_SV3.03_PV0.12.16_NV4.18_20221219.zip Constant: https://lmu.lge.com/ExternalService/onscreencontrol/fw/28MQ780/FWLatestVersion.txt Password: 28MQ780!LGdasusodkug!@#