Adafruit KB2040 Arduiino Compiler error : "conflicting declaration" #2927
Replies: 1 comment 4 replies
-
Looks like it's up to you, but it shouldn't be too bad. The SDK exports But, actually, the good news is that there is no need for that library at all. The core already supports the WINC1500 with a built-in driver. You need to set some defines in your Arduino boards.local.txt file, but once that's done it works just like all the other WiFi and wired Ethernet devices. See File->Examples->lwip_WINC1500->WiFiClient-WINC sketch which lists the required definitions. |
Beta Was this translation helpful? Give feedback.
-
Hi,
With the Arduino IDE I'm getting a "conflicting declaration" compiler error for : enable_interrupts()
I'm working with the following:
Windows 10
Arduino IDE 2.3.6
KB2040 : www.adafruit.com/product/5302
KB2040 Learn Guide : learn.adafruit.com/adafruit-kb2040
WiFi Breakout : www.adafruit.com/product/2999
WiFi Learn Guide : learn.adafruit.com/adafruit-atwinc1500-wifi-module-breakout/wiring-and-test
The KB2040 Learn Guide says that the RP2040 board support is by Earle Philhower:
github.com/earlephilhower/arduino-pico
The rp2040 version is 4.5.2
In the Arduino IDE I installed the WiFi101 library.
The example code that I am using is : CheckWifi101Firmware
Compiling results in this error message:
It is complaining about seeing two definitions for : enable_interrupt()
The first definition is in nmasic.h
c:\WFF\Projects-KB2040\libraries\WiFi101\src/driver/source/nmasic.h
sint8 enable_interrupts(void);
It is returning a signed, 8 bit integer with a value from -127 to +127.
It is located in the "libraries" folder which was created when I installed WiFi101. Apparently the install process places the "libraries" folder in the Arduino IDE "sketch book folder".
nmasic.h is related to the WiFi101 library.
The enable_interrupt() code is in this file:
The comments in nmasic.h say:
The second definition is in synch.h
C:\Users\tilt\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\4.5.1\pico-sdk\src\rp2_common\hardware_sync\include\hardware*synch.h*
__force_inline static void enable_interrupts(void)
It doesn't return a value.
The comments in synch.h say:
Question: Do Atmel and Raspberry PI have to agree on a definition or is there something I can do?
Thanks,
Bill
Beta Was this translation helpful? Give feedback.
All reactions