DGI NVX EDID Management Driver
A C# driver for querying and modifying the EDID table on Crestron DM NVX endpoints via the CresNext HTTPS API.
Supported Frameworks
- .NET Framework 4.8
- .NET 8.0
Installation
Add the DGI.NVX.EDID.MANAGEMENT NuGet package to your project.
Quick Start
using Dgi_NvxEdidManagement;
// Create and connect
var driver = new NvxEdidManagement();
await driver.ConnectAsync("192.168.1.10", "admin", "admin");
// Query all inputs
var inputs = await driver.GetInputsAsync();
foreach (var input in inputs)
{
Console.WriteLine($"{input.Name}: current EDID = {input.Ports[0].Edid.CurrentEdid}");
}
// Apply an EDID to input 0, port 0
// Note: NVX API indexing starts at 0, so input 0 is the first input and port 0 to the first port.
// Port is normally 0 for most NVX devices.
var result = await driver.ApplyEdidAsync(0, 0, "Laptop 16x9 1080p50 2ch","System");
// Apply the same EDID type to all inputs at once
await driver.SetGlobalEdidAsync("Laptop 16x9 1080p50 2ch","System");
// Read downstream display EDID from output 0, port 0
var downstream = await driver.GetOutputDownstreamEdidAsync(0, 0);
Console.WriteLine($"Connected display: {downstream.NameString}");
// Disconnect
await driver.DisconnectAsync();
Logging
The driver uses Serilog. By default it writes to the global Log.Logger. To use a custom
logger:
var driver = new NvxEdidManagement();
driver.ClassLogger = Log.ForContext("Component", "NVX-Room-A");
Documentation
See the docs folder for full API reference and usage examples.