summaryrefslogtreecommitdiff
path: root/tinyusb/host/usbh.c
AgeCommit message (Collapse)Author
2013-05-23- move CMSIS & driver lib for lpc13u to codebase bsp/lpc13xxhathach
- change descriptor.c/h able to build device example
2013-05-09test clean uphathach
2013-05-06add stub for msc host & hub driverhathach
2013-05-06change format of file header & license spacinghathach
2013-04-27reduce delay after reset to 20mshathach
correct freeRTOS configCPU_CLOCK_HZ to correct M4 mcu clock
2013-04-25implement hcd_port_speed_gethathach
move port reset & speed detection from isr context to usbh enumeration task - decrease time in isr significantly from 50 ms to 580us fix bug with osal_task_delay for freeRTOS buil
2013-04-25change OSAL_TASK_DEF to decouple variable name with task namehathach
implement osal_task_delay for freeRTOS & non_os getting both no_os & freertos running with mouse + keyboard
2013-04-25add attribute warn unused result for osal_create_* functionhathach
taskify keyboard_app mouse_app & led_blinking
2013-04-25add TUSB_CFG_OS_TASK_PRIO to mandatory option for using an RTOShathach
using plain char for error enum character increase freeRTOS configMAX_PRIORITIES to 16 house keeping & clean up compiler warning
2013-04-24- change OSAL_TASK_FUNCTION to have void* parameter (to be consistent with ↵hathach
most popular RTOS) - add new error enum TUSB_ERROR_OSAL_TASK_CREATE_FAILED - move usbh_enumeration_task prototype to usbh.h - change OSAL_SUBTASK_INVOKED_AND_WAIT behavior, will not "return" in calling task when subtask got error status. calling task need to do that after the call - osal_queue_receive signature from uint32_t* to void* - implement osal_freertos.h for FreeRTOS 7.3 --> able to compile & build host_freertos + OSAL_TASK_FUNCTION + turn on FPU for M4 in both host_os_none & host_freertos (freertos requires FPU to be on to compile) + osal_task_create + OSAL_SUBTASK_INVOKED_AND_WAIT + SUBTASK_ASSERT + osal_semaphore_reset + osal_queue_flush + adding heap_1.c for memory management
2013-04-24move main work in usbh_enumeration_task to its body subtask for task_assert ↵hathach
style
2013-04-24fix potential error with usbh_control_xfer_subtask in subtask_asserthathach
change back to use task_assert style in usbh_enumeraion change test to task->subtask->subtask style in test/test_osal_none.c
2013-04-23rename OSAL_TASK_DECLARE to OSAL_TASK_FUNCTIONhathach
removing TASK_ASSERT to avoid using goto/continue statement with rtos configure
2013-04-21rename nxp_sof_received to nxp_int_sofhathach
implementing freeRTOS integration change get_period_frame_list from using lst_idx to hostid (fix bug) adding polling interval supported for interrupt: 1ms, 2ms, 4ms, 8ms - add interval_ms to get_period_head function - add bInterval to qhd_init - add support for sub-frame (less than 8 micro frames) interval - add bunch of test for interrupt different intervals
2013-04-10change keyboard_app.c & mouse_app.c from polling API to interrupt-based ↵hathach
(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
2013-04-10change osal_queue_send(osal_queue_handle_t const queue_hdl, uint32_t data) ↵hathach
signature to osal_queue_send(osal_queue_handle_t const queue_hdl, const void * data) - support any size queue message (instead of fixed uint32_t)
2013-04-09adding code to allow configure MIC2555 to pull down D+/D- (still need bit ↵hathach
bangding I2C on PB_0 PB_1) add back port reset after get 8 bytes of device descriptor
2013-04-08move MCU define to tusb_option.h, fix the ATTR with USB RAMhathach
hack: add delay before the very first xfer when enumerating (finalize later after reading USB 2.0 specs)
2013-04-07rename hidh_keyboard_info_t to hidh_interface_info_thathach
rename tusb_bus_event_t to tusb_event_t add test_mouse_init and more stuff for hidh mouse move delay after port reset to only for speed detection prioritize port change interrupt over xfer interrupt - in case of unplugged, current connect change & xfer error both set - xfer error only break to debugger if not because of unplugged fix bug: set dev addr0 state to UNPLUG after close its control pipe in enumeration process
2013-03-29clean up, update tests for hcd_port_reset after 8 byte descriptor & set ↵hathach
configure before open class driver
2013-03-29fix the damn bug within 10 line of code in keyboard_app.chathach
2013-03-26rename pipe_status_t to tusb_interface_status_thathach
add tusbh_hid_keyboard_status & test code
2013-03-26fix bug with enum task skipping decriptorhathach
2013-03-26add code for hidh closehathach
refractor the full configure descriptor parsing in enum task
2013-03-26- put ATTR_UNUSED to hardfault handler variables to discard compiler warninghathach
- change host_class_driver_t: open_subtask signature to accept tusb_descriptor_interface_t const * instead of uint8_t*
2013-03-26start merge hidh_keyboard back to hidhhathach
2013-03-26pass all the current testshathach
2013-03-26add flag_supported_class to usbh_deviceshathach
remove all ATTR_WEAK in init,open,isr,close driver functions of USBH-CLASS API - prefer testing
2013-03-25remove obsolete TUSB_CFG_HOST_HID_KEYBOARD_ENDPOINT_SIZEhathach
temporarily ignore test for hid_host.c due to ceedling linking issue with weak symbol implement hidh_open_subtask driver to subclass open rename hidh_keyboard_install to hidh_keyboard_open_subtask
2013-03-25change website from tinyusb.net to tinyusb.orghathach
2013-03-24refractor hidh keyboardhathach
changing class hidh behavior
2013-03-24refractorhathach
- rename usbh_device_info_pool to usbh_devices - create a struct for control pipe in usbh_device_info_t
2013-03-24rename sem_hdl in usbh_device_info_t control_sem_hdlhathach
2013-03-24add TUSB_DEVICE_STATE_INVALID_PARAMETER to tusb_device_state_thathach
2013-03-24refractorhathach
- rename tusbh_device_status_get to tusbh_device_get_state - replace tusbh_device_status_t by tusb_device_state_t
2013-03-24clean up:hathach
- refractor tusb_handle_device_t device_hdl to uint8_t dev_addr add keyboard_app.c/h
2013-03-23- add control_pipe_status for usbh_device_info_t to reflect the status ↵hathach
transfer of control pipe - fix bug with hcd_port_reset + remove regs->portsc_bit.port_enable in the wait loop as device unplugged can cause this to always fails - correct the timeout for hcd_controll_stop/reset 16 uframes ~ 2 ms - potentially fix bugs device unplugged when new address is not assigned
2013-03-23enhance some testshathach
add test for usbh_isr error invoke fix bug if device unplugged before is set to new address - clean up & close control addr0 in usbh_device_unplugged_isr
2013-03-23change signature usbh_isr to add tusb_bus_event_t parameterhathach
change singature of call_isr as well
2013-03-23house keepinghathach
2013-03-23refractorhathach
- rename TUSB_DEVICE_STATE_READY to TUSB_DEVICE_STATE_CONFIGURED - move device_state to core/tusb_types.h - remove usbh_device_hcd_data_cleaned_up_cb, hcd now set the state directly
2013-03-23refractorhathach
- rename usbh_device_info_t.status to state - rename enum TUSB_DEVICE_STATUS_* to TUSB_DEVICE_STATE_*
2013-03-23- house keepinghathach
- add controller id for hal_interrupt_enable/disable
2013-03-22add callback for hcd when it cleaned up all cache data for a device ↵hathach
(previously mark as removing).
2013-03-22- fix bug when unplugged unmounted-already device (mostly plugged when power on)hathach
- add hal_debugger_is_attached & hal_debugger_breakpoint - assert will suspend (place breakpoint) if the condition is failed and debugger is attached. Otherwise, a message to uart is printed - fix get control qhd function when dev_addr is not zero (shifted 1) - fix wrong logic for unsupported class
2013-03-13add some test for usbh_hcd integrationhathach
- add tests for pipe_close (while TDs are active) - add tests for device unplugged add tesst & implement the async_advance_isr to clean up "REMOVING" queue head - add helper find previous qhd - add remove qhd from async list - add is_removing field for async advance isr to clean up add pipe close for control pipe & bulk pipe (with tests) add helper get qhd from pipe_handle
2013-03-13add usbh_pipe_control_close (in conjunction with usbh pipe control open)hathach
close control pipe when unplugged
2013-03-13add hard fault handler to bsp.chathach
rename class_install_subtask to class_open_subtask add class_close for unmount adding code for usbh_device_unplugged_isr & invoke it in hcd_isr
2013-03-13go through all the enumeration (up to get full configuration)hathach
- fix init_qhd for address 0 (clear queue head --> ehci controller halted) - fix bug in usbh_init missing address0 for semaphore create TUSB_CFG_DEBUG == 3: --> ATTR_ALWAYS_INLINE is null --> allow gcc to export "normal inline" function
2013-03-12add semaphore post in usbh_isr for control pipehathach
add osal_queue_send in usbh_device_plugged add macro for placing breakpoint macros fix ehci init: - regs->cmd or (add run_stop) - enable port power in portsc add tusb_task_runner in main loop