Low level quick digital IO - compatibility matrix

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

Low level quick digital IO

Version: 2.0.0
More details

Compatibility matrix

Board Claims compatibility Inclusion
SameAsBuiltin
arduino:avr:uno
1.8.4
Yes PASS FAIL
arduino:mbed_nano:nanorp2040connect
2.7.2
No ⚠️ PASS FAIL
arduino:megaavr:nona4809
1.8.7
No ⚠️ PASS FAIL
arduino:samd:mkrwifi1010
1.8.12
No ⚠️ PASS FAIL
esp32:esp32:d1_mini32
1.0.6
No ⚠️ PASS FAIL

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/SameAsBuiltin

Result: FAIL

/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/examples/SameAsBuiltin/SameAsBuiltin.ino: In function 'void setup()':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/examples/SameAsBuiltin/SameAsBuiltin.ino:12:2: error: 'PinMode' was not declared in this scope
  PinMode<EfficientPin, OUTPUT>();
  ^~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/examples/SameAsBuiltin/SameAsBuiltin.ino:12:2: note: suggested alternative: 'pinMode'
  PinMode<EfficientPin, OUTPUT>();
  ^~~~~~~
  pinMode
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/examples/SameAsBuiltin/SameAsBuiltin.ino:12:32: error: expected primary-expression before ')' token
  PinMode<EfficientPin, OUTPUT>();
                                ^

arduino:mbed_nano:nanorp2040connect @ 2.7.2

Inclusion

Result: PASS

WARNING: library Low_level_quick_digital_IO claims to run on avr architecture(s) and may be incompatible with your current board which runs on mbed_nano architecture(s).
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/SameAsBuiltin

Result: FAIL

WARNING: library Low_level_quick_digital_IO claims to run on avr architecture(s) and may be incompatible with your current board which runs on mbed_nano architecture(s).
In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/examples/SameAsBuiltin/SameAsBuiltin.ino:1:0:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/src/LowLevelQuickDigitalIO.h: In function 'volatile uint8_t* LowLevelQuickDigitalIO::Internal::GetInputRegister(uint8_t)':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/src/LowLevelQuickDigitalIO.h:9:11: error: 'portInputRegister' was not declared in this scope
    return portInputRegister(digitalPinToPort(PinCode));
           ^~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/src/LowLevelQuickDigitalIO.h:9:11: note: suggested alternative: 'GetInputRegister'
    return portInputRegister(digitalPinToPort(PinCode));
           ^~~~~~~~~~~~~~~~~
           GetInputRegister
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/src/LowLevelQuickDigitalIO.h: In function 'volatile uint8_t* LowLevelQuickDigitalIO::Internal::GetOutputRegister(uint8_t)':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/src/LowLevelQuickDigitalIO.h:13:11: error: 'portOutputRegister' was not declared in this scope
    return portOutputRegister(digitalPinToPort(PinCode));
           ^~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/src/LowLevelQuickDigitalIO.h:13:11: note: suggested alternative: 'GetOutputRegister'
    return portOutputRegister(digitalPinToPort(PinCode));
           ^~~~~~~~~~~~~~~~~~
           GetOutputRegister
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/src/LowLevelQuickDigitalIO.h: In function 'uint8_t LowLevelQuickDigitalIO::Internal::GetMask(uint8_t)':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/src/LowLevelQuickDigitalIO.h:17:11: error: 'digitalPinToBitMask' was not declared in this scope
    return digitalPinToBitMask(PinCode);
           ^~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/src/LowLevelQuickDigitalIO.h:17:11: note: suggested alternative: 'digitalPinToPinName'
    return digitalPinToBitMask(PinCode);
           ^~~~~~~~~~~~~~~~~~~
           digitalPinToPinName
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/examples/SameAsBuiltin/SameAsBuiltin.ino: In function 'void setup()':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/examples/SameAsBuiltin/SameAsBuiltin.ino:12:2: error: 'PinMode' is not a template
  PinMode<EfficientPin, OUTPUT>();
  ^~~~~~~

arduino:megaavr:nona4809 @ 1.8.7

Inclusion

Result: PASS

WARNING: library Low_level_quick_digital_IO claims to run on avr architecture(s) and may be incompatible with your current board which runs on megaavr architecture(s).
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/SameAsBuiltin

Result: FAIL

