SoftwareWire - compatibility matrix

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

SoftwareWire

Version: 1.6.0
More details

Compatibility matrix

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

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

Result: PASS

Sketch uses 2532 bytes (7%) of program storage space. Maximum is 32256 bytes.
Global variables use 69 bytes (3%) of dynamic memory, leaving 1979 bytes for local variables. Maximum is 2048 bytes.

examples/StressTest_Master

Result: PASS

Sketch uses 5452 bytes (16%) of program storage space. Maximum is 32256 bytes.
Global variables use 252 bytes (12%) of dynamic memory, leaving 1796 bytes for local variables. Maximum is 2048 bytes.

examples/StressTest_Slave

Result: PASS

Sketch uses 3766 bytes (11%) of program storage space. Maximum is 32256 bytes.
Global variables use 508 bytes (24%) of dynamic memory, leaving 1540 bytes for local variables. Maximum is 2048 bytes.

arduino:mbed_nano:nanorp2040connect @ 2.7.2

Inclusion

Result: FAIL

/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp: In constructor 'SoftwareWire::SoftwareWire(uint8_t, uint8_t, boolean, boolean)':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:130:18: error: 'digitalPinToBitMask' was not declared in this scope
   _sdaBitMask  = digitalPinToBitMask(_sdaPin);
                  ^~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:130:18: note: suggested alternative: 'digitalPinToPinName'
   _sdaBitMask  = digitalPinToBitMask(_sdaPin);
                  ^~~~~~~~~~~~~~~~~~~
                  digitalPinToPinName
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:131:18: error: 'portOutputRegister' was not declared in this scope
   _sdaPortReg  = portOutputRegister(port);
                  ^~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:132:18: error: 'portModeRegister' was not declared in this scope
   _sdaDirReg   = portModeRegister(port);
                  ^~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:132:18: note: suggested alternative: 'register'
   _sdaDirReg   = portModeRegister(port);
                  ^~~~~~~~~~~~~~~~
                  register
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:133:18: error: 'portInputRegister' was not declared in this scope
   _sdaPinReg   = portInputRegister(port);      // PinReg is the input register, not the Arduino pin.
                  ^~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp: In member function 'void SoftwareWire::setClock(uint32_t)':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:438:18: error: 'F_CPU' was not declared in this scope
   _i2cdelay = ( (F_CPU / 32L) / clock );               // The delay in microseconds, '32' is for this code.
                  ^~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp: In member function 'void SoftwareWire::printStatus(arduino::Print&)':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:477:15: error: 'F_CPU' was not declared in this scope
   Ser.println(F_CPU);
               ^~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:523:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaPortReg, HEX);
                           ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:525:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclPortReg, HEX);
                           ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:527:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaDirReg, HEX);
                           ^~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:529:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclDirReg, HEX);
                           ^~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:531:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaPinReg, HEX);
                           ^~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:533:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclPinReg, HEX);
                           ^~~~~~~~~~

examples/Small_example

Result: FAIL

/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp: In constructor 'SoftwareWire::SoftwareWire(uint8_t, uint8_t, boolean, boolean)':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:130:18: error: 'digitalPinToBitMask' was not declared in this scope
   _sdaBitMask  = digitalPinToBitMask(_sdaPin);
                  ^~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:130:18: note: suggested alternative: 'digitalPinToPinName'
   _sdaBitMask  = digitalPinToBitMask(_sdaPin);
                  ^~~~~~~~~~~~~~~~~~~
                  digitalPinToPinName
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:131:18: error: 'portOutputRegister' was not declared in this scope
   _sdaPortReg  = portOutputRegister(port);
                  ^~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:132:18: error: 'portModeRegister' was not declared in this scope
   _sdaDirReg   = portModeRegister(port);
                  ^~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:132:18: note: suggested alternative: 'register'
   _sdaDirReg   = portModeRegister(port);
                  ^~~~~~~~~~~~~~~~
                  register
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:133:18: error: 'portInputRegister' was not declared in this scope
   _sdaPinReg   = portInputRegister(port);      // PinReg is the input register, not the Arduino pin.
                  ^~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp: In member function 'void SoftwareWire::setClock(uint32_t)':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:438:18: error: 'F_CPU' was not declared in this scope
   _i2cdelay = ( (F_CPU / 32L) / clock );               // The delay in microseconds, '32' is for this code.
                  ^~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp: In member function 'void SoftwareWire::printStatus(arduino::Print&)':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:477:15: error: 'F_CPU' was not declared in this scope
   Ser.println(F_CPU);
               ^~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:523:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaPortReg, HEX);
                           ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:525:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclPortReg, HEX);
                           ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:527:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaDirReg, HEX);
                           ^~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:529:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclDirReg, HEX);
                           ^~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:531:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaPinReg, HEX);
                           ^~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:533:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclPinReg, HEX);
                           ^~~~~~~~~~

