*/\r
\r
/** \file\r
- * \brief Lightweight ring buffer, for fast insertion/deletion.\r
+ * \brief Lightweight ring buffer, for fast insertion/deletion of bytes.\r
*\r
* Lightweight ring buffer, for fast insertion/deletion. Multiple buffers can be created of\r
* different sizes to suit different needs.\r
*\r
* Note that for each buffer, insertion and removal operations may occur at the same time (via\r
- * a multithreaded ISR based system) however the same kind of operation (two or more insertions\r
+ * a multi-threaded ISR based system) however the same kind of operation (two or more insertions\r
* or deletions) must not overlap. If there is possibility of two or more of the same kind of\r
- * operating occuring at the same point in time, atomic (mutex) locking should be used.\r
+ * operating occurring at the same point in time, atomic (mutex) locking should be used.\r
*/\r
\r
/** \ingroup Group_MiscDrivers\r
- * @defgroup Group_RingBuff Generic Byte Ring Buffer - LUFA/Drivers/Misc/RingBuffer.h\r
+ * \defgroup Group_RingBuff Generic Byte Ring Buffer - LUFA/Drivers/Misc/RingBuffer.h\r
+ * \brief Lightweight ring buffer, for fast insertion/deletion of bytes.\r
*\r
* \section Sec_Dependencies Module Source Dependencies\r
* The following files must be built with any user project that uses this module:\r
* different sizes to suit different needs.\r
*\r
* Note that for each buffer, insertion and removal operations may occur at the same time (via\r
- * a multithreaded ISR based system) however the same kind of operation (two or more insertions\r
+ * a multi-threaded ISR based system) however the same kind of operation (two or more insertions\r
* or deletions) must not overlap. If there is possibility of two or more of the same kind of\r
- * operating occuring at the same point in time, atomic (mutex) locking should be used.\r
+ * operating occurring at the same point in time, atomic (mutex) locking should be used.\r
*\r
* \section Sec_ExampleUsage Example Usage\r
* The following snippet is an example of how this module may be used within a typical\r
* @{\r
*/\r
\r
-#ifndef __RING_BUFF_H__\r
-#define __RING_BUFF_H__\r
+#ifndef __RING_BUFFER_H__\r
+#define __RING_BUFFER_H__\r
\r
/* Includes: */\r
- #include <util/atomic.h>\r
- #include <stdint.h>\r
- #include <stdbool.h>\r
-\r
- #include <LUFA/Common/Common.h>\r
+ #include "../../Common/Common.h"\r
\r
/* Type Defines: */\r
/** \brief Ring Buffer Management Structure.\r
*/\r
typedef struct\r
{\r
- uint8_t* In; /**< Current storage location in the circular buffer */\r
- uint8_t* Out; /**< Current retrieval location in the circular buffer */\r
- uint8_t* Start; /**< Pointer to the start of the buffer's underlying storage array */\r
- uint8_t* End; /**< Pointer to the end of the buffer's underlying storage array */\r
- uint8_t Size; /**< Size of the buffer's underlying storage array */\r
- uint16_t Count; /**< Number of bytes currently stored in the buffer */\r
+ uint8_t* In; /**< Current storage location in the circular buffer. */\r
+ uint8_t* Out; /**< Current retrieval location in the circular buffer. */\r
+ uint8_t* Start; /**< Pointer to the start of the buffer's underlying storage array. */\r
+ uint8_t* End; /**< Pointer to the end of the buffer's underlying storage array. */\r
+ uint8_t Size; /**< Size of the buffer's underlying storage array. */\r
+ uint16_t Count; /**< Number of bytes currently stored in the buffer. */\r
} RingBuffer_t;\r
\r
/* Inline Functions: */\r