Commit Graph

720 Commits

Author SHA1 Message Date
hathach 6a736db159 try to port lpc11uxx device demo with IAR 2014-03-10 15:31:12 +07:00
hathach 3555abc378 cannot get IAR work with lpc1769 device demo 2014-03-10 15:02:11 +07:00
hathach b586fe632a change desc_str_table to array of pointer of uint8_t* to be compatible with IAR (lack of support for VLA initialization)
IAR device os none works with ea4357
2014-03-10 14:20:38 +07:00
hathach ad72db5aea change IAR TUSB_CFG_ATTR_USBRAM to _Pragma("location=\".ahb_sram1\"") instead of @ .ahb_sram1 so that we can place it before the variable for a cleaner code
change pipe xfer API buffer from void* to uint8_t*
change FIFO_DEF to have a separated buffer to be compatible with IAR\
refractor IAR data alignment pragma
2014-03-10 13:13:13 +07:00
hathach d5f278bbf0 clean up dcd_lpc175x_6x.c 2014-03-10 11:36:19 +07:00
hathach a609cffda2 refractor dcd_lpc175x_6x
- remove dd allocation table and use fixed 2 dd for each endpoints
- change dd::used to dd::int_on_complete
--> fixed all the bugs with lpc175x_6x with MSC device & CDC device
2014-03-10 11:18:50 +07:00
hathach 73ac4b4c80 rename tusbd_msc_scsi_received_isr to tusbd_msc_scsi_cb
fix the status phase true --> false
    ASSERT_STATUS( dcd_pipe_xfer( p_msc->edpt_in , p_csw, sizeof(msc_cmd_status_wrapper_t), false) );
