libhlusbd - High Level USB Device Library
This is a high level USB Device library. This implements the USB protocol, and requires some low level device specific implementation to interface with.
It comes with some drivers to interface with STM32CubeF1 and NRFX. In the ucdev repo are demos for this library for the STM32F103CBT6 ("Blue Pill") and nRF52840.
Basic functionality works, the device can enumerate, send and receive data on bulk and interrupt endpoints (with atm some manual configuration) Some features, such as multiple configurations, alternative interfaces, etc. are not implemented yet. This also includes automatic configuration of the endpoints, etc.