Commit Graph

216 Commits

Author SHA1 Message Date
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 a8a10e8650 added read capacity 10 with hacking code 2013-09-22 23:54:44 +07:00
hathach d15ba08fdc house keeping 2013-09-21 13:17:43 +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 86681fe442 starting to add support for IAR workbench 2013-09-19 16:11:11 +07:00
hathach c71f5c6f1b integrate & able to run cmsis-rtx with current code base 2013-09-13 16:53:17 +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 51e9a1817b change some license text 2013-07-03 13:14:14 +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 54c065b1d5 fix license 2013-06-22 12:54:47 +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 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 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 1e5bd82af2 rename NGX to ngx
add a bunch of stub header for dcd (175x_6x, 13xx, 18xx_43xx)
add dcd_nxp_romdriver for handling usb rom driver
add BIT_TEST_ in binary.h
remove mw_usbd_hid.h include due to lexical conflict
2013-05-28 15:24:27 +07:00
hathach cc49607434 test refractor 2013-05-12 19:32:32 +07:00
hathach 81780008e9 add cardinality_of function to return number of set bits
refractor tests in ehci
2013-05-11 00:40:21 +07:00
hathach 861f02943d add log2_of and use this function in get_period_head 2013-05-06 20:51:34 +07:00
hathach 120db28a17 change format of file header & license spacing 2013-05-06 12:50:19 +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 1ae5484320 finally able to get freeRTOS run with current mouse + keyboard example
NOTES: print_greeting if is executed before the start of freeRTOS scheduler --> hardfault
- print_greeting->vsprintf->systick -> bunch of ISR --> hardfault.

printf using serial after the start of scheduler is ok though
2013-04-25 15:43:33 +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 357888a5e5 rename nxp_sof_received to nxp_int_sof
implementing freeRTOS integration
change get_period_frame_list from using lst_idx to hostid (fix bug)
adding polling interval supported for interrupt: 1ms, 2ms, 4ms, 8ms
- add interval_ms to get_period_head function
- add bInterval to qhd_init
- add support for sub-frame (less than 8 micro frames) interval
- add bunch of test for interrupt different intervals
2013-04-21 00:28:25 +07:00
hathach c036efff1d adding code to allow configure MIC2555 to pull down D+/D- (still need bit bangding I2C on PB_0 PB_1)
add back port reset after get 8 bytes of device descriptor
2013-04-09 02:13:18 +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 3c767e9f44 add field to endpoint maxpacketsize (mult)
refractor hidh_open_subtask & hidh_keyboard_open
add ATTR_PACKED_STRUCT(x)
- TODO remove ugly pre_pack & post pack
2013-03-26 13:07:42 +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 9bc30f7694 add some test for usbh_hcd integration
- add tests for pipe_close  (while TDs are active)
- add tests for device unplugged
add tesst & implement the async_advance_isr to clean up "REMOVING" queue head
- add helper find previous qhd
- add remove qhd from async list
- add is_removing field for async advance isr to clean up
add pipe close for control pipe & bulk pipe (with tests)
add helper get qhd from pipe_handle
2013-03-13 21:42:19 +07:00
hathach 79e277d323 go through all the enumeration (up to get full configuration)
- fix init_qhd for address 0 (clear queue head --> ehci controller halted)
- fix bug in usbh_init missing address0 for semaphore create

