[][src]Crate bbqueue

BBQueue

BBQueue, short for "BipBuffer Queue", is a (work in progress) Single Producer Single Consumer, lockless, no_std, thread safe, queue, based on BipBuffers.

It is designed (primarily) to be a First-In, First-Out queue for use with DMA on embedded systems.

While Circular/Ring Buffers allow you to send data between two threads (or from an interrupt to main code), you must push the data one piece at a time. With BBQueue, you instead are granted a block of contiguous memory, which can be filled (or emptied) by a DMA engine.

TODO: Update usage examples

Modules

consts

Type aliases for many constants.

Structs

BBBuffer

A backing structure for a BBQueue. Can be used to create either a BBQueue or a split Producer/Consumer pair

ConstBBBuffer

const-fn version BBBuffer

Consumer
GrantR

A structure representing a contiguous region of memory that may be read from, and potentially "released" (or cleared) from the queue

GrantW

A structure representing a contiguous region of memory that may be written to, and potentially "committed" to the queue

Producer

Enums

Error

Error type used by the BBQueue interfaces

Type Definitions

Result

Result type used by the BBQueue interfaces