Pepperdash.Essentials.Plugins.Display.Planar.Qe 2.2.0-feature-input-state-aware-switching.1

This is a prerelease version of Pepperdash.Essentials.Plugins.Display.Planar.Qe.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Pepperdash.Essentials.Plugins.Display.Planar.Qe --version 2.2.0-feature-input-state-aware-switching.1
                    
NuGet\Install-Package Pepperdash.Essentials.Plugins.Display.Planar.Qe -Version 2.2.0-feature-input-state-aware-switching.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.Plugins.Display.Planar.Qe" Version="2.2.0-feature-input-state-aware-switching.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Pepperdash.Essentials.Plugins.Display.Planar.Qe" Version="2.2.0-feature-input-state-aware-switching.1" />
                    
Directory.Packages.props
<PackageReference Include="Pepperdash.Essentials.Plugins.Display.Planar.Qe" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Pepperdash.Essentials.Plugins.Display.Planar.Qe --version 2.2.0-feature-input-state-aware-switching.1
                    
#r "nuget: Pepperdash.Essentials.Plugins.Display.Planar.Qe, 2.2.0-feature-input-state-aware-switching.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Pepperdash.Essentials.Plugins.Display.Planar.Qe@2.2.0-feature-input-state-aware-switching.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Pepperdash.Essentials.Plugins.Display.Planar.Qe&version=2.2.0-feature-input-state-aware-switching.1&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Pepperdash.Essentials.Plugins.Display.Planar.Qe&version=2.2.0-feature-input-state-aware-switching.1&prerelease
                    
Install as a Cake Tool

PepperDash Essentials Plugin Logo

Planar QE Series Display Essentials Plugin (c) 2022

Overview

This plugin is designed to work with Planar QE Series Displays controlled via RS-232 and TCP/IP. For config information, see the config snippets

Other supported models: UltraRes L Series

Configuration

RS-232

{
  "key": "display-1",
  "uid": 4,
  "type": "planarqe",
  "name": "Display",
  "group": "display",
  "properties": {
    "control": {
      "controlPortDevKey": "processor",
      "controlPortNumber": 1,
      "method": "com",
      "comParams": {
        "protocol": "RS232",
        "baudRate": 19200,
        "hardwareHandshake": "None",
        "softwareHandshake": "None",
        "dataBits": 8,
        "parity": "None",
        "stopBits": 1
      }
    },
    "pollIntervalMs": 60000,
    "coolingTimeMs": 15000,
    "warmingTimeMs": 15000
  }
}

TCP/IP

{
  "key": "display-1",
  "uid": 4,
  "type": "planarqe",
  "name": "Display",
  "group": "display",
  "properties": {
    "control": {
      "method": "tcpIp",
      "tcpSshProperties": {
        "port": 57,
        "address": "0.0.0.0",
        "username": "",
        "password": "",
        "autoReconnect": true,
        "autoReconnectIntervalMs": 5000,
        "bufferSize": 32768
      }
    },
    "pollIntervalMs": 60000,
    "coolingTimeMs": 15000,
    "warmingTimeMs": 15000
  }
}

Bridge JoinMap

Digitals

Join Number JoinSpan JoinName Description Type Capabilities
1 1 PowerOff Power Off Digital FromSIMPL
2 1 PowerOn Power On Digital ToFromSIMPL
3 1 IsTwoWayDisplay Is Two Way Display Digital ToSIMPL
5 1 VolumeUp Volume Up Digital FromSIMPL
6 1 VolumeDown Volume Down Digital FromSIMPL
7 1 VolumeMute Volume Mute Digital ToFromSIMPL
8 1 VolumeMuteOn Volume Mute On Digital ToFromSIMPL
9 1 VolumeMuteOff Volume Mute Off Digital ToFromSIMPL
11 10 InputSelectOffset Input Select Digital ToFromSIMPL
41 10 ButtonVisibilityOffset Button Visibility Offset DigitalSerial ToFromSIMPL
50 1 IsOnline Is Online Digital ToSIMPL

Analogs

Join Number JoinSpan JoinName Description Type Capabilities
5 1 VolumeLevel Volume Level Analog ToFromSIMPL
11 1 InputSelect Input Select Analog ToFromSIMPL

Serials

Join Number JoinSpan JoinName Description Type Capabilities
1 1 Name Name Serial ToSIMPL
11 10 InputNamesOffset Input Names Offset Serial ToSIMPL
41 10 ButtonVisibilityOffset Button Visibility Offset DigitalSerial ToFromSIMPL

Features

Input State-Aware Switching

This plugin implements intelligent input switching that prevents redundant commands from being sent to the display.

How it works:

  • The plugin tracks the current input state using device feedback responses
  • Before sending an input selection command, it checks if the display is already on the requested input
  • If the input is already selected, the command is skipped (no duplicate SOURCE.SELECT sent)
  • On initialization and when the device comes online, the current input is queried to populate the state cache

Benefits:

  • ✅ Eliminates video flicker caused by redundant HDMI handshakes
  • ✅ Prevents audio dropout when switching to the same input
  • ✅ Reduces unnecessary load on the display processor
  • ✅ Improves responsiveness by avoiding queue delays from duplicate commands

This is particularly useful in systems with routing fabric (NVX, codec sharing) that may execute the same route multiple times, and in scenarios where the display is already on the target input from a previous operation.

Changelog

v2.3.0 (Unreleased)

  • feat: Input state-aware switching to prevent redundant input selection commands
  • fix: Query input state on initialization to ensure feedback is available immediately
  • Eliminates video flicker and audio dropout from duplicate HDMI commands
Product Compatible and additional computed target framework versions.
.NET Framework net472 is compatible.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
2.2.0-v2-model-support.2 74 3/25/2026
2.2.0-v2-model-support.1 67 3/23/2026
2.2.0-feature-input-state-a... 47 5/26/2026
2.2.0-feature-input-state-a... 67 5/26/2026
2.2.0-feature-input-state-a... 60 5/18/2026
2.2.0-feature-input-selecti... 73 3/3/2026
2.2.0-feature-add-usb-input... 79 1/29/2026
2.2.0-feature-add-usb-input... 76 1/29/2026
2.1.0 338 12/16/2025
2.1.0-current-input.1 251 12/16/2025
2.0.0 179 9/5/2025
2.0.0-add-usb.2 130 9/5/2025
2.0.0-add-usb.1 169 7/31/2025
1.1.0 265 4/2/2025
1.1.0-feature-4-series.7 193 4/2/2025
1.1.0-feature-4-series.6 188 4/2/2025
1.1.0-feature-4-series.1 188 8/20/2024