* Add USB interface for Vendor HID.
This new interface is enumerated by the host, but the device transmits
all packets on the existing interface, so the device won't function
correct in this mode until this this fixed.
The changes are in tock, and so appear as a patch here. These are:
* supporting multiple HIDs in the USB configuration
* adding the HID descriptors for the new inteface
* supporting the vendor_hid feature in relevant Cargo.toml files.
NOTE: only boards/nordic/nrf52840dk_opensk has been updated.
As the changes are in tockos, deploy script needed to pass vendor_hid
feature to tockos build stage.
Demo of output:
lsusb -v -d 1915:521f | grep "NumInterfaces"
bNumInterfaces 2
* fix some whitespace from review
* Add vendor_hid feature in all boards in this repo, not via a patch in tock.
The boards directories are copied to tockos as part of
setup-submodules.sh
* Remove nesting from HID config in create_descriptor_buffers()
* update comments about HID descriptor use.
Platform-Specific Instructions: nRF52840-Dongle
This is an adapted nrf52840_dongle made to work with OpenSK.
The nRF52840 Dongle is a platform based around the nRF52840, an SoC with an ARM Cortex-M4 and a BLE radio. The kit is uses a USB key form factor and includes 1 button, 1 red LED and 1 RGB LED.
Getting Started
To program the nRF52840 Dongle with Tock, you will need a JLink JTAG device and the appropriate cables. An example setup is:
Then, follow the Tock Getting Started guide
JTAG is the preferred method to program. The development kit has the JTAG pins exposed either through the half-moons pads or, below the PCB, on a Tag-Connect TC2050 connector footprint. You need to install JTAG software.
Programming the kernel
Once you have all software installed, you should be able to simply run make flash in this directory to install a fresh kernel.
Programming user-level applications
You can program an application via JTAG using tockloader:
$ cd libtock-c/examples/<app>
$ make
$ tockloader install --jlink --board nrf52dk
Debugging
See the nrf52dk README for information about debugging the nRF52840 Dongle.