This report was generated on Wednesday, 23-Feb-22 22:48:15 CET using arduino-testlib.
Version: 1.0
More details
Board | Claims compatibility | Inclusion | demo |
---|---|---|---|
arduino:avr:uno
1.8.4 |
Yes | PASS | PASS |
arduino:mbed_nano:nanorp2040connect
2.7.2 |
Yes ⚠️ | FAIL | FAIL |
arduino:megaavr:nona4809
1.8.7 |
Yes | PASS | PASS |
arduino:samd:mkrwifi1010
1.8.12 |
Yes | PASS | FAIL |
esp32:esp32:d1_mini32
1.0.6 |
Yes | PASS | PASS |
Result: PASS
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.
Result: PASS
Sketch uses 7612 bytes (23%) of program storage space. Maximum is 32256 bytes. Global variables use 362 bytes (17%) of dynamic memory, leaving 1686 bytes for local variables. Maximum is 2048 bytes.
Result: FAIL
In file included from /tmp/arduino-testlib1193902540/test/test.ino:1:0: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h: In function 'char* mFtoa(double, int8_t, char*)': /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:51:14: error: 'ltoa' was not declared in this scope buffer = ltoa(mant, buffer, DEC); ^~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:51:14: note: suggested alternative: 'utoa' buffer = ltoa(mant, buffer, DEC); ^~~~ utoa /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h: In member function 'mString<SIZE>& mString<SIZE>::add(int32_t)': /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:101:9: error: there are no arguments to 'ltoa' that depend on a template parameter, so a declaration of 'ltoa' must be available [-fpermissive] ltoa(value, vBuf, DEC); ^~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:101:9: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h: In member function 'bool mString<SIZE>::operator==(int32_t)': /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:265:29: error: there are no arguments to 'ltoa' that depend on a template parameter, so a declaration of 'ltoa' must be available [-fpermissive] return !strcmp(buf, ltoa(value, valBuf, DEC)); ^~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h: In member function 'bool mString<SIZE>::operator==(int16_t)': /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:269:29: error: there are no arguments to 'ltoa' that depend on a template parameter, so a declaration of 'ltoa' must be available [-fpermissive] return !strcmp(buf, ltoa(value, valBuf, DEC)); ^~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h: In member function 'bool mString<SIZE>::operator==(int8_t)': /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:273:29: error: there are no arguments to 'ltoa' that depend on a template parameter, so a declaration of 'ltoa' must be available [-fpermissive] return !strcmp(buf, ltoa(value, valBuf, DEC)); ^~~~
Result: FAIL
In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/examples/demo/demo.ino:1:0: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h: In function 'char* mFtoa(double, int8_t, char*)': /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:51:14: error: 'ltoa' was not declared in this scope buffer = ltoa(mant, buffer, DEC); ^~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:51:14: note: suggested alternative: 'utoa' buffer = ltoa(mant, buffer, DEC); ^~~~ utoa /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h: In member function 'mString<SIZE>& mString<SIZE>::add(int32_t)': /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:101:9: error: there are no arguments to 'ltoa' that depend on a template parameter, so a declaration of 'ltoa' must be available [-fpermissive] ltoa(value, vBuf, DEC); ^~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:101:9: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h: In member function 'bool mString<SIZE>::operator==(int32_t)': /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:265:29: error: there are no arguments to 'ltoa' that depend on a template parameter, so a declaration of 'ltoa' must be available [-fpermissive] return !strcmp(buf, ltoa(value, valBuf, DEC)); ^~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h: In member function 'bool mString<SIZE>::operator==(int16_t)': /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:269:29: error: there are no arguments to 'ltoa' that depend on a template parameter, so a declaration of 'ltoa' must be available [-fpermissive] return !strcmp(buf, ltoa(value, valBuf, DEC)); ^~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h: In member function 'bool mString<SIZE>::operator==(int8_t)': /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:273:29: error: there are no arguments to 'ltoa' that depend on a template parameter, so a declaration of 'ltoa' must be available [-fpermissive] return !strcmp(buf, ltoa(value, valBuf, DEC)); ^~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/examples/demo/demo.ino: In function 'void setup()': /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/examples/demo/demo.ino:77:34: error: ambiguous overload for 'operator+' (operand types are 'mString<50>' and 'int') test = test + "cheburek" + ',' + 123 + ',' + 3.14; ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/examples/demo/demo.ino:1:0: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:161:13: note: candidate: mString<SIZE> mString<SIZE>::operator+(char) [with short unsigned int SIZE = 50] mString operator + (const char c) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:170:13: note: candidate: mString<SIZE> mString<SIZE>::operator+(uint32_t) [with short unsigned int SIZE = 50; uint32_t = long unsigned int] mString operator + (uint32_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:173:13: note: candidate: mString<SIZE> mString<SIZE>::operator+(int32_t) [with short unsigned int SIZE = 50; int32_t = long int] mString operator + (int32_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:176:13: note: candidate: mString<SIZE> mString<SIZE>::operator+(uint16_t) [with short unsigned int SIZE = 50; uint16_t = short unsigned int] mString operator + (uint16_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:179:13: note: candidate: mString<SIZE> mString<SIZE>::operator+(int16_t) [with short unsigned int SIZE = 50; int16_t = short int] mString operator + (int16_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:182:13: note: candidate: mString<SIZE> mString<SIZE>::operator+(uint8_t) [with short unsigned int SIZE = 50; uint8_t = unsigned char] mString operator + (uint8_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:185:13: note: candidate: mString<SIZE> mString<SIZE>::operator+(int8_t) [with short unsigned int SIZE = 50; int8_t = signed char] mString operator + (int8_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:188:13: note: candidate: mString<SIZE> mString<SIZE>::operator+(double) [with short unsigned int SIZE = 50] mString operator + (double value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/examples/demo/demo.ino:113:10: error: ambiguous overload for 'operator=' (operand types are 'mString<50>' and 'int') test = 12; ^~ In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/examples/demo/demo.ino:1:0: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:199:14: note: candidate: mString<SIZE>& mString<SIZE>::operator=(char) [with short unsigned int SIZE = 50] mString& operator = (const char c) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:211:14: note: candidate: mString<SIZE>& mString<SIZE>::operator=(uint32_t) [with short unsigned int SIZE = 50; uint32_t = long unsigned int] mString& operator = (uint32_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:215:14: note: candidate: mString<SIZE>& mString<SIZE>::operator=(int32_t) [with short unsigned int SIZE = 50; int32_t = long int] mString& operator = (int32_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:219:14: note: candidate: mString<SIZE>& mString<SIZE>::operator=(uint16_t) [with short unsigned int SIZE = 50; uint16_t = short unsigned int] mString& operator = (uint16_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:223:14: note: candidate: mString<SIZE>& mString<SIZE>::operator=(int16_t) [with short unsigned int SIZE = 50; int16_t = short int] mString& operator = (int16_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:227:14: note: candidate: mString<SIZE>& mString<SIZE>::operator=(uint8_t) [with short unsigned int SIZE = 50; uint8_t = unsigned char] mString& operator = (uint8_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:231:14: note: candidate: mString<SIZE>& mString<SIZE>::operator=(int8_t) [with short unsigned int SIZE = 50; int8_t = signed char] mString& operator = (int8_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:235:14: note: candidate: mString<SIZE>& mString<SIZE>::operator=(double) [with short unsigned int SIZE = 50] mString& operator = (double value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/examples/demo/demo.ino:114:23: error: ambiguous overload for 'operator==' (operand types are 'mString<50>' and 'int') Serial.println(test == 12); // 1 ~~~~~^~~~~ In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/examples/demo/demo.ino:1:0: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:245:10: note: candidate: bool mString<SIZE>::operator==(char) [with short unsigned int SIZE = 50] bool operator == (const char c) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:251:10: note: candidate: bool mString<SIZE>::operator==(uint32_t) [with short unsigned int SIZE = 50; uint32_t = long unsigned int] bool operator == (uint32_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:255:10: note: candidate: bool mString<SIZE>::operator==(uint16_t) [with short unsigned int SIZE = 50; uint16_t = short unsigned int] bool operator == (uint16_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:259:10: note: candidate: bool mString<SIZE>::operator==(uint8_t) [with short unsigned int SIZE = 50; uint8_t = unsigned char] bool operator == (uint8_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:263:10: note: candidate: bool mString<SIZE>::operator==(int32_t) [with short unsigned int SIZE = 50; int32_t = long int] bool operator == (int32_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:267:10: note: candidate: bool mString<SIZE>::operator==(int16_t) [with short unsigned int SIZE = 50; int16_t = short int] bool operator == (int16_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:271:10: note: candidate: bool mString<SIZE>::operator==(int8_t) [with short unsigned int SIZE = 50; int8_t = signed char] bool operator == (int8_t v
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.
Result: PASS
Sketch uses 8648 bytes (17%) 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.
Result: PASS
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.
Result: FAIL
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/examples/demo/demo.ino: In function 'void setup()': /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/examples/demo/demo.ino:77:34: error: ambiguous overload for 'operator+' (operand types are 'mString<50>' and 'int') test = test + "cheburek" + ',' + 123 + ',' + 3.14; ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/examples/demo/demo.ino:1:0: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:161:13: note: candidate: mString<SIZE> mString<SIZE>::operator+(char) [with short unsigned int SIZE = 50] mString operator + (const char c) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:170:13: note: candidate: mString<SIZE> mString<SIZE>::operator+(uint32_t) [with short unsigned int SIZE = 50; uint32_t = long unsigned int] mString operator + (uint32_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:173:13: note: candidate: mString<SIZE> mString<SIZE>::operator+(int32_t) [with short unsigned int SIZE = 50; int32_t = long int] mString operator + (int32_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:176:13: note: candidate: mString<SIZE> mString<SIZE>::operator+(uint16_t) [with short unsigned int SIZE = 50; uint16_t = short unsigned int] mString operator + (uint16_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:179:13: note: candidate: mString<SIZE> mString<SIZE>::operator+(int16_t) [with short unsigned int SIZE = 50; int16_t = short int] mString operator + (int16_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:182:13: note: candidate: mString<SIZE> mString<SIZE>::operator+(uint8_t) [with short unsigned int SIZE = 50; uint8_t = unsigned char] mString operator + (uint8_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:185:13: note: candidate: mString<SIZE> mString<SIZE>::operator+(int8_t) [with short unsigned int SIZE = 50; int8_t = signed char] mString operator + (int8_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:188:13: note: candidate: mString<SIZE> mString<SIZE>::operator+(double) [with short unsigned int SIZE = 50] mString operator + (double value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/examples/demo/demo.ino:113:10: error: ambiguous overload for 'operator=' (operand types are 'mString<50>' and 'int') test = 12; ^~ In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/examples/demo/demo.ino:1:0: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:199:14: note: candidate: mString<SIZE>& mString<SIZE>::operator=(char) [with short unsigned int SIZE = 50] mString& operator = (const char c) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:211:14: note: candidate: mString<SIZE>& mString<SIZE>::operator=(uint32_t) [with short unsigned int SIZE = 50; uint32_t = long unsigned int] mString& operator = (uint32_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:215:14: note: candidate: mString<SIZE>& mString<SIZE>::operator=(int32_t) [with short unsigned int SIZE = 50; int32_t = long int] mString& operator = (int32_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:219:14: note: candidate: mString<SIZE>& mString<SIZE>::operator=(uint16_t) [with short unsigned int SIZE = 50; uint16_t = short unsigned int] mString& operator = (uint16_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:223:14: note: candidate: mString<SIZE>& mString<SIZE>::operator=(int16_t) [with short unsigned int SIZE = 50; int16_t = short int] mString& operator = (int16_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:227:14: note: candidate: mString<SIZE>& mString<SIZE>::operator=(uint8_t) [with short unsigned int SIZE = 50; uint8_t = unsigned char] mString& operator = (uint8_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:231:14: note: candidate: mString<SIZE>& mString<SIZE>::operator=(int8_t) [with short unsigned int SIZE = 50; int8_t = signed char] mString& operator = (int8_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:235:14: note: candidate: mString<SIZE>& mString<SIZE>::operator=(double) [with short unsigned int SIZE = 50] mString& operator = (double value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/examples/demo/demo.ino:114:23: error: ambiguous overload for 'operator==' (operand types are 'mString<50>' and 'int') Serial.println(test == 12); // 1 ~~~~~^~~~~ In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/examples/demo/demo.ino:1:0: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:245:10: note: candidate: bool mString<SIZE>::operator==(char) [with short unsigned int SIZE = 50] bool operator == (const char c) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:251:10: note: candidate: bool mString<SIZE>::operator==(uint32_t) [with short unsigned int SIZE = 50; uint32_t = long unsigned int] bool operator == (uint32_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:255:10: note: candidate: bool mString<SIZE>::operator==(uint16_t) [with short unsigned int SIZE = 50; uint16_t = short unsigned int] bool operator == (uint16_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:259:10: note: candidate: bool mString<SIZE>::operator==(uint8_t) [with short unsigned int SIZE = 50; uint8_t = unsigned char] bool operator == (uint8_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:263:10: note: candidate: bool mString<SIZE>::operator==(int32_t) [with short unsigned int SIZE = 50; int32_t = long int] bool operator == (int32_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:267:10: note: candidate: bool mString<SIZE>::operator==(int16_t) [with short unsigned int SIZE = 50; int16_t = short int] bool operator == (int16_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:271:10: note: candidate: bool mString<SIZE>::operator==(int8_t) [with short unsigned int SIZE = 50; int8_t = signed char] bool operator == (int8_t value) { ^~~~~~~~ /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/mString/src/mString.h:275:10: note: candidate: bool mString<SIZE>::operator==(float) [with short unsigned int SIZE = 50] bool operator == (float value) { ^~~~~~~~
Result: PASS
Sketch uses 197776 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.
Result: PASS
Sketch uses 212694 bytes (16%) of program storage space. Maximum is 1310720 bytes. Global variables use 13416 bytes (4%) of dynamic memory, leaving 314264 bytes for local variables. Maximum is 327680 bytes.