hathach
05c439e45a
refractor usbd, first step to make get configuration as sub task
2013-11-15 13:26:12 +07:00
hathach
fc68439b74
add usbd_task to handle event task eg setup received
2013-11-15 12:30:22 +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
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
de7e21dc66
refractor hub api
...
fix all test build errors
2013-10-16 11:05:33 +07:00
hathach
5c8389b9ae
update freertos project
...
temp hack to fix problem with no TD on status endpoint of hub in case of error
2013-10-02 11:01:28 +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
7f4a3fc829
ignore multiple level of hub
2013-10-01 13:23:31 +07:00
hathach
71b2859fe5
handle unplug the hub itself
2013-10-01 13:09:52 +07:00
hathach
4da3b03430
refractor hub
2013-10-01 12:12:35 +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
5eebec61f1
refractor hub
2013-09-30 17:14:44 +07:00
hathach
821f85cb20
refractor hub
2013-09-30 15:34:22 +07:00
hathach
3cc169f2fd
able to mount one device on the hub
2013-09-30 15:16: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
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
295612b48f
remove ATTR_WEAK for all necessary driver callback
...
fix ceedling tests
2013-09-21 00:42:39 +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
52ae0afeb6
refine hid host driver
2013-09-20 16:20:28 +07:00
hathach
86681fe442
starting to add support for IAR workbench
2013-09-19 16:11:11 +07:00
hathach
0d279facbb
fix cmsis rtx tick configuration
...
everything should work
TODO: remove static for variable error in control xfer subtask
2013-09-13 23:32:07 +07:00
hathach
ce865721a5
add test & code to send rndis msg query for permanent address (MAC address)
2013-07-19 01:52:56 +07:00
hathach
3b12917fb0
extract send message & wait & get complete message to send_message_get_response_subtask
2013-07-14 08:33:39 +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
c08c655fd1
implementing initializing for RNDIS
2013-07-05 11:46:12 +07:00
hathach
aed07d83db
host enum task use static control_request variable instead of literal of requests
...
increase enum task stack size from 128 to 150 as it comes dangerously close to overflow
2013-07-04 16:01:20 +07:00
hathach
0d37c4a319
refractor control request used in enumeration task to reduce task data
...
--> enum task now can work with 128 depth
2013-07-04 14:00:41 +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
1667ef5041
replace tusbh_cdc_isr by tusbh_cdc_xfer_isr with extra parameter as
...
- pipe id
- xferred_bytes
host_class_driver_t add xferred_bytes parameter
void (* const isr) (pipe_handle_t, tusb_event_t); --> void (* const isr) (pipe_handle_t, tusb_event_t, uint32_t);
update hid_host & its tests
2013-07-03 11:36:08 +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
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
35adca5ba3
house keeping
2013-07-01 11:37:53 +07:00
hathach
a4f7dc1105
add & pass a first few test for cdc host
...
implement cdch_open_subtask
2013-07-01 10:35:37 +07:00
hathach
7e6e5cc356
[CDC]
...
- add configure option
- add include path
- add driver function table
2013-06-29 16:06:45 +07:00
hathach
3bca56665c
add mutex support for osal
...
add test for mutex in test_osal_none.c
implement usbh_control_xfer using mutex to get access to queue xfer on control pipe
(while semaphore is used to sync with hcd DMA)
failed to issue control xfer: set idle & get report descriptor in hidh_open_subtask (more to work on)
2013-06-27 16:19:22 +07:00
hathach
c81c4bb817
add set idle request for hidh_open_subtask
...
add interface number to hidh_interface_info_t
refractor hidh_open_subtask to be a true subtask
cannot run with set idle code ON because of semaphore misuse
2013-06-27 03:20:14 +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
ed217948b8
rename descriptor type, hid descriptor type
2013-05-25 17:19:18 +07:00
hathach
8cb7818bcc
- move CMSIS & driver lib for lpc13u to codebase bsp/lpc13xx
...
- change descriptor.c/h able to build device example
2013-05-23 13:22:46 +07:00
hathach
63add70139
test clean up
2013-05-09 12:49:52 +07:00
hathach
fd49cff8e8
add stub for msc host & hub driver
2013-05-06 20:09:06 +07:00
hathach
120db28a17
change format of file header & license spacing
2013-05-06 12:50:19 +07:00
hathach
4db386525f
reduce delay after reset to 20ms
...
correct freeRTOS configCPU_CLOCK_HZ to correct M4 mcu clock
2013-04-27 14:17:06 +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
3763e22c9a
change OSAL_TASK_DEF to decouple variable name with task name
...
implement osal_task_delay for freeRTOS & non_os
getting both no_os & freertos running with mouse + keyboard
2013-04-25 16:41:00 +07:00