Commit Graph

320 Commits

Author SHA1 Message Date
hathach f09f2494bf simplify host API: tusbh_ to tuh_ 2015-05-01 19:06:01 +07:00
hathach 62ae417add formatting 2015-05-01 18:45:22 +07:00
hathach c73907f831 formatting 2015-05-01 18:37:58 +07:00
hathach 9218d1e8bb replace ATTR_PACKED_STRUCT by simply ATTR_PACKED (drop IAR support)
remove "primitive_types.h" by simply include stdbool.h, stdint.h
2015-05-01 18:34:08 +07:00
hathach 6dbd580b53 readd rndis files 2015-05-01 18:14:36 +07:00
hathach dbf276ad6f added all assert check to osal_queue_send and osal_semaphore_post 2014-04-24 23:57:21 +07:00
hathach 6804fee0fa correct dcd_pipe_is_busy to use list_qtd_idx[] instead of qtd_overlay
flush usbd_queue_hdl when bus_reset
add assert check for osal_queue_send
increase ENUM_QUEUE_DEPTH for usbh
change osal_freeRTOS.h implementation to
- correctly waiting forever for semaphore wait, queue & mutex
- not use ISR safe version since it is not as generic as we want
2014-04-24 23:40:28 +07:00
hathach 4091ddc4fc move osal_queue_send of osal_none to osal_none.c 2014-04-18 14:45:21 +07:00
hathach 44b36d74f2 clean up STATIC_VAR 2014-04-17 18:02:51 +07:00
hathach 6682720b2a implement & document all the device class _mounted_cb & _unmounted_cb callbacks 2014-03-31 11:59:43 +07:00
hathach abc6b58063 clean up 2014-03-26 16:20:57 +07:00
hathach 15d0139bc5 doxygen documenting 2014-03-25 13:00:37 +07:00
hathach 68d96edc13 more doxygen works 2014-03-24 13:06:40 +07:00
hathach 58892299f3 use internal buffer for hid report descriptor as well. 2014-03-23 16:57:39 +07:00
hathach 3a8dce013d remove IAD_DESC_REQUIRED
add compiler guard for exceeding number of endpoints for lpc11/13u
2014-03-23 00:00:23 +07:00
hathach 1cdca167cd rename dcd_11u_13u_qhd_t::total_bytes to nbytes to prevent confusion
introduce scsi_data to mscd_interface_t to make tusbd_msc_scsi_cb buffer's address no longer to be required in USB ram section --> save usb ram for lpc11/13u
2014-03-22 22:50:08 +07:00
hathach 7c5b386130 clean ATTR_USB_MIN_ALIGNMENT on application and most of device except the msc_device.c 2014-03-21 19:23:19 +07:00
hathach d2d0d0a6d5 clean up some device warnings
move led_blinking_task and led_blinking_set_interval to board.c
2014-03-21 16:32:39 +07:00
hathach f6a3eeb942 clean up 2014-03-18 18:46:28 +07:00
hathach cf82b13a0e finish descriptor refractor for hid keyboard & mouse 2014-03-18 18:38:15 +07:00
hathach 34756f3862 app descriptor rename 2014-03-18 16:58:24 +07:00
hathach eaf2e888ab doxygening 2014-03-17 16:46:11 +07:00
hathach d1d4ddd856 doxygen document 2014-03-16 22:20:33 +07:00
hathach 16df2a2f62 Suppress Keil warnings #66-D: enumeration value is out of "int" range 2014-03-14 15:51:07 +07:00
hathach 0757d2eb6c more warnings clean up 2014-03-14 15:11:57 +07:00
hathach 5f309413dc clean more warnings 2014-03-14 14:33:50 +07:00
hathach 5e2ed2534e clean up warning in lpcxpresso
remove -Wpacked  -Wpadded in gcc
2014-03-14 11:59:39 +07:00
hathach 214af7e988 zero warnings compiling host os none on keil 2014-03-14 10:19:44 +07:00
hathach 97cce2fa58 clean up compiler warning transfer of control bypasses initialization 2014-03-14 00:06:43 +07:00
hathach 958512a5bd clean up more warnings 2014-03-13 18:43:52 +07:00
hathach 6fbca0ea87 remove legacy code of msc_device.c read10 & write10
clean up some warnings
2014-03-13 18:25:20 +07:00
hathach f1692c93ac fix some warnings 2014-03-13 18:11:59 +07:00
hathach 0f0d9d127b able to build lpc11u with IAR
clean ending warming with IAR
2014-03-12 14:43:58 +07:00
hathach b6e4c0d348 a fix to IAR's incapability to force struct's member on specified alignment 2014-03-12 14:28:43 +07:00
hathach 9ba209cda0 IAR line ending warning 2014-03-12 14:10: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 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 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 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 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 30c8f68930 able to get connect status change interrupt occured 2013-12-13 12:26:37 +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 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 4b78578266 fix potential wrong endpoint handle for stalling unsupported scsi command 2013-12-01 22:34:59 +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 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 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 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 850fcf03f0 refractor descriptor 2013-11-20 12:52:07 +07:00
hathach b104d21e71 fix dcd_pipe_control_xfer for dcd43xx
refractor tusb_descriptors.h
2013-11-16 22:16:03 +07:00
hathach 699edf9485 separate data & status from dcd_pipe_control_xfer 2013-11-15 14:15:05 +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 9171d106bc added hid device hidd_isr callback
refractor keyboard dev demo app
2013-11-06 19:55:48 +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 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 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 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 6c629a18fc partially document CDC & RNDIS 2013-10-24 17:26:06 +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