Skip to content

V2.0.14 Fails to compile for nRF52 MCU #63

Closed
@beegee-tokyo

Description

@beegee-tokyo

Subject of the issue

Compilation for nRF52 BSP fails with error.

Your workbench

Steps to reproduce

Compile any example for any nRF52 board using Adafruit nRF52 Arduino BSP.

Expected behavior

Compilation error should not happen.

Actual behavior

Compilation error

.pio\libdeps\wiscore_rak4631\SparkFun u-blox GNSS Arduino Library\src\SparkFun_u-blox_GNSS_Arduino_Library.cpp: In member function 'sfe_ublox_status_e SFE_UBLOX_GNSS::sendI2cCommand(ubxPacket*, uint16_t)':
.pio\libdeps\wiscore_rak4631\SparkFun u-blox GNSS Arduino Library\src\SparkFun_u-blox_GNSS_Arduino_Library.cpp:2950:55: error: no matching function for call to 'write(uint8_t&, int)'
     _i2cPort->write(outgoingUBX->payload[startSpot], 1); // Thank you @Valrakk #61
                                                       ^
In file included from .pio\libdeps\wiscore_rak4631\SparkFun u-blox GNSS Arduino Library\src\SparkFun_u-blox_GNSS_Arduino_Library.h:52:0,   
                 from .pio\libdeps\wiscore_rak4631\SparkFun u-blox GNSS Arduino Library\src\SparkFun_u-blox_GNSS_Arduino_Library.cpp:43:   
C:\users\rakwireless\.platformio\packages\framework-arduinoadafruitnrf52@1.2100.201028\libraries\Wire/Wire.h:52:12: note: candidate: virtual size_t TwoWire::write(const uint8_t*, size_t) <near match>
     size_t write(const uint8_t * data, size_t quantity);
            ^~~~~
C:\users\rakwireless\.platformio\packages\framework-arduinoadafruitnrf52@1.2100.201028\libraries\Wire/Wire.h:52:12: note:   conversion of argument 1 would be ill-formed:
.pio\libdeps\wiscore_rak4631\SparkFun u-blox GNSS Arduino Library\src\SparkFun_u-blox_GNSS_Arduino_Library.cpp:2950:51: error: invalid conversion from 'uint8_t {aka unsigned char}' to 'const uint8_t* {aka const unsigned char*}' [-fpermissive]
     _i2cPort->write(outgoingUBX->payload[startSpot], 1); // Thank you @Valrakk #61
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
In file included from C:\users\rakwireless\.platformio\packages\framework-arduinoadafruitnrf52@1.2100.201028\cores\nRF5/Stream.h:26:0,     
                 from C:\users\rakwireless\.platformio\packages\framework-arduinoadafruitnrf52@1.2100.201028\cores\nRF5/HardwareSerial.h:25,
                 from C:\users\rakwireless\.platformio\packages\framework-arduinoadafruitnrf52@1.2100.201028\cores\nRF5/Arduino.h:56,      
                 from .pio\libdeps\wiscore_rak4631\SparkFun u-blox GNSS Arduino Library\src\SparkFun_u-blox_GNSS_Arduino_Library.h:47,     
                 from .pio\libdeps\wiscore_rak4631\SparkFun u-blox GNSS Arduino Library\src\SparkFun_u-blox_GNSS_Arduino_Library.cpp:43:   
C:\users\rakwireless\.platformio\packages\framework-arduinoadafruitnrf52@1.2100.201028\cores\nRF5/Print.h:55:12: note: candidate: size_t Print::write(const char*, size_t) <near match>
     size_t write(const char *buffer, size_t size) {
            ^~~~~
C:\users\rakwireless\.platformio\packages\framework-arduinoadafruitnrf52@1.2100.201028\cores\nRF5/Print.h:55:12: note:   conversion of argument 1 would be ill-formed:
.pio\libdeps\wiscore_rak4631\SparkFun u-blox GNSS Arduino Library\src\SparkFun_u-blox_GNSS_Arduino_Library.cpp:2950:51: error: invalid conversion from 'uint8_t {aka unsigned char}' to 'const char*' [-fpermissive]
     _i2cPort->write(outgoingUBX->payload[startSpot], 1); // Thank you @Valrakk #61
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

Switching back to V2.0.13 solves the problem and compilation works without problems.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions