GithubHelp home page GithubHelp logo

bluekeyes / pico-12vrgb-hid-controller Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 1.3 MB

4-pin RGB controller using the Pi Pico and USB HID

License: MIT License

CMake 3.44% C 65.53% Python 2.19% Rust 23.72% OpenSCAD 5.13%
pi-pico rgb usb-hid dynamic-lighting

pico-12vrgb-hid-controller's People

Contributors

bluekeyes avatar dependabot[bot] avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

pico-12vrgb-hid-controller's Issues

Find an alternate way to access HID interfaces from CLI

Once Windows detects a HID device as implementing a more specific API in the WinRT set, it seems to hide it from the generic WinRT HID API. While you can often still list the device, I couldn't actually open it or send messages.

This is mostly an issue for the lamp-array subcommand, which is a direct binding to the Lighting and Illuminate HID API.

I haven't tried yet, but I suspect the lower-level win32 HID API might allow access to this device, even if the higher-level APIs do not: https://learn.microsoft.com/en-us/windows/win32/api/_hid/

Fix compatibility with Windows Dynamic Lighting

Now that Dynamic Lighting is available in Window 11, it turns out my device isn't actually compatible. As discussed a bit in the README for the cli package, when I tried to test this using the Windows APIs previously, I ran in to a hang that I couldn't solve. Unsurprisingly, whatever causes that problem also prevents Dynamic Lighting from working, since it presumably uses the same underlying APIs.

Since I last tried debugging this, Microsoft published https://github.com/microsoft/RP2040MacropadHidSample, which is also an RP2040-based implementation. The LampArray APIs correctly discover a device running this sample code without hanging, which proves that the issue is with my code and not with Windows. I now think there's something wrong with my HID descriptor that causes the Windows APIs to hang.

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.