Dell SDK for Monitors Application Programming Interface Guide for SDK version 1.
Information in this document is subject to change without notice. © 2017 Dell Inc. All rights reserved. Reproduction of these materials in any manner whatsoever without the written permission of Dell Inc. is strictly forbidden. Trademarks used in this text: Dell™, the DELL logo, and UltraShrap™ are trademarks of Dell Inc.
Contents Contents ................................................................................................................................................................... 3 Introduction .............................................................................................................................................................6 API Return Codes ...........................................................................................................................................
GetSaturation..................................................................................................................................................... 15 SetSaturation...................................................................................................................................................... 15 GetHue ................................................................................................................................................................ 15 SetHue .
SetPxPMode ...................................................................................................................................................... 28 GetPxPSubInput ............................................................................................................................................... 28 SetPxPSubInput ................................................................................................................................................ 29 GetPxPLocation .......
Introduction This document describes the APIs for supported Dell UltraSharp monitors on Linux(x86), OSX and Windows platforms. These APIs are to be used for remote display management and control from a Host PC to supported Dell UltraSharp monitors via a USB connection. A USB 3.0 A to B cable should be used for the connection between the host and the display. The following monitors are supported: 1. UP2516D 2. UP2716D 3. UP3017 4. UP3218K The API described in this document corresponds to SDK version 1.4.
Monitor Management GetAvailableMonitors Returns the number of supported monitor(s) API MONITOR_CODE GetAvailableMonitors(BYTE *pbCount) Params byMonitors[] Array for return values Return pbCount Number of supported monitors connected ConnectMonitor Connect to monitor and start session API MONITOR_CODE ConnectMonitor(BYTE iID) Params iID Index of monitor as returned by GetAvailableMonitors to connect to. Index starts at 0 for the first monitor.
API MONITOR_CODE GetAssetTag(BYTE *pbyAssetTag) Params *pbyAssetTag Pointer to return asset tag ID string Return pbyAssetTag Asset tag ID string (max 10 chars) GetMonitorName Returns the monitor name API MONITOR_CODE GetMonitorName(BYTE *pbyMonitorName) Params *pbyMonitorName Pointer to return monitor name Return pbyMonitorName Monitor name string (max 10 chars) GetMonitorSerialNumber Returns the monitor serial number API MONITOR_CODE GetMonitorSerialNumber(BYTE *pbySerialNumber) Params *pbySerialNu
Power Management GetPowerState Returns the current power state of the monitor API MONITOR_CODE GetPowerState(UBYTE *pu8Val) Params *pu8Val Return pu8Val Pointer to return power state Power State 0 Off 1 On 2 Standby SetPowerState Set the monitor on or standby API MONITOR_CODE SetPowerState(UBYTE u8Val) Params u8Val Power state to set 0 Off 1 On 2 Standby GetPowerLED Returns the power LED setting of the monitor API MONITOR_CODE GetPowerLED(UBYTE *pu8Val) Params *pu8Val Return pu8Val Pointer to return p
MONITOR_CODE SetPowerLED(UBYTE u8Val) Params u8Val Power LED Setting 0 Off during Active 1 On during Active GetPowerUSB Returns the power USB setting of the monitor API MONITOR_CODE GetPowerUSB(UBYTE *pu8Val) Params *pu8Val Pointer to return power USB setting Return pu8Val Power USB Setting 0 Off during Standby 1 On during Standby SetPowerUSB Set the power USB setting API MONITOR_CODE SetPowerUSB(UBYTE u8Val) Params u8Val Power USB Setting 0 Off during Standby 1 On during Standby Reset Power Reset p
Image Management GetBrightness Returns the brightness level of the monitor API MONITOR_CODE GetBrightness(UBYTE *pu8Val) Params *pu8Val Return pu8Val Pointer to return brightness value Brightness value Integer value 0 (dark) to 100 (bright) Default 75 Values in increments of 1 SetBrightness Set the brightness level of the monitor API MONITOR_CODE SetBrightness(UBYTE u8Val) Params u8Val Brightness value Integer value 0 (dark) to 100 (bright) Default 75 Values in increments of 1 GetContrast Returns the c
NOTE: Uniformity Compensation must be turned off for this to work. API MONITOR_CODE SetContrast(UBYTE u8Val) Params u8Val Contrast value Integer value 0 (minimal) to 100 (maximum) Default 75 Values in increments of 1 GetDynamicContrast Returns the dynamic contrast setting. Applicable for Movies and Gaming. NOTE: Only works in Color Preset Game or Movie.
1 2 3 Auto Resize 4:3 1:1 SetAspectRatio Sets the aspect ratio API MONITOR_CODE SetAspectRatio(UBYTE u8Val) Params u8Val Aspect Ratio 0 Wide 16:9 1 Auto Resize 2 4:3 3 1:1 GetSharpness Returns the sharpness level API MONITOR_CODE GetSharpness(UBYTE *pu8Val) Params *pu8Val Return pu8Val Pointer to return sharpness value Sharpness value Integer value 0 to 100 Default 50 Values in increments of 10 SetSharpness Sets the sharpness level API MONITOR_CODE SetSharpness(UBYTE u8Val) Params u8Val Sharpness va
Params *pu8Val Pointer to return response time value Return pu8Val Response Time 0 Normal 1 Fast SetResponseTime Sets the response time API MONITOR_CODE SetResponseTime(UBYTE u8Val) Params u8Val 14 | Response Time 0 Normal 1 Fast Image Management
Color Management GetSaturation Returns the color saturation level NOTE: Only works in Color Preset Game or Movie. API MONITOR_CODE GetSaturation(UBYTE *pu8Val) Params *pu8Val Return pu8Val Pointer to return color saturation level Color Saturation level Integer value 0 to 100 Default 50 Values in increments of 1 SetSaturation Sets the color saturation level NOTE: Only works in Color Preset Game or Movie.
SetHue Sets the hue level NOTE: Only works in Color Preset Game or Movie. API MONITOR_CODE SetHue(UBYTE u8Val) Params u8Val Hue level Integer value 0 to 100 Default 50 Values in increments of 1 GetColorTempCaps Returns the supported color temperatures of the monitor NOTE: Only works in Color Preset Color Temp.
0x00000002 0x00000004 0x00000008 0x00000010 0x00000020 5700K 6500K 7500K 9300K 10000K SetColorTemp Sets the color temperature NOTE: Only works in Color Preset Color Temp. API MONITOR_CODE SetColorTemp(UWORD32 u32Val) Params u32Val Color temperature 0x00000001 5000K 0x00000002 5700K 0x00000004 6500K 0x00000008 7500K 0x00000010 9300K 0x00000020 10000K GetColorSpaceCaps Returns the supported color spaces of the monitor NOTE: Only works in Color Preset Color Space.
MONITOR_CODE GetColorSpaceState(UWORD32 *pu32Val) Params *pu32Val Return pu32Val Pointer to return color space state Color space 0x00000001 0x00000002 0x00000004 0x00000008 0x00000010 0x00000020 Adobe RGB sRGB Rec 709 DCI-P3 CAL 1 CAL 2 SetColorSpaceState Sets the color space state NOTE: Only works in Color Preset Color Space.
u8Val Input Color Format 0 RGB 1 YPbPr GetColorPresetCaps Returns the available color presets API MONITOR_CODE GetColorPresetCaps(UWORD32 *pu32Val) Params *pu32Val Return pu32Val Pointer to return color space capabilities Bitwise representation of supported color presets 0x00000001 Standard 0x00000002 Multimedia 0x00000004 Movie 0x00000008 Game 0x00000010 Paper 0x00000020 Color Temp.
MONITOR_CODE SetColorPreset(UWORD32 u32Val) Params u32Val Color preset 0x00000001 0x00000002 0x00000004 0x00000008 0x00000010 0x00000020 0x00000040 0x00000080 Standard Multimedia Movie Game Paper Color Temp. Color Space Custom Color GetCustomColor Returns the current custom color NOTE: Only works in Color Preset Custom Color.
NOTE: Only works in Color Preset Custom Color.
Note Not supported on UP3218K GetUniformityCompensation Returns the uniformity compensation setting API MONITOR_CODE GetUniformityCompensation(UBYTE *pu8Val) Params *pu8Val Pointer to return uniformity compensation setting Return pu8Val Uniformity Compensation 0 Off 2 On SetUniformityCompensation Sets the uniformity compensation API MONITOR_CODE SetUniformityCompensation(UBYTE u8Val) Params u8Val Uniformity Compensation 0 Off 2 On ResetColor Reset all color settings to default API MONITOR_CODE ResetC
LUT Management GetCalibrationHours Returns the calibration hours of CAL1 or CAL2 since last SetLUT. NOTE: Only works in Color Preset Color Space CAL1 or CAL2. API MONITOR_CODE GetCalibrationHours(SWORD16 *ps16Val) Params *ps16Val Pointer to return monitor calibration hours Return ps16Val Monitor calibration hours GetCalBrightness Get the brightness level of CAL1 or CAL2. NOTE: Only works in Color Preset Color Space CAL1 or CAL2.
NOTE: Only works in Color Preset Color Space CAL1 or CAL2. API MONITOR_CODE SetColorControl(UBYTE u8Val) Params u8Val 0 1 Disable Enable SetLUT Setup the LUT (Look Up Tables) for CAL1 or CAL2. NOTE: Only works in Color Preset Color Space CAL1 or CAL2.
*arrPreGamma Array with arrGammaLen-size 16-bit color values for RGB channels, where [0][arrGammaLen] for Red channel, [1][arrGammaLen] for Green channel and [2][arrGammaLen] for Blue channel *arrPostGamma Array with arrGammaLen-size 16-bit color values for RGB channels, where [0][arrGammaLen] for Red channel, [1][arrGammaLen] for Green channel and [2][arrGammaLen] for Blue channel arrColorMatrix 2’s complement values of the 3x3 16-bit color matrix, in the order from a1 to a9 Rout = (1+a1)Rin + a2Gin +
Video Input Management GetAutoSelect Returns the input source auto select setting API MONITOR_CODE GetAutoSelect(UBYTE *pu8Val) Params *pu8Val Pointer to return auto select setting Return pu8Val Auto Select 0 Off 1 On SetAutoSelect Turns on/off input source auto select API MONITOR_CODE SetAutoSelect(UBYTE u8Val) Params u8Val Auto Select 0 Off 1 On GetVideoInputCaps Returns the available video inputs API MONITOR_CODE GetVideoInputCaps(UWORD32 *pu32Val) Params *pu32Val Return pu32Val 26 | Pointer to
For example: 0x00000149 would indicate HDMI1, DP1, VGA1 and DVI1 available GetVideoInput Returns the current video input source API MONITOR_CODE GetVideoInput(UWORD32 *pu32Val) Params *pu32Val Return pu32Val Pointer to return video input source Video Input Source 0x00000001 HDMI1 0x00000002 HDMI2 0x00000004 HDMI3 0x00000008 DP1 0x00000010 DP2 0x00000020 DP3 0x00000040 VGA1 0x00000080 VGA2 0x00000100 DVI1 0x00000200 DVI2 SetVideoInput Sets the video input source API MONITOR_CODE SetVideoInput(UWORD32 u32
PIP/PBP Management GetPxPMode Returns the current PIP/PBP mode API MONITOR_CODE GetPxPMode(UBYTE *pu8Val) Params *pu8Val Pointer to return PIP/PBP mode Return pu8Val PIP/PBP Mode 0 Off 1 PIP Small 2 PIP Large 3 PBP Aspect Ratio 4 PBP Fill Note Not supported on UP3218K SetPxPMode Sets the PIP/PBP mode API MONITOR_CODE SetPxPMode(UBYTE u8Val) Params u8Val PIP/PBP Mode 0 Off 1 PIP Small 2 PIP Large 3 PBP Aspect Ratio 4 PBP Fill Note Not supported on UP3218K GetPxPSubInput Returns the current PxP sub vi
Return pu32Val Video Input Source 0x00000001 HDMI1 0x00000002 HDMI2 0x00000004 HDMI3 0x00000008 DP1 0x00000010 DP2 0x00000020 DP3 0x00000040 VGA1 0x00000080 VGA2 0x00000100 DVI1 0x00000200 DVI2 Note Not supported on UP3218K SetPxPSubInput Sets the PxP sub video input source API MONITOR_CODE SetPxPSubInput(UWORD32 u32Val) Params u32Val Video Input Source 0x00000001 HDMI1 0x00000002 HDMI2 0x00000004 HDMI3 0x00000008 DP1 0x00000010 DP2 0x00000020 DP3 0x00000040 VGA1 0x00000080 VGA2 0x00000100 DVI1 0x000002
3 Bottom-Left Note Not supported on UP3218K SetPxPLocation Sets the PIP/PBP location API MONITOR_CODE SetPxPLocation(UBYTE u8Val) Params u8Val PIP/PBP Location 0 Top-Right 1 Top-Left 2 Bottom-Right 3 Bottom-Left Note Not supported on UP3218K 30 | PIP/PBP Management
OSD GetOSDTransparency Get the OSD Transparency API MONITOR_CODE GetOSDTransparency(UBYTE *pu8Val) Params *pu8Val Return pu8Val Pointer to return OSD Transparency value OSD Transparency Integer value 0 (opaque) to 100 (transparent) Default 20 Values in increments of 20 SetOSDTransparency Set the OSD Transparency API MONITOR_CODE SetOSDTransparency(UBYTE u8Val) Params u8Val OSD Transparency Integer value 0 (opaque) to 100 (transparent) Default 20 Values in increments of 20 GetOSDLanguage Get the OSD Lan
7 日本語 SetOSDLanguage Set the OSD Language API MONITOR_CODE SetOSDLanguage(UBYTE u8Val) Params u8Val OSD Language 0 English 1 Espanol 2 Francais 3 Deutsch 4 Português (Brasil) 5 Русский 6 简体中文 7 日本語 GetOSDRotation Get the OSD Rotation API MONITOR_CODE GetOSDRotation(UBYTE *pu8Val) Params *pu8Val Pointer to return OSD Rotation value Return pu8Val OSD Rotation 0 0 degree 1 90 degrees 2 270 degrees SetOSDRotation Set the OSD Rotations API MONITOR_CODE SetOSDRotation(UBYTE u8Val) Params u8Val OSD Rotati
API MONITOR_CODE GetOSDTimer(UBYTE *pu8Val) Params *pu8Val Return pu8Val Pointer to return OSD Timer value OSD Timer Integer value 5 to 60 seconds Default 20 seconds Values in increments of 1 SetOSDTimer Set the OSD Timer API MONITOR_CODE SetOSDTimer(UBYTE u8Val) Params u8Val OSD Timer Integer value 5 to 60 seconds Default 20 seconds Values in increments of 1 GetOSDButtonLock Get the OSD Timer API MONITOR_CODE GetOSDButtonLock(UBYTE *pu8Val) Params *pu8Val Return pu8Val Pointer to return OSD Timer val
GetButtonSound Returns if the button sound is on or off API MONITOR_CODE GetButtonSound(UBYTE *pu8Val) Params *pu8Val Pointer to return Button Sound value Return pu8Val Button Sound 0 Off 1 On Note Not supported on UP3218K SetButtonSound Set the button sound on or off API MONITOR_CODE SetButtonSound(UBYTE u8Val) Params u8Val Button Sound 0 Off 1 On Note Not supported on UP3218K ResetOSD Reset OSD to default settings API MONITOR_CODE ResetOSD(void) Params - 34 | OSD
System Management GetVersionFirmware Returns the firmware version of the monitor API MONITOR_CODE GetVersionFirmware(BYTE *ps16Val) Params *pbyFirmwareVersion Pointer to firmware version for return Return pbyFirmwareVersion Version string (max 10 chars) GetVersionSDK Returns the SDK version API MONITOR_CODE GetVersionSDK(SWORD16 *ps16Val) Params *pbyVersion Return ps16Val Pointer to firmware version for return Version value where MSB = major version and LSB = minor version.
Not supported on UP3218K SetMST Turns on / off the MST API MONITOR_CODE SetMST(UBYTE u8Val) Params u8Val MST value to set 0 Off 1 On Note Not supported on UP3218K GetLCDConditioning Returns if the LCD Conditioning is enabled or disabled API MONITOR_CODE GetLCDConditioning(UBYTE *pu8Val) Params *pu8Val Pointer to return LCD Conditioning value Return pu8Val LCD Conditioning 0 Disabled 1 Enabled SetLCDConditioning Enable / Disable the LCD Conditioning API MONITOR_CODE SetLCDConditioning (UBYTE u8Val)
API MONITOR_CODE FactoryReset(void) Params - SetDebugLevel Set the level of debug for the SDK API MONITOR_CODE SetDebugLevel(UBYTE u8Val) Params u8Val Debug Level 0 Turn off debug 1 Errors 2 Warnings 3 Debug 4 Trace System Management | 37