-
-
Notifications
You must be signed in to change notification settings - Fork 84
Description
I am trying to get BLE going on an ESP32-P4-WIFI6. I am currently trying to do this using the pioarduino IDE extension in VSCode. When I try to compile, I am getting a number of errors like the following:
In file included from .pio/libdeps/esp32-p4/esp-nimble-cpp/src/NimBLE2904.cpp:18:
.pio/libdeps/esp32-p4/esp-nimble-cpp/src/NimBLE2904.h:21:10: fatal error: syscfg/syscfg.h: No such file or directory
21 | #include "syscfg/syscfg.h"
Here what's in my current platformio.ini:
[env:esp32-p4]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/54.03.20/platform-espressif32.zip
board = esp32-p4
framework = arduino
lib_deps =
C:\Users\Jeff\Downloads\FastLED-70dd78f54bb5161b473a656c0b07048f4191a44a.zip
h2zero/esp-nimble-cpp@^2.3.2
bblanchon/ArduinoJson@^7.4.2
Here are what I believe are the relevant excerpts from my dependencies.lock file:
h2zero/esp-nimble-cpp:
component_hash: b018d62032c3ba6386ea2aa6d4a1638408a9210b1d0529b1eb194a52f3a3fc2c
dependencies:
- name: espressif/esp_hosted
registry_url: https://components.espressif.com
require: private
rules:
- if: target in [esp32p4]
version: '*'
- name: espressif/esp_wifi_remote
registry_url: https://components.espressif.com
require: private
rules:
- if: target in [esp32p4]
version: '>=0.5.3'
- name: idf
require: private
rules:
- if: target in [esp32p4]
version: '>=5.3.0'
source:
registry_url: https://components.espressif.com/
type: service
version: 2.3.2
idf:
source:
type: idf
version: 5.5.1
direct_dependencies:
- espressif/arduino-esp32
- espressif/esp_hosted
- espressif/esp_wifi_remote
- h2zero/esp-nimble-cpp
- idf
manifest_hash: cc5e0c49b6a137a6be3c2cafb4da0f9b7764dd928f5895483fa40460c61a7b8a
target: esp32p4
version: 2.0.0
Here's what's in my sdkconfig.defaults file:
CONFIG_IDF_TARGET="esp32p4"
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
# Override some defaults so BT stack is enabled
# in this example
#
# BT config
#
CONFIG_BT_CONTROLLER_DISABLED=y
CONFIG_BT_BLUEDROID_ENABLED=n
CONFIG_BT_NIMBLE_TRANSPORT_UART=n
CONFIG_BT_ENABLED=y
CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y
CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n
CONFIG_BTDM_CTRL_MODE_BTDM=n
CONFIG_BT_BLUEDROID_ENABLED=n
#
# Enable ESP Hosted BT
# Used as VHCI transport between BT Host and Controller
#
CONFIG_ESP_ENABLE_BT=y
CONFIG_ESP_WIFI_REMOTE_LIBRARY_HOSTED=y
CONFIG_COMPILER_CXX_EXCEPTIONS=y
CONFIG_BT_NIMBLE_ENABLED=y
CONFIG_BT_NIMBLE_TRANSPORT_UART=n
CONFIG_HTTPD_MAX_REQ_HDR_LEN=800
CONFIG_HTTPD_WS_SUPPORT=y
CONFIG_ESP_WIFI_EXTRA_IRAM_OPT=n
CONFIG_ESP_WIFI_SLP_IRAM_OPT=n
CONFIG_FATFS_LFN_HEAP=y
CONFIG_FREERTOS_HZ=1000
CONFIG_ESP_HOSTED_ENABLE_BT_NIMBLE=y
CONFIG_SLAVE_IDF_TARGET_ESP32C6=y
Here's what's in my project/CMakeLists.txt file:
cmake_minimum_required(VERSION 3.5)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
add_compile_definitions(ARDUINO_ARCH_ESP32=1)
project(P4-WIFI6-Test2)
I've spent about 3 hours searching online and trying different approaches and have gotten nowhere. I would greatly any assistance anyone could provide. Thank you!