libmonitor

Crates.iolibmonitor
lib.rslibmonitor
version0.1.2
sourcesrc
created_at2024-05-26 11:21:24.902125
updated_at2024-09-09 22:12:53.975667
descriptionA cross platform library to enable communication with VESA compliant monitors
homepage
repositoryhttps://github.com/ju6ge/libmonitor
max_upload_size
id1252517
size119,261
Felix Richter (ju6ge)

documentation

README

libmonitor

This crate aims to be a unified solution to interacting with display devices. It provides a Monitor class that can be used to set or read settings of a Monitor.

Supported Operations:

  • Read/Set Contrast
  • Read/Set Brightness
  • Read/Set On Screen Display Language
  • Read/Set Monitor Input Source

Lower Level Access

libmonitor also enables lower level access to the monitor communication bus. Per default type safe abstractions are used, but custom messages can also be sent and received.

Supported DDC/CI Operations

  • Read Capabilities
  • Set/Read VcpValue
  • Read Timing Report
  • Set/Read VcpTable

OS Support

  • Linux

  • Windows

  • MacOS

Standards

Display device communication has been standardized by VESA. The current public standards can be found here: VESA Public Standards

Relevant for this Library:

  • E-EDID: Display Device Identification Data
  • E-DDC: I2C-Bus device definition's and communication
  • DDCCI: Display Command Interface for Display Setting Manipulation
  • MCCS: Display Features and Capabilities Definitions

Previous Work

This crate was build after finding previous solutions to be incomplete and fragmented. The following crates deserve an honorable mention for providing inspiration:

Commit count: 3

cargo fmt