Commit Graph

73 Commits

Author SHA1 Message Date
hathach 73d5f00a40 rename OSAL_TASK_DECLARE to OSAL_TASK_FUNCTION
removing TASK_ASSERT to avoid using goto/continue statement with rtos configure
2013-04-23 15:35:27 +07:00
hathach 357888a5e5 rename nxp_sof_received to nxp_int_sof
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-21 00:28:25 +07:00
hathach 2d7fbb5153 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
2013-04-10 02:34:40 +07:00
hathach e14aa4197d change osal_queue_send(osal_queue_handle_t const queue_hdl, uint32_t data) 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-10 01:18:32 +07:00
hathach c036efff1d adding code to allow configure MIC2555 to pull down D+/D- (still need bit bangding I2C on PB_0 PB_1)
add back port reset after get 8 bytes of device descriptor
2013-04-09 02:13:18 +07:00
hathach ef850984da move MCU define to tusb_option.h, fix the ATTR with USB RAM
hack: add delay before the very first xfer when enumerating (finalize later
after reading USB 2.0 specs)
2013-04-08 03:45:31 +07:00
hathach 27f860db9f rename hidh_keyboard_info_t to hidh_interface_info_t
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-04-07 05:09:18 +07:00
hathach fcb8e295ec clean up, update tests for hcd_port_reset after 8 byte descriptor & set configure before open class driver 2013-03-29 23:37:59 +07:00
hathach e658e67ebe fix the damn bug within 10 line of code in keyboard_app.c 2013-03-29 00:20:27 +07:00
hathach ac905a8d09 rename pipe_status_t to tusb_interface_status_t
add tusbh_hid_keyboard_status & test code
2013-03-26 16:39:25 +07:00
hathach 0b08dc7724 fix bug with enum task skipping decriptor 2013-03-26 14:18:14 +07:00
hathach 205a21ff04 add code for hidh close
refractor the full configure descriptor parsing in enum task
2013-03-26 13:45:14 +07:00
hathach 03d045ecde - put ATTR_UNUSED to hardfault handler variables to discard compiler warning
- change host_class_driver_t: open_subtask signature to accept tusb_descriptor_interface_t const * instead of uint8_t*
2013-03-26 12:14:04 +07:00
hathach 54acee1fc8 start merge hidh_keyboard back to hidh 2013-03-26 11:41:41 +07:00
hathach a7e8a2ba9a pass all the current tests 2013-03-26 02:06:30 +07:00
hathach 086a8e4a2d add flag_supported_class to usbh_devices
remove all ATTR_WEAK in init,open,isr,close driver functions of USBH-CLASS API
- prefer testing
2013-03-26 02:02:54 +07:00
hathach c026a9f2e0 remove obsolete TUSB_CFG_HOST_HID_KEYBOARD_ENDPOINT_SIZE
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-25 16:02:24 +07:00
hathach 56cd8be75e change website from tinyusb.net to tinyusb.org 2013-03-25 11:46:30 +07:00
hathach c7c993d6cc refractor hidh keyboard
changing class hidh behavior
2013-03-24 21:40:49 +07:00
hathach 92c137243d refractor
- rename usbh_device_info_pool to usbh_devices
- create a struct for control pipe in usbh_device_info_t
2013-03-24 16:44:59 +07:00
hathach ea04815bbc rename sem_hdl in usbh_device_info_t control_sem_hdl 2013-03-24 16:22:58 +07:00
hathach 55ce5cc4a2 add TUSB_DEVICE_STATE_INVALID_PARAMETER to tusb_device_state_t 2013-03-24 16:05:50 +07:00
hathach 439a3134b9 refractor
- rename tusbh_device_status_get to tusbh_device_get_state
- replace tusbh_device_status_t by tusb_device_state_t
2013-03-24 16:02:45 +07:00
hathach ce63980386 clean up:
- refractor tusb_handle_device_t device_hdl to uint8_t dev_addr

