Commit Graph

379 Commits

Author SHA1 Message Date
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 9cb99d3716 house keeping 2013-11-08 19:37:26 +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 3945869cc2 refractor tusb_descriptor, adding support for cdc descriptor 2013-11-07 12:28:10 +07:00
hathach 8c9def8618 clean up tusb_descriptors 2013-11-07 11:51:39 +07:00
hathach f1d47702e8 refractor mouse dev app 2013-11-06 20:06:28 +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 024858a605 complete msc device demo with 8KB ram disk 2013-11-05 14:55:58 +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 f797c4e02a rename device project 2013-11-01 12:17:54 +07:00
hathach 077b6defe9 rename device project 2013-11-01 12:13:31 +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 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 a98bae0d19 enhance serial host app 2013-10-27 20:56:41 +07:00
hathach 1d28b2bd10 refractor cdc serial host app.
fix RTOS cdc_serial_app_task executing forever
2013-10-27 20:44: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 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 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 86b3e3174d refine mouse demo 2013-10-16 12:05:48 +07:00
hathach f28d2d1189 add supported class to greeting 2013-10-15 12:39:11 +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 ef83b8e10a wrap up msc demo 2013-10-01 17:05:02 +07:00
hathach fffd613897 enhance cd command 2013-10-01 16:36:52 +07:00
hathach 18b3179bc6 refractor msc host app examples 2013-10-01 16:11:34 +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 4da3b03430 refractor hub 2013-10-01 12:12:35 +07:00
hathach 93821c55ce hack ehci advance async to handle disconnect via hub 2013-09-30 18:40:20 +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 26f75d6cac house keeping 2013-09-26 15:35:15 +07:00
hathach 238afb474f house keeping 2013-09-26 15:15:16 +07:00
hathach a6726f7d39 added mkdir command 2013-09-26 15:08:49 +07:00
hathach 0268e0b787 added clear screen command 2013-09-26 15:04:02 +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 4bdede53eb refractor cli error handling
add cat command
2013-09-26 11:27:48 +07:00
hathach f827750120 add cat command to cli 2013-09-26 01:14:27 +07:00
hathach b995e25308 enable long filename 2013-09-25 20:44:18 +07:00
hathach 89898acd5d almost complete cli for msc 2013-09-25 19:52:05 +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 cf65f859be working on fatfs integration
fix retarget input for lpcxpresso
2013-09-25 11:23:53 +07:00
hathach bd9af2d57b added cli support 2013-09-24 21:04:56 +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 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 2db5fcdf0a update keil project for freertos & cmsis 2013-09-21 01:05:54 +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 d8907c9a2b IAR host none project working 2013-09-19 18:18:05 +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 9d87a1c62b temporarily comment out all the lwip related code 2013-09-18 21:08:48 +07:00
hathach 1cd2d5cf36 able to build with newly added lwip folder 2013-09-16 16:38:46 +07:00
hathach 0c97131149 start to add lwip support 2013-09-14 15:24:59 +07:00
hathach 765ce19be1 update cmsis rtx keil project for LPC4357USB 2013-09-13 23:37:09 +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 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 1f573eecf2 added keil project for host_freertos 2013-09-12 15:55:54 +07:00
hathach 968c218f33 Merge branch 'master' of github.com:microbuilder/tinyusb
Conflicts:
	demos/host/host_os_none/host_os_none.uvopt
2013-09-12 14:44:02 +07:00
hathach ad5ce98c02 finshed upgrading lpc43xx cmsis 2013-09-12 14:42:08 +07:00
hathach 8a8537d7e5 updating lib *.c 2013-09-12 14:27:22 +07:00
hathach 239864c6cf update history & freertos project 2013-09-12 14:20:22 +07:00
hathach 0769643814 update header files 2013-09-12 14:06:59 +07:00
hathach dc6f6e3b3e rename lpc43 cmsis folder, preparing to upgrade cmsis from v2.10 to 3.01 2013-09-12 13:58:33 +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
Kevin Townsend 50d0e9bb8d Apply power to USB 2013-09-10 09:20:59 +02:00
Kevin Townsend 3e54ab7c9e Added trace support for LPC4357USB boards 2013-09-10 09:09:22 +02:00
hathach 2d021e0728 added support for RETARGET SWO 2013-09-10 13:36:19 +07:00
hathach e823862ed1 clean up 2013-09-10 13:15:21 +07:00
hathach b0b56a417e added LPC4357_USB board 2013-09-10 12:30:41 +07:00
hathach 6916515612 complete porting to keil
- updated cgu
- require microlib for printf retarget
- cannot use fp enable option in keil (may require cmsis update)
2013-09-10 12:22:57 +07:00
hathach 9ed3e80582 keil project can mount mouse, but cannot mount rndis 2013-09-10 11:47:05 +07:00
hathach 14a8e26697 able to get blinky + greeting 2013-09-10 10:43:24 +07:00
hathach 7404894d6d rename startup 2013-09-10 10:26:15 +07:00
hathach 23cb79372d able to print hello world 2013-09-10 10:24:24 +07:00
hathach 1646fb2887 Merge branch 'master' of github.com:microbuilder/tinyusb
Conflicts:
	demos/bsp/boards/microbuilder/board_lpc4357usb.c
	demos/bsp/boards/microbuilder/board_lpc4357usb.h
