aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/Misc
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2011-07-11 09:42:13 +0000
committerDean Camera <dean@fourwalledcubicle.com>2011-07-11 09:42:13 +0000
commitd771b1ff8f721ed03fc044d232620a51cb6e473e (patch)
tree4bf478bc4d2ed2256106ff48056a2c2a2e41546c /LUFA/Drivers/Misc
parent87ea060afe931087e23444dfa840672aefdd7a46 (diff)
downloadlufa-d771b1ff8f721ed03fc044d232620a51cb6e473e.tar.gz
lufa-d771b1ff8f721ed03fc044d232620a51cb6e473e.tar.bz2
lufa-d771b1ff8f721ed03fc044d232620a51cb6e473e.zip
Oops - re-order Ringbuffer.h inline functions to prevent compile errors due to forward references.
Diffstat (limited to 'LUFA/Drivers/Misc')
-rw-r--r--LUFA/Drivers/Misc/RingBuffer.h50
1 files changed, 25 insertions, 25 deletions
diff --git a/LUFA/Drivers/Misc/RingBuffer.h b/LUFA/Drivers/Misc/RingBuffer.h
index 937cb4abf..3547c52ef 100644
--- a/LUFA/Drivers/Misc/RingBuffer.h
+++ b/LUFA/Drivers/Misc/RingBuffer.h
@@ -126,7 +126,7 @@
* \param[out] DataPtr Pointer to a global array that will hold the data stored into the ring buffer.
* \param[out] Size Maximum number of bytes that can be stored in the underlying data array.
*/
- static inline void RingBuffer_InitBuffer(RingBuffer_t* const Buffer, uint8_t* const DataPtr, const uint16_t Size)
+ static inline void RingBuffer_InitBuffer(RingBuffer_t* Buffer, uint8_t* const DataPtr, const uint16_t Size)
{
GCC_FORCE_POINTER_ACCESS(Buffer);
@@ -143,23 +143,6 @@
SetGlobalInterruptMask(CurrentGlobalInt);
}
- /** Retrieves the free space in a particular buffer. This value is computed by entering an atomic lock
- * on the buffer, so that the buffer cannot be modified while the computation takes place.
- *
- * \note The value returned by this function is guaranteed to only be the maximum number of bytes
- * free in the given buffer; this value may change as other threads write new data, thus
- * the returned number should be used only to determine how many successive writes may safely
- * be performed on the buffer when there is a single writer thread.
- *
- * \param[in] Buffer Pointer to a ring buffer structure whose free count is to be computed.
- *
- * \return Number of free bytes in the buffer.
- */
- static inline uint16_t RingBuffer_GetFreeCount(RingBuffer_t* const Buffer)
- {
- return (Buffer->Size - RingBuffer_GetCount(Buffer));
- }
-
/** Retrieves the current number of bytes stored in a particular buffer. This value is computed
* by entering an atomic lock on the buffer, so that the buffer cannot be modified while the
* computation takes place. This value should be cached when reading out the contents of the buffer,
@@ -187,17 +170,21 @@
return Count;
}
- /** Atomically determines if the specified ring buffer contains any free space. This should
- * be tested before storing data to the buffer, to ensure that no data is lost due to a
- * buffer overrun.
+ /** Retrieves the free space in a particular buffer. This value is computed by entering an atomic lock
+ * on the buffer, so that the buffer cannot be modified while the computation takes place.
*
- * \param[in,out] Buffer Pointer to a ring buffer structure to insert into.
+ * \note The value returned by this function is guaranteed to only be the maximum number of bytes
+ * free in the given buffer; this value may change as other threads write new data, thus
+ * the returned number should be used only to determine how many successive writes may safely
+ * be performed on the buffer when there is a single writer thread.
*
- * \return Boolean \c true if the buffer contains no free space, false otherwise.
+ * \param[in] Buffer Pointer to a ring buffer structure whose free count is to be computed.
+ *
+ * \return Number of free bytes in the buffer.
*/
- static inline bool RingBuffer_IsFull(RingBuffer_t* const Buffer)
+ static inline uint16_t RingBuffer_GetFreeCount(RingBuffer_t* const Buffer)
{
- return (RingBuffer_GetCount(Buffer) == Buffer->Size);
+ return (Buffer->Size - RingBuffer_GetCount(Buffer));
}
/** Atomically determines if the specified ring buffer contains any data. This should
@@ -217,6 +204,19 @@
return (RingBuffer_GetCount(Buffer) == 0);
}
+ /** Atomically determines if the specified ring buffer contains any free space. This should
+ * be tested before storing data to the buffer, to ensure that no data is lost due to a
+ * buffer overrun.
+ *
+ * \param[in,out] Buffer Pointer to a ring buffer structure to insert into.
+ *
+ * \return Boolean \c true if the buffer contains no free space, false otherwise.
+ */
+ static inline bool RingBuffer_IsFull(RingBuffer_t* const Buffer)
+ {
+ return (RingBuffer_GetCount(Buffer) == Buffer->Size);
+ }
+
/** Inserts an element into the ring buffer.
*
* \note Only one execution thread (main program thread or an ISR) may insert into a single buffer