TUSB_CFG_DEBUG == 3: --> ATTR_ALWAYS_INLINE is null --> allow gcc to export "normal inline" function
2013-03-13 00:02:45 +07:00
hathach d2bd80109e add semaphore post in usbh_isr for control pipe
add osal_queue_send in usbh_device_plugged
add macro for placing breakpoint macros
fix ehci init:
- regs->cmd or (add run_stop)
- enable port power in portsc
add tusb_task_runner in main loop
2013-03-12 20:04:29 +07:00
hathach 453ea39865 add project file for keil
fix binary.h compiler specific
add hal_init code to reset & set usbmode --> able to get USB ISR
remove const qualifier from return function of
- get_operational_register
- get_period_frame_list
- get_async_head
- get_period_head
- get_control_qhd
add stub for
- hcd_port_connect_status
- hcd_port_speed
2013-03-12 12:06:40 +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 656da2992d add alignof to compilier specific
add static_assert support for IAR (built-in support)
2013-03-04 15:01:33 +07:00
hathach d644eaeb5c add test for hcd/host init
- TT control
- usb cmd
complete hcd/host initialization code
2013-03-04 00:46:40 +07:00
hathach 356c329922 implement hcd_init controller_init
- add test for async list
2013-03-03 12:31:18 +07:00
hathach 795fe7468d start to add code for hcd_init test
change hcd_init signature (omit hostid)
2013-02-28 17:00:51 +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 f56f6b6749 add timeout_timer.h to provide real tick timeout service for blocking control 2013-02-27 20:58:11 +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 5bacdc6c0f updating usbh init with class init 2013-02-08 12:52:46 +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 a253e4d648 fix TASK_ASSERT for osal_none.h
add TASK_ASSERT test for osal_none
integrate test project better with eclipse
- assert message--> info windows
- test fail --> error windows
2013-02-06 13:15:12 +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 aeccdfde3f remove TUSB prefix for class enum definitions
add most of HID USAGE TABLE and definitions etc ...
2013-02-05 13:57:06 +07:00
hathach 5e8d70a184 complete define osal_freeRTOS for semaphore and queue 2013-02-04 18:05:22 +07:00
hathach 94486f55ec add usbh_hcd to hold common structure/typedef for usbh and hcd 2013-02-04 13:51:20 +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 5f8839fff8 refine ASSERT_DEFINE to allow special error_handler for os task
add device_addr0 for enumeration task
start to add osal port for freeRTOS
2013-02-04 00:03:08 +07:00
hathach 3ac88f1b4e refine OSAL_TASK_LOOP_BEGIN & OSAL_TASK_LOOP_END
- add TASK_ASSERT & TASK_ASSERT_STATUS
add more code for enumerate task
add control requests & its type def
add API for HCD
- hcd_pipe_addr0_open
- hcd_pipe_control_open
- hcd_pipe_control_xfer
- hcd_pipe_open
- hcd_port_speed
2013-02-02 15:36:20 +07:00
hathach a25da9d3ee house keeping
add some more logic for enum task
2013-02-01 14:21:22 +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 bef17fb67f add version macros 2013-01-31 11:47:07 +07:00
hathach eca87e5ee5 add ASSERT_BIN8 and its test code
add some common api for task in osal.h for mocking
2013-01-31 11:05:33 +07:00
hathach 07048b943e add primitive_types.h for portable with uint8,16,32_t, and bool
add osal_common.h to ease the complaint of MISRA 19.1
implement OSAL_NONE Task loop, semaphore wait/post and its test code
2013-01-30 11:35:37 +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 f613c32422 add STATIC for local variables 2013-01-27 13:16:30 +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 d8c8b9e38a add ASSERT POINTER support
add hid host and separate hid host & device
update host project setting with EA4357 board
add para checking test for hid host
2013-01-18 14:39:42 +07:00
hathach 53739ccd28 rename some fifo functions to be more consistent 2013-01-16 22:37:10 +07:00
hathach 095129887e delete mcu folders as it duplicate hal folders 2013-01-16 22:23:17 +07:00
hathach 8155fd38a5 added some tests for fifo.c 2013-01-16 13:25:02 +07:00
hathach c004cd4387 add uart for lpc11uxx and retarget successfully 2013-01-16 12:43:17 +07:00
hathach 0c1d4f705b add binary const & its test code 2013-01-14 14:36:13 +07:00
hathach 3d8babcb14 refractor to remove duplicate code between ASSERT_HEX and ASSERT_INT
use static inline min_of and max_of instead of macro
2013-01-14 00:41:23 +07:00
hathach f991475183 add assert_hex & assert_hex_within 2013-01-13 20:39:01 +07:00
hathach beb20b975b add ASSERT_INT_WITHIN and its test code 2013-01-13 20:09:51 +07:00
hathach 1deac98969 add ASSERT_INT, ASSERT_INT_EQUAL and test code for it 2013-01-13 20:00:01 +07:00
hathach 463b1c0294 rename ASSERT_ERROR to ASSERT_STATUS
add binary const support @ common/binary.h
enhance assert support @ common/assertion.h
add test code for assertion.h
2013-01-13 19:27:17 +07:00
hathach e935f29541 tested keyboard device with lpcXpresso1347 board 2013-01-11 20:49:46 +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 ec4a3f6048 cleaning 2012-12-18 15:08:30 +07:00
hathach 3eb7465e5e abstract usb enable/disable interrupt to hal layer 2012-12-10 14:58:25 +07:00
hathach 70e3a13951 change building process yes, again 2012-12-07 17:59:46 +07:00
hathach cd74f4f0ed work with lpc11u37 (lpc11uxx) on kevin's board 2012-12-07 16:22:47 +07:00
hathach 6049b6d0df make fundamental changes in project building
add some makefile.defs
2012-12-07 01:31:09 +07:00
hathach f31ade6151 add board abstract layer
rename arch to mcu
2012-12-04 18:18:29 +07:00
hathach 82820a2066 able to build with lpc43xx demo 2012-12-04 14:12:48 +07:00
hathach 8f00307986 fixed building errors with device example 2012-12-04 11:30:34 +07:00
hathach 921561be60 change editor tab to 2 spaces. 2012-12-03 19:02:36 +07:00
hathach b698b09a67 fix some doxygen settings and stuffs add prepacked for IAR compiler 2012-12-03 16:51:14 +07:00
hathach aff644b7c3 add some helper function into common.h 2012-12-02 15:46:12 +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
hathach b8b92e1202 hid mouse working 2012-11-29 16:32:49 +07:00
hathach 8f57cb6ccb house keeping 2012-11-29 15:57:44 +07:00
hathach 360b28b44f add more doxygen docs
start to use TUSB_Error_t
2012-11-29 15:35:59 +07:00
hathach 382cd30be2 doxygen for gcc attribute 2012-11-29 13:54:49 +07:00
hathach 8cd811e2a9 start to work with doxygen
fix mem_size/mem_base usage with device rom driver
2012-11-29 10:41:33 +07:00
hathach 851f5bfd06 make keyboard device work with lpc1347 2012-11-28 11:53:23 +07:00
hathach 545fe61828 start to add hid keyboard 2012-11-27 17:41:00 +07:00
hathach 54e5289b73 added assert macro 2012-11-27 15:59:47 +07:00
hathach a21ca6c0f1 house keeping 2012-11-27 15:42:53 +07:00
hathach 829c8672bb added _cplusplus extern wrapper 2012-11-27 15:35:57 +07:00
hathach 06c16ae03f added files
added some template code
2012-11-27 15:21:47 +07:00
hathach e62963844b added files 2012-11-26 17:19:26 +07:00