http://mbed.org/users/samux/code/USBDevice/#7f782bfe6962