Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.11.3 doesn't compile with Arduino 1.8.13 #86

Closed
zencow opened this issue Mar 24, 2022 · 2 comments
Closed

Release 1.11.3 doesn't compile with Arduino 1.8.13 #86

zencow opened this issue Mar 24, 2022 · 2 comments

Comments

@zencow
Copy link

zencow commented Mar 24, 2022

  • Arduino board: Adafruit ESP32 Feather

  • Arduino IDE version (found in Arduino -> About Arduino menu): 1.8.13

  • List the steps to reproduce the problem below (if possible attach a sketch or
    copy the sketch code in too): LIST REPRO STEPS BELOW

I just updated this library from Adafruit (among others) and found it does not compile in Arduino or in PlatformIO.
my project has #include <Adafruit_LEDBackpack.h> which depends on Adafruit_BusIO.

Downgrading Adafruit BusIO to 1.11.2 allows me to compile and run my project.

In case it's relevant, I'm also still using arduino-esp32 1.0.4.

I figured this would be adequate to locate the problem, but let me know if you want/need the verbose output. Here are the errors from the Arduino IDE console output:

C:\Users\chris\Documents\Arduino\libraries\Adafruit_BusIO\Adafruit_SPIDevice.cpp: In member function 'bool Adafruit_SPIDevice::write(const uint8_t*, size_t, const uint8_t*, size_t)':
C:\Users\chris\Documents\Arduino\libraries\Adafruit_BusIO\Adafruit_SPIDevice.cpp:310:61: error: invalid conversion from 'const uint8_t* {aka const unsigned char*}' to 'uint8_t* {aka unsigned char*}' [-fpermissive]
       _spi->transferBytes(prefix_buffer, nullptr, prefix_len);
                                                             ^
In file included from C:\Users\chris\Documents\Arduino\libraries\Adafruit_BusIO\Adafruit_SPIDevice.h:9:0,
                 from C:\Users\chris\Documents\Arduino\libraries\Adafruit_BusIO\Adafruit_SPIDevice.cpp:1:
C:\Users\chris\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\SPI\src/SPI.h:73:10: note:   initializing argument 1 of 'void SPIClass::transferBytes(uint8_t*, uint8_t*, uint32_t)'
     void transferBytes(uint8_t * data, uint8_t * out, uint32_t size);
          ^
C:\Users\chris\Documents\Arduino\libraries\Adafruit_BusIO\Adafruit_SPIDevice.cpp:313:47: error: invalid conversion from 'const uint8_t* {aka const unsigned char*}' to 'uint8_t* {aka unsigned char*}' [-fpermissive]
       _spi->transferBytes(buffer, nullptr, len);
                                               ^
In file included from C:\Users\chris\Documents\Arduino\libraries\Adafruit_BusIO\Adafruit_SPIDevice.h:9:0,
                 from C:\Users\chris\Documents\Arduino\libraries\Adafruit_BusIO\Adafruit_SPIDevice.cpp:1:
C:\Users\chris\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\SPI\src/SPI.h:73:10: note:   initializing argument 1 of 'void SPIClass::transferBytes(uint8_t*, uint8_t*, uint32_t)'
     void transferBytes(uint8_t * data, uint8_t * out, uint32_t size);
          ^
C:\Users\chris\Documents\Arduino\libraries\Adafruit_BusIO\Adafruit_SPIDevice.cpp: In member function 'bool Adafruit_SPIDevice::write_then_read(const uint8_t*, size_t, uint8_t*, size_t, uint8_t)':
C:\Users\chris\Documents\Arduino\libraries\Adafruit_BusIO\Adafruit_SPIDevice.cpp:418:59: error: invalid conversion from 'const uint8_t* {aka const unsigned char*}' to 'uint8_t* {aka unsigned char*}' [-fpermissive]
       _spi->transferBytes(write_buffer, nullptr, write_len);
                                                           ^
In file included from C:\Users\chris\Documents\Arduino\libraries\Adafruit_BusIO\Adafruit_SPIDevice.h:9:0,
                 from C:\Users\chris\Documents\Arduino\libraries\Adafruit_BusIO\Adafruit_SPIDevice.cpp:1:
C:\Users\chris\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\SPI\src/SPI.h:73:10: note:   initializing argument 1 of 'void SPIClass::transferBytes(uint8_t*, uint8_t*, uint32_t)'
     void transferBytes(uint8_t * data, uint8_t * out, uint32_t size);
          ^
@yilungao
Copy link
Contributor

Hi, have you tried upgrading arduino-esp32 to the latest version 2.0.2?

In 2.0.2 the esp32 SPI api has changed to the following:
void transferBytes(const uint8_t * data, uint8_t * out, uint32_t size);

@ladyada
Copy link
Member

ladyada commented Mar 25, 2022

we don't support esp32 v1 BSP - only the latest which passes CI fine!

@ladyada ladyada closed this as completed Mar 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants