hathach
b2b53e61fb
refractor dcd_controller_reset & hcd_controller_reset to hal_controller_reset
2013-11-06 12:15:11 +07:00
hathach
3a54ad4c0d
implement msc device class
...
usbd auto stall control for not supported return from class control request
usbd implement xfer isr callback mechanism
DCD
- implement dcd multiple qtd support
- dcd dcd_pipe_stall
- implement dcd_pipe_queue_xfer
- xfer_complete_isr
- flush control endpoint if received new setup while previous transfer is not complete
change msc_cmd_block_wrapper_t flags field to dir
force full speed for easy testing
NOTEs: somehow unable to get endpoint IN interrupt with ioc
2013-11-01 12:11:26 +07:00
hathach
357813f171
implementing sw device stack
2013-10-29 11:27:25 +07:00
hathach
318a058d3c
static assert to check OSAL_QUEUE_DEF's queue_depth parameter < 256
...
enable HOST_HCD_XFER_INTERRUPT by default (previously only enabled with HID), as it is widely used
implement tusbh_cdc_is_busy
add compilation switch in usbh enumeration for hub
rewrite CDC serial application to address usb-serial race condition
2013-10-27 19:34:36 +07:00
hathach
5f23653c69
more doxygen work
2013-10-25 13:45:57 +07:00
hathach
b71ffe3d5a
change TUSB_CFG_CONTROLLER0/1_MODE to TUSB_CFG_CONTROLLER_0/1_MODE for clearance
...
adding configuration docs for tinyusb_config.h
document HID mouse & keyboard API
2013-10-24 15:32:54 +07:00
hathach
de7e21dc66
refractor hub api
...
fix all test build errors
2013-10-16 11:05:33 +07:00
hathach
6f9172c15f
clean up warnings here and there
2013-10-02 14:20:05 +07:00
hathach
640b0ec546
- move disconnection handle to enum task --> move tusbh_xxx_unmount is invoked in non-isr context
2013-10-01 13:53:54 +07:00
hathach
14ebd6c4d9
refractor hub
2013-10-01 11:29:25 +07:00
hathach
93821c55ce
hack ehci advance async to handle disconnect via hub
2013-09-30 18:40:20 +07:00
hathach
3cc169f2fd
able to mount one device on the hub
2013-09-30 15:16:23 +07:00
hathach
eb1a101667
house keeping
2013-09-27 22:38:23 +07:00
hathach
bbfa85aa08
allow a limited model to deal with stalled pipe/transaction
...
added stall clear & able to mount the stupid toshiba thumb drive
add HCD pipe API
- bool hcd_pipe_is_busy(pipe_handle_t pipe_hdl);
- bool hcd_pipe_is_stalled(pipe_handle_t pipe_hdl);
- uint8_t hcd_pipe_get_endpoint_addr(pipe_handle_t pipe_hdl);
- tusb_error_t hcd_pipe_clear_stall(pipe_handle_t pipe_hdl);
remove tusbh_device_mount_failed_cb (not neccessary for user)
2013-09-24 18:23:34 +07:00
hathach
63b776f7cf
add some tests support for msc host
...
refractor msch buffer for getting inital scsi like inquiry, read capacity
adding support for resovling stall on control pipe
2013-09-24 15:21:16 +07:00
hathach
85f3ad9d3b
refractor hcd API to allow queue xfer without actually transferring data
2013-09-23 00:24:51 +07:00
hathach
a8a10e8650
added read capacity 10 with hacking code
2013-09-22 23:54:44 +07:00
hathach
cc91a73cdc
fix pingstate for highspeed bulk out transfer
...
temp implementation of msc host --> can issue inquiry command
2013-09-22 18:44:55 +07:00
hathach
5708863859
house keeping, clean up warnings
2013-09-21 14:38:40 +07:00
hathach
d15ba08fdc
house keeping
2013-09-21 13:17:43 +07:00
hathach
f8f398a681
start to add msc host, fix dangerous problem with unstable device when plugged --> 200 ms delay. 50ms delay after each port reset
2013-09-20 23:53:48 +07:00
hathach
86681fe442
starting to add support for IAR workbench
2013-09-19 16:11:11 +07:00
hathach
c71f5c6f1b
integrate & able to run cmsis-rtx with current code base
2013-09-13 16:53:17 +07:00
hathach
25304d142f
refractor qhd_xfer_error_isr (omit xfer_type para)
...
add accumulated total xferred byte for an endpoint until transfer with IOC set
- control xfer will have length of data phase in usbh_xfer_isr callback
2013-07-06 14:52:02 +07:00
hathach
68da489c2e
refractor ehci.c adding qhd_get_xfer_type
2013-07-06 13:41:48 +07:00
hathach
374aea7a11
change usbh_control_xfer_subtask to use flat API instead of passing tusb_control_request_t struct
2013-07-05 13:23:42 +07:00
hathach
391e132d6b
no big deal, only rename tusb_std_request_t to tusb_control_request_t
2013-07-04 12:25:39 +07:00
hathach
539c7cdbe1
update usbh_xfer_isr to take actual byte transferred and correct tests
2013-07-02 17:37:55 +07:00
hathach
e1ad7b62cf
add way to calculate the actual byte transferred with ehci
...
add come callback for cdch
add code for cdc serial demo
2013-07-02 17:20:25 +07:00
hathach
7e5c6ded2d
add tusbh_cdc_serial_is_mounted API
...
test for cdch close driver
2013-07-02 15:32:41 +07:00
hathach
12526b34a1
extract qhd_xfer_error_isr
...
add support for period list in xfer_error_isr
pass period TUSB_EVENT_XFER_ERROR & TUSB_EVENT_XFER_STALLED tests
2013-07-02 12:22:46 +07:00
hathach
9fea5291bf
refractor extract list_next
...
add support for TUSB_EVENT_XFER_STALL
add test for error/stall in periodic list
2013-07-02 12:01:51 +07:00
hathach
958d390a85
refractor code
2013-07-01 20:28:16 +07:00
hathach
3f9f3f08d2
add cdc host driver close cdch_close
...
refractor
- add helper function in ehci qhd_next & qtd_next
- extract function qhd_create_pipe_handle
rename tusb_transfer_type_t to tusb_xfer_type_t
add some handling for stall
2013-07-01 18:53:25 +07:00
hathach
d8bd749c75
change control xfer check in usbh_xfer_isr
...
rename
- async_list_process_isr to async_list_xfer_complete_isr
- period_list_process_isr to period_list_xfer_complete_isr
extract function void qhd_xfer_complete_isr(ehci_qhd_t * p_qhd, tusb_transfer_type_t xfer_type)
2013-07-01 16:14:46 +07:00
hathach
3f0d740776
rename usbh_isr to usbh_xfer_isr
2013-07-01 15:30:29 +07:00
hathach
2cc5df9b00
add custom bulk out test
2013-06-23 01:10:59 +07:00
hathach
fe53297b17
fix bug with custom class that terminate xfer after the first QTD
2013-06-22 22:26:00 +07:00
hathach
5c564df8c1
add api for hcd: hcd_pipe_is_idle
...
add api for usbh: tusbh_device_get_mounted_class_flag
implement api for custom class
- is mounted
- read
2013-06-21 14:20:08 +07:00
hathach
3924764dff
[host lpc43xx] adding support for host custom class
...
refractor usbh class driver indexing
opt out periodic list code in EHCI (need to refractor/group later)
[device lpc176x] rename dcd_endpoint_configure to dcd_pipe_open
add usbd_pipe_open to manage pipe
2013-06-21 13:11:45 +07:00
hathach
63add70139
test clean up
2013-05-09 12:49:52 +07:00
hathach
861f02943d
add log2_of and use this function in get_period_head
2013-05-06 20:51:34 +07:00
hathach
120db28a17
change format of file header & license spacing
2013-05-06 12:50:19 +07:00
hathach
fdd98e2fa9
clean up main
2013-04-28 00:00:48 +07:00
hathach
c0104b996e
implement hcd_port_speed_get
...
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-25 17:48:55 +07:00
hathach
c20071c55c
fix compiler error for USB1 to none in ehci.c
...
rename and moving bsp ea4357
2013-04-22 11:00:43 +07:00
hathach
3f9a73a34d
change config to use USB0 only
...
fix some compiler warnings
2013-04-22 10:44:51 +07:00
hathach
ee9d53477a
complete the support for correct polling of 1ms 2ms 4ms 8ms
2013-04-21 16:24:42 +07:00
hathach
a493fab753
separate fake ehci's run async & period list
...
refractor list_find_previous_item & list_remove_qhd to act on ehci_link_t* instead of ehci_qhd_t*
fully support 1ms, 2ms, 4ms, 8ms for period list (each list has a dummy queue head)
- change period list structure
limit the maximum polling interval to 256 ms
add max_loop static MAX number of iteration for list_find_previous_item
add test for close 256ms polling interrupt
2013-04-21 15:09:54 +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