Commit Graph

55 Commits

Author SHA1 Message Date
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 357813f171 implementing sw device stack 2013-10-29 11:27:25 +07:00
hathach 6f9172c15f clean up warnings here and there 2013-10-02 14:20:05 +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 a8a10e8650 added read capacity 10 with hacking code 2013-09-22 23:54:44 +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 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 a4f7dc1105 add & pass a first few test for cdc host
implement cdch_open_subtask
2013-07-01 10:35:37 +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 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 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 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 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 33feba5cbc add hid_keycode_to_ascii_tbl for hid class
improve keyboard_app, should display all displayable characters
improve the de-bouncing keyboard (still got some issues)
2013-04-26 02:08:22 +07:00
hathach e9dbce5f1b add TUSB_CFG_OS_TASK_PRIO to mandatory option for using an RTOS
using plain char for error enum character
increase freeRTOS configMAX_PRIORITIES to 16
house keeping & clean up compiler warning
2013-04-25 11:00:56 +07:00
hathach d4a2600ecc - change OSAL_TASK_FUNCTION to have void* parameter (to be consistent with most popular RTOS)
- add new error enum TUSB_ERROR_OSAL_TASK_CREATE_FAILED
- move usbh_enumeration_task prototype to usbh.h
- change OSAL_SUBTASK_INVOKED_AND_WAIT behavior, will not "return" in calling task when subtask got error status.
calling task need to do that after the call
- osal_queue_receive signature from uint32_t* to void*

- implement osal_freertos.h for FreeRTOS 7.3 --> able to compile & build host_freertos
+ OSAL_TASK_FUNCTION
+ turn on FPU for M4 in both host_os_none & host_freertos (freertos requires FPU to be on to compile)
+ osal_task_create
+ OSAL_SUBTASK_INVOKED_AND_WAIT
+ SUBTASK_ASSERT
+ osal_semaphore_reset
+ osal_queue_flush
+ adding heap_1.c for memory management
2013-04-24 17:53:43 +07:00
hathach ac905a8d09 rename pipe_status_t to tusb_interface_status_t
add tusbh_hid_keyboard_status & test code
2013-03-26 16:39:25 +07:00
hathach d0a73f4b0d add several helper function
add test & code for hidh_keyboard_open_subtask
- skip parsing HID descriptor for keyboard
2013-03-25 17:39:22 +07:00
hathach 56cd8be75e change website from tinyusb.net to tinyusb.org 2013-03-25 11:46:30 +07:00
hathach c7c993d6cc refractor hidh keyboard
changing class hidh behavior
2013-03-24 21:40:49 +07:00
hathach dbaf6c0d30 - fix bug when unplugged unmounted-already device (mostly plugged when power on)
- add hal_debugger_is_attached & hal_debugger_breakpoint
- assert will suspend (place breakpoint) if the condition is failed and debugger is attached. Otherwise, a message to uart is printed
- fix get control qhd function when dev_addr is not zero (shifted 1)
- fix wrong logic for unsupported class
2013-03-22 17:08:51 +07:00
hathach 644f0d3932 make "used" member of ehci_qtd_t into reserved place of buffer[1] (with assert check in hcd init) 2013-03-07 17:59:07 +07:00
hathach d6548d0063 strengthen include policy. Only limited headers are allowed to included from a header file. Missing needed to be included in *.c 2013-02-28 15:06:31 +07:00
hathach 49da210860 add osal subtask support
add usbh_control_xfer_subtask as xfer and wait
fix potential error when update device info & open control pipe for new address
fix build error with hal_****.c
add STATIC_ASSSERT to perform compile time checking with sizeof later
update osal_queue_receive and osal_semaphore_wait for osal_none to support subtask
2013-02-26 17:28:05 +07:00
hathach e6ed1729b2 update enumeration up to get full configuration descriptor 2013-02-06 18:12:26 +07:00
hathach 7961f04e17 remove hcd_addr0_close_Ignore
add code to check error handling from enum task
2013-02-06 13:50:17 +07:00
hathach e20025b54d refractor move test enum to its own file
add assert with handler
add task assert with error catcher
2013-02-06 12:03:01 +07:00
hathach 5e8d70a184 complete define osal_freeRTOS for semaphore and queue 2013-02-04 18:05:22 +07:00
hathach a5b29c5d33 refractor include chain with following policies
- header file only include what it needs for its declarations.
2013-02-04 13:13:07 +07:00
hathach 9e3785e7e1 add std=gnu99 for test build
add hcd_init to usbh_init and update test code
add TUSB_CFG_OS_TICK_PER_SECOND define for TUSB_OS_NONE
change osal_semaphore_wait and osal_queue_receive API to have timeout effectively
2013-02-01 10:33:43 +07:00
hathach 1b963f6a71 change cmock ignore to args only
implementing usbh_host.c
2013-01-31 13:11:50 +07:00
hathach 6db8af2023 update usbh_init and test 2013-01-29 11:06:30 +07:00
hathach 06f923c7bb add usbh_device_info_t to return device status
add usbh_init and test code
replace usbh_device_is_plugged in hid_host and test_hid_host with usbh_device_info_t
2013-01-27 17:57:35 +07:00
hathach 535f330026 update license year from 2012 to 2013 2013-01-27 13:50:40 +07:00
hathach a22cfb2dee remove violation MISRA 6.3 on errors 2013-01-27 12:38:06 +07:00
hathach 7edda37518 add more test code for keyboard hid application API
refractor, restructure, rename several thing regarding host, keyboard etc ...
2013-01-26 01:37:15 +07:00
hathach b5207ff146 use unsigned char instead of char for error string
use #if 0 instead of // for remove code
2013-01-22 18:25:26 +07:00
hathach 38ce3f7534 start to support
- usbd host
- osal

some global define
#define TUSB_CFG_HOST_CONTROLLER_NUM
#define TUSB_CFG_HOST_DEVICE_MAX
#define TUSB_CFG_CONFIGURATION_MAX

rename & refractor HID type structure & enum

use CException to test asssertion library
add test for hid_host_keyboard with usbd configure get & osal queue get stubs
update test for assertion library
refractor ASSERT_STATUS in assertion library
update tusb_error_t values
rename usb basic type & enum in tusb_types.h and std_descriptors.h
2013-01-22 17:41:06 +07:00
hathach cfe7a3d23b change error type to lower case for more consistency
change Error Enum to TUSB prefix for more consistency
start to add check for OS configure
2013-01-19 00:57:58 +07:00
hathach d76df54003 add external configure file: tusb_config.h
rename the internal/default configure from tusb_cfg.h to tusb_option.h
2013-01-11 16:55:47 +07:00
hathach a6e5197b58 use X Macros to remove #undef in errors. 2013-01-11 16:28:57 +07:00
hathach 1f3c9ed69d start add makefile for keyboard demo 2013-01-10 16:46:52 +07:00
hathach 00b3f48519 rename a bunch of configure macros 2012-12-20 16:56:19 +07:00
hathach b698b09a67 fix some doxygen settings and stuffs add prepacked for IAR compiler 2012-12-03 16:51:14 +07:00
hathach b36a85ad36 add extern "C" for cpp
start to work on hal layer
2012-12-02 11:07:59 +07:00
hathach 8a1dee1b2e add overview.md and license.md and tinyUSB overview.png 2012-12-02 00:36:44 +07:00
hathach 879fb21f99 change license email to website
added support for cdc devices
2012-11-29 17:52:57 +07:00