Git Product home page Git Product logo

ddc-hi-rs's Introduction

ddc-hi-rs's People

Contributors

arcnmx avatar haimgel avatar jesdazrez avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ddc-hi-rs's Issues

deploy 0.4.1

and yank 0.4.0 because it fails to build on windows

There is an issue with database entries, it seems to be empty.

I2cDevice 22785: Some("ACR") Some("VG280K")
Database {
    entries: {},
}
I2cDevice 22786: Some("ACR") Some("VG270 S")
Database {
    entries: {},
}

and the code I ran:

    use ddc_hi::{Ddc, Display};

    for mut display in Display::enumerate() {
        display.update_capabilities().unwrap();
        println!(
            "{:?} {}: {:?} {:?}",
            display.info.backend,
            display.info.id,
            display.info.manufacturer_id,
            display.info.model_name
        );
        println!("{:#?}", display.info.mccs_database);
    }

System Specs:
rust 1.68
arch linux
nvidia rtx 3050 8gb gpu
both monitors are connected via the gpu.

setvcp not work

❯ sudo ddcset getvcp 10
Display on i2c-dev:
        ID: 22793
        Feature 0x10 = 80 / 100
❯ sudo ddcset setvcp 10 50
Display on i2c-dev:
        ID: 22793
❯ sudo ddcset getvcp 10
Display on i2c-dev:
        ID: 22793
        Feature 0x10 = 80 / 100
❯ fastfetch
                  -`                     yangtse@Yangtse-Desktop
                 .o+`                    -----------------------
                `ooo/                    OS: Arch Linux x86_64
               `+oooo:                   Host: MS-7B89 1.0
              `+oooooo:                  Kernel: 5.19.10-arch1-1
              -+oooooo+:                 Uptime: 1 hour, 34 mins
            `/:-:++oooo+:                Packages: 2039 (pacman)
           `/++++/+++++++:               Shell: zsh 5.9
          `/++++++++++++++:              Resolution: 1920x1080 @ 144Hz
         `/+++ooooooooooooo/`            DE: GNOME 43.0
        ./ooosssso++osssssso+`           WM: Mutter (Wayland)
       .oossssso-````/ossssss+`          WM Theme: Adwaita
      -osssssso.      :ssssssso.         Theme: Adwaita [GTK2/3/4]
     :osssssss/        osssso+++.        Icons: Adwaita [GTK2/3/4]
    /ossssssss/        +ssssooo/-        Font: Cantarell (11pt) [GTK2/3/4]
  `/ossssso+/:-        -:/+osssso+-      Cursor: Adwaita (24px)
 `+sso+:-`                 `.-/+oso:     Terminal: wezterm-gui
`++:.                           `-/+/    CPU: AMD Ryzen 5 3600X (12) @ 3.8GHz
.`                                 `/    GPU: AMD ATI Radeon RX 5600 OEM/5600 XT / 5700/5700 XT
                                         Memory: 3.25 GiB / 15.57 GiB (20%)
                                         Disk (/): 33.68 GiB / 48.83 GiB (68%)
                                         Disk (/home): 670 GiB / 882 GiB (75%)
                                         Locale: zh_CN.UTF-8

Error when trying to get capabilities

Hello,

I've been trying to use your crate unsuccessfully. When trying to get the capabilities of my screen, I get this error :

The unwrap returns thread 'main' panicked at 'called Result::unwrap() on an Err value: Failed to read capabilities string

And the detail is : An error occurred while transmitting data to the device on the I2C bus. (os error -1071241854)'

I'm on Windows, and I don't understand why it's having an error about I2C, while it's supposed to be using winapi to communicate with the screen (and the display.info.backend value indeed is"winapi").

Remove nom 3 dependency (replace edid)

Hi, when build my app that depends on ddc-hi I get this error message: warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.1. The crates that seem to be relying on nom v3.2.1 are mccs (including mccs-caps and mccs-db) and edid. I tried looking into cargo's patch feature but the outdated crate seems to be in several places and I'm not sure I could update everything and have it all work, Cargo.lock is there for a reason.

Feature: Get display using identifier

Hi, is this possible to get a display using some kind of generated UUID?
I'm struggling to make my code work using this way: https://github.com/ThalusA/ddc-enhanced-rs/blob/master/src/lib.rs
The only problem is that when I get or set the brightness enhanced_display.inner_display.info.mccs_database.get or enhanced_display.inner_display.handle.get_vcp_feature seems to enter into some kind of deadlock state because it's just doing nothing and my program won't stop.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.