Encoder - compatibility matrix

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

Encoder

Version: 1.4.2
More details

Compatibility matrix

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

Compilation logs

arduino:avr:uno @ 1.8.4

Inclusion

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.

examples/Basic

Result: PASS

Sketch uses 2488 bytes (7%) of program storage space. Maximum is 32256 bytes.
Global variables use 232 bytes (11%) of dynamic memory, leaving 1816 bytes for local variables. Maximum is 2048 bytes.

examples/NoInterrupts

Result: PASS

Sketch uses 2282 bytes (7%) of program storage space. Maximum is 32256 bytes.
Global variables use 227 bytes (11%) of dynamic memory, leaving 1821 bytes for local variables. Maximum is 2048 bytes.

examples/SpeedTest

Result: PASS

Sketch uses 1236 bytes (3%) of program storage space. Maximum is 32256 bytes.
Global variables use 29 bytes (1%) of dynamic memory, leaving 2019 bytes for local variables. Maximum is 2048 bytes.

examples/TwoKnobs

Result: PASS

Sketch uses 2818 bytes (8%) of program storage space. Maximum is 32256 bytes.
Global variables use 294 bytes (14%) of dynamic memory, leaving 1754 bytes for local variables. Maximum is 2048 bytes.

arduino:mbed_nano:nanorp2040connect @ 2.7.2

Inclusion

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:46:0,
                 from /tmp/arduino-testlib2140385101/test/test.ino:1:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/utility/interrupt_pins.h:334:2: error: #error "Interrupts are unknown for this board, please add to this code"
 #error "Interrupts are unknown for this board, please add to this code"
  ^~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/utility/interrupt_pins.h:337:2: error: #error "Encoder requires interrupt pins, but this board does not have any :("
 #error "Encoder requires interrupt pins, but this board does not have any :("
  ^~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/utility/interrupt_pins.h:338:2: error: #error "You could try defining ENCODER_DO_NOT_USE_INTERRUPTS as a kludge."
 #error "You could try defining ENCODER_DO_NOT_USE_INTERRUPTS as a kludge."
  ^~~~~
Multiple libraries were found for "Encoder.h"
  Used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/MINDSi
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RobotLib
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/BitkitRobit
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/MKRMotorCarrier
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/OneSystemLibrary
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/ArduinoMotorCarrier

examples/Basic

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:46:0,
                 from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/examples/Basic/Basic.pde:7:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/utility/interrupt_pins.h:334:2: error: #error "Interrupts are unknown for this board, please add to this code"
 #error "Interrupts are unknown for this board, please add to this code"
  ^~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/utility/interrupt_pins.h:337:2: error: #error "Encoder requires interrupt pins, but this board does not have any :("
 #error "Encoder requires interrupt pins, but this board does not have any :("
  ^~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/utility/interrupt_pins.h:338:2: error: #error "You could try defining ENCODER_DO_NOT_USE_INTERRUPTS as a kludge."
 #error "You could try defining ENCODER_DO_NOT_USE_INTERRUPTS as a kludge."
  ^~~~~
Multiple libraries were found for "Encoder.h"
  Used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/BitkitRobit
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/MINDSi
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RobotLib
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/OneSystemLibrary
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/MKRMotorCarrier
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/ArduinoMotorCarrier

