hathach
05c767313d
make freertos source unmodified to ease the upgrade process later
...
use CGU_GetPCLKFrequency as configCPU_CLOCK_HZ for lpc43xx using with freeRTOS
move portmarco.h include to FreeRTOSConfig.h to have untouched version of freertos
add a readme.md to vendor/freertos
refractor usbh.c, increase POWER_STABLE_DELAY = 500, RESET_DELAY = 200
fix bug with hub, only handle 1 port at a time when reading hub status change endpoint --> other port will be handled in the next cycle
2014-04-28 14:20:00 +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
ce85e4d98f
#define SVCall_Handler SVC_Handler in lpcxpresso startup for lpc175x_6x & lpc11uxx for better compatiable with other lib & toolchain.
...
added lpc176x xpresso with cmsis rtx
2014-03-19 18:12:51 +07:00
hathach
61657f6751
change OSAL_TASK_FUNCTION to adapt with cmsis rtx
2014-03-19 16:50:49 +07:00
hathach
34756f3862
app descriptor rename
2014-03-18 16:58:24 +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
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
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
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
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
b828aabbe4
implement hcd_pipe_close, able to plug & unplug device from ohci lpc17xx
2013-12-18 16:23:09 +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
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
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
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
de7e21dc66
refractor hub api
...
fix all test build errors
2013-10-16 11:05:33 +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
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
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
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
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
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
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
391e132d6b
no big deal, only rename tusb_std_request_t to tusb_control_request_t
2013-07-04 12:25:39 +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