aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/src
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-06-18 16:22:34 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-06-18 16:22:34 +0000
commit9057c6c72be213bb7f07929e2ddd1ab1e942a1de (patch)
tree2e61c984622621c39207b1d63198ca50a2e99f6c /os/hal/src
parent3626647d7b924ca07df4197f9cde4a7965b8cbdf (diff)
downloadChibiOS-9057c6c72be213bb7f07929e2ddd1ab1e942a1de.tar.gz
ChibiOS-9057c6c72be213bb7f07929e2ddd1ab1e942a1de.tar.bz2
ChibiOS-9057c6c72be213bb7f07929e2ddd1ab1e942a1de.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4294 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/hal/src')
-rw-r--r--os/hal/src/serial.c18
-rw-r--r--os/hal/src/serial_usb.c10
2 files changed, 10 insertions, 18 deletions
diff --git a/os/hal/src/serial.c b/os/hal/src/serial.c
index 5b883e16a..8b0d7c8cf 100644
--- a/os/hal/src/serial.c
+++ b/os/hal/src/serial.c
@@ -64,22 +64,14 @@ static size_t reads(void *ip, uint8_t *bp, size_t n) {
n, TIME_INFINITE);
}
-static bool_t putwouldblock(void *ip) {
- bool_t b;
+static msg_t put(void *ip, uint8_t b) {
- chSysLock();
- b = chOQIsFullI(&((SerialDriver *)ip)->oqueue);
- chSysUnlock();
- return b;
+ return chOQPutTimeout(&((SerialDriver *)ip)->oqueue, b, TIME_INFINITE);
}
-static bool_t getwouldblock(void *ip) {
- bool_t b;
+static msg_t get(void *ip) {
- chSysLock();
- b = chIQIsEmptyI(&((SerialDriver *)ip)->iqueue);
- chSysUnlock();
- return b;
+ return chIQGetTimeout(&((SerialDriver *)ip)->iqueue, TIME_INFINITE);
}
static msg_t putt(void *ip, uint8_t b, systime_t timeout) {
@@ -107,7 +99,7 @@ static chnflags_t getflags(void *ip) {
}
static const struct SerialDriverVMT vmt = {
- writes, reads, putwouldblock, getwouldblock,
+ writes, reads, put, get,
putt, gett, writet, readt,
getflags
};
diff --git a/os/hal/src/serial_usb.c b/os/hal/src/serial_usb.c
index 2b02ae02f..466b65b0a 100644
--- a/os/hal/src/serial_usb.c
+++ b/os/hal/src/serial_usb.c
@@ -73,14 +73,14 @@ static size_t reads(void *ip, uint8_t *bp, size_t n) {
n, TIME_INFINITE);
}
-static bool_t putwouldblock(void *ip) {
+static msg_t put(void *ip, uint8_t b) {
- return chOQIsFullI(&((SerialUSBDriver *)ip)->oqueue);
+ return chOQPutTimeout(&((SerialUSBDriver *)ip)->oqueue, b, TIME_INFINITE);
}
-static bool_t getwouldblock(void *ip) {
+static msg_t get(void *ip) {
- return chIQIsEmptyI(&((SerialUSBDriver *)ip)->iqueue);
+ return chIQGetTimeout(&((SerialUSBDriver *)ip)->iqueue, TIME_INFINITE);
}
static msg_t putt(void *ip, uint8_t b, systime_t timeout) {
@@ -108,7 +108,7 @@ static chnflags_t getflags(void *ip) {
}
static const struct SerialUSBDriverVMT vmt = {
- writes, reads, putwouldblock, getwouldblock,
+ writes, reads, put, get,
putt, gett, writet, readt,
getflags
};