I have a project that was compiling fine a few months ago. I’ve just returned to the project and updated ~/esp and ~/.espressif. I’m now getting the above errors as well as other errors about the libraries I’m including. Here is my platformio.ini file:
[platformio]
; src_dir = main
description = Monitor Battery Drain
[env:stable]
platform = espressif8266
board = esp_wroom_02
framework = esp8266-rtos-sdk
; lib_ldf_mode = deep+
lib_compat_mode = off
lib_deps =
h2zero/NimBLE-Arduino@^1.3.7
adafruit/Adafruit INA219@^1.1.1
here is the compile output:
> Executing task in folder PowerMeter: platformio run <
Processing stable (platform: espressif8266; board: esp_wroom_02; framework: esp8266-rtos-sdk)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/esp_wroom_02.html
PLATFORM: Espressif 8266 (3.2.0) > ESP-WROOM-02
HARDWARE: ESP8266 80MHz, 80KB RAM, 2MB Flash
PACKAGES:
- framework-esp8266-rtos-sdk 1.5.0-beta.5
- tool-esptool 1.413.0 (4.13)
- tool-esptoolpy 1.30000.201119 (3.0.0)
- toolchain-xtensa 1.40802.0 (4.8.2)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ off
Found 6 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <NimBLE-Arduino> 1.3.7
|-- <Adafruit INA219> 1.1.1
| |-- <Adafruit BusIO> 1.11.1
Building in release mode
Compiling .pio/build/stable/src/ble.o
Compiling .pio/build/stable/src/main.o
Compiling .pio/build/stable/src/power.o
Compiling .pio/build/stable/lib747/NimBLE-Arduino/NimBLE2904.o
Compiling .pio/build/stable/lib747/NimBLE-Arduino/NimBLEAddress.o
src/main.cpp:8:21: fatal error: Arduino.h: No such file or directory
*****************************************************************
* Looking for Arduino.h dependency? Check our library registry!
*
* CLI > platformio lib search "header:Arduino.h"
* Web > https://registry.platformio.org/search?q=header:Arduino.h
*
*****************************************************************
#include <Arduino.h>
^
In file included from src/power.cpp:4:0:
.pio/libdeps/stable/Adafruit INA219/Adafruit_INA219.h:20:21: fatal error: Arduino.h: No such file or directory
*****************************************************************
* Looking for Arduino.h dependency? Check our library registry!
*
* CLI > platformio lib search "header:Arduino.h"
* Web > https://registry.platformio.org/search?q=header:Arduino.h
*
*****************************************************************
#include "Arduino.h"
^
compilation terminated.
compilation terminated.
In file included from .pio/libdeps/stable/NimBLE-Arduino/src/NimBLEDevice.h:20:0,
from src/ble.cpp:11:
.pio/libdeps/stable/NimBLE-Arduino/src/nimconfig.h:100:0: warning: "CONFIG_BT_NIMBLE_ROLE_CENTRAL" redefined [enabled by default]
#define CONFIG_BT_NIMBLE_ROLE_CENTRAL
^
In file included from .pio/libdeps/stable/NimBLE-Arduino/src/NimBLEDevice.h:17:0,
from src/ble.cpp:11:
include/sdkconfig.h:108:0: note: this is the location of the previous definition
#define CONFIG_BT_NIMBLE_ROLE_CENTRAL 1
^
In file included from .pio/libdeps/stable/NimBLE-Arduino/src/NimBLEDevice.h:20:0,
from src/ble.cpp:11:
.pio/libdeps/stable/NimBLE-Arduino/src/nimconfig.h:104:0: warning: "CONFIG_BT_NIMBLE_ROLE_OBSERVER" redefined [enabled by default]
#define CONFIG_BT_NIMBLE_ROLE_OBSERVER
^
In file included from .pio/libdeps/stable/NimBLE-Arduino/src/NimBLEDevice.h:17:0,
from src/ble.cpp:11:
include/sdkconfig.h:111:0: note: this is the location of the previous definition
#define CONFIG_BT_NIMBLE_ROLE_OBSERVER 1
^
In file included from .pio/libdeps/stable/NimBLE-Arduino/src/NimBLEDevice.h:20:0,
from src/ble.cpp:11:
.pio/libdeps/stable/NimBLE-Arduino/src/nimconfig.h:108:0: warning: "CONFIG_BT_NIMBLE_ROLE_PERIPHERAL" redefined [enabled by default]
#define CONFIG_BT_NIMBLE_ROLE_PERIPHERAL
^
In file included from .pio/libdeps/stable/NimBLE-Arduino/src/NimBLEDevice.h:17:0,
from src/ble.cpp:11:
include/sdkconfig.h:109:0: note: this is the location of the previous definition
#define CONFIG_BT_NIMBLE_ROLE_PERIPHERAL 1
^
In file included from .pio/libdeps/stable/NimBLE-Arduino/src/NimBLEDevice.h:20:0,
from src/ble.cpp:11:
.pio/libdeps/stable/NimBLE-Arduino/src/nimconfig.h:112:0: warning: "CONFIG_BT_NIMBLE_ROLE_BROADCASTER" redefined [enabled by default]
#define CONFIG_BT_NIMBLE_ROLE_BROADCASTER
^
In file included from .pio/libdeps/stable/NimBLE-Arduino/src/NimBLEDevice.h:17:0,
from src/ble.cpp:11:
include/sdkconfig.h:110:0: note: this is the location of the previous definition
#define CONFIG_BT_NIMBLE_ROLE_BROADCASTER 1
^
In file included from .pio/libdeps/stable/NimBLE-Arduino/src/NimBLEDevice.h:20:0,
from src/ble.cpp:11:
.pio/libdeps/stable/NimBLE-Arduino/src/nimconfig.h:173:0: warning: "CONFIG_BT_NIMBLE_ACL_BUF_COUNT" redefined [enabled by default]
#define CONFIG_BT_NIMBLE_ACL_BUF_COUNT 12
^
In file included from .pio/libdeps/stable/NimBLE-Arduino/src/NimBLEDevice.h:17:0,
from src/ble.cpp:11:
include/sdkconfig.h:119:0: note: this is the location of the previous definition
#define CONFIG_BT_NIMBLE_ACL_BUF_COUNT 20
^
Compiling .pio/build/stable/lib747/NimBLE-Arduino/NimBLEAdvertisedDevice.o
In file included from .pio/libdeps/stable/NimBLE-Arduino/src/nimble/nimble_npl.h:54:0,
Compiling .pio/build/stable/lib747/NimBLE-Arduino/NimBLEAdvertising.o
from .pio/libdeps/stable/NimBLE-Arduino/src/os/os.h:38,
from .pio/libdeps/stable/NimBLE-Arduino/src/nimble/ble.h:26,
from .pio/libdeps/stable/NimBLE-Arduino/src/NimBLEAddress.h:20,
from .pio/libdeps/stable/NimBLE-Arduino/src/NimBLEAdvertisedDevice.h:23,
from .pio/libdeps/stable/NimBLE-Arduino/src/NimBLEScan.h:22,
from .pio/libdeps/stable/NimBLE-Arduino/src/NimBLEDevice.h:23,
from src/ble.cpp:11:
.pio/libdeps/stable/NimBLE-Arduino/src/nimble/nimble_npl_os.h:313:39: error: macro "portENTER_CRITICAL" passed 1 arguments, but takes just 0
portENTER_CRITICAL(&ble_port_mutex);
^
.pio/libdeps/stable/NimBLE-Arduino/src/nimble/nimble_npl_os.h:320:38: error: macro "portEXIT_CRITICAL" passed 1 arguments, but takes just 0
portEXIT_CRITICAL(&ble_port_mutex);
^
.pio/libdeps/stable/NimBLE-Arduino/src/NimBLE2904.cpp:19:23: fatal error: sdkconfig.h: No such file or directory
*******************************************************************
* Looking for sdkconfig.h dependency? Check our library registry!
*
* CLI > platformio lib search "header:sdkconfig.h"
* Web > https://registry.platformio.org/search?q=header:sdkconfig.h
*
*******************************************************************
#include "sdkconfig.h"
^
compilation terminated.
*** [.pio/build/stable/src/main.o] Error 1
*** [.pio/build/stable/src/power.o] Error 1
*** [.pio/build/stable/lib747/NimBLE-Arduino/NimBLE2904.o] Error 1
Compiling .pio/build/stable/lib747/NimBLE-Arduino/NimBLEBeacon.o
.pio/libdeps/stable/NimBLE-Arduino/src/NimBLEAddress.cpp:14:23: fatal error: sdkconfig.h: No such file or directory
*******************************************************************
* Looking for sdkconfig.h dependency? Check our library registry!
*
* CLI > platformio lib search "header:sdkconfig.h"
* Web > https://registry.platformio.org/search?q=header:sdkconfig.h
*
*******************************************************************
#include "sdkconfig.h"
^
compilation terminated.
*** [.pio/build/stable/lib747/NimBLE-Arduino/NimBLEAddress.o] Error 1
.pio/libdeps/stable/NimBLE-Arduino/src/NimBLEAdvertisedDevice.cpp:14:23: fatal error: sdkconfig.h: No such file or directory
*******************************************************************
* Looking for sdkconfig.h dependency? Check our library registry!
*
* CLI > platformio lib search "header:sdkconfig.h"
* Web > https://registry.platformio.org/search?q=header:sdkconfig.h
*
*******************************************************************
#include "sdkconfig.h"
^
compilation terminated.
*** [.pio/build/stable/lib747/NimBLE-Arduino/NimBLEAdvertisedDevice.o] Error 1
In file included from src/ble.cpp:11:0:
.pio/libdeps/stable/NimBLE-Arduino/src/NimBLEDevice.h:42:20: fatal error: esp_bt.h: No such file or directory
****************************************************************
* Looking for esp_bt.h dependency? Check our library registry!
*
* CLI > platformio lib search "header:esp_bt.h"
* Web > https://registry.platformio.org/search?q=header:esp_bt.h
*
****************************************************************
#include "esp_bt.h"
^
compilation terminated.
*** [.pio/build/stable/src/ble.o] Error 1
.pio/libdeps/stable/NimBLE-Arduino/src/NimBLEAdvertising.cpp:16:23: fatal error: sdkconfig.h: No such file or directory
*******************************************************************
* Looking for sdkconfig.h dependency? Check our library registry!
*
* CLI > platformio lib search "header:sdkconfig.h"
* Web > https://registry.platformio.org/search?q=header:sdkconfig.h
*
*******************************************************************
#include "sdkconfig.h"
^
compilation terminated.
*** [.pio/build/stable/lib747/NimBLE-Arduino/NimBLEAdvertising.o] Error 1
.pio/libdeps/stable/NimBLE-Arduino/src/NimBLEBeacon.cpp:14:23: fatal error: sdkconfig.h: No such file or directory
*******************************************************************
* Looking for sdkconfig.h dependency? Check our library registry!
*
* CLI > platformio lib search "header:sdkconfig.h"
* Web > https://registry.platformio.org/search?q=header:sdkconfig.h
*
*******************************************************************
#include "sdkconfig.h"
^
compilation terminated.
*** [.pio/build/stable/lib747/NimBLE-Arduino/NimBLEBeacon.o] Error 1
========================================================================= [FAILED] Took 0.76 seconds =========================================================================
The terminal process "platformio 'run'" terminated with exit code: 1.
Terminal will be reused by tasks, press any key to close it.
here is my main.cpp
#include <Arduino.h>
#include <NimBLEDevice.h>
#include <Adafruit_INA219.h>
extern "C" void ble_setup();
void power_setup();
void setup() {
pinMode(2, OUTPUT);
Serial.begin(115200);
Serial.println("Starting BLE work!");
//
// Setup bluetooth
//
ble_setup();
}
void loop() {
ble_loop();
recordPowerValue();
delay(100);
}
extern "C" void app_main()
{
setup();
while(1) {
loop();
}
}
here is my directory tree:
├── CMakeLists.txt
├── include
│ ├── README
│ └── sdkconfig.h
├── lib
│ └── README
├── platformio.ini
├── sdkconfig
├── sdkconfig.h
├── sdkconfig.old
├── src
│ ├── CMakeLists.txt
│ ├── ble.cpp
│ ├── main.cpp
│ └── power.cpp
├── test
│ └── README
└── workspace.code-workspace
I also had to change my main.cpp in use app_main()
instead of just being able to supply just setup()
and loop()
.