Skip to content

Compile errors involving #include "syscfg/syscfg.h" #377

@4wheeljive

Description

@4wheeljive

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions