Fix LUFA host driver for unconfigured state

master
tmk 2013-04-13 11:55:57 +09:00
parent 1348663a4f
commit 1eb67303ee
1 changed files with 12 additions and 0 deletions

View File

@ -347,6 +347,9 @@ static void send_keyboard(report_keyboard_t *report)
{ {
uint8_t timeout = 0; uint8_t timeout = 0;
if (USB_DeviceState != DEVICE_STATE_Configured)
return;
// TODO: handle NKRO report // TODO: handle NKRO report
/* Select the Keyboard Report Endpoint */ /* Select the Keyboard Report Endpoint */
Endpoint_SelectEndpoint(KEYBOARD_IN_EPNUM); Endpoint_SelectEndpoint(KEYBOARD_IN_EPNUM);
@ -368,6 +371,9 @@ static void send_mouse(report_mouse_t *report)
#ifdef MOUSE_ENABLE #ifdef MOUSE_ENABLE
uint8_t timeout = 0; uint8_t timeout = 0;
if (USB_DeviceState != DEVICE_STATE_Configured)
return;
/* Select the Mouse Report Endpoint */ /* Select the Mouse Report Endpoint */
Endpoint_SelectEndpoint(MOUSE_IN_EPNUM); Endpoint_SelectEndpoint(MOUSE_IN_EPNUM);
@ -386,6 +392,9 @@ static void send_system(uint16_t data)
{ {
uint8_t timeout = 0; uint8_t timeout = 0;
if (USB_DeviceState != DEVICE_STATE_Configured)
return;
report_extra_t r = { report_extra_t r = {
.report_id = REPORT_ID_SYSTEM, .report_id = REPORT_ID_SYSTEM,
.usage = data .usage = data
@ -400,6 +409,9 @@ static void send_consumer(uint16_t data)
{ {
uint8_t timeout = 0; uint8_t timeout = 0;
if (USB_DeviceState != DEVICE_STATE_Configured)
return;
report_extra_t r = { report_extra_t r = {
.report_id = REPORT_ID_CONSUMER, .report_id = REPORT_ID_CONSUMER,
.usage = data .usage = data