diff options
author | Robin Krahl <robin.krahl@ireas.org> | 2019-02-18 10:56:30 +0000 |
---|---|---|
committer | Robin Krahl <robin.krahl@ireas.org> | 2019-02-18 15:30:10 +0100 |
commit | 7da90438dd7851f66abfa81eba2eeb36ff9c9c25 (patch) | |
tree | 400bd0f6ab5e15899bd3fc1d8df55b57acfd1cf8 /src/device.rs | |
parent | a3f0fb062048c52c3f04e907f0107e1db9b6141c (diff) | |
download | ntw-7da90438dd7851f66abfa81eba2eeb36ff9c9c25.tar.gz ntw-7da90438dd7851f66abfa81eba2eeb36ff9c9c25.tar.bz2 |
Add USB stack and simple HID implementation
This patch adds the usb-device and stm32f103xx-usb crates that provide a
USB stack. It introduces the HidClass struct, a basic implementation of
the Human Interface Device (HID) USB class. Devices with that class are
recognized as HID devices with the specified vendor and product ID, but
do not provide the endpoints required for interaction.
Diffstat (limited to 'src/device.rs')
-rw-r--r-- | src/device.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/device.rs b/src/device.rs new file mode 100644 index 0000000..ea732e6 --- /dev/null +++ b/src/device.rs @@ -0,0 +1,16 @@ +// Copyright 2019 Robin Krahl <robin.krahl@ireas.org> +// SPDX-License-Identifier: GPL-3.0-or-later + +use usb_device::bus::{UsbBus, UsbBusAllocator}; +use usb_device::device::{UsbDevice, UsbDeviceBuilder, UsbVidPid}; + +const VID_CLAY_LOGIC: u16 = 0x20a0; +const PID_NITROKEY_PRO: u16 = 0x4108; + +pub fn create_usb_device<B: UsbBus>(alloc: &UsbBusAllocator<B>) -> UsbDevice<'_, B> { + UsbDeviceBuilder::new(alloc, UsbVidPid(VID_CLAY_LOGIC, PID_NITROKEY_PRO)) + .manufacturer("Nitrokey/ntw") + .product("Nitrokey Pro/ntw") + .serial_number("?") + .build() +} |