examples/NoInterrupts

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/examples/NoInterrupts/NoInterrupts.pde:14:0:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:61:11: error: 'IO_REG_TYPE' does not name a type
  volatile IO_REG_TYPE * pin1_register;
           ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:62:11: error: 'IO_REG_TYPE' does not name a type
  volatile IO_REG_TYPE * pin2_register;
           ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:63:2: error: 'IO_REG_TYPE' does not name a type
  IO_REG_TYPE            pin1_bitmask;
  ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:64:2: error: 'IO_REG_TYPE' does not name a type
  IO_REG_TYPE            pin2_bitmask;
  ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h: In constructor 'Encoder::Encoder(uint8_t, uint8_t)':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:82:11: error: 'struct Encoder_internal_state_t' has no member named 'pin1_register'
   encoder.pin1_register = PIN_TO_BASEREG(pin1);
           ^~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:82:27: error: 'PIN_TO_BASEREG' was not declared in this scope
   encoder.pin1_register = PIN_TO_BASEREG(pin1);
                           ^~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:82:27: note: suggested alternative: 'PIO1_BASE'
   encoder.pin1_register = PIN_TO_BASEREG(pin1);
                           ^~~~~~~~~~~~~~
                           PIO1_BASE
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:83:11: error: 'struct Encoder_internal_state_t' has no member named 'pin1_bitmask'
   encoder.pin1_bitmask = PIN_TO_BITMASK(pin1);
           ^~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:83:26: error: 'PIN_TO_BITMASK' was not declared in this scope
   encoder.pin1_bitmask = PIN_TO_BITMASK(pin1);
                          ^~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:83:26: note: suggested alternative: 'PWM_EN_BITS'
   encoder.pin1_bitmask = PIN_TO_BITMASK(pin1);
                          ^~~~~~~~~~~~~~
                          PWM_EN_BITS
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:84:11: error: 'struct Encoder_internal_state_t' has no member named 'pin2_register'
   encoder.pin2_register = PIN_TO_BASEREG(pin2);
           ^~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:85:11: error: 'struct Encoder_internal_state_t' has no member named 'pin2_bitmask'
   encoder.pin2_bitmask = PIN_TO_BITMASK(pin2);
           ^~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:92:31: error: 'struct Encoder_internal_state_t' has no member named 'pin1_register'
   if (DIRECT_PIN_READ(encoder.pin1_register, encoder.pin1_bitmask)) s |= 1;
                               ^~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:92:54: error: 'struct Encoder_internal_state_t' has no member named 'pin1_bitmask'
   if (DIRECT_PIN_READ(encoder.pin1_register, encoder.pin1_bitmask)) s |= 1;
                                                      ^~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:92:7: error: 'DIRECT_PIN_READ' was not declared in this scope
   if (DIRECT_PIN_READ(encoder.pin1_register, encoder.pin1_bitmask)) s |= 1;
       ^~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:93:31: error: 'struct Encoder_internal_state_t' has no member named 'pin2_register'
   if (DIRECT_PIN_READ(encoder.pin2_register, encoder.pin2_bitmask)) s |= 2;
                               ^~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:93:54: error: 'struct Encoder_internal_state_t' has no member named 'pin2_bitmask'
   if (DIRECT_PIN_READ(encoder.pin2_register, encoder.pin2_bitmask)) s |= 2;
                                                      ^~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:93:7: error: 'DIRECT_PIN_READ' was not declared in this scope
   if (DIRECT_PIN_READ(encoder.pin2_register, encoder.pin2_bitmask)) s |= 2;
       ^~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h: In static member function 'static void Encoder::update(Encoder_internal_state_t*)':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:292:40: error: 'struct Encoder_internal_state_t' has no member named 'pin1_register'
   uint8_t p1val = DIRECT_PIN_READ(arg->pin1_register, arg->pin1_bitmask);
                                        ^~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:292:60: error: 'struct Encoder_internal_state_t' has no member named 'pin1_bitmask'
   uint8_t p1val = DIRECT_PIN_READ(arg->pin1_register, arg->pin1_bitmask);
                                                            ^~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:292:19: error: 'DIRECT_PIN_READ' was not declared in this scope
   uint8_t p1val = DIRECT_PIN_READ(arg->pin1_register, arg->pin1_bitmask);
                   ^~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:293:40: error: 'struct Encoder_internal_state_t' has no member named 'pin2_register'
   uint8_t p2val = DIRECT_PIN_READ(arg->pin2_register, arg->pin2_bitmask);
                                        ^~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:293:60: error: 'struct Encoder_internal_state_t' has no member named 'pin2_bitmask'
   uint8_t p2val = DIRECT_PIN_READ(arg->pin2_register, arg->pin2_bitmask);
                                                            ^~~~~~~~~~~~
Multiple libraries were found for "Encoder.h"
  Used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/OneSystemLibrary
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/MKRMotorCarrier
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/ArduinoMotorCarrier
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RobotLib
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/BitkitRobit
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/MINDSi

examples/SpeedTest

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:46:0,
                 from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/examples/SpeedTest/SpeedTest.pde:39:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/utility/interrupt_pins.h:334:2: error: #error "Interrupts are unknown for this board, please add to this code"
 #error "Interrupts are unknown for this board, please add to this code"
  ^~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/utility/interrupt_pins.h:337:2: error: #error "Encoder requires interrupt pins, but this board does not have any :("
 #error "Encoder requires interrupt pins, but this board does not have any :("
  ^~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/utility/interrupt_pins.h:338:2: error: #error "You could try defining ENCODER_DO_NOT_USE_INTERRUPTS as a kludge."
 #error "You could try defining ENCODER_DO_NOT_USE_INTERRUPTS as a kludge."
  ^~~~~