add keyboard_app.c/h
2013-03-24 15:50:49 +07:00
hathach 0c5e0ef0f3 - add control_pipe_status for usbh_device_info_t to reflect the status 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-23 18:36:43 +07:00
hathach 44e09cc397 enhance some tests
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-23 17:31:51 +07:00
hathach 4adfc6a6d8 change signature usbh_isr to add tusb_bus_event_t parameter
change singature of call_isr as well
2013-03-23 15:00:56 +07:00
hathach e6b8166a58 house keeping 2013-03-23 14:27:32 +07:00
hathach e14864759d refractor
- 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-23 12:13:02 +07:00
hathach d7ba86c85e refractor
- rename usbh_device_info_t.status to state
- rename enum TUSB_DEVICE_STATUS_* to TUSB_DEVICE_STATE_*
2013-03-23 11:34:51 +07:00
hathach 0c6d406ddf - house keeping
- add controller id for hal_interrupt_enable/disable
2013-03-23 10:56:41 +07:00
hathach f6acca6664 add callback for hcd when it cleaned up all cache data for a device (previously mark as removing). 2013-03-22 18:55:45 +07:00
hathach dbaf6c0d30 - fix bug when unplugged unmounted-already device (mostly plugged when power on)
- 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-22 17:08:51 +07:00
hathach 9bc30f7694 add some test for usbh_hcd integration
- 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-13 21:42:19 +07:00
hathach 97c436a16e add usbh_pipe_control_close (in conjunction with usbh pipe control open)
close control pipe when unplugged
2013-03-13 11:20:02 +07:00
hathach 97c9001d40 add hard fault handler to bsp.c
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-13 10:57:30 +07:00
hathach 79e277d323 go through all the enumeration (up to get full configuration)
- 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-13 00:02:45 +07:00
hathach d2bd80109e add semaphore post in usbh_isr for control pipe
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
2013-03-12 20:04:29 +07:00
hathach 80facf6f2e add isr api for usbh_hcd
- void usbh_device_plugged_isr(uint8_t hostid, tusb_speed_t speed);
- void usbh_device_unplugged_isr(uint8_t hostid);

implement port_connect_status_isr
2013-03-12 16:42:19 +07:00
hathach 453ea39865 add project file for keil
fix binary.h compiler specific
add hal_init code to reset & set usbmode --> able to get USB ISR
remove const qualifier from return function of
- get_operational_register
- get_period_frame_list
- get_async_head
- get_period_head
- get_control_qhd
add stub for
- hcd_port_connect_status
- hcd_port_speed
2013-03-12 12:06:40 +07:00
hathach 38ff7123b4 add semaphore reset & queue flush API for osal
add semaphore reset when opening control pipe
2013-03-12 00:10:52 +07:00
hathach 8eaad2326b add semphore reset & queue flush API
modify test to check control pipe semaphore created with usbh_init
2013-03-11 12:00:25 +07:00
hathach c1ceec067f add isr empty function for hidh and msch and usbh 2013-03-10 19:42:50 +07:00
hathach 8457585464 add class code to hcd_pipe_open to facilitate usb_complete callback 2013-03-09 21:37:49 +07:00
hathach 2364b09f80 add int_on_complete parameter to hcd_pipe_xfer for TD chain class request
fix control transfer request: remove get_control_request_ptr()
2013-03-09 14:19:40 +07:00
hathach b1db85dedf - addd p_qtd_list_tail to qhd structure for easy queue TD
- move control_request from ehci_data to usbh_device_info_pool
- add test for bulk transfer double (2 consecutive xfers)
- use table (array) structure for class driver, currently included
- refractor extract to function insert_qtd_to_qhd
+ init function
+ install_subtask
--> all class driver function must be declared with WEAK
2013-03-09 13:11:02 +07:00
hathach ef08654e73 add prototype for hcd_pipe(control)_close
- update test code for enum task respectively
2013-03-06 22:41:14 +07:00
hathach 3ed29f5f3c add test & code for hcd_pipe_control_open 2013-03-05 14:26:36 +07:00
hathach e1033b9b3c replace TUSB_CFG_HOST by MODE_HOST_SUPPORTED
move stuffs around
2013-03-04 17:07:14 +07:00
hathach 74e6b545e1 house keeping 2013-03-03 15:36:53 +07:00