From a6feec221cd3050e0f2d56950abd39677790d79f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 9 May 2009 16:05:41 +0000 Subject: Removed the CH_USE_SEMAPHORES_TIMEOUT configuration option. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@962 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- src/chmboxes.c | 4 +-- src/chqueues.c | 75 ------------------------------------------------ src/chsem.c | 6 ---- src/include/mailboxes.h | 4 +-- src/include/queues.h | 36 ++++++++++++----------- src/include/semaphores.h | 2 -- src/lib/ch.cpp | 2 -- src/lib/ch.hpp | 2 -- src/templates/chconf.h | 10 ------- 9 files changed, 24 insertions(+), 117 deletions(-) (limited to 'src') diff --git a/src/chmboxes.c b/src/chmboxes.c index 743b5a568..8a791a984 100644 --- a/src/chmboxes.c +++ b/src/chmboxes.c @@ -26,7 +26,7 @@ #include -#if CH_USE_MAILBOXES && CH_USE_SEMAPHORES_TIMEOUT +#if CH_USE_MAILBOXES /** * @brief Initializes a Mailbox object. * @@ -239,6 +239,6 @@ msg_t chMBFetchS(Mailbox *mbp, msg_t *msgp, systime_t time) { } return rdymsg; } -#endif /* CH_USE_MAILBOXES && CH_USE_SEMAPHORES_TIMEOUT */ +#endif /* CH_USE_MAILBOXES */ /** @} */ diff --git a/src/chqueues.c b/src/chqueues.c index de2160e36..a72b83696 100644 --- a/src/chqueues.c +++ b/src/chqueues.c @@ -90,39 +90,6 @@ msg_t chIQPutI(InputQueue *iqp, uint8_t b) { return Q_OK; } -#if !CH_USE_SEMAPHORES_TIMEOUT || defined(__DOXYGEN__) -/** - * @brief Input queue read. - * @details This function reads a byte value from an input queue. If the queue - * is empty then the calling thread is suspended until a byte arrives - * in the queue. - * - * @param[in] iqp pointer to an @p InputQueue structure - * @return A byte value from the queue or: - * @retval Q_RESET if the queue was reset. - */ -msg_t chIQGet(InputQueue *iqp) { - uint8_t b; - msg_t msg; - - chSysLock(); - if ((msg = chSemWaitS(&iqp->q_sem)) < RDY_OK) { - chSysUnlock(); - return msg; - } - b = *iqp->q_rdptr++; - if (iqp->q_rdptr >= iqp->q_top) - iqp->q_rdptr = iqp->q_buffer; - - if (iqp->q_notify) - iqp->q_notify(); - - chSysUnlock(); - return b; -} -#endif /* !CH_USE_SEMAPHORES_TIMEOUT */ - -#if CH_USE_SEMAPHORES_TIMEOUT || defined(__DOXYGEN__) /** * @brief Input queue read with timeout. * @details This function reads a byte value from an input queue. If the queue @@ -138,9 +105,6 @@ msg_t chIQGet(InputQueue *iqp) { * @return A byte value from the queue or: * @retval Q_TIMEOUT if the specified time expired. * @retval Q_RESET if the queue was reset. - * - * @note The function is only available when the @p CH_USE_SEMAPHORES_TIMEOUT - * kernel option is activated, */ msg_t chIQGetTimeout(InputQueue *iqp, systime_t timeout) { uint8_t b; @@ -161,7 +125,6 @@ msg_t chIQGetTimeout(InputQueue *iqp, systime_t timeout) { chSysUnlock(); return b; } -#endif /* CH_USE_SEMAPHORES_TIMEOUT */ /** * @brief Non-blocking read. @@ -241,40 +204,6 @@ void chOQResetI(OutputQueue *oqp) { chSemResetI(&oqp->q_sem, (cnt_t)(oqp->q_top - oqp->q_buffer)); } -#if !CH_USE_SEMAPHORES_TIMEOUT || defined(__DOXYGEN__) -/** - * @brief Output queue write. - * @details This function writes a byte value to an output queue. If the queue - * is full then the calling thread is suspended until there is space - * in the queue. - * - * @param[in] oqp pointer to an @p OutputQueue structure - * @param[in] b the byte value to be written in the queue - * @return The operation status: - * @retval Q_OK if the operation succeeded. - * @retval Q_RESET if the queue was reset. - */ -msg_t chOQPut(OutputQueue *oqp, uint8_t b) { - msg_t msg; - - chSysLock(); - if ((msg = chSemWaitS(&oqp->q_sem)) < RDY_OK) { - chSysUnlock(); - return msg; - } - *oqp->q_wrptr++ = b; - if (oqp->q_wrptr >= oqp->q_top) - oqp->q_wrptr = oqp->q_buffer; - - if (oqp->q_notify) - oqp->q_notify(); - - chSysUnlock(); - return Q_OK; -} -#endif /* !CH_USE_SEMAPHORES_TIMEOUT */ - -#if CH_USE_SEMAPHORES_TIMEOUT || defined(__DOXYGEN__) /** * @brief Output queue write with timeout. * @details This function writes a byte value to an output queue. If the queue @@ -292,9 +221,6 @@ msg_t chOQPut(OutputQueue *oqp, uint8_t b) { * @retval Q_OK if the operation succeeded. * @retval Q_TIMEOUT if the specified time expired. * @retval Q_RESET if the queue was reset. - * - * @note The function is only available when the @p CH_USE_SEMAPHORES_TIMEOUT - * kernel option is activated, */ msg_t chOQPutTimeout(OutputQueue *oqp, uint8_t b, systime_t timeout) { msg_t msg; @@ -314,7 +240,6 @@ msg_t chOQPutTimeout(OutputQueue *oqp, uint8_t b, systime_t timeout) { chSysUnlock(); return Q_OK; } -#endif /* CH_USE_SEMAPHORES_TIMEOUT */ /** * @brief Output queue read. diff --git a/src/chsem.c b/src/chsem.c index 085f4014b..9a8570580 100644 --- a/src/chsem.c +++ b/src/chsem.c @@ -127,7 +127,6 @@ msg_t chSemWaitS(Semaphore *sp) { return RDY_OK; } -#if CH_USE_SEMAPHORES_TIMEOUT /** * @brief Performs a wait operation on a semaphore with timeout specification. * @@ -141,8 +140,6 @@ msg_t chSemWaitS(Semaphore *sp) { * @retval RDY_RESET if the semaphore was reset using @p chSemReset(). * @retval RDY_TIMEOUT if the semaphore was not signaled or reset within the * specified timeout. - * @note The function is available only if the @p CH_USE_SEMAPHORES_TIMEOUT - * option is enabled in @p chconf.h. */ msg_t chSemWaitTimeout(Semaphore *sp, systime_t time) { msg_t msg; @@ -166,8 +163,6 @@ msg_t chSemWaitTimeout(Semaphore *sp, systime_t time) { * @retval RDY_RESET if the semaphore was reset using @p chSemReset(). * @retval RDY_TIMEOUT if the semaphore was not signaled or reset within the specified * timeout. - * @note The function is available only if the @p CH_USE_SEMAPHORES_TIMEOUT - * option is enabled in @p chconf.h. */ msg_t chSemWaitTimeoutS(Semaphore *sp, systime_t time) { @@ -184,7 +179,6 @@ msg_t chSemWaitTimeoutS(Semaphore *sp, systime_t time) { } return RDY_OK; } -#endif /* CH_USE_SEMAPHORES_TIMEOUT */ /** * @brief Performs a signal operation on a semaphore. diff --git a/src/include/mailboxes.h b/src/include/mailboxes.h index 075dd0989..734a71bac 100644 --- a/src/include/mailboxes.h +++ b/src/include/mailboxes.h @@ -27,7 +27,7 @@ #ifndef _MAILBOXES_H_ #define _MAILBOXES_H_ -#if CH_USE_MAILBOXES && CH_USE_SEMAPHORES_TIMEOUT +#if CH_USE_MAILBOXES typedef struct { msg_t *mb_buffer; /**< Pointer to the mailbox buffer.*/ @@ -91,7 +91,7 @@ extern "C" { */ #define chMBPeek(mbp) (*(mbp)->mb_rdptr) -#endif /* CH_USE_MAILBOXES && CH_USE_SEMAPHORES_TIMEOUT */ +#endif /* CH_USE_MAILBOXES */ #endif /* _MAILBOXES_H_ */ diff --git a/src/include/queues.h b/src/include/queues.h index e031a39f3..886707e7d 100644 --- a/src/include/queues.h +++ b/src/include/queues.h @@ -90,13 +90,17 @@ typedef GenericQueue InputQueue; /** Evaluates to @p TRUE if the specified Input Queue is full. */ #define chIQIsFull(q) (chQSpace(q) >= chQSize(q)) -#if CH_USE_SEMAPHORES_TIMEOUT -/* - * When semaphores timeout is available this API is implemented as a - * special case of the more general chIQGetTimeout(). +/** + * @brief Input queue read. + * @details This function reads a byte value from an input queue. If the queue + * is empty then the calling thread is suspended until a byte arrives + * in the queue. + * + * @param[in] iqp pointer to an @p InputQueue structure + * @return A byte value from the queue or: + * @retval Q_RESET if the queue was reset. */ #define chIQGet(iqp) chIQGetTimeout(iqp, TIME_INFINITE) -#endif /** * @brief Output queue structure. @@ -116,13 +120,19 @@ typedef GenericQueue OutputQueue; /** Evaluates to @p TRUE if the specified Output Queue is full. */ #define chOQIsFull(q) (chQSpace(q) <= 0) -#if CH_USE_SEMAPHORES_TIMEOUT -/* - * When semaphores timeout is available this API is implemented as a - * special case of the more general chOQPutTimeout(). +/** + * @brief Output queue write. + * @details This function writes a byte value to an output queue. If the queue + * is full then the calling thread is suspended until there is space + * in the queue. + * + * @param[in] oqp pointer to an @p OutputQueue structure + * @param[in] b the byte value to be written in the queue + * @return The operation status: + * @retval Q_OK if the operation succeeded. + * @retval Q_RESET if the queue was reset. */ #define chOQPut(oqp, b) chOQPutTimeout(oqp, b, TIME_INFINITE) -#endif #ifdef __cplusplus extern "C" { @@ -130,17 +140,11 @@ extern "C" { void chIQInit(InputQueue *qp, uint8_t *buffer, size_t size, qnotify_t inotify); void chIQResetI(InputQueue *qp); msg_t chIQPutI(InputQueue *qp, uint8_t b); -#if !CH_USE_SEMAPHORES_TIMEOUT - msg_t chIQGet(InputQueue *qp); -#endif msg_t chIQGetTimeout(InputQueue *qp, systime_t timeout); size_t chIQRead(InputQueue *qp, uint8_t *buffer, size_t n); void chOQInit(OutputQueue *queue, uint8_t *buffer, size_t size, qnotify_t onotify); void chOQResetI(OutputQueue *queue); -#if !CH_USE_SEMAPHORES_TIMEOUT - msg_t chOQPut(OutputQueue *queue, uint8_t b); -#endif msg_t chOQPutTimeout(OutputQueue *queue, uint8_t b, systime_t timeout); msg_t chOQGetI(OutputQueue *queue); size_t chOQWrite(OutputQueue *queue, uint8_t *buffer, size_t n); diff --git a/src/include/semaphores.h b/src/include/semaphores.h index acb48f150..10f784ffc 100644 --- a/src/include/semaphores.h +++ b/src/include/semaphores.h @@ -46,10 +46,8 @@ extern "C" { void chSemResetI(Semaphore *sp, cnt_t n); msg_t chSemWait(Semaphore *sp); msg_t chSemWaitS(Semaphore *sp); -#if CH_USE_SEMAPHORES_TIMEOUT msg_t chSemWaitTimeout(Semaphore *sp, systime_t time); msg_t chSemWaitTimeoutS(Semaphore *sp, systime_t time); -#endif void chSemSignal(Semaphore *sp); void chSemSignalI(Semaphore *sp); #if CH_USE_SEMSW diff --git a/src/lib/ch.cpp b/src/lib/ch.cpp index 46e3a53d7..eaca06358 100644 --- a/src/lib/ch.cpp +++ b/src/lib/ch.cpp @@ -176,12 +176,10 @@ namespace chibios_rt { return chSemWait(&sem); } -#if CH_USE_SEMAPHORES_TIMEOUT msg_t Semaphore::WaitTimeout(systime_t time) { return chSemWaitTimeout(&sem, time); } -#endif /* CH_USE_SEMAPHORES_TIMEOUT */ void Semaphore::Signal(void) { diff --git a/src/lib/ch.hpp b/src/lib/ch.hpp index bd1561689..b13e8db6d 100644 --- a/src/lib/ch.hpp +++ b/src/lib/ch.hpp @@ -315,7 +315,6 @@ namespace chibios_rt { */ msg_t Wait(void); -#if CH_USE_SEMAPHORES_TIMEOUT /** * @brief Wait operation on the semaphore with timeout. * @@ -326,7 +325,6 @@ namespace chibios_rt { * specified timeout. */ msg_t WaitTimeout(systime_t time); -#endif /* CH_USE_SEMAPHORES_TIMEOUT */ /** * @brief Signal operation on the semaphore. diff --git a/src/templates/chconf.h b/src/templates/chconf.h index b018dbe13..7b7d97cfa 100644 --- a/src/templates/chconf.h +++ b/src/templates/chconf.h @@ -153,16 +153,6 @@ #define CH_USE_SEMSW TRUE #endif -/** - * If specified then the Semaphores with timeout APIs are included in the - * kernel. - * @note The default is @p TRUE. - * @note Requires @p CH_USE_SEMAPHORES. - */ -#if !defined(CH_USE_SEMAPHORES_TIMEOUT) || defined(__DOXYGEN__) -#define CH_USE_SEMAPHORES_TIMEOUT TRUE -#endif - /** * If specified then the Mutexes APIs are included in the kernel. * @note The default is @p TRUE. -- cgit v1.2.3