examples/StressTest_Master

Result: FAIL

In function 'void __static_initialization_and_destruction_0(int, int)',
    inlined from '(static initializers for /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/examples/StressTest_Master/StressTest_Master.ino)' at /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/examples/StressTest_Master/StressTest_Master.ino:113:1:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/examples/StressTest_Master/StressTest_Master.ino:23:28: error: call to 'NinaPin::operator int' declared with attribute error: Change me to a #define
 SoftwareWire myWire( A4, A5);
                            ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/examples/StressTest_Master/StressTest_Master.ino:23:28: error: call to 'NinaPin::operator int' declared with attribute error: Change me to a #define

examples/StressTest_Slave

Result: PASS

Sketch uses 82256 bytes (0%) of program storage space. Maximum is 16777216 bytes.
Global variables use 44268 bytes (16%) of dynamic memory, leaving 226068 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/Small_example

Result: PASS

Sketch uses 2766 bytes (5%) of program storage space. Maximum is 49152 bytes.
Global variables use 82 bytes (1%) of dynamic memory, leaving 6062 bytes for local variables. Maximum is 6144 bytes.

examples/StressTest_Master

Result: PASS

Sketch uses 6237 bytes (12%) of program storage space. Maximum is 49152 bytes.
Global variables use 241 bytes (3%) of dynamic memory, leaving 5903 bytes for local variables. Maximum is 6144 bytes.

examples/StressTest_Slave

Result: PASS

Sketch uses 5510 bytes (11%) of program storage space. Maximum is 49152 bytes.
Global variables use 530 bytes (8%) of dynamic memory, leaving 5614 bytes for local variables. Maximum is 6144 bytes.

arduino:samd:mkrwifi1010 @ 1.8.12

Inclusion

