RingBuffer - compatibility matrix

This report was generated on Wednesday, 23-Feb-22 22:48:15 CET using arduino-testlib.

RingBuffer

Version: 1.0.3
More details

Compatibility matrix

Board Claims compatibility Inclusion
BigBuffer
BufferInterrupt
PushAndPop
arduino:avr:uno
1.8.4
Yes PASS FAIL FAIL FAIL
arduino:mbed_nano:nanorp2040connect
2.7.2
Yes PASS PASS PASS PASS
arduino:megaavr:nona4809
1.8.7
Yes PASS PASS PASS PASS
arduino:samd:mkrwifi1010
1.8.12
Yes PASS PASS PASS PASS
esp32:esp32:d1_mini32
1.0.6
Yes PASS PASS PASS PASS

Compilation logs

arduino:avr:uno @ 1.8.4

Inclusion

Result: PASS
This library has no main header file so an empty one was created.

Sketch uses 444 bytes (1%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.

examples/BigBuffer

Result: FAIL

/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/BigBuffer/BigBuffer.ino:13:1: error: 'RingBuf' is not a template
 RingBuf<uint16_t, 300> myBuffer;
 ^~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/BigBuffer/BigBuffer.ino: In function 'void setup()':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/BigBuffer/BigBuffer.ino:22:28: error: too few arguments to function
   while (! myBuffer.isFull()) {
                            ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/BigBuffer/BigBuffer.ino:23:14: error: 'RingBuf {aka struct RingBuf}' has no member named 'push'; did you mean 'pull'?
     myBuffer.push(i++);
              ^~~~
              pull
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/BigBuffer/BigBuffer.ino:30:21: error: expression cannot be used as a function
   if (myBuffer.size() == i) {
                     ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/BigBuffer/BigBuffer.ino:39:30: error: expression cannot be used as a function
   Serial.print(myBuffer.size());
                              ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/BigBuffer/BigBuffer.ino:42:42: error: expression cannot be used as a function
   for (uint16_t j = 0; j < myBuffer.size(); j++) {
                                          ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/BigBuffer/BigBuffer.ino:43:17: error: no match for 'operator[]' (operand types are 'RingBuf' and 'uint16_t {aka unsigned int}')
     if (myBuffer[j] != j) errorCount++;
                 ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/BigBuffer/BigBuffer.ino:53:19: error: 'RingBuf {aka struct RingBuf}' has no member named 'pop'
   while (myBuffer.pop(value)) {
                   ^~~
Multiple libraries were found for "RingBuf.h"
  Used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuf
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SdFat
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/ESP_Async_E1.31

examples/BufferInterrupt

Result: FAIL

/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/BufferInterrupt/BufferInterrupt.ino:11:1: error: 'RingBuf' is not a template
 RingBuf<uint32_t, 10> comBuffer;
 ^~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/BufferInterrupt/BufferInterrupt.ino: In function 'void externalInterruptHandler()':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/BufferInterrupt/BufferInterrupt.ino:15:41: error: 'RingBuf {aka struct RingBuf}' has no member named 'push'; did you mean 'pull'?
   digitalWrite(LED_BUILTIN, ! comBuffer.push(micros()));
                                         ^~~~
                                         pull
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/BufferInterrupt/BufferInterrupt.ino: In function 'void loop()':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/BufferInterrupt/BufferInterrupt.ino:35:31: error: expression cannot be used as a function
   Serial.print(comBuffer.size());
                               ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/BufferInterrupt/BufferInterrupt.ino:38:24: error: too few arguments to function
   if (comBuffer.isFull()) digitalWrite(LED_BUILTIN, LOW);
                        ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/BufferInterrupt/BufferInterrupt.ino:39:17: error: 'RingBuf {aka struct RingBuf}' has no member named 'lockedPop'
   if (comBuffer.lockedPop(pushDate)) {
                 ^~~~~~~~~
Multiple libraries were found for "RingBuf.h"
  Used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuf
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SdFat
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/ESP_Async_E1.31

examples/PushAndPop

Result: FAIL

/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/PushAndPop/PushAndPop.ino:47:1: error: 'RingBuf' is not a template
 RingBuf<uint8_t, 10> myBuffer;
 ^~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/PushAndPop/PushAndPop.ino: In function 'void setup()':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/PushAndPop/PushAndPop.ino:54:19: error: 'RingBuf {aka struct RingBuf}' has no member named 'push'; did you mean 'pull'?
   while (myBuffer.push(i++));
                   ^~~~
                   pull
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/PushAndPop/PushAndPop.ino:55:41: error: expression cannot be used as a function
   for (uint8_t j = 0; j < myBuffer.size(); j++) Serial.println(myBuffer[j]);
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/PushAndPop/PushAndPop.ino:55:72: error: no match for 'operator[]' (operand types are 'RingBuf' and 'uint8_t {aka unsigned char}')
   for (uint8_t j = 0; j < myBuffer.size(); j++) Serial.println(myBuffer[j]);
                                                                        ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/PushAndPop/PushAndPop.ino:58:19: error: 'RingBuf {aka struct RingBuf}' has no member named 'pop'
   while (myBuffer.pop(k)) Serial.println(k);
                   ^~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/PushAndPop/PushAndPop.ino:60:44: error: 'RingBuf {aka struct RingBuf}' has no member named 'push'; did you mean 'pull'?
   for (uint8_t j = 0; j < 5; j++) myBuffer.push(i++);
                                            ^~~~
                                            pull
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/PushAndPop/PushAndPop.ino:61:41: error: expression cannot be used as a function
   for (uint8_t j = 0; j < myBuffer.size(); j++) Serial.println(myBuffer[j]);
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/PushAndPop/PushAndPop.ino:61:72: error: no match for 'operator[]' (operand types are 'RingBuf' and 'uint8_t {aka unsigned char}')
   for (uint8_t j = 0; j < myBuffer.size(); j++) Serial.println(myBuffer[j]);
                                                                        ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/PushAndPop/PushAndPop.ino:64:12: error: 'RingBuf {aka struct RingBuf}' has no member named 'pop'
   myBuffer.pop(k);
            ^~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/PushAndPop/PushAndPop.ino:67:41: error: expression cannot be used as a function
   for (uint8_t j = 0; j < myBuffer.size(); j++) Serial.println(myBuffer[j]);
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/PushAndPop/PushAndPop.ino:67:72: error: no match for 'operator[]' (operand types are 'RingBuf' and 'uint8_t {aka unsigned char}')
   for (uint8_t j = 0; j < myBuffer.size(); j++) Serial.println(myBuffer[j]);
                                                                        ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/PushAndPop/PushAndPop.ino:69:12: error: 'RingBuf {aka struct RingBuf}' has no member named 'push'; did you mean 'pull'?
   myBuffer.push(k);
            ^~~~
            pull
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/PushAndPop/PushAndPop.ino:70:41: error: expression cannot be used as a function
   for (uint8_t j = 0; j < myBuffer.size(); j++) Serial.println(myBuffer[j]);
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer/examples/PushAndPop/PushAndPop.ino:70:72: error: no match for 'operator[]' (operand types are 'RingBuf' and 'uint8_t {aka unsigned char}')
   for (uint8_t j = 0; j < myBuffer.size(); j++) Serial.println(myBuffer[j]);
                                                                        ^
Multiple libraries were found for "RingBuf.h"
  Used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuf
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SdFat
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/ESP_Async_E1.31
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RingBuffer

arduino:mbed_nano:nanorp2040connect @ 2.7.2

Inclusion

Result: PASS

Sketch uses 78756 bytes (0%) of program storage space. Maximum is 16777216 bytes.
Global variables use 43444 bytes (16%) of dynamic memory, leaving 226892 bytes for local variables. Maximum is 270336 bytes.

examples/BigBuffer

Result: PASS

Sketch uses 79356 bytes (0%) of program storage space. Maximum is 16777216 bytes.
Global variables use 44052 bytes (16%) of dynamic memory, leaving 226284 bytes for local variables. Maximum is 270336 bytes.

examples/BufferInterrupt

Result: PASS

Sketch uses 80560 bytes (0%) of program storage space. Maximum is 16777216 bytes.
Global variables use 43744 bytes (16%) of dynamic memory, leaving 226592 bytes for local variables. Maximum is 270336 bytes.

examples/PushAndPop

Result: PASS

Sketch uses 79246 bytes (0%) of program storage space. Maximum is 16777216 bytes.
Global variables use 43460 bytes (16%) of dynamic memory, leaving 226876 bytes for local variables. Maximum is 270336 bytes.

arduino:megaavr:nona4809 @ 1.8.7

Inclusion

Result: PASS

Sketch uses 802 bytes (1%) of program storage space. Maximum is 49152 bytes.
Global variables use 22 bytes (0%) of dynamic memory, leaving 6122 bytes for local variables. Maximum is 6144 bytes.

examples/BigBuffer

Result: PASS

Sketch uses 3511 bytes (7%) of program storage space. Maximum is 49152 bytes.
Global variables use 781 bytes (12%) of dynamic memory, leaving 5363 bytes for local variables. Maximum is 6144 bytes.

examples/BufferInterrupt

Result: PASS

Sketch uses 3917 bytes (7%) of program storage space. Maximum is 49152 bytes.
Global variables use 411 bytes (6%) of dynamic memory, leaving 5733 bytes for local variables. Maximum is 6144 bytes.

examples/PushAndPop

Result: PASS

Sketch uses 3232 bytes (6%) of program storage space. Maximum is 49152 bytes.
Global variables use 189 bytes (3%) of dynamic memory, leaving 5955 bytes for local variables. Maximum is 6144 bytes.

arduino:samd:mkrwifi1010 @ 1.8.12

Inclusion

Result: PASS
This library has no main header file so an empty one was created.

Sketch uses 12156 bytes (4%) of program storage space. Maximum is 262144 bytes.
Global variables use 2996 bytes (9%) of dynamic memory, leaving 29772 bytes for local variables. Maximum is 32768 bytes.

examples/BigBuffer

Result: PASS

Sketch uses 13028 bytes (4%) of program storage space. Maximum is 262144 bytes.
Global variables use 3600 bytes (10%) of dynamic memory, leaving 29168 bytes for local variables. Maximum is 32768 bytes.

examples/BufferInterrupt

Result: PASS

Sketch uses 13080 bytes (4%) of program storage space. Maximum is 262144 bytes.
Global variables use 3184 bytes (9%) of dynamic memory, leaving 29584 bytes for local variables. Maximum is 32768 bytes.

examples/PushAndPop

Result: PASS

Sketch uses 12796 bytes (4%) of program storage space. Maximum is 262144 bytes.
Global variables use 3008 bytes (9%) of dynamic memory, leaving 29760 bytes for local variables. Maximum is 32768 bytes.

esp32:esp32:d1_mini32 @ 1.0.6

Inclusion

Result: PASS

Sketch uses 197736 bytes (15%) of program storage space. Maximum is 1310720 bytes.
Global variables use 13084 bytes (3%) of dynamic memory, leaving 314596 bytes for local variables. Maximum is 327680 bytes.

examples/BigBuffer

Result: PASS

Sketch uses 205106 bytes (15%) of program storage space. Maximum is 1310720 bytes.
Global variables use 14016 bytes (4%) of dynamic memory, leaving 313664 bytes for local variables. Maximum is 327680 bytes.

examples/BufferInterrupt

Result: PASS

Sketch uses 205342 bytes (15%) of program storage space. Maximum is 1310720 bytes.
Global variables use 13944 bytes (4%) of dynamic memory, leaving 313736 bytes for local variables. Maximum is 327680 bytes.

examples/PushAndPop

Result: PASS

Sketch uses 204930 bytes (15%) of program storage space. Maximum is 1310720 bytes.
Global variables use 13424 bytes (4%) of dynamic memory, leaving 314256 bytes for local variables. Maximum is 327680 bytes.