Commit Graph

184 Commits

Author SHA1 Message Date
guozhanxin 711ce4a0ea [usbd] Fixed Windows first recording failure.|修复windows下第一次录音失败的问题。
windows下第一次录放音失败的原因是:第一录放音时 windows 会先连续发送开始、结束检测设备,然后才正式开始。线程来不及处理两次开始事件不会累积,最后导致直接结束,
2019-09-19 23:12:24 +08:00
guozhanxin 98b1956937 [usbd] Add usb audio class. 2019-09-19 21:01:25 +08:00
guozhanxin cde81a296d [usbd] Fixed an error where change the interface did not call handler.|修正了改变接口不调用回调的问题 2019-09-19 20:58:58 +08:00
guozhanxin 59dfbb1266 [usb device] Fix the problem of multiple altsetting of interface failing to properly enumerate.
修复多备用设备的接口不能正常枚举的问题。
2019-09-12 18:04:44 +08:00
Zhou Yanjie 3c9375181d usb: hid.c: 修复编译过程中的错误/Fix compile-time error.
在第375行中,“uint8_t *data,”应改为“rt_uint8_t *data,”。

In line 375, "uint8_t *data," should be changed to "rt_uint8_t *data,".

Signed-off-by: Zhou Yanjie <zhouyanjie@zoho.com>
2019-07-19 16:03:57 +08:00
tyustli d8eb0cfc1e fix kernel and framework no cast type error 2019-06-18 20:09:19 +08:00
ZYH e1517a0981 [Components][USB][RNDIS] fix delay linkup using soft timer 2019-06-11 15:32:37 +08:00
ZYH 2a738e1ee2 [Components][USB][ECM] fix hotplug 2019-06-11 15:27:11 +08:00
ZYH c12d59dc02 [Components][USB][RNDIS] fix hotplug 2019-06-11 15:24:21 +08:00
ZYH 7a75e449b6 [Components][USB][ECM] fix hotplug 2019-06-10 14:10:59 +08:00
ZYH cc9ce52bae [Components][USB][RNDIS] fix hotplug and "delay linkup" 2019-06-10 14:10:08 +08:00
weety 5293175998 Fixed data loss issue when USB CDC serial works in dma transmission mode. 2019-02-03 20:36:34 +08:00
zyh b18534e1af [components][USB][Device][Core]fix the device_qualifier error respond on fullspeed 2018-12-27 16:48:29 +08:00
Peter Zhang 328a697c1d [components][drivers][usb][usb_device][cdc_vcom]: Add 'RT_VCOM_TX_TIMEOUT' to configure TX_TIMEOUT whick may block vcom tx thread for a long time. Add 'RT_VCOM_TASK_STK_SIZE', 'RT_VCOM_TX_USE_DMA', 'RT_VCOM_SERNO', 'RT_VCOM_SER_LEN', 'RT_VCOM_TX_TIMEOUT' to Kconfig 2018-10-26 14:29:22 +08:00
Bernard Xiong 95fde46d18
Merge pull request #1923 from uestczyh222/usb
[Components][drivers][usb]修复非对齐访问异常
2018-10-26 07:08:24 +08:00
liruncong d3764db892 解决以下问题:
1) usb驱动中时间未与RT_TICK_PER_SECOND关联问题,RT_TICK_PER_SECOND变化时,这些时间将发生变化
解决: 增加USB_TIMEOUT_BASIC/USB_TIMEOUT_LONG/USB_DEBOUNCE_TIME
2) 修正rt_usbh_detach_instance函数使用device->cfg_desc前未判断是否有效. 可导致abort
3) rt_usbh_hub_port_change增加device->port初始化,否则struct uhcd_ops相关函数无法直接得到端口号
2018-10-23 20:04:51 +08:00
zyh c2539db38e [Components][drivers][usb]修复非对齐访问异常 2018-10-22 12:08:43 +08:00
Bernard Xiong 2c0640a178 [license] Change license to Apache. 2018-10-14 19:37:18 +08:00
Bernard Xiong 65fc7421e0
Merge pull request #1871 from uestczyh222/master
[Components][USB]增加健壮性
2018-10-09 19:54:10 +08:00
ZYH 2b7488ca85 [Components][USB]更新license 2018-10-09 11:43:35 +08:00
ZYH f73e4c3fc4 [Compoments][USB]增加对class的非法注册的判断 2018-10-09 11:41:38 +08:00
ZYH 294223c80b [Components][USB]修复当未开启复合设备时HID编译失败 2018-10-09 11:32:41 +08:00
liruncong 7b788014f7 修正drivers下,armclang编译时的警告或错误 注:vcom_tx_thread_entry下, if(!res & CDC_TX_HAS_DATE)应为bug. 2018-09-10 19:40:08 +08:00
liruncong d3c08afd75 1. 保留目前未用到的rt_usbd_ep_unassign函数,暂时移除static属性,消除警告.
2. 修改一处存在多余括号问题. armclang有警告发出.
2018-09-02 22:39:51 +08:00
liruncong 923d6fe33d 消除usb结构体gcc编译时的相关警告 2018-08-28 03:18:39 +08:00
zyh 151330b721 [Components][USB][Device]Support customer HID class|支持自定义HID设备 2018-07-04 14:13:09 +08:00
Bernard Xiong 884fb70fe9 [Kernel] Add device ops feature. 2018-06-10 17:59:17 +08:00
zyh 178fce54bd [Components][USB]fix device ep write 1bytes on hs 2018-05-28 11:04:49 +08:00
zyh c053119fac [Components][HOST]fix sem name 2018-04-27 15:27:26 +08:00
zyh 1ed770039c [Coponents][USB device]add class register interface 2018-04-24 12:48:05 +08:00
ZYH 0fcf08ae88 [Components][USB]fix a compile error 2018-03-23 14:52:00 +08:00
ZYH 7262ab7364 [Components][USB Device]增加复合设备对HS的支持 2018-03-16 18:40:07 +08:00
ZYH 5035662cd9 [Components][USB Device]各个class对HS进行了适配
部分class还不支持HS,RNDIS存在暂时无法解决的已知bug
2018-03-16 18:36:14 +08:00
ZYH 0ab93e70f0 [Components][USB Device]增加协议栈对HS设备的支持
- 增加winusb对HS的支持。其余class还在完善中
2018-03-16 16:02:57 +08:00
charlown 4f1f0ad918 fix cdc_vcom.c notify receive data. 2018-03-15 10:07:23 +08:00
uestczyh222 55a1c11abc [Components][WINUSB]Add Guid config to Kconfig Add VID PID config 2018-03-09 15:21:33 +08:00
ChunfengMu a499c18072 [Components][Drivers][USB]vcom dma_tx模式下根据bulk in提交能力限制tx_ringbuffer的填充长度,避免对下次bulk in传输造成影响. 2018-02-06 01:49:59 +08:00
ChunfengMu 9798917638 1:解决主机端未打开串口时,设备端应用程序dma模式下操作vcom发送数据时,dataqueue条目泄漏的问题。 2018-01-31 02:37:34 +08:00
ChunfengMu 263e9faae4
Update cdc_vcom.c 2018-01-30 10:19:40 +08:00
ChunfengMu 2ea318cc03 1:解决未使用串口设备时,bulkout端点接收数据触发断言的问题。 2018-01-30 01:24:00 +08:00
ChunfengMu 0b0cbaf9aa [Components][Drivers][USB]fix compiling errors 2018-01-24 00:27:11 +08:00
Bernard Xiong 828804e26d
Merge pull request #1184 from uestczyh222/master
[Components][Drivers][USB Device]fix ep assign bug
2018-01-22 15:43:10 +08:00
Aubr.Cool 537943ed6f [Components] driver usb vcom fix error for console (#1160)
* [Components] driver usb vcom fix error for console
2018-01-22 13:18:27 +08:00
uestczyh222 8b1eedf73e Merge remote-tracking branch 'upstream/master' 2018-01-22 13:13:23 +08:00
uestczyh222 4ca2337176 [Components][Drivers][USB Device]fix ep assign bug 2018-01-22 12:58:59 +08:00
ChunfengMu 31dcce45c8 1:修复cdc_vcom命令处理错误,SetLineCoding命令用于设置一些vcom参数,在此处判定vcom连接状态不合适,因通过SetControlLineState命令wValue字段最低位进行判断。 2018-01-19 01:24:33 +08:00
ZYH a9f182140c [Components][Drivers][USB]fix memory leak
修复一个 bug 该bug曾导致在设备不断电但主机重新枚举设备的情况下会导致内存泄漏并无法接收数据
2018-01-17 21:12:21 +08:00
ZYH 92f5b437f7 [USB Device]fix an error on msc 2017-12-21 21:26:40 +08:00
uestczyh222 9b44af941f [Components][Drivers][USB HOST]Fix core stack and msc driver
可以挂U盘了 欢迎测试鲁棒性已打通F4全系列HOST驱动(OTGFS)
2017-12-14 22:45:12 +08:00
uestczyh222 18d42fe077 [Components][USBHOST]Core OK 2017-12-14 03:14:44 +08:00
uestczyh222 b42fc96408 [host first] 2017-12-13 15:58:11 +08:00
uestczyh222 049ed5047f [Components][USB][DFS][usb minimize stack size dfs fix build error
without finsh]
2017-12-07 07:24:37 +08:00
uestczyh222 f3a96e2073 [Components][Deivers][USB][HID]fix bug and add send callback 2017-12-04 01:58:59 +08:00
MiraculousConch 1462ba178d [Components][Drivers][USB Device][WinUSB]update winusb class 2017-12-03 01:32:07 +08:00
MiraculousConch b5e8fa0872 [Components][Drivers][USB]Add IAD support for MSC class 2017-11-29 18:33:09 +08:00
MiraculousConch e875128115 [Components][Driver][USB][Class]fix msc class 2017-11-29 14:26:15 +08:00
MiraculousConch c64fa9f059 [Components][Drivers][USB][Core]fix io request 2017-11-29 14:25:45 +08:00
MiraculousConch d40d5355b8 [Components][Drivers][USB]WinUSB And Core update
协议栈增加允许class在windows环境下枚举时向系统注册附加属性。并在winusb class中提供范例(注册GUID信息)
2017-11-28 03:02:48 +08:00
uestczyh222 f4fb716167 [Components][USB][Class and
Core]修复了协议栈在ep0请求大于端点描述最大包时无法正确读取的bug
增加了rndis class LWIP on USB
2017-11-25 17:31:48 +08:00
uestczyh222 cfc0304be5 [Compinents][USB]增加USB协议栈对微软OS描述符的支持,修复HID class的IAD接口,增加免驱新class WinUSB 2017-11-23 00:38:56 +08:00
uestczyh222 bd566e6a37 [Components][Drivers][USB] Add CDC-ECM class (LWIP on USB)
Windows下没驱动 linux和mac下免驱
2017-11-21 22:44:13 +08:00
Bernard Xiong af2b9b9965 [DeviceDrivers][USB Stack] code cleanup 2017-11-18 17:13:46 +08:00
uestczyh222 e365ff5473 [Components][Drivers][USB][HID]Update to common hid 2017-11-16 19:05:17 +08:00
uestczyh222 a3808362ac [Components][Drivers][USB]fix usb device core 2017-11-15 20:54:54 +08:00
tangyuxin cc54e0a74e [usb]update usb stack 2017-11-11 10:53:08 +08:00
Bernard Xiong 767c16d596 [USBH] fix the spelling wrong 2015-03-19 08:52:28 +00:00
shaolin 64a2902fa9 1. Fix some spell error;
2. Fix data transfer size calculate error issue;
2014-07-13 17:19:34 +08:00
weety d5b0c94552 [USB]fix rt_usbd_set_config() BUG which set the USB device to configuration state before enumerating the device. 2014-04-06 21:02:23 +08:00
shaolin 0fb9c54efd 1.replace API prefix usb* with usbh* in USB host stack to distinct with USB device stack;
2.adjust some viable and micro name
3.some other small fix
2014-03-04 08:59:53 +08:00
shaolin 8fd0a7f9c6 Update USB Device Stack to support more device controllers;
Pass USB CV test verification;
Code cleanup;
2014-02-16 17:42:35 +08:00
Grissiom 981d929b56 ringbuffer: fix the ambiguous name
RT_RINGBUFFER_SIZE could mean "the size of the whole buffer", "the size
of the empty space" or "the size of the data". Moreover, it's never a
micro anymore. Change it to rt_ringbuffer_data_len before it's too late.
Also, RT_RINGBUFFER_EMPTY is changed to rt_ringbuffer_space_len.
2013-08-19 14:12:35 +08:00
bernard a124e7bd22 add initialization debug code 2013-07-24 07:33:48 +08:00
yiyue.fang 03cf76e7ef reformat the coding style in usbdevice/core/core.c 2013-06-29 10:32:27 +08:00
yiyue.fang 621fbdb90c Embedded GPLv2 license in drivers 2013-06-28 00:36:54 +08:00
Bernard Xiong 98c8a23e94 Add component initialization. 2013-06-23 07:48:42 +08:00
heyuanjie87 02869d7e67 udisk can be eject 2013-06-15 23:02:50 +08:00
Grissiom b02993c989 usbdevice/core: cope with some buggy drivers on USB_MSG_DATA_NOTIFY
Some driver will emit USB_MSG_DATA_NOTIFY before the USB get configured.
Filter out those events.
2013-06-11 11:50:05 +08:00
Grissiom ed19483cb4 usb: add USB_MSG_PLUG_OUT event
When the core received an USB_MSG_PLUG_OUT event, it will stop all the
classes. This make a chance that the classes could get rid off doing
useless stuff while the USB cable is plugged out.
2013-06-06 15:21:40 +08:00
heyuanjie87 376a08d89a return correct length of LangID string to host 2013-05-30 18:26:52 +08:00
qiuyiuestc a33e992724 Merge pull request #95 from grissiom/vcom
usbdevice/core: add reset function to support hotplug
2013-05-25 01:05:00 -07:00
qiuyiuestc 97a507e667 usbdevice/core: add reset function to support hotplug
When the USB got RESET packet from the host and the address is setup,
all the classes will got reset. The reset is done by class stop and than
class run. So the classes should reset their internal state in
class_{run,stop}.

Besides, the USB device driver could post a USB_MSG_RESET message on
every RESET packet.
2013-05-25 15:55:27 +08:00
qiuyiuestc 2e25159a83 Merge pull request #94 from grissiom/vcom
cdc_vcom: reset the vcom state in proper cases
2013-05-25 00:52:05 -07:00
Grissiom 046182be94 cdc_vcom: reset the vcom state in proper cases
Reset the vcom state in class_{run,stop} and when the PC is not
receiving data from me.
2013-05-25 15:25:32 +08:00
heyuanjie87 8aa4eb7924 make Host can halt endpoints 2013-05-23 12:33:22 +08:00
heyuanjie87 8b4aadb4db add usb state 2013-05-17 20:53:05 +08:00
Grissiom b3e38f53b4 usbdevice/core: use static message queue
Although currently the only message send to the queue is struct
udev_msg, in order to keep backward compacity and for extention in the
future, we set the size of message to 32.
2013-05-12 15:43:30 +08:00
Grissiom f0d50a7b36 usbdevice/core: use static thread instead of dynamic thread
It also add two configurations for the USB device even loop thread:

    RT_USBD_THREAD_STACK_SZ to set the stack size, default to 2048
    RT_USBD_THREAD_PRIO     to set the priority, default to 8

You can overwrite the default values in rtconfig.h
2013-05-12 15:43:29 +08:00
Grissiom aa179e4438 cdc_vcom: not to start sending data when the data is already sending
We start the sending transaction in SOF handler. But if the data is
already sending, start an other transaction will cause data lose.
Implement a state machine is cdc_vcom and avoid that.
2013-05-12 13:27:13 +08:00
Grissiom 157af94af9 usbdevice/core: small optimization on the event loop
Sort the switch cases by the frequency of the events.
2013-05-12 13:07:03 +08:00
Grissiom d23ee75d2e cdc_vcom: send data as many as possible
The data filled into dcd_ep_write does not to be limited by
MaxPacketSize.
2013-05-10 17:50:07 +08:00
Grissiom 5de59429fe usbdevice/core: misc cleanup 2013-05-10 17:35:33 +08:00
Grissiom ffb1e62020 cdc_vcom: send a zero-length-packet at the end is transaction 2013-05-10 15:17:59 +08:00
Grissiom 778c4239b1 cdc_vcom: fix the bug that use ringbuffer pool as usb packet buffer
This commit set the buffer for packet to CDC_MaxPacketSize which is a
reasonable value for it. However, maybe we should make
CDC_{RX,TX}_BUFSIZE configurable as well.
2013-05-09 23:18:58 +08:00
Grissiom d196a75a41 usbdevice/core/core.c: fix garbage value bug
This could crash the program with -O1 and -O2 in MDK.
2013-05-04 18:34:13 +08:00
heyuanjie87 34d531578e class driver can custom string description 2013-01-24 20:59:43 +08:00
heyuanjie87 7ce0547575 fixed the string descriptor send to host more than actual 2013-01-17 14:03:45 +08:00
heyuanjie87 a3bde3c4a3 handle standard request to interface that defined in class 2013-01-17 12:23:06 +08:00
heyuanjie87 7b2929303e revert some define to usb_common.h 2013-01-11 00:02:40 +08:00
heyuanjie87 d84fde4e54 revert the define 2013-01-09 18:56:31 +08:00
heyuanjie87 928cabff50 allows the user custom PID and VID 2013-01-09 18:07:59 +08:00