C# Display API
Collaboration diagram for C# Display API:

Modules

 DTO
 
 Enumerations
 

Classes

class  DisplayManager
 Object to manage Obu Output More...
 
class  ObuOutput
 OBU Output Object
 
interface  IDisplayManager
 Interface for Display Service More...
 
interface  IObuOutput
 Interface for Obu Outputs More...
 

Detailed Description

To work with Deepsy Display Service it is necessary to use DisplayManager located in GMV.ITS.HAL.DEEPSY.Display.Facade.

DisplayManager displayManager = new DisplayManager("192.168.1.234");


To obtain a list of Obu Outputs objects:

try
{
DisplayManager displayManager = new DisplayManager("192.168.1.234");
IEnumerable<IObuOutput> obuOutputList = displayManager.GetObuOutputList();
}
catch (NotAvailableException e)
{
Console.WriteLine(e.Message);
}
catch (LowLevelException e)
{
Console.WriteLine(e.Message);
}

Examples

  • Get OBU Output List
    Getting all OBU Output from the machine

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    namespace GMV.ITS.HAL.DEEPSY.Examples.Display
    {
    public class GetObuOutputListExample
    {
    public static int Main(string[] args)
    {
    try
    {
    string deepsyServerIp = args.Length == 0 ? "192.168.147.144" : args[0];
    using (IDisplayManager displayManager = new DisplayManager(deepsyServerIp))
    {
    List<IObuOutput> obuOutputList = displayManager.GetObuOutputList().ToList();
    Console.WriteLine($"There are {obuOutputList.Count()} OBU Output");
    foreach (IObuOutput o in obuOutputList)
    {
    Console.WriteLine($"OBU Output ID: {o.ObuOutputID}");
    Console.WriteLine($"\t OSName : {o.ObuOutputConf.OSName}");
    Console.WriteLine($"\t Tech : {o.ObuOutputConf.Tech}");
    Console.WriteLine($"\t Type : {o.ObuOutputConf.Type}");
    Console.WriteLine($"\t DisplayConfigMode : {o.ObuOutputConf.DisplayConfigMode}");
    Console.WriteLine($"\t DisplayConfigForcedID : {o.ObuOutputConf.DisplayConfigForcedID}");
    Console.WriteLine($"\t LayoutConfigID : {o.ObuOutputConf.LayoutConfigID}");
    Console.WriteLine($"\t Brightness : {o.ObuOutputConf.Brightness}");
    if (o.AppliedCurrentConfig)
    {
    Console.WriteLine($"\t AppliedCurrentConfig : TRUE");
    }
    else
    {
    Console.WriteLine($"\t AppliedCurrentConfig : FALSE");
    }
    Console.WriteLine($"\t Display Info :");
    Console.WriteLine($"\t\t Status : {o.DisplayInfo.DisplayStatus}");
    Console.WriteLine($"\t\t Manufacturer : {o.DisplayInfo.Manufacturer}");
    Console.WriteLine($"\t\t Model : {o.DisplayInfo.Model}");
    Console.WriteLine($"\t\t hSize : {o.DisplayInfo.HSize}");
    Console.WriteLine($"\t\t vSize : {o.DisplayInfo.VSize}");
    Console.WriteLine($"\t\t Modes : ");
    foreach (IDisplayMode mode in o.DisplayInfo.DisplayModes)
    {
    if (mode.ActiveMode)
    {
    Console.WriteLine($"\t\t -> {mode.DisplayModeID}: {mode.HResolution}x{mode.VResolution}@{mode.Rate} [Active]");
    }
    else
    {
    Console.WriteLine($"\t\t -> {mode.DisplayModeID}: {mode.HResolution}x{mode.VResolution}@{mode.Rate}");
    }
    }
    }
    Console.WriteLine($"Press any key for exit");
    Console.ReadKey();
    return 0;
    }
    }
    catch (HalException deepsyEx)
    {
    Console.WriteLine($"Deepsy error : {deepsyEx.ErrorCode}");
    return -1;
    }
    catch (Exception ex)
    {
    Console.WriteLine($"Error Not Handled exception {ex.Message}");
    return -1;
    }
    }
    }
    }