hathach
68dddefe7b
add control xfer for ehci controller fake: ehci_controller_control_xfer_proceed
...
refractor test code
2013-04-05 14:00:37 +07:00
hathach
fcb8e295ec
clean up, update tests for hcd_port_reset after 8 byte descriptor & set configure before open class driver
2013-03-29 23:37:59 +07:00
hathach
e658e67ebe
fix the damn bug within 10 line of code in keyboard_app.c
2013-03-29 00:20:27 +07:00
hathach
7b5d9edc5a
add test for pipe_interrupt_xfer
...
implement keyboard app code
- forcefully place keyboard_report in RAM section 3
change used bit in qtd from reserved in buffer[1] to alternate link
add code for fake ehci controller runs on period interrupt
change signature of tusbh_hid_keyboard_get_report
- tusb_keyboard_report_t* to uint8_t*
implement period (interrupt) complete isr processing
2013-03-27 11:51:44 +07:00
hathach
b0ff7a7e23
add code & test for hidh_isr (set status for keyboard)
2013-03-26 17:04:55 +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
0b08dc7724
fix bug with enum task skipping decriptor
2013-03-26 14:18:14 +07:00
hathach
205a21ff04
add code for hidh close
...
refractor the full configure descriptor parsing in enum task
2013-03-26 13:45:14 +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
03d045ecde
- put ATTR_UNUSED to hardfault handler variables to discard compiler warning
...
- change host_class_driver_t: open_subtask signature to accept tusb_descriptor_interface_t const * instead of uint8_t*
2013-03-26 12:14:04 +07:00
hathach
54acee1fc8
start merge hidh_keyboard back to hidh
2013-03-26 11:41:41 +07:00
hathach
a7e8a2ba9a
pass all the current tests
2013-03-26 02:06:30 +07:00
hathach
086a8e4a2d
add flag_supported_class to usbh_devices
...
remove all ATTR_WEAK in init,open,isr,close driver functions of USBH-CLASS API
- prefer testing
2013-03-26 02:02:54 +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
c026a9f2e0
remove obsolete TUSB_CFG_HOST_HID_KEYBOARD_ENDPOINT_SIZE
...
temporarily ignore test for hid_host.c due to ceedling linking issue with weak symbol
implement hidh_open_subtask driver to subclass open
rename hidh_keyboard_install to hidh_keyboard_open_subtask
2013-03-25 16:02:24 +07:00
hathach
56cd8be75e
change website from tinyusb.net to tinyusb.org
2013-03-25 11:46:30 +07:00
hathach
20a22d956d
changing the hcd_pipe_close behavior
...
- bulk/int/iso pipe can only be closed as part of unmount/safe remove process
add test for interrupt_close
2013-03-25 11:04:37 +07:00
hathach
b15694bc5f
fix potential bug when insert new queue head to list
2013-03-24 22:24:27 +07:00
hathach
62f5ec8a0f
period_frame_list0 is not existed if period list is not required
2013-03-24 21:53:41 +07:00
hathach
c7c993d6cc
refractor hidh keyboard
...
changing class hidh behavior
2013-03-24 21:40:49 +07:00
hathach
a1b17be681
add class flags
...
change keyboard_info_pool to keyboard_data
2013-03-24 17:29:07 +07:00
hathach
92c137243d
refractor
...
- rename usbh_device_info_pool to usbh_devices
- create a struct for control pipe in usbh_device_info_t
2013-03-24 16:44:59 +07:00
hathach
ea04815bbc
rename sem_hdl in usbh_device_info_t control_sem_hdl
2013-03-24 16:22:58 +07:00
hathach
55ce5cc4a2
add TUSB_DEVICE_STATE_INVALID_PARAMETER to tusb_device_state_t
2013-03-24 16:05:50 +07:00
hathach
439a3134b9
refractor
...
- rename tusbh_device_status_get to tusbh_device_get_state
- replace tusbh_device_status_t by tusb_device_state_t
2013-03-24 16:02:45 +07:00
hathach
ce63980386
clean up:
...
- refractor tusb_handle_device_t device_hdl to uint8_t dev_addr
add keyboard_app.c/h
2013-03-24 15:50:49 +07:00
hathach
e6630af5a4
clean up
2013-03-23 23:43:25 +07:00
hathach
0c5e0ef0f3
- add control_pipe_status for usbh_device_info_t to reflect the status transfer of control pipe
...
- fix bug with hcd_port_reset
+ remove regs->portsc_bit.port_enable in the wait loop as device unplugged can cause this to always fails
- correct the timeout for hcd_controll_stop/reset 16 uframes ~ 2 ms
- potentially fix bugs device unplugged when new address is not assigned
2013-03-23 18:36:43 +07:00
hathach
44e09cc397
enhance some tests
...
add test for usbh_isr error invoke
fix bug if device unplugged before is set to new address
- clean up & close control addr0 in usbh_device_unplugged_isr
2013-03-23 17:31:51 +07:00
hathach
4adfc6a6d8
change signature usbh_isr to add tusb_bus_event_t parameter
...
change singature of call_isr as well
2013-03-23 15:00:56 +07:00
hathach
e6b8166a58
house keeping
2013-03-23 14:27:32 +07:00
hathach
e14864759d
refractor
...
- rename TUSB_DEVICE_STATE_READY to TUSB_DEVICE_STATE_CONFIGURED
- move device_state to core/tusb_types.h
- remove usbh_device_hcd_data_cleaned_up_cb, hcd now set the state directly
2013-03-23 12:13:02 +07:00
hathach
d7ba86c85e
refractor
...
- rename usbh_device_info_t.status to state
- rename enum TUSB_DEVICE_STATUS_* to TUSB_DEVICE_STATE_*
2013-03-23 11:34:51 +07:00
hathach
0c6d406ddf
- house keeping
...
- add controller id for hal_interrupt_enable/disable
2013-03-23 10:56:41 +07:00
hathach
ae9b9ead7a
continue clean up ehci
2013-03-23 10:23:37 +07:00
hathach
58b252b3f1
clean up ehci
2013-03-23 10:14:47 +07:00
hathach
8beb749761
clean up
2013-03-23 09:57:08 +07:00
hathach
660440d69c
refractor extract to function qtd_remove_1st_from_qhd
2013-03-23 02:56:17 +07:00
hathach
eddaa8394b
fix issue with Interrupt Async Advance
...
- only acknowledge interrupt that we check
2013-03-23 02:51:41 +07:00
hathach
53a4164b39
use DO PING for highspeed out bulk
2013-03-22 21:50:07 +07:00
hathach
397d62db10
fix bug: adjust all bulk queue head from ehci_data.device
2013-03-22 21:21:00 +07:00
hathach
f6acca6664
add callback for hcd when it cleaned up all cache data for a device (previously mark as removing).
2013-03-22 18:55:45 +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
cd2915e78c
house keeping
2013-03-13 21:45:06 +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
dbd3d9618d
refractor rename field inactive_next_xact of ehci_qhd_t
2013-03-13 12:29:44 +07:00
hathach
1a932e7437
refractor ehci test files
...
adding some code for async_advance_isr
add test for async_advance_isr
2013-03-13 12:25:27 +07:00
hathach
97c436a16e
add usbh_pipe_control_close (in conjunction with usbh pipe control open)
...
close control pipe when unplugged
2013-03-13 11:20:02 +07:00
hathach
97c9001d40
add hard fault handler to bsp.c
...
rename class_install_subtask to class_open_subtask
add class_close for unmount
adding code for usbh_device_unplugged_isr & invoke it in hcd_isr
2013-03-13 10:57:30 +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
60c2caf84a
implement port hcd_port_connect_status
...
clean up
2013-03-12 16:46:47 +07:00
hathach
80facf6f2e
add isr api for usbh_hcd
...
- void usbh_device_plugged_isr(uint8_t hostid, tusb_speed_t speed);
- void usbh_device_unplugged_isr(uint8_t hostid);
implement port_connect_status_isr
2013-03-12 16:42:19 +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
38ff7123b4
add semaphore reset & queue flush API for osal
...
add semaphore reset when opening control pipe
2013-03-12 00:10:52 +07:00
hathach
8eaad2326b
add semphore reset & queue flush API
...
modify test to check control pipe semaphore created with usbh_init
2013-03-11 12:00:25 +07:00
hathach
c1ceec067f
add isr empty function for hidh and msch and usbh
2013-03-10 19:42:50 +07:00
hathach
c1848b8114
add code for ehci interrupt handler
...
- interrupt source identifying
- for async list process
refractor control_xfer to use insert_qtd_to_qhd
- add test for control xfer interrupt processing
- add code for faking ehci controller async list scheduling & processing
- add prototype for void usbh_isr(pipe_handle_t pipe_hdl, uint8_t class_code);
2013-03-10 17:51:53 +07:00
hathach
8457585464
add class code to hcd_pipe_open to facilitate usb_complete callback
2013-03-09 21:37:49 +07:00
hathach
96c92afb32
rename init_qtd, init_qhd
2013-03-09 15:43:14 +07:00
hathach
b833203528
house keeping
2013-03-09 14:38:35 +07:00
hathach
ef9eb1f2fa
- fix wrong class code for TUSB_CLASS_APPLICATION_SPECIFIC
2013-03-09 14:31:37 +07:00
hathach
2364b09f80
add int_on_complete parameter to hcd_pipe_xfer for TD chain class request
...
fix control transfer request: remove get_control_request_ptr()
2013-03-09 14:19:40 +07:00
hathach
b1db85dedf
- addd p_qtd_list_tail to qhd structure for easy queue TD
...
- move control_request from ehci_data to usbh_device_info_pool
- add test for bulk transfer double (2 consecutive xfers)
- use table (array) structure for class driver, currently included
- refractor extract to function insert_qtd_to_qhd
+ init function
+ install_subtask
--> all class driver function must be declared with WEAK
2013-03-09 13:11:02 +07:00
hathach
b146730306
add test code & hcd_pipe_xfer for bulk transfer
...
- test cross 4k boundary test for bulk transfer
rename p_qtd_list to p_qtd_list_head
2013-03-07 19:54:00 +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
1b610cf26f
refractor list_insert
2013-03-07 16:40:01 +07:00
hathach
6d30ae1f32
guard check for open iso pipe
2013-03-07 16:10:16 +07:00
hathach
66586ffb08
re-layout ehci_data_t to get better memory consumption
2013-03-07 16:06:28 +07:00
hathach
ef08654e73
add prototype for hcd_pipe(control)_close
...
- update test code for enum task respectively
2013-03-06 22:41:14 +07:00
hathach
5c3bd1f8dc
add code & test for hcd_pipe_open interrupt
...
high and non-highspeed
2013-03-06 22:21:42 +07:00
hathach
7557a807a9
basically finish code for control transfer & test code
2013-03-06 16:32:01 +07:00
hathach
f38fed3529
pass test for setup TD
2013-03-06 15:39:37 +07:00
hathach
685fb97086
rename fields in ehci_qtd_t
2013-03-06 15:08:09 +07:00
hathach
959311532e
refractor
...
- rename some field in ehci_qhd/qtd_t
- code test for open pipe
2013-03-06 14:55:02 +07:00
hathach
ef1cef5019
refractor ehci_data_t
...
separate tests for pipe open & pipe xfer
2013-03-06 14:25:26 +07:00
hathach
97a4a41b82
refractor
...
- remove unnecessary assign next pointer of asyn/period head in hcd_controller_init
2013-03-06 11:24:20 +07:00
hathach
c2b9e1ef83
add some code & testcode for hcd_pipe_control_xfer
2013-03-06 03:03:59 +07:00
hathach
71fcf20a95
fix error
...
- remove p_qhd->qtd_overlay.halted = 1;
2013-03-06 01:46:01 +07:00
hathach
5b401cc517
refractor hcd_open
2013-03-06 00:29:10 +07:00
hathach
b3775b631b
add test & code for open bulk transfer to hcd_pipe_open()
2013-03-05 23:08:00 +07:00
hathach
c0bbc2aded
refractor tests
2013-03-05 15:23:12 +07:00
hathach
3ed29f5f3c
add test & code for hcd_pipe_control_open
2013-03-05 14:26:36 +07:00
hathach
2c8596edeb
abstract call chains from hal usb isr
2013-03-04 18:46:02 +07:00
hathach
a259be6edf
refractor
...
- remove TUSB_CFG_HOST_CONTROLLER_START_INDEX
2013-03-04 18:01:05 +07:00
hathach
e1033b9b3c
replace TUSB_CFG_HOST by MODE_HOST_SUPPORTED
...
move stuffs around
2013-03-04 17:07:14 +07:00
hathach
94c004724c
allow configure host/device by controller basic
...
- make changes to adapt
add mcu_capacity.h
2013-03-04 16:21:41 +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
74e6b545e1
house keeping
2013-03-03 15:36:53 +07:00
hathach
0f7eb8c38d
add test for hcd/host init period list
2013-03-03 15:32:04 +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
82bd4719ce
continue to strengthen include policy
2013-02-28 15:58:18 +07:00
hathach
0c397c6b8d
house keeping
...
- correct initialization call sequence
- move hcd_init to ehci.c
2013-02-27 18:49:28 +07:00
hathach
a6fac7180c
add coded to test ehci alignment and structure layout (included bitfield)
2013-02-27 16:19:40 +07:00
hathach
b1d33c7ffc
rename tusbh_device_mount_succeed_cb
...
add set configure and tusbh_device_mount_succeed_cb invocation
refractor get_configure_number_for_device
2013-02-27 12:42:32 +07:00
hathach
5eca6d69c3
correct error using local p_interface_desc with subtask invoke (require static)
2013-02-27 02:14:01 +07:00
hathach
4023d07df0
add parsing configuration desc & invoke driver install subtask
2013-02-27 01:57:40 +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
ac744b0401
refractor use Compound Literal Reference for sending control request in enum task
2013-02-22 17:14:34 +07:00
hathach
5bacdc6c0f
updating usbh init with class init
2013-02-08 12:52:46 +07:00
hathach
489b98cb93
add TUSB_CFG_HOST_CONTROLLER_START_INDEX
...
update usbh_init and test code for TUSB_CFG_HOST_CONTROLLER_START_INDEX
clean up some
2013-02-08 12:12:10 +07:00
hathach
ef0e105da6
rename addr variable to avoid conflict with static variable
2013-02-07 19:42:41 +07:00
hathach
89f74d22a7
flatten enum task --> there is quite of code duplication
2013-02-06 18:56:49 +07:00
hathach
e6ed1729b2
update enumeration up to get full configuration descriptor
2013-02-06 18:12:26 +07:00
hathach
060c4b3b30
refractor move device_addr0 into usbh_device_pool
...
enum_entry contains speed and enum task will not carry out disconnection clean up
2013-02-06 16:52:18 +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
aa040c4c98
rename device_info_pool to usbh_device_info_pool
...
update enum task to post set address
2013-02-04 21:52:50 +07:00
hathach
93269b0343
fix osal_semaphore_wait & osal_queue_receive of osal_none's bug
...
- not assign error to TUSB_ERROR_NON if succeed
add code up to set device address for enumeration
2013-02-04 20:54:52 +07:00
hathach
5e8d70a184
complete define osal_freeRTOS for semaphore and queue
2013-02-04 18:05:22 +07:00
hathach
d71e244dff
add TUSB_CFG_HOST_ENUM_BUFFER_SIZE
...
add enum buffer
getting serious with osal_freeRTOS
2013-02-04 16:07:42 +07:00
hathach
0a13e37ba2
resolve conflict between usbh & hcd
2013-02-04 14:48:35 +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
5ec56120e6
rename usbd_host to usbh
2013-02-04 12:29:50 +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
7fc3e4f8fe
house keeping
2013-02-01 12:46:17 +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
9c9fa182d4
fix mocking osal api using ifdef
...
start to add task_create macro API for osal_none
2013-01-30 12:55:44 +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
5feb1c90b4
add class_hid_keyboard_init and test code
...
add define _TINY_USB_SOURCE_FILE_ to hide internal API from application
2013-01-27 12:18:01 +07:00
hathach
d286c95765
add check device API for stack usage
...
bool usbh_device_is_plugged(tusb_handle_device_t const device_hdl);
2013-01-26 02:25:56 +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
fdc9a82e8c
change configure handle to device handle
...
change test case accordingly
2013-01-23 15:01:17 +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
00b3f48519
rename a bunch of configure macros
2012-12-20 16:56:19 +07:00
hathach
8f00307986
fixed building errors with device example
2012-12-04 11:30:34 +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
a636d75fc6
extract hal_init
2012-12-02 00:41:12 +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
2dd9501f37
update doxygen
2012-11-29 16:58:12 +07:00
hathach
b8b92e1202
hid mouse working
2012-11-29 16:32:49 +07:00
hathach
360b28b44f
add more doxygen docs
...
start to use TUSB_Error_t
2012-11-29 15:35:59 +07:00
hathach
829c8672bb
added _cplusplus extern wrapper
2012-11-27 15:35:57 +07:00
hathach
e62963844b
added files
2012-11-26 17:19:26 +07:00