X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fstruct%2Ffifobuf.h;h=4bd205d0cf2dd16b105a213e64c036ff70d27808;hb=1997bcac9db9a289afa5ca6d4fea4b75aef329d6;hp=f58e1c0a7d0f4e99999298d5af2f63029a4de566;hpb=5eec6d12a34acf1095170c786416ae5515202f24;p=bertos.git diff --git a/bertos/struct/fifobuf.h b/bertos/struct/fifobuf.h index f58e1c0a..4bd205d0 100644 --- a/bertos/struct/fifobuf.h +++ b/bertos/struct/fifobuf.h @@ -92,6 +92,19 @@ typedef struct FIFOBuffer ) +/** + * Define a static fifo buffer + */ +#define DEFINE_FIFO(_name, _ptr, _size) \ + FIFOBuffer _name = \ + { \ + .head = (_ptr), \ + .tail = (_ptr), \ + .begin = (_ptr), \ + .end = (_ptr) + (_size) - 1, \ + }; \ + STATIC_ASSERT((_size) > 1) + /** * Check whether the fifo is empty *