Grissiom
0feefc03b6
device/pipe: add a control cmd to get the space left in pipe
2013-10-23 01:43:18 +08:00
Grissiom
246bdde8de
dev/portal: fix bug in portal callback forwarding
...
When forwarding rx/tx callback from the underlaying device(pipe), the
"dev" argument should be the portal. So the portal callback could think
itself as called.
2013-08-22 16:43:06 +08:00
Grissiom
824261d3bc
dev/portal: add checks on oflag
...
It does not make sense to open portal without a flag. One should open a
portal with RT_DEVICE_OFLAG_RDWR in most cases.
2013-08-22 15:12:00 +08:00
Grissiom
6e676e7754
dev/portal: implement portal device
...
Portal is a device that connect devices. Currently, you can only connect
pipes in portal. Pipes are unidirectional. But with portal, you can
construct a bidirectional device with two pipes.
2013-08-20 12:54:43 +08:00
Grissiom
7e68096a88
dev/pipe: make pipe a type of device
...
Pipe have many differences with char device. The main difference is
altough pipe have both read and write, it is unidirectional in nature.
2013-08-20 10:16:55 +08:00
Grissiom
0340300f89
dev/pipe: cleanup
2013-08-19 16:25:17 +08:00
Grissiom
e8cca2315a
dev/pipe: call rx_indicate the time we resume reader
...
Some reader(FinSh again) would like to block on a semaphore which is
released in rx_indicate. So we should invoke rx_indicate in
_rt_pipe_resume_reader.
2013-08-19 15:57:59 +08:00
Grissiom
d683d32bd5
device/pipe: add nonblocking read/write and force write mode
...
The previous implementation will always blocks the reader/writer.
However, at least FinSh would expect the device to be nonblocking ---
read should return 0 when there is no data in it.
2013-08-19 15:35:56 +08:00
Grissiom
4919d29d69
ringbuffer: add put_force and putchar_force API
...
Add the APIs that will discard the old data when rb is full.
2013-08-19 15:32:42 +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
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
yiyue.fang
621fbdb90c
Embedded GPLv2 license in drivers
2013-06-28 00:36:54 +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
Ming, Bai
b4de7cce57
Re-normalizing the repo
2013-01-08 22:40:58 +08: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
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
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
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
bernard.xiong@gmail.com
c75867fc5f
Remove rt_ringbuffer_get_datasize function.
...
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2314 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-09-30 08:13:53 +00:00
bernard.xiong@gmail.com
4f05dd5426
Add pipe, data queue implementation; Fix the issue which leaks one item in the available data of ring buffer.
...
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2313 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-09-30 07:33:13 +00:00
bernard.xiong@gmail.com
ee546fb0d4
change rt_memcpy to memcpy in ringbuffer implementation.
...
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2199 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-07-02 15:51:58 +00:00
qiuyiuestc@gmail.com
e01d425bf3
add "thread->error = RT_EOK;" in rt_completion_wait
...
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2107 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-05-01 17:52:48 +00:00
bernard.xiong@gmail.com
da44d15132
Added device driver's IPC.
...
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2098 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-04-23 06:02:28 +00:00