2013-09-08 00:09:33 +07:00
hathach 25a22e169b try to add lpc4357usb board 2013-09-08 00:01:20 +07:00
Kevin Townsend 1231fae04c Added trace pin config 2013-07-31 23:30:17 +02:00
Kevin Townsend 781f8354ea Added LPC4357USB board 2013-07-31 22:03:48 +02:00
hathach d3e83bc802 print out mac address 2013-07-19 12:08:04 +07:00
hathach 23f4d7356f change printf retarget to make \n to \r\n automatically 2013-07-19 12:05:25 +07:00
hathach 6fbb906d1e add rndis_app files 2013-07-07 00:09:03 +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 c08c655fd1 implementing initializing for RNDIS 2013-07-05 11:46:12 +07:00
hathach 9d50b0fa6a update docs 2013-07-04 16:08:33 +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 8c0bc38713 house keeping 2013-07-04 10:54:51 +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 544b48183a opt out hardfault handler in board.c which causes problem in compiling with asm inline 2013-07-03 13:48:11 +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 294ddd0acc complete CDC serial demo (in a quick hacking way) 2013-07-03 11:39:09 +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 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 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 7e6e5cc356 [CDC]
- add configure option
- add include path
- add driver function table
2013-06-29 16:06:45 +07:00
hathach ea2e63a332 remove app_os_prio.h in os_none configure
remove instance_num in hidh API
temporarily pause device stack developement
should fix travis-ci build error
2013-06-26 18:00:05 +07:00
hathach c7f7bc9808 increase sequence each 64 byte packet 2013-06-23 14:26:56 +07:00
hathach a531d27a49 should fix problem with demo bulk out 2013-06-23 14:21:44 +07:00
hathach 2cc5df9b00 add custom bulk out test 2013-06-23 01:10:59 +07:00
hathach 34b4332ff4 remove redundant project files 2013-06-21 22:17:49 +07:00
hathach 4239da1188 add cmsis for lpc11u
remove app_os_prio.h in host_os_none demo
2013-06-21 21:03:23 +07:00
hathach 4f8faebbab add files for bulk custom test 2013-06-21 20:57:20 +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 4103cc374f add coreid to hidd_init
temporarily implement hidd_init using dcd from lpc17xx
add more test for dcd lp176x
implement dcd_endpoint_configure
2013-06-12 21:06:43 +07:00
hathach ee57a6f13f clean up 2013-06-12 14:06:41 +07:00
hathach 503d279af5 ADDING LPC176X device
implementing dcd_lpc175x_6x.c
add usbd_dcd.h
add usbd_isr with TUSB_EVENT_SETUP_RECEIVED & TUSB_EVENT_BUS_RESET event
parameterize TUSB_CFG_DEVICE_CONTROL_PACKET_SIZE (replace USB_MAX_PACKET0)

--> able to get interrupt and receive setup packet, but SET ADDRESS (expected get device descriptor).
uncomment write zero length will cause issue, no more interrupt ?
2013-06-08 02:50:10 +07:00
hathach 3394b4beaa re-create ngx4330.h
remove some rom driver dependency on upper layer
introduce CAP_DEVICE_ROMDRIVER to overwrite TUSB_CFG_DEVICE_USE_ROM_DRIVER within the lib
add support for lpc175x_6x
- able to build and blink led on lpcxpresso1769 with device (without any class enabled)
2013-06-04 13:36:18 +07:00
hathach 7f8752b38b add LPC175x_6x cmiss (got from xpresso example)
add LPC175x_6x driver lib (got from http://git.lpcware.com//lpc175x_6x.git
2013-06-04 11:45:01 +07:00
hathach cdc830782f rename tusb_device_is_configured
remove dcd_lpc18xx_lpc43xx.h and dcd_lpc11uxx_lpc13xx move define to hal
2013-06-04 10:43:58 +07:00
hathach f982a10b6b house keeping 2013-06-03 16:04:03 +07:00
hathach 9f9adca03b add TUSB_CFG_PROUDCT_ID check
move USB_MAX_EP_NUM to device dependency
- lpc43 --> 6
- lpc11/13 --> 5
2013-06-03 15:56:14 +07:00
hathach 52f18f3784 refractor device mouse main.c & tusbd_hid_mouse_send_report 2013-06-03 14:37:41 +07:00
hathach b527e6ec4a refractor tusb_descriptors
usbd device_class_driver
added & tested HID mouse for device (work together with hid keyboard)
rename DEVICE_ROM_REG_BASE, DEVICE_ROM_DRIVER_ADDR
2013-06-03 14:31:17 +07:00
hathach 9e49056721 refractor change tusbd_hid_keyboard_send_report API 2013-05-31 21:24:40 +07:00
hathach 03d85acfc7 refractor string descriptors, allow one-stop configure descriptor for
- manufacturer, product etc ... (only english now)
2013-05-31 18:21:31 +07:00