Result: FAIL

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 /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.h:5,
                 from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:62:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp: In constructor 'SoftwareWire::SoftwareWire(uint8_t, uint8_t, boolean, boolean)':
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:49:35: error: invalid conversion from 'PortGroup*' to 'uint8_t {aka unsigned char}' [-fpermissive]
 #define digitalPinToPort(P)      (&(PORT->Group[g_APinDescription[P].ulPort]))
                                  ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:129:10: note: in expansion of macro 'digitalPinToPort'
   port = digitalPinToPort(_sdaPin);
          ^~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:52:41: error: base operand of '->' is not a pointer
 #define portOutputRegister(port) (&(port->OUT.reg))
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:131:18: note: in expansion of macro 'portOutputRegister'
   _sdaPortReg  = portOutputRegister(port);
                  ^~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:54:41: error: base operand of '->' is not a pointer
 #define portModeRegister(port)   (&(port->DIR.reg))
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:132:18: note: in expansion of macro 'portModeRegister'
   _sdaDirReg   = portModeRegister(port);
                  ^~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:53:41: error: base operand of '->' is not a pointer
 #define portInputRegister(port)  (&(port->IN.reg))
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:133:18: note: in expansion of macro 'portInputRegister'
   _sdaPinReg   = portInputRegister(port);      // PinReg is the input register, not the Arduino pin.
                  ^~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:49:35: error: invalid conversion from 'PortGroup*' to 'uint8_t {aka unsigned char}' [-fpermissive]
 #define digitalPinToPort(P)      (&(PORT->Group[g_APinDescription[P].ulPort]))
                                  ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:135:10: note: in expansion of macro 'digitalPinToPort'
   port = digitalPinToPort(_sclPin);
          ^~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:52:41: error: base operand of '->' is not a pointer
 #define portOutputRegister(port) (&(port->OUT.reg))
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:137:18: note: in expansion of macro 'portOutputRegister'
   _sclPortReg  = portOutputRegister(port);
                  ^~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:54:41: error: base operand of '->' is not a pointer
 #define portModeRegister(port)   (&(port->DIR.reg))
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:138:18: note: in expansion of macro 'portModeRegister'
   _sclDirReg   = portModeRegister(port);
                  ^~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:53:41: error: base operand of '->' is not a pointer
 #define portInputRegister(port)  (&(port->IN.reg))
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:139:18: note: in expansion of macro 'portInputRegister'
   _sclPinReg   = portInputRegister(port);
                  ^~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp: In member function 'void SoftwareWire::printStatus(arduino::Print&)':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:523:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaPortReg, HEX);
                           ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:525:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclPortReg, HEX);
                           ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:527:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaDirReg, HEX);
                           ^~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:529:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclDirReg, HEX);
                           ^~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:531:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaPinReg, HEX);
                           ^~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:533:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclPinReg, HEX);
                           ^~~~~~~~~~

examples/Small_example

Result: FAIL

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 /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.h:5,
                 from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:62:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp: In constructor 'SoftwareWire::SoftwareWire(uint8_t, uint8_t, boolean, boolean)':
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:49:35: error: invalid conversion from 'PortGroup*' to 'uint8_t {aka unsigned char}' [-fpermissive]
 #define digitalPinToPort(P)      (&(PORT->Group[g_APinDescription[P].ulPort]))
                                  ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:129:10: note: in expansion of macro 'digitalPinToPort'
   port = digitalPinToPort(_sdaPin);
          ^~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:52:41: error: base operand of '->' is not a pointer
 #define portOutputRegister(port) (&(port->OUT.reg))
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:131:18: note: in expansion of macro 'portOutputRegister'
   _sdaPortReg  = portOutputRegister(port);
                  ^~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:54:41: error: base operand of '->' is not a pointer
 #define portModeRegister(port)   (&(port->DIR.reg))
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:132:18: note: in expansion of macro 'portModeRegister'
   _sdaDirReg   = portModeRegister(port);
                  ^~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:53:41: error: base operand of '->' is not a pointer
 #define portInputRegister(port)  (&(port->IN.reg))
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:133:18: note: in expansion of macro 'portInputRegister'
   _sdaPinReg   = portInputRegister(port);      // PinReg is the input register, not the Arduino pin.
                  ^~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:49:35: error: invalid conversion from 'PortGroup*' to 'uint8_t {aka unsigned char}' [-fpermissive]
 #define digitalPinToPort(P)      (&(PORT->Group[g_APinDescription[P].ulPort]))
                                  ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:135:10: note: in expansion of macro 'digitalPinToPort'
   port = digitalPinToPort(_sclPin);
          ^~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:52:41: error: base operand of '->' is not a pointer
 #define portOutputRegister(port) (&(port->OUT.reg))
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:137:18: note: in expansion of macro 'portOutputRegister'
   _sclPortReg  = portOutputRegister(port);
                  ^~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:54:41: error: base operand of '->' is not a pointer
 #define portModeRegister(port)   (&(port->DIR.reg))
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:138:18: note: in expansion of macro 'portModeRegister'
   _sclDirReg   = portModeRegister(port);
                  ^~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:53:41: error: base operand of '->' is not a pointer
 #define portInputRegister(port)  (&(port->IN.reg))
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:139:18: note: in expansion of macro 'portInputRegister'
   _sclPinReg   = portInputRegister(port);
                  ^~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp: In member function 'void SoftwareWire::printStatus(arduino::Print&)':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:523:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaPortReg, HEX);
                           ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:525:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclPortReg, HEX);
                           ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:527:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaDirReg, HEX);
                           ^~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:529:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclDirReg, HEX);
                           ^~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:531:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaPinReg, HEX);
                           ^~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:533:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclPinReg, HEX);
                           ^~~~~~~~~~

