aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-05-08 17:09:20 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-05-08 17:09:20 +0000
commitd0a2e55ed0cf97be924ebbdae2497fd77bfac5b6 (patch)
treea31ebbd42904206131ff4eb661b4341558ca8925 /os/hal
parentba6519a2eaf35bc6d39188e10b6ea12ef553009d (diff)
downloadChibiOS-d0a2e55ed0cf97be924ebbdae2497fd77bfac5b6.tar.gz
ChibiOS-d0a2e55ed0cf97be924ebbdae2497fd77bfac5b6.tar.bz2
ChibiOS-d0a2e55ed0cf97be924ebbdae2497fd77bfac5b6.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4175 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/hal')
-rw-r--r--os/hal/include/io_channel.h46
-rw-r--r--os/hal/platforms/AT91SAM7/serial_lld.c6
-rw-r--r--os/hal/platforms/AVR/serial_lld.c4
-rw-r--r--os/hal/platforms/LPC11xx/serial_lld.c12
-rw-r--r--os/hal/platforms/LPC13xx/serial_lld.c12
-rw-r--r--os/hal/platforms/LPC214x/serial_lld.c12
-rw-r--r--os/hal/platforms/MSP430/serial_lld.c4
-rw-r--r--os/hal/platforms/Posix/serial_lld.c6
-rw-r--r--os/hal/platforms/SPC56x/serial_lld.c6
-rw-r--r--os/hal/platforms/STM32/serial_lld.c10
-rw-r--r--os/hal/platforms/STM8L/serial_lld.c4
-rw-r--r--os/hal/platforms/STM8S/serial_lld.c4
-rw-r--r--os/hal/platforms/Win32/serial_lld.c6
-rw-r--r--os/hal/src/serial.c12
-rw-r--r--os/hal/src/serial_usb.c12
15 files changed, 95 insertions, 61 deletions
diff --git a/os/hal/include/io_channel.h b/os/hal/include/io_channel.h
index c6da6b89b..3357bf6bd 100644
--- a/os/hal/include/io_channel.h
+++ b/os/hal/include/io_channel.h
@@ -71,7 +71,7 @@
*
* @brief @p BaseChannel virtual methods table.
*/
-struct tmp_BaseChannelVMT {
+struct BaseChannelVMT {
_base_channel_methods
};
@@ -86,7 +86,7 @@ typedef struct {
/** @brief Virtual Methods Table.*/
const struct BaseChannelVMT *vmt;
_base_channel_data
-} tmp_BaseChannel;
+} BaseChannel;
/**
* @name Macro Functions (BaseChannel)
@@ -98,6 +98,7 @@ typedef struct {
* block.
*
* @param[in] ip pointer to a @p BaseChannel or derived class
+ *
* @return The output queue status.
* @retval FALSE if the output queue has space and would not block a
* write operation.
@@ -114,6 +115,7 @@ typedef struct {
* block.
*
* @param[in] ip pointer to a @p BaseChannel or derived class
+ *
* @return The input queue status.
* @retval FALSE if the input queue contains data and would not block a
* read operation.
@@ -131,6 +133,7 @@ typedef struct {
*
* @param[in] ip pointer to a @p BaseChannel or derived class
* @param[in] b the byte value to be written to the channel
+ *
* @return The operation status.
* @retval Q_OK if the operation succeeded.
* @retval Q_RESET if the channel associated queue (if any) was reset.
@@ -166,6 +169,7 @@ typedef struct {
* is not available then the calling thread is suspended.
*
* @param[in] ip pointer to a @p BaseChannel or derived class
+ *
* @return A byte value from the queue.
* @retval Q_RESET if the channel associated queue (if any) has been
* reset.
@@ -195,6 +199,21 @@ typedef struct {
#define chnGetTimeout(ip, time) ((ip)->vmt->get(ip, time))
/**
+ * @brief Channel blocking write.
+ * @details The function writes data from a buffer to a channel. If the channel
+ * is not ready to accept data then the calling thread is suspended.
+ *
+ * @param[in] ip pointer to a @p BaseChannel or derived class
+ * @param[out] bp pointer to the data buffer
+ * @param[in] n the maximum amount of data to be transferred
+ *
+ * @return The number of bytes transferred.
+ *
+ * @api
+ */
+#define chnWrite(ip, bp, n) chSequentialStreamWrite(ip, bp, n)
+
+/**
* @brief Channel blocking write with timeout.
* @details The function writes data from a buffer to a channel. If the channel
* is not ready to accept data then the calling thread is suspended.
@@ -214,6 +233,21 @@ typedef struct {
#define chnWriteTimeout(ip, bp, n, time) ((ip)->vmt->writet(ip, bp, n, time))
/**
+ * @brief Channel blocking read.
+ * @details The function reads data from a channel into a buffer. If the data
+ * is not available then the calling thread is suspended.
+ *
+ * @param[in] ip pointer to a @p BaseChannel or derived class
+ * @param[in] bp pointer to the data buffer
+ * @param[in] n the maximum amount of data to be transferred
+ *
+ * @return The number of bytes transferred.
+ *
+ * @api
+ */
+#define chnRead(ip, bp, n) chSequentialStreamRead(ip, bp, n)
+
+/**
* @brief Channel blocking read with timeout.
* @details The function reads data from a channel into a buffer. If the data
* is not available then the calling thread is suspended.
@@ -260,7 +294,7 @@ typedef uint_fast16_t chnflags_t;
/**
* @brief @p BaseAsynchronousChannel specific methods.
*/
-#define tmp__base_asynchronous_channel_methods \
+#define _base_asynchronous_channel_methods \
_base_channel_methods \
/* Channel read method with timeout specification.*/ \
chnflags_t (*getflags)(void *instance);
@@ -268,7 +302,7 @@ typedef uint_fast16_t chnflags_t;
/**
* @brief @p BaseAsynchronousChannel specific data.
*/
-#define tmp__base_asynchronous_channel_data \
+#define _base_asynchronous_channel_data \
_base_channel_data \
/* I/O condition event source.*/ \
EventSource event; \
@@ -280,7 +314,7 @@ typedef uint_fast16_t chnflags_t;
*
* @brief @p BaseAsynchronousChannel virtual methods table.
*/
-struct tmp_BaseAsynchronousChannelVMT {
+struct BaseAsynchronousChannelVMT {
_base_asynchronous_channel_methods
};
@@ -295,7 +329,7 @@ typedef struct {
/** @brief Virtual Methods Table.*/
const struct BaseAsynchronousChannelVMT *vmt;
_base_asynchronous_channel_data
-} tmp_BaseAsynchronousChannel;
+} BaseAsynchronousChannel;
/**
* @name Macro Functions (BaseAsynchronousChannel)
diff --git a/os/hal/platforms/AT91SAM7/serial_lld.c b/os/hal/platforms/AT91SAM7/serial_lld.c
index d23aa9b0e..0e6aa1178 100644
--- a/os/hal/platforms/AT91SAM7/serial_lld.c
+++ b/os/hal/platforms/AT91SAM7/serial_lld.c
@@ -139,7 +139,7 @@ static void usart_deinit(AT91PS_USART u) {
* @param[in] sdp communication channel associated to the USART
*/
static void set_error(SerialDriver *sdp, AT91_REG csr) {
- ioflags_t sts = 0;
+ chnflags_t sts = 0;
if (csr & AT91C_US_OVRE)
sts |= SD_OVERRUN_ERROR;
@@ -150,7 +150,7 @@ static void set_error(SerialDriver *sdp, AT91_REG csr) {
if (csr & AT91C_US_RXBRK)
sts |= SD_BREAK_DETECTED;
chSysLockFromIsr();
- chIOAddFlagsI(sdp, sts);
+ chnAddFlagsI(sdp, sts);
chSysUnlockFromIsr();
}
@@ -181,7 +181,7 @@ void sd_lld_serve_interrupt(SerialDriver *sdp) {
chSysLockFromIsr();
b = chOQGetI(&sdp->oqueue);
if (b < Q_OK) {
- chIOAddFlagsI(sdp, IO_OUTPUT_EMPTY);
+ chnAddFlagsI(sdp, CHN_OUTPUT_EMPTY);
u->US_IDR = AT91C_US_TXRDY;
}
else
diff --git a/os/hal/platforms/AVR/serial_lld.c b/os/hal/platforms/AVR/serial_lld.c
index 102fd9d45..e070d5448 100644
--- a/os/hal/platforms/AVR/serial_lld.c
+++ b/os/hal/platforms/AVR/serial_lld.c
@@ -70,7 +70,7 @@ static const SerialConfig default_config = {
/*===========================================================================*/
static void set_error(uint8_t sra, SerialDriver *sdp) {
- ioflags_t sts = 0;
+ chnflags_t sts = 0;
if (sra & (1 << DOR))
sts |= SD_OVERRUN_ERROR;
@@ -79,7 +79,7 @@ static void set_error(uint8_t sra, SerialDriver *sdp) {
if (sra & (1 << FE))
sts |= SD_FRAMING_ERROR;
chSysLockFromIsr();
- chIOAddFlagsI(sdp, sts);
+ chnAddFlagsI(sdp, sts);
chSysUnlockFromIsr();
}
diff --git a/os/hal/platforms/LPC11xx/serial_lld.c b/os/hal/platforms/LPC11xx/serial_lld.c
index 4b2b40b39..10f7817b7 100644
--- a/os/hal/platforms/LPC11xx/serial_lld.c
+++ b/os/hal/platforms/LPC11xx/serial_lld.c
@@ -101,7 +101,7 @@ static void uart_deinit(LPC_UART_TypeDef *u) {
* @param[in] err UART LSR register value
*/
static void set_error(SerialDriver *sdp, IOREG32 err) {
- ioflags_t sts = 0;
+ chnflags_t sts = 0;
if (err & LSR_OVERRUN)
sts |= SD_OVERRUN_ERROR;
@@ -112,7 +112,7 @@ static void set_error(SerialDriver *sdp, IOREG32 err) {
if (err & LSR_BREAK)
sts |= SD_BREAK_DETECTED;
chSysLockFromIsr();
- chIOAddFlagsI(sdp, sts);
+ chnAddFlagsI(sdp, sts);
chSysUnlockFromIsr();
}
@@ -139,12 +139,12 @@ static void serve_interrupt(SerialDriver *sdp) {
case IIR_SRC_RX:
chSysLockFromIsr();
if (chIQIsEmptyI(&sdp->iqueue))
- chIOAddFlagsI(sdp, IO_INPUT_AVAILABLE);
+ chnAddFlagsI(sdp, CHN_INPUT_AVAILABLE);
chSysUnlockFromIsr();
while (u->LSR & LSR_RBR_FULL) {
chSysLockFromIsr();
if (chIQPutI(&sdp->iqueue, u->RBR) < Q_OK)
- chIOAddFlagsI(sdp, SD_OVERRUN_ERROR);
+ chnAddFlagsI(sdp, SD_OVERRUN_ERROR);
chSysUnlockFromIsr();
}
break;
@@ -160,7 +160,7 @@ static void serve_interrupt(SerialDriver *sdp) {
if (b < Q_OK) {
u->IER &= ~IER_THRE;
chSysLockFromIsr();
- chIOAddFlagsI(sdp, IO_OUTPUT_EMPTY);
+ chnAddFlagsI(sdp, CHN_OUTPUT_EMPTY);
chSysUnlockFromIsr();
break;
}
@@ -186,7 +186,7 @@ static void preload(SerialDriver *sdp) {
do {
msg_t b = chOQGetI(&sdp->oqueue);
if (b < Q_OK) {
- chIOAddFlagsI(sdp, IO_OUTPUT_EMPTY);
+ chnAddFlagsI(sdp, CHN_OUTPUT_EMPTY);
return;
}
u->THR = b;
diff --git a/os/hal/platforms/LPC13xx/serial_lld.c b/os/hal/platforms/LPC13xx/serial_lld.c
index 2bf781a3d..f0c75d247 100644
--- a/os/hal/platforms/LPC13xx/serial_lld.c
+++ b/os/hal/platforms/LPC13xx/serial_lld.c
@@ -101,7 +101,7 @@ static void uart_deinit(LPC_UART_TypeDef *u) {
* @param[in] err UART LSR register value
*/
static void set_error(SerialDriver *sdp, IOREG32 err) {
- ioflags_t sts = 0;
+ chnflags_t sts = 0;
if (err & LSR_OVERRUN)
sts |= SD_OVERRUN_ERROR;
@@ -112,7 +112,7 @@ static void set_error(SerialDriver *sdp, IOREG32 err) {
if (err & LSR_BREAK)
sts |= SD_BREAK_DETECTED;
chSysLockFromIsr();
- chIOAddFlagsI(sdp, sts);
+ chnAddFlagsI(sdp, sts);
chSysUnlockFromIsr();
}
@@ -139,12 +139,12 @@ static void serve_interrupt(SerialDriver *sdp) {
case IIR_SRC_RX:
chSysLockFromIsr();
if (chIQIsEmptyI(&sdp->iqueue))
- chIOAddFlagsI(sdp, IO_INPUT_AVAILABLE);
+ chnAddFlagsI(sdp, CHN_INPUT_AVAILABLE);
chSysUnlockFromIsr();
while (u->LSR & LSR_RBR_FULL) {
chSysLockFromIsr();
if (chIQPutI(&sdp->iqueue, u->RBR) < Q_OK)
- chIOAddFlagsI(sdp, SD_OVERRUN_ERROR);
+ chnAddFlagsI(sdp, SD_OVERRUN_ERROR);
chSysUnlockFromIsr();
}
break;
@@ -160,7 +160,7 @@ static void serve_interrupt(SerialDriver *sdp) {
if (b < Q_OK) {
u->IER &= ~IER_THRE;
chSysLockFromIsr();
- chIOAddFlagsI(sdp, IO_OUTPUT_EMPTY);
+ chnAddFlagsI(sdp, CHN_OUTPUT_EMPTY);
chSysUnlockFromIsr();
break;
}
@@ -186,7 +186,7 @@ static void preload(SerialDriver *sdp) {
do {
msg_t b = chOQGetI(&sdp->oqueue);
if (b < Q_OK) {
- chIOAddFlagsI(sdp, IO_OUTPUT_EMPTY);
+ chnAddFlagsI(sdp, CHN_OUTPUT_EMPTY);
return;
}
u->THR = b;
diff --git a/os/hal/platforms/LPC214x/serial_lld.c b/os/hal/platforms/LPC214x/serial_lld.c
index 8b325f35e..ce207ff61 100644
--- a/os/hal/platforms/LPC214x/serial_lld.c
+++ b/os/hal/platforms/LPC214x/serial_lld.c
@@ -106,7 +106,7 @@ static void uart_deinit(UART *u) {
* @param[in] err UART LSR register value
*/
static void set_error(SerialDriver *sdp, IOREG32 err) {
- ioflags_t sts = 0;
+ chnflags_t sts = 0;
if (err & LSR_OVERRUN)
sts |= SD_OVERRUN_ERROR;
@@ -117,7 +117,7 @@ static void set_error(SerialDriver *sdp, IOREG32 err) {
if (err & LSR_BREAK)
sts |= SD_BREAK_DETECTED;
chSysLockFromIsr();
- chIOAddFlagsI(sdp, sts);
+ chnAddFlagsI(sdp, sts);
chSysUnlockFromIsr();
}
@@ -145,12 +145,12 @@ static void serve_interrupt(SerialDriver *sdp) {
case IIR_SRC_RX:
chSysLockFromIsr();
if (chIQIsEmptyI(&sdp->iqueue))
- chIOAddFlagsI(sdp, IO_INPUT_AVAILABLE);
+ chnAddFlagsI(sdp, CHN_INPUT_AVAILABLE);
chSysUnlockFromIsr();
while (u->UART_LSR & LSR_RBR_FULL) {
chSysLockFromIsr();
if (chIQPutI(&sdp->iqueue, u->UART_RBR) < Q_OK)
- chIOAddFlagsI(sdp, SD_OVERRUN_ERROR);
+ chnAddFlagsI(sdp, SD_OVERRUN_ERROR);
chSysUnlockFromIsr();
}
break;
@@ -166,7 +166,7 @@ static void serve_interrupt(SerialDriver *sdp) {
if (b < Q_OK) {
u->UART_IER &= ~IER_THRE;
chSysLockFromIsr();
- chIOAddFlagsI(sdp, IO_OUTPUT_EMPTY);
+ chnAddFlagsI(sdp, CHN_OUTPUT_EMPTY);
chSysUnlockFromIsr();
break;
}
@@ -192,7 +192,7 @@ static void preload(SerialDriver *sdp) {
do {
msg_t b = chOQGetI(&sdp->oqueue);
if (b < Q_OK) {
- chIOAddFlagsI(sdp, IO_OUTPUT_EMPTY);
+ chnAddFlagsI(sdp, CHN_OUTPUT_EMPTY);
return;
}
u->UART_THR = b;
diff --git a/os/hal/platforms/MSP430/serial_lld.c b/os/hal/platforms/MSP430/serial_lld.c
index b3a030bc6..bdc3c580d 100644
--- a/os/hal/platforms/MSP430/serial_lld.c
+++ b/os/hal/platforms/MSP430/serial_lld.c
@@ -60,7 +60,7 @@ static const SerialConfig default_config = {
/*===========================================================================*/
static void set_error(SerialDriver *sdp, uint8_t urctl) {
- ioflags_t sts = 0;
+ chnflags_t sts = 0;
if (urctl & OE)
sts |= SD_OVERRUN_ERROR;
@@ -71,7 +71,7 @@ static void set_error(SerialDriver *sdp, uint8_t urctl) {
if (urctl & BRK)
sts |= SD_BREAK_DETECTED;
chSysLockFromIsr();
- chIOAddFlagsI(sdp, sts);
+ chnAddFlagsI(sdp, sts);
chSysUnlockFromIsr();
}
diff --git a/os/hal/platforms/Posix/serial_lld.c b/os/hal/platforms/Posix/serial_lld.c
index 4eea349b6..d8c62a0d7 100644
--- a/os/hal/platforms/Posix/serial_lld.c
+++ b/os/hal/platforms/Posix/serial_lld.c
@@ -121,7 +121,7 @@ static bool_t connint(SerialDriver *sdp) {
goto abort;
}
chSysLockFromIsr();
- chIOAddFlagsI(sdp, IO_CONNECTED);
+ chnAddFlagsI(sdp, CHN_CONNECTED);
chSysUnlockFromIsr();
return TRUE;
}
@@ -149,7 +149,7 @@ static bool_t inint(SerialDriver *sdp) {
close(sdp->com_data);
sdp->com_data = INVALID_SOCKET;
chSysLockFromIsr();
- chIOAddFlagsI(sdp, IO_DISCONNECTED);
+ chnAddFlagsI(sdp, CHN_DISCONNECTED);
chSysUnlockFromIsr();
return FALSE;
case INVALID_SOCKET:
@@ -190,7 +190,7 @@ static bool_t outint(SerialDriver *sdp) {
close(sdp->com_data);
sdp->com_data = INVALID_SOCKET;
chSysLockFromIsr();
- chIOAddFlagsI(sdp, IO_DISCONNECTED);
+ chnAddFlagsI(sdp, CHN_DISCONNECTED);
chSysUnlockFromIsr();
return FALSE;
case INVALID_SOCKET:
diff --git a/os/hal/platforms/SPC56x/serial_lld.c b/os/hal/platforms/SPC56x/serial_lld.c
index 935ba6d8b..7effeeb60 100644
--- a/os/hal/platforms/SPC56x/serial_lld.c
+++ b/os/hal/platforms/SPC56x/serial_lld.c
@@ -117,7 +117,7 @@ static void esci_deinit(volatile struct ESCI_tag *escip) {
* @param[in] sr eSCI SR register value
*/
static void set_error(SerialDriver *sdp, uint32_t sr) {
- ioflags_t sts = 0;
+ chnflags_t sts = 0;
if (sr & 0x08000000)
sts |= SD_OVERRUN_ERROR;
@@ -130,7 +130,7 @@ static void set_error(SerialDriver *sdp, uint32_t sr) {
/* if (sr & 0x00000000)
sts |= SD_BREAK_DETECTED;*/
chSysLockFromIsr();
- chIOAddFlagsI(sdp, sts);
+ chnAddFlagsI(sdp, sts);
chSysUnlockFromIsr();
}
@@ -156,7 +156,7 @@ static void serve_interrupt(SerialDriver *sdp) {
chSysLockFromIsr();
b = chOQGetI(&sdp->oqueue);
if (b < Q_OK) {
- chIOAddFlagsI(sdp, IO_OUTPUT_EMPTY);
+ chnAddFlagsI(sdp, CHN_OUTPUT_EMPTY);
escip->CR1.B.TIE = 0;
}
else {
diff --git a/os/hal/platforms/STM32/serial_lld.c b/os/hal/platforms/STM32/serial_lld.c
index cc60bb850..a93d36523 100644
--- a/os/hal/platforms/STM32/serial_lld.c
+++ b/os/hal/platforms/STM32/serial_lld.c
@@ -140,7 +140,7 @@ static void usart_deinit(USART_TypeDef *u) {
* @param[in] sr USART SR register value
*/
static void set_error(SerialDriver *sdp, uint16_t sr) {
- ioflags_t sts = 0;
+ chnflags_t sts = 0;
if (sr & USART_SR_ORE)
sts |= SD_OVERRUN_ERROR;
@@ -151,7 +151,7 @@ static void set_error(SerialDriver *sdp, uint16_t sr) {
if (sr & USART_SR_NE)
sts |= SD_NOISE_ERROR;
chSysLockFromIsr();
- chIOAddFlagsI(sdp, sts);
+ chnAddFlagsI(sdp, sts);
chSysUnlockFromIsr();
}
@@ -172,7 +172,7 @@ static void serve_interrupt(SerialDriver *sdp) {
/* Special case, LIN break detection.*/
if (sr & USART_SR_LBD) {
chSysLockFromIsr();
- chIOAddFlagsI(sdp, SD_BREAK_DETECTED);
+ chnAddFlagsI(sdp, SD_BREAK_DETECTED);
chSysUnlockFromIsr();
u->SR &= ~USART_SR_LBD;
}
@@ -188,7 +188,7 @@ static void serve_interrupt(SerialDriver *sdp) {
chSysLockFromIsr();
b = chOQGetI(&sdp->oqueue);
if (b < Q_OK) {
- chIOAddFlagsI(sdp, IO_OUTPUT_EMPTY);
+ chnAddFlagsI(sdp, CHN_OUTPUT_EMPTY);
u->CR1 = (cr1 & ~USART_CR1_TXEIE) | USART_CR1_TCIE;
}
else
@@ -198,7 +198,7 @@ static void serve_interrupt(SerialDriver *sdp) {
/* Physical transmission end.*/
if (sr & USART_SR_TC) {
chSysLockFromIsr();
- chIOAddFlagsI(sdp, IO_TRANSMISSION_END);
+ chnAddFlagsI(sdp, CHN_TRANSMISSION_END);
chSysUnlockFromIsr();
u->CR1 = cr1 & ~USART_CR1_TCIE;
u->SR &= ~USART_SR_TC;
diff --git a/os/hal/platforms/STM8L/serial_lld.c b/os/hal/platforms/STM8L/serial_lld.c
index b5ee21f83..b91f44a21 100644
--- a/os/hal/platforms/STM8L/serial_lld.c
+++ b/os/hal/platforms/STM8L/serial_lld.c
@@ -115,7 +115,7 @@ static void notify3(GenericQueue *qp) {
* @notapi
*/
void sd_lld_set_error(SerialDriver *sdp, uint8_t sr) {
- ioflags_t sts = 0;
+ chnflags_t sts = 0;
if (sr & USART_SR_OR)
sts |= SD_OVERRUN_ERROR;
@@ -126,7 +126,7 @@ void sd_lld_set_error(SerialDriver *sdp, uint8_t sr) {
if (sr & USART_SR_PE)
sts |= SD_PARITY_ERROR;
chSysLockFromIsr();
- chIOAddFlagsI(sdp, sts);
+ chnAddFlagsI(sdp, sts);
chSysUnlockFromIsr();
}
diff --git a/os/hal/platforms/STM8S/serial_lld.c b/os/hal/platforms/STM8S/serial_lld.c
index fbc3baeaf..610591cdf 100644
--- a/os/hal/platforms/STM8S/serial_lld.c
+++ b/os/hal/platforms/STM8S/serial_lld.c
@@ -73,7 +73,7 @@ static ROMCONST SerialConfig default_config = {
/*===========================================================================*/
static void set_error(SerialDriver *sdp, uint8_t sr) {
- ioflags_t sts = 0;
+ chnflags_t sts = 0;
/* Note, SR register bit definitions are equal for all UARTs so using
the UART1 definitions is fine.*/
@@ -86,7 +86,7 @@ static void set_error(SerialDriver *sdp, uint8_t sr) {
if (sr & UART1_SR_PE)
sts |= SD_PARITY_ERROR;
chSysLockFromIsr();
- chIOAddFlagsI(sdp, sts);
+ chnAddFlagsI(sdp, sts);
chSysUnlockFromIsr();
}
diff --git a/os/hal/platforms/Win32/serial_lld.c b/os/hal/platforms/Win32/serial_lld.c
index a144b7f50..d383317bc 100644
--- a/os/hal/platforms/Win32/serial_lld.c
+++ b/os/hal/platforms/Win32/serial_lld.c
@@ -114,7 +114,7 @@ static bool_t connint(SerialDriver *sdp) {
goto abort;
}
chSysLockFromIsr();
- chIOAddFlagsI(sdp, IO_CONNECTED);
+ chnAddFlagsI(sdp, CHN_CONNECTED);
chSysUnlockFromIsr();
return TRUE;
}
@@ -143,7 +143,7 @@ static bool_t inint(SerialDriver *sdp) {
closesocket(sdp->com_data);
sdp->com_data = INVALID_SOCKET;
chSysLockFromIsr();
- chIOAddFlagsI(sdp, IO_DISCONNECTED);
+ chnAddFlagsI(sdp, CHN_DISCONNECTED);
chSysUnlockFromIsr();
return FALSE;
case SOCKET_ERROR:
@@ -184,7 +184,7 @@ static bool_t outint(SerialDriver *sdp) {
closesocket(sdp->com_data);
sdp->com_data = INVALID_SOCKET;
chSysLockFromIsr();
- chIOAddFlagsI(sdp, IO_DISCONNECTED);
+ chnAddFlagsI(sdp, CHN_DISCONNECTED);
chSysUnlockFromIsr();
return FALSE;
case SOCKET_ERROR:
diff --git a/os/hal/src/serial.c b/os/hal/src/serial.c
index d0ea89297..aaeb5e6ee 100644
--- a/os/hal/src/serial.c
+++ b/os/hal/src/serial.c
@@ -94,8 +94,8 @@ static size_t readt(void *ip, uint8_t *bp, size_t n, systime_t time) {
return chIQReadTimeout(&((SerialDriver *)ip)->iqueue, bp, n, time);
}
-static ioflags_t getflags(void *ip) {
- _ch_get_and_clear_flags_impl(ip);
+static chnflags_t getflags(void *ip) {
+ _chn_get_and_clear_flags_impl(ip);
}
static const struct SerialDriverVMT vmt = {
@@ -139,7 +139,7 @@ void sdObjectInit(SerialDriver *sdp, qnotify_t inotify, qnotify_t onotify) {
sdp->vmt = &vmt;
chEvtInit(&sdp->event);
- sdp->flags = IO_NO_ERROR;
+ sdp->flags = CHN_NO_ERROR;
sdp->state = SD_STOP;
chIQInit(&sdp->iqueue, sdp->ib, SERIAL_BUFFERS_SIZE, inotify);
chOQInit(&sdp->oqueue, sdp->ob, SERIAL_BUFFERS_SIZE, onotify);
@@ -215,9 +215,9 @@ void sdIncomingDataI(SerialDriver *sdp, uint8_t b) {
chDbgCheck(sdp != NULL, "sdIncomingDataI");
if (chIQIsEmptyI(&sdp->iqueue))
- chIOAddFlagsI(sdp, IO_INPUT_AVAILABLE);
+ chnAddFlagsI(sdp, CHN_INPUT_AVAILABLE);
if (chIQPutI(&sdp->iqueue, b) < Q_OK)
- chIOAddFlagsI(sdp, SD_OVERRUN_ERROR);
+ chnAddFlagsI(sdp, SD_OVERRUN_ERROR);
}
/**
@@ -243,7 +243,7 @@ msg_t sdRequestDataI(SerialDriver *sdp) {
b = chOQGetI(&sdp->oqueue);
if (b < Q_OK)
- chIOAddFlagsI(sdp, IO_OUTPUT_EMPTY);
+ chnAddFlagsI(sdp, CHN_OUTPUT_EMPTY);
return b;
}
diff --git a/os/hal/src/serial_usb.c b/os/hal/src/serial_usb.c
index f007e7bdd..52c57c800 100644
--- a/os/hal/src/serial_usb.c
+++ b/os/hal/src/serial_usb.c
@@ -103,7 +103,7 @@ static size_t readt(void *ip, uint8_t *bp, size_t n, systime_t time) {
return chIQReadTimeout(&((SerialUSBDriver *)ip)->iqueue, bp, n, time);
}
-static ioflags_t getflags(void *ip) {
+static chnflags_t getflags(void *ip) {
_ch_get_and_clear_flags_impl(ip);
}
@@ -133,7 +133,7 @@ static void inotify(GenericQueue *qp) {
chSysLock();
usbStartReceiveI(sdup->config->usbp, USB_CDC_DATA_AVAILABLE_EP);
- chIOAddFlagsI(sdup, IO_INPUT_AVAILABLE);
+ chnAddFlagsI(sdup, CHN_INPUT_AVAILABLE);
sdup->iqueue.q_rdptr = sdup->iqueue.q_buffer;
sdup->iqueue.q_counter = n;
while (notempty(&sdup->iqueue.q_waiting))
@@ -160,7 +160,7 @@ static void onotify(GenericQueue *qp) {
chSysLock();
usbStartTransmitI(sdup->config->usbp, USB_CDC_DATA_REQUEST_EP);
- chIOAddFlagsI(sdup, IO_OUTPUT_EMPTY);
+ chnAddFlagsI(sdup, CHN_OUTPUT_EMPTY);
sdup->oqueue.q_wrptr = sdup->oqueue.q_buffer;
sdup->oqueue.q_counter = chQSizeI(&sdup->oqueue);
while (notempty(&sdup->oqueue.q_waiting))
@@ -195,7 +195,7 @@ void sduObjectInit(SerialUSBDriver *sdup) {
sdup->vmt = &vmt;
chEvtInit(&sdup->event);
- sdup->flags = IO_NO_ERROR;
+ sdup->flags = CHN_NO_ERROR;
sdup->state = SDU_STOP;
chIQInit(&sdup->iqueue, sdup->ib, SERIAL_USB_BUFFERS_SIZE, inotify);
chOQInit(&sdup->oqueue, sdup->ob, SERIAL_USB_BUFFERS_SIZE, onotify);
@@ -312,7 +312,7 @@ void sduDataTransmitted(USBDriver *usbp, usbep_t ep) {
chSysLockFromIsr();
usbStartTransmitI(usbp, ep);
- chIOAddFlagsI(sdup, IO_OUTPUT_EMPTY);
+ chnAddFlagsI(sdup, CHN_OUTPUT_EMPTY);
sdup->oqueue.q_wrptr = sdup->oqueue.q_buffer;
sdup->oqueue.q_counter = chQSizeI(&sdup->oqueue);
while (notempty(&sdup->oqueue.q_waiting))
@@ -348,7 +348,7 @@ void sduDataReceived(USBDriver *usbp, usbep_t ep) {
chSysLockFromIsr();
usbStartReceiveI(usbp, ep);
- chIOAddFlagsI(sdup, IO_INPUT_AVAILABLE);
+ chnAddFlagsI(sdup, CHN_INPUT_AVAILABLE);
sdup->iqueue.q_rdptr = sdup->iqueue.q_buffer;
sdup->iqueue.q_counter = n;
while (notempty(&sdup->iqueue.q_waiting))