Bidirectional USB HID Implementation for the STM32F4Discovery