summaryrefslogtreecommitdiff
path: root/tinyusb/common/fifo.h
diff options
context:
space:
mode:
Diffstat (limited to 'tinyusb/common/fifo.h')
-rw-r--r--tinyusb/common/fifo.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/tinyusb/common/fifo.h b/tinyusb/common/fifo.h
index daef4a84a..4a518ca0c 100644
--- a/tinyusb/common/fifo.h
+++ b/tinyusb/common/fifo.h
@@ -55,23 +55,24 @@
*/
typedef struct
{
+ uint8_t* const buffer ; ///< buffer pointer
uint16_t const depth ; ///< max items
uint16_t const item_size ; ///< size of each item
volatile uint16_t count ; ///< number of items in queue
volatile uint16_t wr_idx ; ///< write pointer
volatile uint16_t rd_idx ; ///< read pointer
bool overwritable ;
- uint8_t buffer[] ; ///< buffer pointer
// IRQn_Type irq;
} fifo_t;
#define FIFO_DEF(name, ff_depth, type, is_overwritable) /*, irq_mutex)*/ \
+ uint8_t name##_buffer[ff_depth*sizeof(type)];\
fifo_t name = {\
+ .buffer = name##_buffer,\
.depth = ff_depth,\
.item_size = sizeof(type),\
.overwritable = is_overwritable,\
/*.irq = irq_mutex*/\
- .buffer = { [ff_depth*sizeof(type) - 1] = 0 },\
}
bool fifo_write(fifo_t* f, void const * p_data);