The USPi project mentions something called the "Circle USB library". Sadly, "circle" is a C++ bare metal environment -- two phrases that don't belong together in the same sentence.