3 releases
0.1.2 | Sep 9, 2024 |
---|---|
0.1.1 | May 27, 2024 |
0.1.0 | May 26, 2024 |
#364 in Hardware support
96KB
2.5K
SLoC
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:
Dependencies
~1.2–2.3MB
~47K SLoC