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
master
gdisirio 2009-05-09 16:05:41 +00:00
parent 7506cef74c
commit a6feec221c
24 changed files with 31 additions and 241 deletions

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -153,16 +153,6 @@
#define CH_USE_SEMSW FALSE
#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 FALSE
#endif
/**
* If specified then the Mutexes APIs are included in the kernel.
* @note The default is @p TRUE.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -104,8 +104,10 @@ Win32-MinGW - ChibiOS/RT simulator and demo into a WIN32 process,
removed the CH_USE_MESSAGES_EVENT configuration option.
- CHANGE: Modified the test suite assertions in order to save RAM on the AVR
targets. The test suite now uses much less string space.
- CHANGE: Removed the CH_USE_SERIAL_HALFDUPLEX, CH_USE_QUEUES_TIMEOUT and
CH_USE_QUEUES_HALFDUPLEX configuration options.
- CHANGE: Removed the CH_USE_SERIAL_HALFDUPLEX, CH_USE_QUEUES_TIMEOUT,
CH_USE_QUEUES_HALFDUPLEX, CH_USE_SEMAPHORES_TIMEOUT configuration options.
- CHANGE: Made CH_DBG_THREADS_PROFILING default to TRUE in all demos because
the changes to the function test_cpu_pulse().
*** 1.2.0 ***
- Added license exception text to the 1.2.0 branch.

View File

@ -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 */
/** @} */

View File

@ -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.

View File

@ -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.

View File

@ -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_ */

View File

@ -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);

View File

@ -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

View File

@ -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) {

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -37,7 +37,6 @@
* <h2>Preconditions</h2>
* The module requires the following kernel options:
* - @p CH_USE_MAILBOXES
* - @p CH_USE_SEMAPHORES_TIMEOUT
* .
* In case some of the required options are not enabled then some or all tests
* may be skipped.
@ -51,7 +50,7 @@
* @brief Mailboxes header file
*/
#if CH_USE_MAILBOXES && CH_USE_SEMAPHORES_TIMEOUT
#if CH_USE_MAILBOXES
#define ALLOWED_DELAY MS2ST(5)
#define MB_SIZE 5
@ -164,13 +163,13 @@ const struct testcase testmbox1 = {
mbox1_execute
};
#endif /* CH_USE_MAILBOXES && CH_USE_SEMAPHORES_TIMEOUT */
#endif /* CH_USE_MAILBOXES */
/*
* Test sequence for mailboxes pattern.
*/
const struct testcase * const patternmbox[] = {
#if CH_USE_MAILBOXES && CH_USE_SEMAPHORES_TIMEOUT
#if CH_USE_MAILBOXES
&testmbox1,
#endif
NULL

View File

@ -108,10 +108,8 @@ static void queues1_execute(void) {
chIQResetI(&iq);
test_assert(8, chIQIsEmpty(&iq), "still full");
#if CH_USE_SEMAPHORES_TIMEOUT
/* Timeout */
test_assert(9, chIQGetTimeout(&iq, 10) == Q_TIMEOUT, "wrong timeout return");
#endif
}
const struct testcase testqueues1 = {
@ -165,13 +163,11 @@ static void queues2_execute(void) {
chOQResetI(&oq);
test_assert(8, chOQIsEmpty(&oq), "still full");
#if CH_USE_SEMAPHORES_TIMEOUT
/* Timeout */
for (i = 0; i < TEST_QUEUES_SIZE; i++)
chOQPut(&oq, 'A' + i);
test_assert(9, chOQIsFull(&oq), "still has space");
test_assert(10, chOQPutTimeout(&oq, 0, 10) == Q_TIMEOUT, "wrong timeout return");
#endif
}
const struct testcase testqueues2 = {

View File

@ -71,7 +71,6 @@ const struct testcase testsem1 = {
sem1_execute
};
#if CH_USE_SEMAPHORES_TIMEOUT
static char *sem2_gettest(void) {
return "Semaphores, timeout test";
@ -138,7 +137,6 @@ const struct testcase testsem2 = {
NULL,
sem2_execute
};
#endif /* CH_USE_SEMAPHORES_TIMEOUT */
#if CH_USE_SEMSW
static char *sem3_gettest(void) {
@ -185,9 +183,7 @@ const struct testcase testsem3 = {
const struct testcase * const patternsem[] = {
#if CH_USE_SEMAPHORES
&testsem1,
#if CH_USE_SEMAPHORES_TIMEOUT
&testsem2,
#endif
#if CH_USE_SEMSW
&testsem3,
#endif