Bernard Xiong
1bb425e839
[DeviceDrivers] code cleanup for hardware pin
2015-01-19 08:56:43 +00:00
Bernard Xiong
d01b2ca84b
[DeviceDrivers] Add pin io driver framework
2015-01-19 06:18:16 +00:00
bernard
f6ed27b863
[DeviceDrivers] Fix sensor_poll issue.
2015-01-04 20:01:52 +08:00
bernard
06454fd484
[DeviceDrivers] change tab to space in sensor.
2015-01-04 13:14:53 +08:00
bernard
a6251a439e
Use open_flag for serial device.
2015-01-04 12:25:20 +08:00
bernard
46bca6f84a
Add C programming language APIs.
2015-01-04 12:24:46 +08:00
bernard
58163f49e0
[DeviceDriver] change the name style of method of C++ code; Add raw mode for sensor.
2014-12-31 22:33:54 +08:00
bernard
c26b999360
Fix the sensor list issue.
2014-12-01 12:22:17 +08:00
aozima
92fac29f70
update RW009 driver: add softAP support.
2014-11-15 16:11:24 +08:00
bernard
6281ab2bbe
[DeviceDriver] Remove i2c_core_lock.
2014-11-01 16:38:53 +08:00
Bernard Xiong
0fa10629f7
[Sensor] code cleanup
2014-11-01 15:52:25 +08:00
Bernard Xiong
18cd95688d
[Drivers] Add sensor framework
2014-11-01 09:09:52 +08:00
aozima
3c99a5bf8d
update RW009 wifi driver.
2014-09-24 12:08:01 +08:00
aozima
03496f0700
update RW009 driver.
2014-09-08 16:59:52 +08:00
heyuanjie87
8a44c7dbfb
[Serial] BUG Fix: data be send twice in mode that other than polling
2014-09-01 23:43:50 +08:00
aozima
69d089cac0
Update SConscript: add spi to include path.
2014-08-29 21:53:28 +08:00
Bernard Xiong
0ad17f462d
[DeviceDrivers] Add modification under Linux
2014-08-04 16:40:40 +08:00
bernard
5397e18c56
[DeviceDrivers] Fix compiling warning.
2014-08-03 14:29:46 +08:00
aozima
0fc1ac6189
add more SPI device driver.
2014-07-31 16:58:43 +08:00
bernard
c45f5a2490
[Drivers] re-write serial framework.
2014-07-18 06:45:54 +08:00
shaolin
64a2902fa9
1. Fix some spell error;
...
2. Fix data transfer size calculate error issue;
2014-07-13 17:19:34 +08:00
bernard
005014e7d0
[Drivers] Add workqueue implementation.
2014-07-13 07:27:57 +08:00
bernard
d0debf9892
[Drivers] Make code cleanup in serial framework.
2014-07-10 13:32:16 +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
bernard
306e1ac43f
[DeviceDrivers] Add watchdog driver frame work
2014-03-04 14:32:56 +08:00
shaolin
020e95d91b
Merge branch 'master' of https://github.com/RT-Thread/rt-thread
2014-03-04 09:14:48 +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
Grissiom
f615c1e92d
Revert "Merge pull request #241 from bright-pan/master"
...
This reverts commit 5aeedc4f3a
, reversing
changes made to 3d80e414ff
.
This merge breaks every uart driver in all BSPs. @bright-pan , is there
any way to get this done without breaking existing code?
2014-03-03 12:07:13 +08:00
Bright Pan
9ab853aca3
Fix rt_serial_control() bug for customized command and indent the code
2014-02-28 18:22:50 +08:00
Bright Pan
10c4b6263f
Use DeviceDriver ringbuffer.
...
Add hardware flow support.
Use new struct serial_ringbuffer.
2014-02-26 11:06:14 +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
Bernard Xiong
ec7fada97e
[Drivers] Fix the block start issue in MTD Nand operators
2013-12-30 18:14:09 +08:00
bernard
42ae1c634d
[Drivers] Add more debug utilities in MTD nand
2013-12-29 22:27:33 +08:00
Grissiom
6bb2c0f2ea
Revert "serial: set the errno if and only if in thread context"
...
This reverts commit 07bd09fc0f
.
The validation of the context is done with in `rt_set_errno`. So it's
safe to call it here.
2013-10-25 21:23:15 +08:00
Grissiom
07bd09fc0f
serial: set the errno if and only if in thread context
...
The errno is associated with threads. It will crash the thread if we set
it in interrupt context.
2013-10-25 20:31:02 +08:00
Grissiom
21fb9a0bac
serial: do onthing if the size of read/write is zero
...
Return early if the size is 0 as there is nothing to do.
2013-10-25 20:15:08 +08:00
Grissiom
0feefc03b6
device/pipe: add a control cmd to get the space left in pipe
2013-10-23 01:43:18 +08:00
joyhope
281e55e973
notification function: rt_err_t (*tx_complete)(rt_device_t dev, void
...
*buffer) with buffer pointer
2013-09-24 20:57:00 +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
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