5 stable releases
1.1.2 | Aug 26, 2024 |
---|---|
1.1.1 | Mar 15, 2024 |
1.1.0 | Mar 14, 2024 |
1.0.1 | Feb 7, 2024 |
#193 in Hardware support
29KB
499 lines
aci-registry-rs
This crate provides programmatic interfaces to represent the types of Device Classes, Device Subclasses, Device Vendors, and Device Products. for the ACI Specification.
Additionally, this crate provides information about device classes, vendors, and well-known subclasses
Features
The following crate features are provided:
fixed-repr
: Causes each well-known subclass enum,DeviceClass
,DeviceVendor
,SubclassId
, andProductId
to all be represented as a native-endianu16
, which is suitable for encoding/decoding for transport, specifically as the Device Class/Subclass and Device Vendor/Product fieldsextended-info
: Provides information that is generally unneeded by drivers or firmware for ACI Devices for well-known subclass enums,DeviceClass
, andDeviceVendor
non-authorative
: Provides enums in thenon_authorative
module for known product ID and subclass ID registrations.
Use
There are three primary uses for this crate:
- The development of firmware for ACI Compliant Devices, or low-level components of an ACI Host
- The development of drivers for ACI Complaint Devices, or generic portions of ACI Host System Software
- The development of tools which provide information about ACI devices
To Faciliate the first two use cases, the crate is no_std
and does not require the alloc
crate. This allows it to be used in bare metal freestanding systems without issue
Other Subclasses/Product Ids
Subclasses of non-well known classes, and Product IDs are provided in the non_authorative
module, which is enabled by the non-authorative
feature.
This information is not owned by the Clever-ISA Project, nor is its updates coordinated, so it's accuracy is not warrantied and the types are provided on an AS IS basis only.
Enums provided in the module are affected as usual by the fixed-repr
and extended-info
features.
Out of Date Registries
The registry associated with this crate is kept in sync by periodic updates within a few hours of modifications to the registry. If newer registriations are not available, you may need to use a later version of this crate.
It is considered a semver patch to update the copy of the registry associated with a version of this crate.
License
Copyright (C) 2024 Clever-ISA Project
This project is released under the terms of the Apache 2.0 or MIT License, at your option.
Unless you state otherwise, any contribution intentionally submitted by you to this repository will be released under the above dual license.
No runtime deps
~225KB