Skip to content

Undeclared identifiers digitalPinToPort and digitalPinToBitMask #193

Closed
@jgfoster

Description

@jgfoster

When adding Arduino CI to Adafruit_BusIO we get the following output:

Located Arduino binary...                              /Applications/Arduino.app
The set of compilers (1) isn't empty...                                        ✓
Checking g++ version... 
    Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
    Apple clang version 12.0.0 (clang-1200.0.32.21)
    Target: x86_64-apple-darwin19.6.0
    Thread model: posix
    InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
...Checking g++ version                                                        ✓
libasan availability for g++...                                             true
Requested unittest platform 'mega2560' is defined in 'platforms' YML...        ✓
Library conforms to Arduino library specification...                         1.5
Unit testing test.cpp with g++... 

Last command:  $ g++ -std=c++0x -o /Users/jfoster/Documents/Arduino/libraries/Adafruit_BusIO/unittest_test.cpp.bin -DARDUINO=100 -D__AVR__ -g -O1 -fno-omit-frame-pointer -fno-optimize-sibling-calls -fsanitize=address -D__AVR_ATmega2560__ -DARDUINO_CI -I/Users/jfoster/Documents/Arduino/libraries/Adafruit_BusIO/vendor/bundle/ruby/2.6.0/bundler/gems/arduino_ci-334b7aa377c8/cpp/arduino -I/Users/jfoster/Documents/Arduino/libraries/Adafruit_BusIO/vendor/bundle/ruby/2.6.0/bundler/gems/arduino_ci-334b7aa377c8/cpp/unittest -I/Users/jfoster/Documents/Arduino/libraries/Adafruit_BusIO/src /Users/jfoster/Documents/Arduino/libraries/Adafruit_BusIO/vendor/bundle/ruby/2.6.0/bundler/gems/arduino_ci-334b7aa377c8/cpp/arduino/Arduino.cpp /Users/jfoster/Documents/Arduino/libraries/Adafruit_BusIO/vendor/bundle/ruby/2.6.0/bundler/gems/arduino_ci-334b7aa377c8/cpp/arduino/Godmode.cpp /Users/jfoster/Documents/Arduino/libraries/Adafruit_BusIO/vendor/bundle/ruby/2.6.0/bundler/gems/arduino_ci-334b7aa377c8/cpp/arduino/stdlib.cpp /Users/jfoster/Documents/Arduino/libraries/Adafruit_BusIO/vendor/bundle/ruby/2.6.0/bundler/gems/arduino_ci-334b7aa377c8/cpp/unittest/ArduinoUnitTests.cpp /Users/jfoster/Documents/Arduino/libraries/Adafruit_BusIO/src/Adafruit_BusIO_Register.cpp /Users/jfoster/Documents/Arduino/libraries/Adafruit_BusIO/src/Adafruit_I2CDevice.cpp /Users/jfoster/Documents/Arduino/libraries/Adafruit_BusIO/src/Adafruit_SPIDevice.cpp /Users/jfoster/Documents/Arduino/libraries/Adafruit_BusIO/test/test.cpp

/Users/jfoster/Documents/Arduino/libraries/Adafruit_BusIO/src/Adafruit_SPIDevice.cpp:51:48: error: use of undeclared identifier 'digitalPinToPort'
  csPort = (BusIO_PortReg *)portOutputRegister(digitalPinToPort(cspin));
                                               ^
/Users/jfoster/Documents/Arduino/libraries/Adafruit_BusIO/src/Adafruit_SPIDevice.cpp:52:15: error: use of undeclared identifier 'digitalPinToBitMask'
  csPinMask = digitalPinToBitMask(cspin);
              ^
/Users/jfoster/Documents/Arduino/libraries/Adafruit_BusIO/src/Adafruit_SPIDevice.cpp:54:52: error: use of undeclared identifier 'digitalPinToPort'
    mosiPort = (BusIO_PortReg *)portOutputRegister(digitalPinToPort(mosipin));
                                                   ^
/Users/jfoster/Documents/Arduino/libraries/Adafruit_BusIO/src/Adafruit_SPIDevice.cpp:55:19: error: use of undeclared identifier 'digitalPinToBitMask'
    mosiPinMask = digitalPinToBitMask(mosipin);
                  ^
/Users/jfoster/Documents/Arduino/libraries/Adafruit_BusIO/src/Adafruit_SPIDevice.cpp:58:51: error: use of undeclared identifier 'digitalPinToPort'
    misoPort = (BusIO_PortReg *)portInputRegister(digitalPinToPort(misopin));
                                                  ^
/Users/jfoster/Documents/Arduino/libraries/Adafruit_BusIO/src/Adafruit_SPIDevice.cpp:59:19: error: use of undeclared identifier 'digitalPinToBitMask'
    misoPinMask = digitalPinToBitMask(misopin);
                  ^
/Users/jfoster/Documents/Arduino/libraries/Adafruit_BusIO/src/Adafruit_SPIDevice.cpp:61:49: error: use of undeclared identifier 'digitalPinToPort'
  clkPort = (BusIO_PortReg *)portOutputRegister(digitalPinToPort(sckpin));
                                                ^
/Users/jfoster/Documents/Arduino/libraries/Adafruit_BusIO/src/Adafruit_SPIDevice.cpp:62:16: error: use of undeclared identifier 'digitalPinToBitMask'
  clkPinMask = digitalPinToBitMask(sckpin);
               ^
8 errors generated.
...Unit testing test.cpp with g++                                              ✗
Skipping compilation of examples...                as requested via command line
Failures: 1

Are these things that should be part of the mock Arduino?

Metadata

Metadata

Assignees

No one assigned

    Labels

    arduino mocksCompilation mocks for the Arduino librarybugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions