hathach
6887e5e642
refractor usbd-dcd callback, add bus event isr
2013-11-21 12:47:55 +07:00
hathach
d94efa60d6
fixed dcd lpc17xx queue transfer & IOC handling
...
able to run MSC demo
2013-11-20 15:34:49 +07:00
hathach
850fcf03f0
refractor descriptor
2013-11-20 12:52:07 +07:00
hathach
dbfad50d43
house keeping
2013-11-20 12:21:29 +07:00
hathach
d284ecaccb
add sw int_on_complete support for dcd lpc17xx
2013-11-20 12:03:04 +07:00
hathach
2dafeee585
complete dcd for lpc175x_6x
...
cdc device demo can work but there is hardfault with dma descriptor with fast typing
2013-11-19 16:41:30 +07:00
hathach
94854f805a
get lpc17xx running through enumeration (with control data < 64)
2013-11-18 17:29:12 +07:00
hathach
b104d21e71
fix dcd_pipe_control_xfer for dcd43xx
...
refractor tusb_descriptors.h
2013-11-16 22:16:03 +07:00
hathach
672057de5a
IAD support
2013-11-15 17:20:40 +07:00
hathach
6e463caec0
add semaphore for control xfer for > 64 support for some mcu such as lpc11u/lpc17xx
2013-11-15 16:47:26 +07:00
hathach
d4a260c090
refractor usbd's get descriptor
2013-11-15 15:05:23 +07:00
hathach
699edf9485
separate data & status from dcd_pipe_control_xfer
2013-11-15 14:15:05 +07:00
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
ba49d26e19
fix build error with device 43xx
...
refractor mscd ramdisk demo
2013-11-15 00:01:07 +07:00
hathach
6e8440afe5
complete double buffering for queueing xfer for lpc11u/13u requried by msc device
2013-11-14 14:12:07 +07:00
hathach
7d84139bd4
fix potential issue with stall endpoints
...
NOTE: cannot able to STALL control OUT endpoints --> unsupported with data out request may got to an issue.
clean up configure, add max string descriptor configure as windows sometimes ask for string @ index 238 !!!
2013-11-13 14:00:39 +07:00
hathach
92d9c36dbc
able to build and run cdc device demo on lpc11uxx
2013-11-13 12:40:11 +07:00
hathach
d8f32a79fc
technically, mouse + keyboard device demo also work on lpc13uxx
2013-11-11 14:02:55 +07:00
hathach
9a81cbcd59
remove xfer_type in endpoint_handle_t
...
cdc device demo runs on lpc13uxx
2013-11-11 13:52:31 +07:00
hathach
f00a4b448d
adding support for lpc13uxx
2013-11-11 12:48:21 +07:00
hathach
7ff0dbb64c
add tusbd_cdc_is_busy
...
enhance cdc serial device demo
refractor fifo.c
2013-11-08 14:46:48 +07:00
hathach
15d3a418bd
add windows driver for cdc
...
add simple echo cdc serial demo
add cdc device send/receive API
refractor descriptor
refractor cdc.h
add usbd driver function
- init
- bus_reset
2013-11-08 12:03:32 +07:00
hathach
8c9def8618
clean up tusb_descriptors
2013-11-07 11:51:39 +07:00
hathach
9171d106bc
added hid device hidd_isr callback
...
refractor keyboard dev demo app
2013-11-06 19:55:48 +07:00
hathach
60d444b452
fix a bug with USB1, but still cannot get interrupt occurred on USB1
2013-11-06 14:53:18 +07:00
hathach
58b41a05db
refractor for device able to work on usb1 of lpc43xx. But could not get it work on EA4357
2013-11-06 14:20:45 +07:00
hathach
b2b53e61fb
refractor dcd_controller_reset & hcd_controller_reset to hal_controller_reset
2013-11-06 12:15:11 +07:00
hathach
83d9ececfb
msc add support
...
- SCSI_CMD_MODE_SELECT_6
- SCSI_CMD_MODE_SENSE_6
- SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL
fix msc device bug with no data unsupported command
complete msc device demo with ram disk of 8KB
2013-11-05 13:02:15 +07:00
hathach
d02ef07337
added support for
...
- sense data scsi_sense_fixed_data_t
- read format capacity scsi_read_format_capacity_data_t
change msc device callback to support actual response
fix dcd_pipe_clear_stall also reset toggle
2013-11-01 22:00:39 +07:00
hathach
f2ae5b541f
add dcd pipe clear stall
...
- tusb_error_t dcd_pipe_clear_stall(uint8_t coreid, uint8_t edpt_addr) but does not take endpoint_handle_t as input
complete msc device driver
add usbd clear stall endpoint
2013-11-01 14:44:14 +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
c760c69d51
clean up
2013-10-30 14:16:45 +07:00
hathach
3a37dd66cc
refractor hid device
...
add check dcd_pipe_open if endpoint is already used
refractor usbd : parse and auto open class driver
2013-10-30 14:13:06 +07:00
hathach
b8a7ea6d46
add dcd control pipe stall protocol
2013-10-30 12:52:25 +07:00
hathach
d67a7b7959
fix dcd_data declared with TUSB_CFG_ATTR_USBRAM
...
fix lpc43xx UM: non-control unused endpoint type should be set to different than control in ENDPTCTRL
add hid mouse device
fix mouse descriptor with vertical wheel support
2013-10-30 12:20:00 +07:00
hathach
d9ce879df8
able to enumerate mouse + keyboard (missing timing at set configured though)
2013-10-29 17:16:41 +07:00
hathach
cb0a02f8c9
change device driver init to open (when configured)
...
fix HID_REQUEST_CONTROL_SET_REPORT handle
2013-10-29 16:29:48 +07:00
hathach
5ab195a73d
temporarily implementation of dcd_pipe_is_busy
2013-10-29 15:09:16 +07:00
hathach
db986b3107
able to fully enumerated with keyboard
2013-10-29 14:19:56 +07:00
hathach
357813f171
implementing sw device stack
2013-10-29 11:27:25 +07:00
hathach
d925026089
make device keyboard buildable & runnable with ea4357
2013-10-27 21:33:06 +07:00
hathach
064d0cf5a9
document cdc
2013-10-27 19:59:06 +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
0d9e1163df
fix osal_none timeout, instant return with OSAL_TIMEOUT_NOTIMEOUT
2013-10-27 16:48:09 +07:00
hathach
eb39d88360
rndis document
2013-10-27 15:42:31 +07:00
hathach
f941f88549
rndis document
2013-10-27 15:15:28 +07:00
hathach
76e993c45c
rndis document
2013-10-26 20:25:14 +07:00
hathach
df8d56f485
more document
2013-10-26 20:14:12 +07:00
hathach
dae4fdc04f
cdc document
2013-10-26 20:12:39 +07:00
hathach
acd69a7692
document msc
2013-10-26 19:14:06 +07:00
hathach
621cdc7013
doxygen document for msc
2013-10-26 14:12:45 +07:00
hathach
d1d2bbdf5d
update doxygen
2013-10-26 12:42:27 +07:00
hathach
0d00742cf0
more doxygen work
...
rename tusb_mouse_report_t (keyboard) to hid_mouse_report_t (keyboard)
2013-10-25 17:28:31 +07:00
hathach
7bf5cbc3fc
move descriptor to common folder
2013-10-25 13:46:38 +07:00
hathach
5f23653c69
more doxygen work
2013-10-25 13:45:57 +07:00
hathach
6c629a18fc
partially document CDC & RNDIS
2013-10-24 17:26:06 +07:00
hathach
b1142ff065
document hub
2013-10-24 17:00:04 +07:00
hathach
5f584384eb
document msc host
2013-10-24 16:47:18 +07:00
hathach
d8d00ca768
refractor HID document
2013-10-24 15:48: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
15c80a9580
clean up
2013-10-16 12:35:55 +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
1263dbb122
enhacne msc demo, update IAR project file
2013-10-02 13:32:39 +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
0f05d27ac9
refractor hub
2013-09-30 16:59:41 +07:00
hathach
9ecaec67b3
refractor hub
2013-09-30 16:40:02 +07:00
hathach
5fb22e3f34
refractor hub
2013-09-30 16:13:08 +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
cb600ed988
clean up hid host (temp let test failed)
2013-09-28 01:01:44 +07:00
hathach
bfa96ae9da
fix an "extra" semaphore wait in msc host
2013-09-27 23:23:45 +07:00
hathach
eb1a101667
house keeping
2013-09-27 22:38:23 +07:00
hathach
9d60db0f9f
add scsi write10 & test unit ready
...
done copy command
implement get_fattime using __DATE__ and number of calls
2013-09-26 14:37:40 +07:00
hathach
f827750120
add cat command to cli
2013-09-26 01:14:27 +07:00
hathach
09724c5d11
refractor msch
2013-09-26 00:17:45 +07:00
hathach
1fee50b9fe
add tusbh_msc_status
...
reanme PRINTF_TARGET_DEBUG_CONSOLE to PRINTF_TARGET_SEMIHOST
add read10 implementation
able to read fat root sector
2013-09-25 16:20:38 +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
c4fef827b1
refractor, add wheel for mouse demo
2013-09-23 01:12:59 +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
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
61c591b9ac
clean up warnings
2013-09-18 23:34:03 +07:00
hathach
e32e901cd1
increase usb transaction time-out as host_cmsis_rtx easily timeouted
2013-09-14 00:00:05 +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
67453b89f0
fix task def with cmsis rtx
2013-09-13 23:01:43 +07:00
hathach
ad0ef2e266
all project can run ok
2013-09-13 22:30:11 +07:00
hathach
c71f5c6f1b
integrate & able to run cmsis-rtx with current code base
2013-09-13 16:53:17 +07:00
hathach
09dd83c05b
add set msg & get set cmplt for OID_GEN_CURRENT_PACKET_FILTER (default = 0 reject all) to
...
○ NDIS_PACKET_TYPE_DIRECTED
○ NDIS_PACKET_TYPE_MULTICAST
○ NDIS_PACKET_TYPE_BROADCAST
2013-09-11 15:03:37 +07:00
hathach
14a8e26697
able to get blinky + greeting
2013-09-10 10:43:24 +07:00
hathach
d3e83bc802
print out mac address
2013-07-19 12:08:04 +07:00
hathach
a522263a9d
add implementation for
...
- tusbh_cdc_rndis_is_mounted
- tusbh_cdc_rndis_get_mac_addr
2013-07-19 02:30:22 +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
03873135a9
add some required NDIS OID define
2013-07-13 00:11:17 +07:00
hathach
0e14752c81
pass the initialize_cmplt
2013-07-06 19:06:30 +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
e4ae45359d
fix bug with RNDIS class open using non-static variable p_cdc
...
fix bug with SUBTASK_EXIT with single if (add do while wrapper)
add payloay message
able to send initialize & wait on notification pipe & get initialize cmpt
2013-07-05 20:21:24 +07:00
hathach
355fd7e648
adding subclass RNDIS-CDC driver API
...
- implement init
- close
- xfer_isr
- open
adding waiting for notification after send rndis_initalize_msg
2013-07-05 16:22:42 +07:00
hathach
e4ff63c604
fix a minor bug
2013-07-05 13:41:34 +07:00
hathach
7345a4515d
fix bug with rndis overshadow the normal cdc callback
2013-07-05 13:37:57 +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
97cbb39f6f
port osal_mutex to freeRTOS, able to mount mouse & cdc device
...
tinyusb host stack overflow though
2013-07-04 13:24:54 +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
d3aed01874
add some printf when a class is mounted
...
add initial tests for rndis
2013-07-04 10:47:31 +07:00
hathach
c5afb9d50f
change class (hid/cdc) _mounted_isr to _mounted_cb
2013-07-04 09:45:20 +07:00
hathach
51e9a1817b
change some license text
2013-07-03 13:14:14 +07:00
hathach
4a8686e868
adding _mounted_isr & _umounted_isr callback for host keyboard & mouse
...
remove TUSB_EVENT_INTERFACE_OPEN & TUSB_EVENT_INTERFACE_CLOSE
2013-07-03 12:46:12 +07:00
hathach
b0f45b3651
temporarily check cdc mounted by pipe_in & pipe_out
...
add tests for tusbh_cdc_xfer_isr
2013-07-03 12:06:07 +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
b3f98bc15a
rename cdc descriptor type
...
add tusbh_cdc_mounted_isr & tusbh_cdc_unmounted_isr
2013-07-03 10:53:16 +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
6ce90e2bd8
add tusbh_cdc_send, t usbh_cdc_receive
...
add cdc_serial_app for virtual com demo
2013-07-02 16:41:13 +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
b04b145965
add cdc_rndis enum & struct
2013-07-02 14:45:42 +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
35adca5ba3
house keeping
2013-07-01 11:37:53 +07:00
hathach
e1883fcd26
add acm_capability saving to host data & its test
2013-07-01 11:29:23 +07:00
hathach
e94ce81b04
fix compilation error
2013-07-01 10:43:55 +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
a943cce991
test refractor
2013-06-29 21:00:33 +07:00
hathach
9e607f6dee
add SUBTASK_EXIT in osal.h for TDD project
2013-06-29 16:20:24 +07:00
hathach
7e6e5cc356
[CDC]
...
- add configure option
- add include path
- add driver function table
2013-06-29 16:06:45 +07:00
hathach
d4f31e149a
adding descriptor, structure, enum support for cdc
2013-06-29 15:56:32 +07:00
hathach
a07ff5a3ce
use SUBTASK_EXIT to restart & exit task without "assert"
2013-06-27 16:32:54 +07:00