examples/StressTest_Master

Result: FAIL

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 /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.h:5,
                 from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:62:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp: In constructor 'SoftwareWire::SoftwareWire(uint8_t, uint8_t, boolean, boolean)':
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:49:35: error: invalid conversion from 'PortGroup*' to 'uint8_t {aka unsigned char}' [-fpermissive]
 #define digitalPinToPort(P)      (&(PORT->Group[g_APinDescription[P].ulPort]))
                                  ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:129:10: note: in expansion of macro 'digitalPinToPort'
   port = digitalPinToPort(_sdaPin);
          ^~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:52:41: error: base operand of '->' is not a pointer
 #define portOutputRegister(port) (&(port->OUT.reg))
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:131:18: note: in expansion of macro 'portOutputRegister'
   _sdaPortReg  = portOutputRegister(port);
                  ^~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:54:41: error: base operand of '->' is not a pointer
 #define portModeRegister(port)   (&(port->DIR.reg))
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:132:18: note: in expansion of macro 'portModeRegister'
   _sdaDirReg   = portModeRegister(port);
                  ^~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:53:41: error: base operand of '->' is not a pointer
 #define portInputRegister(port)  (&(port->IN.reg))
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:133:18: note: in expansion of macro 'portInputRegister'
   _sdaPinReg   = portInputRegister(port);      // PinReg is the input register, not the Arduino pin.
                  ^~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:49:35: error: invalid conversion from 'PortGroup*' to 'uint8_t {aka unsigned char}' [-fpermissive]
 #define digitalPinToPort(P)      (&(PORT->Group[g_APinDescription[P].ulPort]))
                                  ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:135:10: note: in expansion of macro 'digitalPinToPort'
   port = digitalPinToPort(_sclPin);
          ^~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:52:41: error: base operand of '->' is not a pointer
 #define portOutputRegister(port) (&(port->OUT.reg))
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:137:18: note: in expansion of macro 'portOutputRegister'
   _sclPortReg  = portOutputRegister(port);
                  ^~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:54:41: error: base operand of '->' is not a pointer
 #define portModeRegister(port)   (&(port->DIR.reg))
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:138:18: note: in expansion of macro 'portModeRegister'
   _sclDirReg   = portModeRegister(port);
                  ^~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/arduino/hardware/samd/1.8.12/variants/mkrwifi1010/variant.h:53:41: error: base operand of '->' is not a pointer
 #define portInputRegister(port)  (&(port->IN.reg))
                                         ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:139:18: note: in expansion of macro 'portInputRegister'
   _sclPinReg   = portInputRegister(port);
                  ^~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp: In member function 'void SoftwareWire::printStatus(arduino::Print&)':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:523:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaPortReg, HEX);
                           ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:525:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclPortReg, HEX);
                           ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:527:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaDirReg, HEX);
                           ^~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:529:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclDirReg, HEX);
                           ^~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:531:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaPinReg, HEX);
                           ^~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:533:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclPinReg, HEX);
                           ^~~~~~~~~~

examples/StressTest_Slave

Result: PASS

Sketch uses 14384 bytes (5%) of program storage space. Maximum is 262144 bytes.
Global variables use 3620 bytes (11%) of dynamic memory, leaving 29148 bytes for local variables. Maximum is 32768 bytes.

esp32:esp32:d1_mini32 @ 1.0.6

Inclusion

Result: FAIL