Multiple libraries were found for "Encoder.h"
  Used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/MKRMotorCarrier
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/BitkitRobit
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/OneSystemLibrary
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RobotLib
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/MINDSi
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/ArduinoMotorCarrier

examples/TwoKnobs

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/Encoder.h:46:0,
                 from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/examples/TwoKnobs/TwoKnobs.pde:7:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/utility/interrupt_pins.h:334:2: error: #error "Interrupts are unknown for this board, please add to this code"
 #error "Interrupts are unknown for this board, please add to this code"
  ^~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/utility/interrupt_pins.h:337:2: error: #error "Encoder requires interrupt pins, but this board does not have any :("
 #error "Encoder requires interrupt pins, but this board does not have any :("
  ^~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/utility/interrupt_pins.h:338:2: error: #error "You could try defining ENCODER_DO_NOT_USE_INTERRUPTS as a kludge."
 #error "You could try defining ENCODER_DO_NOT_USE_INTERRUPTS as a kludge."
  ^~~~~
Multiple libraries were found for "Encoder.h"
  Used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/ArduinoMotorCarrier
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RobotLib
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/MINDSi
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/BitkitRobit
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/MKRMotorCarrier
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/OneSystemLibrary

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

Result: PASS

Sketch uses 4233 bytes (8%) of program storage space. Maximum is 49152 bytes.
Global variables use 429 bytes (6%) of dynamic memory, leaving 5715 bytes for local variables. Maximum is 6144 bytes.

examples/NoInterrupts

Result: PASS

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

examples/SpeedTest

Result: PASS

Sketch uses 2498 bytes (5%) of program storage space. Maximum is 49152 bytes.
Global variables use 270 bytes (4%) of dynamic memory, leaving 5874 bytes for local variables. Maximum is 6144 bytes.

examples/TwoKnobs

Result: PASS

Sketch uses 4666 bytes (9%) of program storage space. Maximum is 49152 bytes.
Global variables use 445 bytes (7%) of dynamic memory, leaving 5699 bytes for local variables. Maximum is 6144 bytes.

arduino:samd:mkrwifi1010 @ 1.8.12

Inclusion

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.

examples/Basic

Result: PASS

Sketch uses 13212 bytes (5%) of program storage space. Maximum is 262144 bytes.
Global variables use 3292 bytes (10%) of dynamic memory, leaving 29476 bytes for local variables. Maximum is 32768 bytes.

examples/NoInterrupts

Result: PASS

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

examples/SpeedTest

Result: PASS

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

examples/TwoKnobs

Result: PASS

Sketch uses 14388 bytes (5%) of program storage space. Maximum is 262144 bytes.
Global variables use 3336 bytes (10%) of dynamic memory, leaving 29432 bytes for local variables. Maximum is 32768 bytes.

esp32:esp32:d1_mini32 @ 1.0.6

Inclusion

Result: PASS

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

examples/Basic

Result: PASS

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

examples/NoInterrupts

Result: PASS

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

examples/SpeedTest

Result: FAIL

In file included from /tmp/arduino-sketch-D7CBE18288923B556B7984FDBA64B42F/sketch/SpeedTest.pde.cpp:1:0:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/examples/SpeedTest/SpeedTest.pde: In function 'void loop()':
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/esp32/hardware/esp32/1.0.6/cores/esp32/Arduino.h:105:93: error: invalid conversion from 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile long unsigned int*' [-fpermissive]
 #define portOutputRegister(port)    ((volatile uint32_t*)((port)?GPIO_OUT1_REG:GPIO_OUT_REG))
                                                                                             ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder/examples/SpeedTest/SpeedTest.pde:101:27: note: in expansion of macro 'portOutputRegister'
   volatile REGTYPE *reg = portOutputRegister(digitalPinToPort(outputPin));
                           ^
Multiple libraries were found for "Encoder.h"
  Used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Encoder
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/MKRMotorCarrier
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/MINDSi
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/BitkitRobit
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/OneSystemLibrary
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/ArduinoMotorCarrier
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/RobotLib

examples/TwoKnobs

Result: PASS

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