board ea4357 added P9_5 pull down for device connect
2014-03-09 15:30:57 +07:00
hathach dcc58a7afc refractor app_os_prio.h 2014-03-06 11:37:37 +07:00
hathach c35e668dc4 IAR host os none work well with ea4357 2014-03-05 21:37:53 +07:00
hathach 2a866365e9 added support for IAR retarget but not yet succeeded. lpc17xx have problem connect with jlink 2014-03-04 16:31:44 +07:00
hathach 6f24dd50a0 change lpc17xx cmsis file & ohci to be able to build with IAR 2014-03-04 15:19:50 +07:00
hathach 5f8f046eaa refractor remove tusbh_msc_is_failed
increase usbh enum task from 150 to 200 due to stack overflow when mounting msc device
added task for msc host freeRTOS with stack = 300 (still cannot execute copy command)
2014-02-28 18:42:33 +07:00
hathach da6b2fbef8 EHCI: immediately reset port when device connected. This proves to help prevent duplication connection event (also with OHCI)
increase delay after reset to 100 ms (NXP's EHCI does not work with 50ms)

--> fix all duplication connection with OHCI & EHCI
2014-02-28 17:08:47 +07:00
hathach a1978e20fe merge common define in osal/osal_cmsis_rtx.h & osal/osal_freeRTOS.h 2014-02-28 15:50:04 +07:00
hathach 4b6c6929cb fix the duplicated plug connection status change with lpc17xx by using immediate reset on isr. However Khanh's G5 mouse is not enumerated !!
remove TUSB_CFG_CONFIGURATION_MAX from config file
fix some warning
2014-02-20 16:06:31 +07:00
hathach 533c8d2eed use hcd_pipe_is_busy instead of hcd_pipe_is_idle
remove hcd_pipe_is_idle
2014-02-20 10:41:31 +07:00
hathach d86523b16c re-enable blocking waiting in ehci controller reset (otherwise it wont works) 2014-02-19 15:50:39 +07:00
hathach bbe26facb3 some code clean up
NOTE: host on ea4357 does not work anymore
2014-02-19 15:29:29 +07:00
hathach 03ad1afef9 clean up warnings 2014-01-24 22:04:59 +07:00
hathach a982a52ab3 refractor __n2be_16 2014-01-24 21:51:24 +07:00
hathach 275e834bbe add device_os_none keil project for all boards 2013-12-27 13:40:59 +07:00
hathach d020c2f609 remove immediately reset when device plug.
check to make sure device is still plug after initial delay (200ms) before reset
remove blocking waiting when reset in ehci.c
2013-12-19 13:55:22 +07:00
hathach cfcef0558a fix plug & unplug issue by reseting port immediately instead of waiting for usbh enumeration task to do so 2013-12-19 12:43:22 +07:00
hathach 2715650751 refractor ohci.c 2013-12-19 12:11:13 +07:00
hathach cc736fd45e able to run ohci hid mouse demo
- an old mouse cause double plug event
- an old mouse failed to response the first get 8 byte device descriptor
2013-12-19 11:59:19 +07:00
hathach b828aabbe4 implement hcd_pipe_close, able to plug & unplug device from ohci lpc17xx 2013-12-18 16:23:09 +07:00
hathach eaacbd4a36 able to run MSC host demo on lpc17xx
implement walk around for halted ED in OHCI
2013-12-18 14:57:34 +07:00
hathach 915296013e add in hcd_pipe_open & hcd_pipe_xfer 2013-12-17 11:26:39 +07:00
hathach 75ffc0bfec implement ohci
- hcd_port_reset
- hcd_port_connect_status
- hcd_port_speed_get
- hcd_pipe_control_open
- hcd_pipe_control_xfer
- done_queue_isr for control xfer

able to go through enumeration with MSC device
2013-12-16 12:35:05 +07:00
hathach 736cbdc276 using PINSEL_ConfigPin for setting pinsel 2013-12-13 12:41:29 +07:00
hathach 30c8f68930 able to get connect status change interrupt occured 2013-12-13 12:26:37 +07:00
hathach 51b6c6ff41 implement inline bit manipulation function 2013-12-12 12:21:38 +07:00
hathach 4d14e2ac50 add structure & define for ohci 2013-12-11 14:31:27 +07:00
hathach 8bd6440547 fix error in dcd_lpc175x_6x (still has problem with control transfer)
fix build error for host
start to add keil support for device
opt out pca9532.c when ea4357 is not the selected board
2013-12-11 11:31:09 +07:00
hathach b35acbdcb2 add some doxygen 2013-12-10 10:57:59 +07:00
hathach a40d20387d complete dcd 17xx control xfer with soft DMA
keyboard LED set report run ok with lpc17xx
there is problem with cdc set line encoding
2013-12-09 16:11:10 +07:00
hathach b08ecda657 house keeping, lpc43xx works okie 2013-12-09 11:57:09 +07:00
hathach 2af9ecbed5 refractor dcd lpc43xx control xfer (with int on complete) 2013-12-09 11:49:34 +07:00
hathach 055285c559 minor refractor 2013-12-09 11:28:11 +07:00
hathach e320659f8a add keyboard led mask
make usbd control request to subtask
add get/set report via control pipe to hidd
enforce soft DMA to control pipe for lpc11u (lpc17xx not yet)
temp add led_blinking_set_interval to change led blinking interval
refractor dcd_pipe_control_xfer to have interrupt on complete option
add get/set report support of moused_app and keyboardd_app, keyboard LED will make LED blink faster
2013-12-09 11:15:13 +07:00
hathach 1ad78f104e refractor hid device driver 2013-12-02 14:17:51 +07:00
hathach 2c8b8ea529 add board lpclink2, able to run device stack without any problems 2013-12-02 00:40:10 +07:00
hathach 4b78578266 fix potential wrong endpoint handle for stalling unsupported scsi command 2013-12-01 22:34:59 +07:00
hathach 24e92f79e7 adjust packet per TD for lpc13u is 1023, 11u is 64 2013-12-01 16:11:41 +07:00
hathach a9a5146108 correct stall & clear stall behavior for non-control pipe
fix data_residue when read10, write10 return 0 (no need for BE conversion)
2013-12-01 15:48:49 +07:00
hathach edb4226f23 change class_ixr to class_cb
use IAD whenever enable CDC to make sure windows driver can detect
change keyboard, mouse send report to int_on_complete = true
2013-12-01 13:53:36 +07:00
hathach d2f91af6b3 add some document for msc_device API 2013-12-01 12:18:26 +07:00
hathach e0db04e6b4 tested with lpc13u 2013-12-01 00:34:18 +07:00
hathach 864935fbe8 code clean up 2013-11-30 22:38:15 +07:00
hathach 6e30a068d2 completely change the dcd for lpc11u & lpc13u to overcome the fact that lpc11u dma cannot transfer more than 64 bytes
each buffer. This implement an soft DMA for lpc11u & lpc13u (previously 1023 max) queued transfer
2013-11-30 22:29:37 +07:00
hathach af87e231c5 house keeping 2013-11-26 14:17:58 +07:00
hathach 47d8af7111 complete msc demo with lpc13uxx with readonly flash 2013-11-26 13:58:13 +07:00
hathach 8f70a6a886 change endian conversion to native to be & be to native
completely deferred xfer isr event to usbd task
complete read10, write10 sequence for large data transfer
2013-11-26 13:15:40 +07:00
hathach 51def3f7ed refractor usbd task
move control request data into task event
adding tusbd_msc_read10_cb, tusbd_msc_write10_cb (not fully supported)
2013-11-25 16:42:04 +07:00
hathach a5ba283557 change MCU to TUSB_CFG_MCU 2013-11-25 12:48:27 +07:00
hathach 41ffcaf4a5 temp fix for dcd 43xx suspend detection (disconnection does not generate interrupt) 2013-11-22 16:10:05 +07:00
hathach 83f1d660ce clean up
add some doxygen work
finalize device disconnection & suspend
- suspend & resume & remote wake up is not supported yet
2013-11-22 15:16:24 +07:00
hathach d1ef89a154 fixed lpc11u/13u VBUS (P0_3) with pulldown resistor for USB_VBUS_DEBOUNCED is correct
added disconnect callback for lpc11u/13u
2013-11-21 15:24:02 +07:00
hathach c303154b7a add class mounted callback for hid mouse/keyboard & refractor mouse/keyboard app 2013-11-21 13:54:29 +07:00
hathach c461c72ac2 clean up 2013-11-21 13:20:46 +07:00
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
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 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 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 54c065b1d5 fix license 2013-06-22 12:54:47 +07:00
hathach 07f36e8a61 fix a stupid bug 2013-06-21 14:52:18 +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 743e5a7a93 house keeping 2013-06-16 15:39:09 +07:00
hathach 4d6121d44a refractor set endpoint max packet size 2013-06-16 15:32:08 +07:00
hathach 357e8d32ec clean up some & add code for managing control request targeting interface 2013-06-16 14:41:48 +07:00
hathach 77e0834f34 use dcd_pipe_control_read in endpoint_control_isr 2013-06-14 19:10:11 +07:00
hathach f219a9c77d add dcd_pipe_control_read 2013-06-14 19:06:33 +07:00
hathach 40b65b265c implement hidd_control_request including std & class specific to interface number.
refractor usbd_setup_received
2013-06-14 18:22:40 +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 17a27f7398 [lpc176x][device] pass set configure control request 2013-06-11 17:53:33 +07:00
hathach 5ae9c72f84 [lpc176x][device] get pass get string descriptors 2013-06-11 17:35:53 +07:00
hathach cae19b8f56 fix bug with setup packet received (wrong increasement of pointer) 2013-06-11 17:12:44 +07:00
hathach 049a22f2cc refractor dcd_pipe_control_write_zero_length to use dcd_pipe_control_write 2013-06-11 16:30:06 +07:00
hathach d55f9ecef1 get pass set address 2013-06-11 16:13:50 +07:00
hathach 72b5b61597 able to xfer device descriptor on control endpoint of lpc176x 2013-06-11 16:01:30 +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 e3bb5e9f2f change buffer_start_addr from uint8_t* to uint32_t due to travis linux 64bit 2013-06-05 11:56:55 +07:00
hathach f69fefefa9 added dcd_dma_descriptor_t typdef
reorganize test project, multiple test projects each is specifically for an MCU
2013-06-05 11:23:41 +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 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 a3ed66344d fix compiler bug with ceedling tests 2013-06-03 16:40:02 +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 7d78fc1baf rename romdriver handle
forming API for USBD-CLASS driver (abstract away from rom driver)
separate buffer of hid class from buffer of core driver
2013-06-01 21:54:08 +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
hathach ed64401e61 rename descriptor variables 2013-05-31 14:42:38 +07:00
hathach 3b9a616ca9 change at86rf to 1ghznode
rom device runs ok with lpc11uxx
2013-05-31 13:57:57 +07:00
hathach 04a641f067 ea4357 can be enumerated, but get setconfiugre value of 0 2013-05-29 16:56:15 +07:00
hathach d5836751d9 keyboard example works with lpc1347 xpresso 2013-05-29 15:23:07 +07:00
hathach dda0808ebb fix lpcxpresso1347 board_leds
temp change USBD_API to ROM_API
add lpc13xx device support
fix romdriver pointer
able to init rom driver
2013-05-29 14:39:14 +07:00