PepperDash.Essentials.Plugin.SamsungMdcDisplays 1.1.1

.NET Framework 3.5
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package PepperDash.Essentials.Plugin.SamsungMdcDisplays --version 1.1.1
NuGet\Install-Package PepperDash.Essentials.Plugin.SamsungMdcDisplays -Version 1.1.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PepperDash.Essentials.Plugin.SamsungMdcDisplays" Version="1.1.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PepperDash.Essentials.Plugin.SamsungMdcDisplays --version 1.1.1
#r "nuget: PepperDash.Essentials.Plugin.SamsungMdcDisplays, 1.1.1"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install PepperDash.Essentials.Plugin.SamsungMdcDisplays as a Cake Addin
#addin nuget:?package=PepperDash.Essentials.Plugin.SamsungMdcDisplays&version=1.1.1

// Install PepperDash.Essentials.Plugin.SamsungMdcDisplays as a Cake Tool
#tool nuget:?package=PepperDash.Essentials.Plugin.SamsungMdcDisplays&version=1.1.1

PepperDash Logo

Samsung MDC Display Plugin

This is a plugin repo for Samsung MDC displays and adds features needed that are not currently part of the Essentials Samsung MDC implementation. To use the plugin follow the steps below.

  1. Clone the repo
    • References are managed by nuget. To install the correct references, enter the command below: nuget install .\packages.config -ExcludeVersion -OutputDirectory .\packages
    • Check the slash direction: if installing from Git Bash, the slashes should be / instead of \
  2. Copy the *.cplz to th plugin folder created by Essentials
    • ex. \USER\program\plugins*.cplz
  3. Update the Essentials configuration file to include the display objects and display bridge (see examples below)
    • The plugin "type" is set C# to "samsungmdcplugin"
  4. Load the Essentials configuration file to the program folder created by Essentials
    • ex. \USER\program*configurationFile*.json)
  5. Restart Essentials to load the plugin

Device Specifc Information

This plugin was built using the Samsung SEC-VD-DSW Multiple Display Control document, Ver. 14.4, 2018-4-4.

RS232 Specification

Property Value
Baudrate 9600
Data Bits 8
Parity None
Stop Bits 1
Flow Control None

Network Specification

Property Value
Default IP 192.168.0.10
Port 1515

Example Configuration Object

Display Object using RS-232

{
	"key": "Display01",
	"uid": 1,
	"name": "Front Display",
	"type": "samsungmdcplugin",
	"group": "display",
	"properties": {
		"id": "01",
		"control": {
			"method": "com",
			"controlPortDevKey": "processor",
			"controlPortNumber": 1,
			"comParams": {
				"hardwareHandshake": "None",
				"parity": "None",
				"protocol": "RS232",
				"baudRate": 9600,
				"dataBits": 8,
				"softwareHandshake": "None",
				"stopBits": 1
			}
		},
		"pollIntervalMs": 4500,
		"pollLedTemps": false,
		"coolingTimeMs": 1500,
		"warmingTimeMs": 1500,
		"showVolumeControls": false,
		"volumeUpperLimit": 100,
		"volumeLowerLimit": 0,
		"friendlyNames": [
			{
				"inputKey": "hdmiIn1",
				"name": "HDMI 1"
			},
			{
				"inputKey": "hdmiIn2",
				"name": "HDMI 2"
			},
			{
				"inputKey": "hdmiIn3",
				"name": "HDMI 3"
			},
			{
				"inputKey": "hdmiIn4",
				"name": "HDMI 4"
			},
			{
				"inputKey": "displayPortIn1",
				"name": "Display Port 1"
			},
			{
				"inputKey": "displayPortIn2",
				"name": "Display Port 2"
			},
			{
				"inputKey": "dviIn",
				"name": "DVI"
			}
		]
	}
},

Display Object using TCP/IP

{
	"key": "Display01",
	"uid": 1,
	"name": "Front Display",
	"type": "samsungmdcplugin",
	"group": "display",
	"properties": {
		"id": "01",
		"control": {
			"method": "tcpIp",
			"tcpSshProperties": {
				"address": "10.0.0.200",
				"port": 1515,
				"username": "",
				"password": "",
				"autoReconnect": true,
				"autoReconnectIntervalMs": 10000
			}
		},
		"pollIntervalMs": 4500,
		"pollLedTemps": false,
		"coolingTimeMs": 1500,
		"warmingTimeMs": 1500,
		"showVolumeControls": false,
		"volumeUpperLimit": 100,
		"volumeLowerLimit": 0,
		"friendlyNames": [
			{
				"inputKey": "hdmiIn1",
				"name": "HDMI 1"
			},
			{
				"inputKey": "hdmiIn2",
				"name": "HDMI 2"
			},
			{
				"inputKey": "hdmiIn3",
				"name": "HDMI 3"
			},
			{
				"inputKey": "hdmiIn4",
				"name": "HDMI 4"
			},
			{
				"inputKey": "displayPortIn1",
				"name": "Display Port 1"
			},
			{
				"inputKey": "displayPortIn2",
				"name": "Display Port 2"
			},
			{
				"inputKey": "dviIn",
				"name": "DVI"
			}
		]
	}
},

Display Plugin Bridge Object

{
	"key": "eiscBridge-Displays",
	"uid": 4,
	"name": "eiscBridge Displays",
	"group": "api",
	"type": "eiscApi",
	"properties": {
		"control": {
			"method": "ipidTcp",
			"ipid": "B0",
			"tcpSshProperties": {
				"address": "127.0.0.2",
				"port": 0
			}
		},
		"devices": [
			{
				"deviceKey": "Display01",
				"joinStart": 1
			},
			{
				"deviceKey": "Display02",
				"joinStart": 51
			},
			{
				"deviceKey": "Display03",
				"joinStart": 101
			}
		]
	}
}

Bridge Join Map

  • Each display has 50 buttons available
  • The I/O number will depend on the joinStart defined in the configuration file
    • Add the defined joinStart to the I/O number if not starting at 1

Digitals

Input I/O Output
Power Off 1 Power Off Fb
Power On 2 Power On Fb
3 Is Two Display Fb
Volume Up 5
Volume Down 6
Volume Mute Toggle 7 Volume Mute On Fb
Input 1 Select [HDMI 1] 11 Input 1 Fb [HDMI 1]
Input 2 Select [HDMI 2] 12 Input 2 Fb [HDMI 2]
Input 3 Select [HDMI 3] 13 Input 3 Fb [HDMI 3]
Input 4 Select [HDMI 4] 14 Input 4 Fb [HDMI 4]
Input 5 Select [DisplayPort 1] 15 Input 5 Fb [DisplayPort 1]
Input 6 Select [DisplayPort 2] 16 Input 6 Fb [DisplayPort 2]
Input 7 Select [DVI 1] 17 Input 7 Fb [DVI 1]
Input 8 Select [FUTURE] 18 Input 8 Fb [FUTURE]
Input 9 Select [FUTURE] 19 Input 9 Fb [FUTURE]
Input 10 Select [FUTURE] 20 Input 10 Fb [FUTURE]
40 Button 1 Visibility Fb
41 Button 2 Visibility Fb
42 Button 3 Visibility Fb
43 Button 4 Visibility Fb
44 Button 5 Visibility Fb
45 Button 6 Visibility Fb
46 Button 7 Visibility Fb
47 Button 8 Visibility Fb
48 Button 9 Visibility Fb
49 Button 10 Visibility Fb
50 Display Online Fb

Analogs

Input I/O Output
Volume Level Set 5 Volume Level Fb
Input Number Select [1-10] 11 Input Number Fb [1-10]
LED Temperature Celsius
LED Temperature Fahrenheit

Serials

Input I/O Output
1 Display Name
11 Input 1 Name [HDMI 1]
12 Input 2 Name [HDMI 2]
13 Input 3 Name [HDMI 3]
14 Input 4 Name [HDMI 4]
15 Input 5 Name [DisplayPort 1]
16 Input 6 Name [DisplayPort 2]
17 Input 7 Name [DVI 1]
18 Input 8 Name [FUTURE]
19 Input 9 Name [FUTURE]
20 Input 10 Name [FUTURE]
Product Versions
.NET Framework net35 net40 net403 net45 net451 net452 net46 net461 net462 net463 net47 net471 net472 net48
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.1.2-alpha-29 38 10/30/2022
1.1.1 191 7/20/2022
1.1.1-hotfix-26 83 7/20/2022
1.1.1-beta-28 88 7/20/2022
1.1.1-beta-27 91 7/20/2022
1.1.0 176 7/19/2022
1.0.6-hotfix-25 79 7/19/2022
1.0.5-alpha-23 86 7/9/2022
1.0.5-alpha-22 79 7/9/2022
1.0.5-alpha-21 79 7/9/2022
1.0.5-alpha-20 75 7/8/2022
1.0.5-alpha-19 74 7/8/2022