Most macros are now also implemented as an inline function. These function accept a pointer toa pointable fifo as a parameter. The "read" and "add" functions are not implemented yet
To correctly create an array it is best to state the size at time of declaration. Unfortunatly the size must be specified in the .h AND .c file. We recommend using a #define'd value
... Example code is included ath the end of fifofast_demo.c
[change] structure name generation has been unified. This requires no change in the user's code
[note] optimisation has been disabled, because else GCC optimizes fifos away, DESPITE volatile declaration (at least for testing in the simulator)
[cleanup] in preparation to re-introduce the inline functions the three pointable fifo-types have been unified. You can gloabally select the desired max size with 'FIFOFAST_INDEX_TYPE'
... because I totaly forgot to test it properly in last snapshot
[change] _fff_remove re-written and _fff_remove_lite variant added
[new] tests for _fff_remove added
[new] test for _fff_peek idx overflow added
[new] test file for all macros added. It also shows how macros are used.
[change] member "min_w" has been changed to its inverse meaning "level". This improves readability and speeds up common loops like "while(!_fff_is_empty(...))" slightly
[change] inline functions temporary commented
... and is now compilible on its own. It comes with all helper macros required and a (very) crude demo file. Documentation and demo file will be extended soon.
version 0.1.0+wip