# slabhiddevice `slabhiddevice` is a Rust library designed to support USB to UART bridge controllers. This library offers a set of functionalities to efficiently interact with and manage USB HID devices. The library is based on the API specification detailed in the [HID Library API Specification](https://www.silabs.com/documents/public/application-notes/AN532.pdf). ## Installation Add the following to your `Cargo.toml`: ```toml [dependencies] slabhiddevice = "0.1.0" ``` ## Usage Import the `slabhiddevice`. The starting point for all the functionality is to create a HidDevice object. With a HidDevice object, you can get the number of Hid devices connected to the system, open the devices, retrieve more information from them. ```rust use slabhiddevice::hiddevice; fn main() { // Initialize the slabhiddevice library let hiddev = hiddevice::HidDevice::new().unwrap(); // Perform operations with the devices // ... } ``` For more usage examples, please take a look at the `examples/` directory ## Documentation For detailed documentation, please visit [docs.rs/slabhiddevice](https://docs.rs/slabhiddevice). ## Contributing Contributions are welcome! Please submit a pull request or open an issue to discuss your ideas. If you have a feature request or find a bug, please follow these steps: ### Requesting a Feature 1. **Open an Issue**: Go to the Issues section of our GitHub repository and open a new issue. 2. **Describe the Feature**: Provide a detailed description of the feature you would like to see, including any relevant use cases and examples. 3. **Label the Issue**: Add the `enhancement` label to your issue. ### Reporting a Bug 1. **Open an Issue**: Go to the Issues section of our GitHub repository and open a new issue. 2. **Describe the Bug**: Provide a detailed description of the bug, including steps to reproduce it, the expected behavior, and the actual behavior. 3. **Provide Context**: Include any relevant information such as your operating system, Rust version, and any error messages. 4. **Label the Issue**: Add the `bug` label to your issue. ### Submitting a Pull Request 1. **Fork the Repository**: Fork the repository to your own GitHub account. 2. **Create a Branch**: Create a new branch for your feature or bug fix. 3. **Make Your Changes**: Implement your feature or bug fix. 4. **Test Your Changes**: Ensure that your changes do not break existing functionality. 5. **Submit a Pull Request**: Open a pull request to merge your changes into the main repository. Provide a detailed description of your changes and reference any related issues. We appreciate your contributions and look forward to collaborating with you! ## License This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.