WARNING: library Low_level_quick_digital_IO claims to run on avr architecture(s) and may be incompatible with your current board which runs on megaavr architecture(s).
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/examples/SameAsBuiltin/SameAsBuiltin.ino: In function 'void setup()':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/examples/SameAsBuiltin/SameAsBuiltin.ino:12:2: error: 'PinMode' is not a template
  PinMode<EfficientPin, OUTPUT>();
  ^~~~~~~

arduino:samd:mkrwifi1010 @ 1.8.12

Inclusion

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

WARNING: library Low_level_quick_digital_IO claims to run on avr architecture(s) and may be incompatible with your current board which runs on samd architecture(s).
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/SameAsBuiltin

Result: FAIL

WARNING: library Low_level_quick_digital_IO claims to run on avr architecture(s) and may be incompatible with your current board which runs on samd architecture(s).
In file included from /home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/cores/arduino/Arduino.h:51:0,
                 from /tmp/arduino-sketch-3AA52000C02D3B31842E96510B2F4FA0/sketch/SameAsBuiltin.ino.cpp:1:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/src/LowLevelQuickDigitalIO.h: In function 'volatile uint8_t* LowLevelQuickDigitalIO::Internal::GetInputRegister(uint8_t)':
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:53:50: error: cannot convert 'volatile uint32_t* {aka volatile long unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in return
 #define portInputRegister(port)  (&(port->IN.reg))
                                                  ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/src/LowLevelQuickDigitalIO.h:9:11: note: in expansion of macro 'portInputRegister'
    return portInputRegister(digitalPinToPort(PinCode));
           ^~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/src/LowLevelQuickDigitalIO.h: In function 'volatile uint8_t* LowLevelQuickDigitalIO::Internal::GetOutputRegister(uint8_t)':
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:52:51: error: cannot convert 'volatile uint32_t* {aka volatile long unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in return
 #define portOutputRegister(port) (&(port->OUT.reg))
                                                   ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/src/LowLevelQuickDigitalIO.h:13:11: note: in expansion of macro 'portOutputRegister'
    return portOutputRegister(digitalPinToPort(PinCode));
           ^~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/examples/SameAsBuiltin/SameAsBuiltin.ino: In function 'void setup()':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/examples/SameAsBuiltin/SameAsBuiltin.ino:12:2: error: 'PinMode' is not a template
  PinMode<EfficientPin, OUTPUT>();
  ^~~~~~~

esp32:esp32:d1_mini32 @ 1.0.6

Inclusion

Result: PASS

WARNING: library Low_level_quick_digital_IO claims to run on avr architecture(s) and may be incompatible with your current board which runs on esp32 architecture(s).
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/SameAsBuiltin

Result: FAIL

WARNING: library Low_level_quick_digital_IO claims to run on avr architecture(s) and may be incompatible with your current board which runs on esp32 architecture(s).
In file included from /tmp/arduino-sketch-3AA52000C02D3B31842E96510B2F4FA0/sketch/SameAsBuiltin.ino.cpp:1:0:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/src/LowLevelQuickDigitalIO.h: In function 'volatile uint8_t* LowLevelQuickDigitalIO::Internal::GetInputRegister(uint8_t)':
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/esp32/hardware/esp32/1.0.6/cores/esp32/Arduino.h:106:91: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in return
 #define portInputRegister(port)     ((volatile uint32_t*)((port)?GPIO_IN1_REG:GPIO_IN_REG))
                                                                                           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/src/LowLevelQuickDigitalIO.h:9:11: note: in expansion of macro 'portInputRegister'
    return portInputRegister(digitalPinToPort(PinCode));
           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/src/LowLevelQuickDigitalIO.h: In function 'volatile uint8_t* LowLevelQuickDigitalIO::Internal::GetOutputRegister(uint8_t)':
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/esp32/hardware/esp32/1.0.6/cores/esp32/Arduino.h:105:93: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in return
 #define portOutputRegister(port)    ((volatile uint32_t*)((port)?GPIO_OUT1_REG:GPIO_OUT_REG))
                                                                                             ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/src/LowLevelQuickDigitalIO.h:13:11: note: in expansion of macro 'portOutputRegister'
    return portOutputRegister(digitalPinToPort(PinCode));
           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/examples/SameAsBuiltin/SameAsBuiltin.ino: In function 'void setup()':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/examples/SameAsBuiltin/SameAsBuiltin.ino:12:2: error: 'PinMode' was not declared in this scope
  PinMode<EfficientPin, OUTPUT>();
  ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Low_level_quick_digital_IO/examples/SameAsBuiltin/SameAsBuiltin.ino:12:32: error: expected primary-expression before ')' token
  PinMode<EfficientPin, OUTPUT>();
                                ^