Embedded_RingBuf_CPP
Embedded_RingBuf_CPP copied to clipboard
A simple C++ Ring (Circular) Buffer Queuing Library for Programming with Arduino's and other Embedded platforms
`RingBuf.h` is included instead of `RingBufCPP.h` in [test.cpp](https://github.com/wizard97/Embedded_RingBuf_CPP/blob/7aa253e2f23a4be6c903ed94f209ce40ef7bfe4d/examples_no_arduino/test.cpp#L2)
I've tested with a Mapple Mini clone (using the [ArduinoSTM32](https://github.com/rogerclarkmelbourne/Arduino_STM32) platform), seems to work as fine as it does on ATmega328. I'm pretty sure you can at least experimental compatibility...
I think I may have found one issue here: https://github.com/wizard97/Embedded_RingBuf_CPP/blob/bfe49d18f900220527f130c4a170369d2968493b/src/RingBufCPP.h#L214-L215 Do these variables need to be declared "volatile"? When I compiled a sketch without the volatile declaration, the isEmpty() member...
This PR allows pulling data from the buffer without copying the data. The user needs to pass a NULL pointer in that case.
The current RB_ATOMIC_* definitions for ESP8266 look like this ``` #define RB_ATOMIC_START do { uint32_t _savedIS = xt_rsil(15) ; #define RB_ATOMIC_END xt_wsr_ps(_savedIS); } while(0); ``` If I have a code...
Heres a few improvements to the code that I needed, as well as a fix to the library.properties file. I didn't bump the version number, I'll let that up to...