Core Interfaces
The DGI.Framework.Core library contains the Interfaces or contracts used through the implementation of the drivers. The interfaces supported are:
Global
- IDgiLogger: Interface to ensure that Serilog Logger is implemented in the drivers.IDgiRegistration: Interface to ensure a mechanism to Register and Unregister Drivers.
- IDgiRoomInfo: Interface that gives meaning inside a driver in relation to the system. It gives, ID, Name, Room and Type information to the drivers so they can be identified later on in a larger system
- IDgiRegistration: Registers a device into a system
Communications
- IDgiCommunication: General Communication interface. Is implemented in TCP, UDP, Serial, SSH, Telnet and IR Drivers. This makes it easy to swap from one communication platform to another.
- IDgiPartitionSensor: Interface for partition sensors
- IDgiRelay: Interface for Relays
- CommunicationsType: Enum listing all different types of communications like IR, and TCP.
- DGIRemoteDeviceConfiguration: Class that contains the comunication configuration to be fed into an IDgiCommunication constructor
Destinations
Interfaces here represent all sink devices like Projectors and Flat Screen Displays. There are several core functionalities for Destinations:
- IDgiDestinationAudio: Lists Audio related properties, methods and events, such as audio mute and level
- IDgiDestinationInputs: Lists Input related properties, methods and events, such as active video inputI
- IDgiDestinationLightSource: List Light Source related properties, method and events, such as Lamp Hours, of Back Light Hours
- IDgiDestinationPower: Lists Power related properties, methods and events.
- IDgiDestinationVideo: Lists Video related properties, methods and events, such as video mute.
The above core functionalities are combine into the following interfaces:
- IDgiProjector: Interface to implement functionality for projectors.
- IDgiDisplay: Interface to implement functionality for Displays.
DSP
List of interfaces to implement DSP Functionality. Is mainly composed of:
- List of Button Controls
- List of Button Controls with Names
- List of Gain Controls
- List of LED Controls
- List of List Controls
- List of Phone Controls
- List of Room Combiner Controls
- List of Router Controls
- List of Snapshot Controls
- List of String Controls
- List of Volume and Mute Controls
Mechanical
Interfaces for Various Mechanical devices in the room
- IDgiFireAlarm: Interface to provide global Fire Alarm state in the building, It supports different trigger types
- IDgiLightCircuit. Interface to provide control of a light circuit: a set of light fixtures connected together and controlled at the same time
- IDgiPartition: Interface to provide control of a Partition Device. It support state events, and also setting between manual and automatic
- IDgiPartitionSensor. Interface to provide control over a partition sensor, with properties like State, and sensitivity
- IDgiProjectorScreen: Interface to provide control of a projection screen
- IDgiWindowCovering. Interface to provide control of shades and curtains.
Sources
Interfaces here represent all source devices like Cameras and Cable TV Boxes. These interfaces implement smaller ones, like IDgiDPad or IDgiSourcePower, consult the wiki for more information
- IDgiCatv: Interface to provide control for Cable TV Boxes
- IDgiCamera: Interface to provide control of cameras. Supports Presets
- IDgiBluRay: Interface to provide control for BluRay Players
- IDgiDvr: Interface to provide control for DVRs
- IDgiAutoTracking: Interface to be added to IDgiCamera, when it supports AutoTracking
Wiki
For more information consult the wiki