diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2009-05-09 16:05:41 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2009-05-09 16:05:41 +0000 |
commit | a6feec221cd3050e0f2d56950abd39677790d79f (patch) | |
tree | 3dfda401ef92c226b24e2cd8ae3dd33fcf1dc54c /src | |
parent | 7506cef74c79741c57cf9575ac8b3b400c50bf41 (diff) | |
download | ChibiOS-a6feec221cd3050e0f2d56950abd39677790d79f.tar.gz ChibiOS-a6feec221cd3050e0f2d56950abd39677790d79f.tar.bz2 ChibiOS-a6feec221cd3050e0f2d56950abd39677790d79f.zip |
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
Diffstat (limited to 'src')
-rw-r--r-- | src/chmboxes.c | 4 | ||||
-rw-r--r-- | src/chqueues.c | 75 | ||||
-rw-r--r-- | src/chsem.c | 6 | ||||
-rw-r--r-- | src/include/mailboxes.h | 4 | ||||
-rw-r--r-- | src/include/queues.h | 36 | ||||
-rw-r--r-- | src/include/semaphores.h | 2 | ||||
-rw-r--r-- | src/lib/ch.cpp | 2 | ||||
-rw-r--r-- | src/lib/ch.hpp | 2 | ||||
-rw-r--r-- | src/templates/chconf.h | 10 |
9 files changed, 24 insertions, 117 deletions
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 <ch.h>
-#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 @@ -154,16 +154,6 @@ #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.
*/
|