change keyboard_app.c & mouse_app.c from polling API to interrupt-based (callback isr)

and using OSAL for task-base demo
- fix ehci error with XFER_COMPLETE callback to usbh_isr, TD need to be freed & unlink before invoking
callback
- fix bug in usbh.c set device state to CONFIGURED right after SET_CONFIGURE control xfer
This commit is contained in:
hathach
2013-04-10 02:34:40 +07:00
parent e14aa4197d
commit 2d7fbb5153
7 changed files with 167 additions and 114 deletions

View File

@@ -248,7 +248,6 @@ void usbh_device_unplugged_isr(uint8_t hostid)
//--------------------------------------------------------------------+
// ENUMERATION TASK
//--------------------------------------------------------------------+
//TODO reduce Cyclomatic Complexity
OSAL_TASK_DECLARE(usbh_enumeration_task)
{
tusb_error_t error;
@@ -398,6 +397,8 @@ OSAL_TASK_DECLARE(usbh_enumeration_task)
)
);
usbh_devices[new_addr].state = TUSB_DEVICE_STATE_CONFIGURED;
//------------- parse configuration & install drivers -------------//
p_desc = enum_data_buffer + sizeof(tusb_descriptor_configuration_t);
@@ -440,7 +441,6 @@ OSAL_TASK_DECLARE(usbh_enumeration_task)
}
}
usbh_devices[new_addr].state = TUSB_DEVICE_STATE_CONFIGURED;
tusbh_device_mount_succeed_cb(new_addr);
OSAL_TASK_LOOP_END