/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp: In constructor 'SoftwareWire::SoftwareWire(uint8_t, uint8_t, boolean, boolean)':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:131:16: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
   _sdaPortReg  = portOutputRegister(port);
                ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:132:16: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
   _sdaDirReg   = portModeRegister(port);
                ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:133:16: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
   _sdaPinReg   = portInputRegister(port);      // PinReg is the input register, not the Arduino pin.
                ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:137:16: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
   _sclPortReg  = portOutputRegister(port);
                ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:138:16: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
   _sclDirReg   = portModeRegister(port);
                ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:139:16: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
   _sclPinReg   = portInputRegister(port);
                ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp: In member function 'void SoftwareWire::printStatus(Print&)':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:523:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaPortReg, HEX);
                           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:525:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclPortReg, HEX);
                           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:527:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaDirReg, HEX);
                           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:529:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclDirReg, HEX);
                           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:531:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaPinReg, HEX);
                           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:533:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclPinReg, HEX);
                           ^

examples/Small_example

Result: FAIL

/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp: In constructor 'SoftwareWire::SoftwareWire(uint8_t, uint8_t, boolean, boolean)':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:131:16: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
   _sdaPortReg  = portOutputRegister(port);
                ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:132:16: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
   _sdaDirReg   = portModeRegister(port);
                ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:133:16: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
   _sdaPinReg   = portInputRegister(port);      // PinReg is the input register, not the Arduino pin.
                ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:137:16: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
   _sclPortReg  = portOutputRegister(port);
                ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:138:16: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
   _sclDirReg   = portModeRegister(port);
                ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:139:16: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
   _sclPinReg   = portInputRegister(port);
                ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp: In member function 'void SoftwareWire::printStatus(Print&)':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:523:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaPortReg, HEX);
                           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:525:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclPortReg, HEX);
                           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:527:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaDirReg, HEX);
                           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:529:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclDirReg, HEX);
                           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:531:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaPinReg, HEX);
                           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:533:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclPinReg, HEX);
                           ^

examples/StressTest_Master

Result: FAIL

/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp: In constructor 'SoftwareWire::SoftwareWire(uint8_t, uint8_t, boolean, boolean)':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:131:16: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
   _sdaPortReg  = portOutputRegister(port);
                ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:132:16: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
   _sdaDirReg   = portModeRegister(port);
                ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:133:16: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
   _sdaPinReg   = portInputRegister(port);      // PinReg is the input register, not the Arduino pin.
                ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:137:16: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
   _sclPortReg  = portOutputRegister(port);
                ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:138:16: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
   _sclDirReg   = portModeRegister(port);
                ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:139:16: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
   _sclPinReg   = portInputRegister(port);
                ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp: In member function 'void SoftwareWire::printStatus(Print&)':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:523:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaPortReg, HEX);
                           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:525:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclPortReg, HEX);
                           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:527:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaDirReg, HEX);
                           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:529:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclDirReg, HEX);
                           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:531:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sdaPinReg, HEX);
                           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/SoftwareWire.cpp:533:27: error: cast from 'volatile uint8_t* {aka volatile unsigned char*}' to 'uint16_t {aka short unsigned int}' loses precision [-fpermissive]
   Ser.println( (uint16_t) _sclPinReg, HEX);
                           ^

examples/StressTest_Slave

Result: FAIL

/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/examples/StressTest_Slave/StressTest_Slave.ino: In function 'void requestEvent()':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/examples/StressTest_Slave/StressTest_Slave.ino:92:34: error: invalid conversion from 'char*' to 'const uint8_t* {aka const unsigned char*}' [-fpermissive]
   Wire.write(TXbuf, sizeof(TXbuf));
                                  ^
In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/SoftwareWire/examples/StressTest_Slave/StressTest_Slave.ino:5:0:
/home/ec2-user/arduino-testlib/cli-datadir/data/packages/esp32/hardware/esp32/1.0.6/libraries/Wire/src/Wire.h:106:12: note:   initializing argument 1 of 'virtual size_t TwoWire::write(const uint8_t*, size_t)'
     size_t write(const uint8_t *, size_t);
            ^