git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2237 35acf78f-673a-0410-8e92-d51de3d6d3f4

This commit is contained in:
gdisirio 2010-10-07 13:32:58 +00:00
parent c2efc1ebe9
commit 38cc48d575
3 changed files with 18 additions and 18 deletions

View File

@ -79,7 +79,7 @@ extern "C" {
((mbp)->mb_top - (mbp)->mb_buffer)
/**
* @brief Returns the free space into the mailbox.
* @brief Returns the number of free message slots into a mailbox.
* @note Can be invoked in any system state but if invoked out of a locked
* state then the returned value may change after reading.
* @note The returned value can be less than zero when there are waiting
@ -90,10 +90,10 @@ extern "C" {
*
* @iclass
*/
#define chMBGetEmptyI(mbp) chSemGetCounterI(&(mbp)->mb_emptysem)
#define chMBGetFreeCountI(mbp) chSemGetCounterI(&(mbp)->mb_emptysem)
/**
* @brief Returns the number of messages into the mailbox.
* @brief Returns the number of queued messages into a mailbox.
* @note Can be invoked in any system state but if invoked out of a locked
* state then the returned value may change after reading.
* @note The returned value can be less than zero when there are waiting
@ -104,14 +104,14 @@ extern "C" {
*
* @iclass
*/
#define chMBGetFullI(mbp) chSemGetCounterI(&(mbp)->mb_fullsem)
#define chMBGetFullCountI(mbp) chSemGetCounterI(&(mbp)->mb_fullsem)
/**
* @brief Returns the next message in the queue without removing it.
* @pre A message must be waiting in the queue for this function to work
* or it would return garbage. The correct way to use this macro is
* to use @p chMBGetFull() and then use this macro, all within a
* lock state.
* to use @p chMBGetFullCountI() and then use this macro, all within
* a lock state.
*
* @iclass
*/

View File

@ -122,13 +122,13 @@
semaphores.
- OPT: The fix to the bug 3075544 considerably improved the threads creation
benchmarks score.
- OPT: Speed optimizations of the STM32 SPI driver, improved latency.
- OPT: Speed optimizations of the STM32 ADC driver.
- OPT: Speed optimizations to the STM32 SPI driver, improved latency.
- OPT: Speed optimizations to the STM32 ADC driver.
- CHANGE: The API chThdInit() has been renamed to chThdCreateI() in order to
make clear it is useable from interrupt handlers.
make clear it is usable from interrupt handlers.
- CHANGE: The mailboxes macros chMBSize(), chMBGetEmpty(), chMBGetFull(),
chMBPeek() have been renamed to chMBSizeI(), chMBGetEmptyI(),
chMBGetFullI(), chMBPeekI().
chMBPeek() have been renamed to chMBSizeI(), chMBGetFreeCountI(),
chMBGetFullCountI(), chMBPeekI().
- CHANGE: The queue APIs chQSize(), chQSpace(), chIQIsEmpty(), chIQIsFull(),
chOQIsEmpty(), chOQIsFull() have been renamed to chQSizeI(), chQSpaceI(),
chIQIsEmptyI(), chIQIsFullI(), chOQIsEmptyI(), chOQIsFullI().

View File

@ -83,7 +83,7 @@ static void mbox1_execute(void) {
/*
* Testing initial space.
*/
test_assert(1, chMBGetEmptyI(&mb1) == MB_SIZE, "wrong size");
test_assert(1, chMBGetFreeCountI(&mb1) == MB_SIZE, "wrong size");
/*
* Testing enqueuing and backward circularity.
@ -104,8 +104,8 @@ static void mbox1_execute(void) {
/*
* Testing final conditions.
*/
test_assert(5, chMBGetEmptyI(&mb1) == 0, "still empty");
test_assert(6, chMBGetFullI(&mb1) == MB_SIZE, "not full");
test_assert(5, chMBGetFreeCountI(&mb1) == 0, "still empty");
test_assert(6, chMBGetFullCountI(&mb1) == MB_SIZE, "not full");
test_assert(7, mb1.mb_rdptr == mb1.mb_wrptr, "pointers not aligned");
/*
@ -137,8 +137,8 @@ static void mbox1_execute(void) {
/*
* Testing final conditions.
*/
test_assert(15, chMBGetEmptyI(&mb1) == MB_SIZE, "not empty");
test_assert(16, chMBGetFullI(&mb1) == 0, "still full");
test_assert(15, chMBGetFreeCountI(&mb1) == MB_SIZE, "not empty");
test_assert(16, chMBGetFullCountI(&mb1) == 0, "still full");
test_assert(17, mb1.mb_rdptr == mb1.mb_wrptr, "pointers not aligned");
/*
@ -149,8 +149,8 @@ static void mbox1_execute(void) {
/*
* Re-testing final conditions.
*/
test_assert(18, chMBGetEmptyI(&mb1) == MB_SIZE, "not empty");
test_assert(19, chMBGetFullI(&mb1) == 0, "still full");
test_assert(18, chMBGetFreeCountI(&mb1) == MB_SIZE, "not empty");
test_assert(19, chMBGetFullCountI(&mb1) == 0, "still full");
test_assert(20, mb1.mb_buffer == mb1.mb_wrptr, "write pointer not aligned to base");
test_assert(21, mb1.mb_buffer == mb1.mb_rdptr, "read pointer not aligned to base");
}