Commit Graph

222 Commits

Author SHA1 Message Date
Grissiom 38ce3879d8 device/pipe: add rt_pipe_{init,detach}
This provide the possibility that allocate the buffer of the ringbuffer
on a specific region, instead of always mallocing it. It also bring us
the benefit of using pipe device on the systems without heap.
2013-08-19 12:28:59 +08:00
Bernard Xiong a431a25699 Merge pull request #135 from reynoldxu/K60Fxxxx
K60 fxxxx
2013-07-25 03:55:52 -07:00
reynoldxu 10c75c3dc6 remove a var for INT_TX. 2013-07-25 10:18:33 +08:00
reynoldxu 8f0fffc132 fix a bug in rt_hw_uart_init() where u CAN NOT init some feature. 2013-07-24 18:34:07 +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 3359419d4f additional update 2013-06-28 00:39:11 +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
weety 624d947e56 use __rt_ffs instead of ffs 2013-05-25 18:57:01 +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
qiuyiuestc e822f87b1a Merge pull request #90 from heyuanjie87/ForPullRequest
For pull request
2013-05-17 06:39:05 -07:00
aozima c77c69c46e fix spelling error. 2013-05-17 20:59:38 +08:00
aozima 9a671a5002 move initial alarm event & mutex in system init. 2013-05-17 20:58:40 +08:00
aozima 36fc5520cb format code by Astyle. 2013-05-17 20:57:05 +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
Bernard Xiong f1e34eef11 Merge pull request #86 from grissiom/serial-rb-size
serial: use RT_SERIAL_RB_BUFSZ to define the size of ring buffer.
2013-05-11 23:18:18 -07:00
Bernard Xiong 8e9e7f3e7c serial: use RT_SERIAL_RB_BUFSZ to define the size of ring buffer. 2013-05-12 14:03:11 +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 952bc0d4ef ringbuffer: format the code to a more symmetric structure 2013-05-08 15:54:30 +08:00
Grissiom 639bd30321 reimplement ringbuffer
The new implementation use the mirroring method to distinguish full
buffer and the empty buffer. It also support buffers of arbitrary size.
2013-05-08 15:45:31 +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
Bernard Xiong 9721603b72 Add RT_MTD_ESRC definitions.
Add RT_MTD_ESRC definitions. If the source page has issue when copying a page, the low level can return this error code.
2013-01-17 10:06:01 +08:00
heyuanjie87 1cb356c9df Correct macro definition 2013-01-11 00:03:46 +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
heyuanjie87 58317f5bd2 use new interface to send status in control transfer 2013-01-09 17:55:46 +08:00
heyuanjie87 96f5a6dcec move the define related to Mass to here;
remove product ID
2013-01-09 12:20:15 +08:00
heyuanjie87 d20974b9d2 allows the user custom PID and VID 2013-01-09 12:18:13 +08:00
heyuanjie87 6119136596 remove product ID 2013-01-09 12:15:09 +08:00
heyuanjie87 6b0b2d51e3 move the define related to Mass to mstorage.h 2013-01-09 12:12:25 +08:00
heyuanjie87 22786f8817 allows the user to custom PID and VID;
add a dcd operation to send status in control transfer
2013-01-09 12:04:01 +08:00
Ming, Bai b4de7cce57 Re-normalizing the repo 2013-01-08 22:40:58 +08:00
sc943313837@gmail.com deef5db546 添加RNDIS
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2580 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-31 15:40:31 +00:00
sc943313837@gmail.com b1fa07f392 添加RNDIS
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2579 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-31 15:39:52 +00:00
sc943313837@gmail.com 2a6ffa0ccd 添加RNDIS定义
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2578 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-31 15:38:35 +00:00
sc943313837@gmail.com 6374d20fad change inferface handler parameter
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2565 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-30 09:49:31 +00:00
sc943313837@gmail.com aa49ca9db3 change inferface handler parameter; add a protocol define
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2564 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-30 09:43:19 +00:00
sc943313837@gmail.com 454455e858 change inferface handler parameter
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2563 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-30 09:41:55 +00:00
bernard.xiong@gmail.com 1c56553b04 Add BAUD_RATE_4800 definition.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2538 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-28 08:50:17 +00:00
dzzxzz@gmail.com ef5c47e684 fixed the coding style in components/drivers/src
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2529 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-26 00:29:42 +00:00
dzzxzz@gmail.com 0e40d55d9f fixed the coding style of RT_DEBUG_LOG
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2500 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-20 07:25:19 +00:00
sc943313837@gmail.com b82d5744b6 remove iad form uclass structure
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2491 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-17 09:37:39 +00:00
sc943313837@gmail.com ebe3e461f6 add a new fuction to config the desc in altsetting
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2490 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-17 09:35:15 +00:00
sc943313837@gmail.com c7e5cc311f Descriptor is no longer using the global variable
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2489 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-17 09:31:57 +00:00
sc943313837@gmail.com bc02dbc501 fixed a warning
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2486 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-16 05:17:21 +00:00
sc943313837@gmail.com 5927bf0ac1 set endpoint buffer to RT_NULL
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2480 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-14 03:08:05 +00:00
sc943313837@gmail.com d8796d9639 change endpoint and class handler
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2477 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-12 16:37:38 +00:00
sc943313837@gmail.com 53efe928d6 change endpoint and class handler
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2476 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-12 16:37:10 +00:00
sc943313837@gmail.com 834355c76b change endpoint and class handler
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2475 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-12 16:36:23 +00:00
sc943313837@gmail.com 31796f101c csw structure address alignment
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2468 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-08 03:37:33 +00:00
dzzxzz@gmail.com 34a2c02ac2 fixed the coding style in alarm.h
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2466 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-03 04:56:53 +00:00
sc943313837@gmail.com bcaf1d5093 Single block write data
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2463 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-01 08:00:57 +00:00
sc943313837@gmail.com 0f72824eda chang a macro name
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2457 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-28 06:55:30 +00:00
sc943313837@gmail.com 995ebf7299 chang a macro name
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2456 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-28 06:55:06 +00:00
sc943313837@gmail.com 8b338f385b Add a function affirm
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2451 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-26 12:31:22 +00:00
sc943313837@gmail.com d86196e528 output log when no disk
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2450 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-26 03:39:00 +00:00
sc943313837@gmail.com 9789907ca1 make UDisk work well
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2448 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-25 16:00:28 +00:00
qiuyiuestc@gmail.com 60c27fc4b5 add USB composite and mass storage class features in USB device stack
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2447 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-25 00:02:10 +00:00
qiuyiuestc@gmail.com 1b2d954105 fix compile warning.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2446 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-24 23:24:40 +00:00
bernard.xiong@gmail.com 44eaae8c80 export more symbols of PThread.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2433 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-23 02:40:32 +00:00
dzzxzz@gmail.com 68b7e7c481 fixed the coding style in the components/drivers
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2431 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-22 08:43:40 +00:00
sc943313837@gmail.com b04c308524 Add two function declarations
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2403 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-12 12:07:16 +00:00
sc943313837@gmail.com 715c1e609c Eliminate a warning
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2402 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-12 11:47:53 +00:00
sc943313837@gmail.com e3b8d6f398 set bDeviceClass to CDC_CLASS
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2397 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-07 15:38:10 +00:00
dzzxzz@gmail.com d0cba80c07 add invoke callback after serial DMA transmit complete in serial.c
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2387 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-03 13:56:14 +00:00
dzzxzz@gmail.com 1aab195a7d fixed coding style in component/drivers/src
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2384 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-02 04:05:38 +00:00
dzzxzz@gmail.com db58e3350b add serial DMA transmit function(beta)
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2382 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-01 07:17:54 +00:00
sc943313837@gmail.com fa9a7b0b0c Modified return value
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2379 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-29 13:35:35 +00:00
sc943313837@gmail.com aefe518780 corrected typos
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2378 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-29 03:21:37 +00:00
sc943313837@gmail.com 04bf06124f to correct typos
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2376 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-29 01:56:20 +00:00
sc943313837@gmail.com a690ad168f add alarm
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2375 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-28 15:31:50 +00:00
sc943313837@gmail.com c287374982 add alarm
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2374 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-28 15:31:22 +00:00
sc943313837@gmail.com c8857b64c0 add alarm
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2373 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-28 15:30:54 +00:00
bernard.xiong@gmail.com 8ab1059873 Fixed compiling warning.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2349 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-14 13:41:04 +00:00
bernard.xiong@gmail.com da49833788 Remove compiling warning.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2348 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-13 04:05:09 +00:00
qiuyiuestc@gmail.com 6bf06f7595 remove unused code in _set_interface
& modify some comment in rt_usb_device_init

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2346 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-11 23:43:10 +00:00
bernard.xiong f1862e80f7 Fixed _class_sof_handler function return value.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2345 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-11 23:35:42 +00:00
qiuyiuestc@gmail.com c752d9b095 submit the first version usb device stack.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2344 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-11 17:06:30 +00:00
qiuyiuestc@gmail.com 051fd8eca9 update wrong file name in rtdevice.h
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2343 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-11 17:03:31 +00:00
dzzxzz@gmail.com 66c2e88566 change the coding style of rtdevice.h
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2337 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-10 13:21:06 +00:00