Bluetooth options disappeared from menuconfig

awegel
Posts: 4
Joined: Wed Mar 27, 2024 11:04 am

Bluetooth options disappeared from menuconfig

Postby awegel » Wed Mar 27, 2024 12:17 pm

Hello

Suddenly all the bluetooth options are missing when I use "idf.py menuconfig".
They are still there when creating a new project, but in my existing projects they're just gone.
Even when searching in menuconfig (using "/"), they can't be found ("BT" does find some SOC capability options, but that's it. Nimble too isn't there at all).

I already tried some things like cleaning (full, python, deleting build manually, removing sdkconfig, ...), even switching to other esp-idf versions (release-v5.2, master, v4.4.7), but nothing seems to have any effect.

I'm puzzled and appreciate any clue.

ESP_Sprite
Posts: 9052
Joined: Thu Nov 26, 2015 4:08 am

Re: Bluetooth options disappeared from menuconfig

Postby ESP_Sprite » Thu Mar 28, 2024 1:56 am

Do you have perhaps a custom component which name clashes with one in ESP-IDF?

chegewara
Posts: 2240
Joined: Wed Jun 14, 2017 9:00 pm

Re: Bluetooth options disappeared from menuconfig

Postby chegewara » Thu Mar 28, 2024 3:41 am

Or by any chance you are using esp32 SoC that does not have bluetooth, like esp32 S2?

Code: Select all

idf.py set-target esp32s2
It may be set in sdkconfig.defaults, so please check it.

awegel
Posts: 4
Joined: Wed Mar 27, 2024 11:04 am

Re: Bluetooth options disappeared from menuconfig

Postby awegel » Thu Mar 28, 2024 9:52 am

Thanks for the responses, i found the reason now:
Stupid me used a CMakeLists.txt in this project version where the COMPONENTS list didn't include "bt".

I didn't expect that this would lead to bluetooth options missing from the menuconfig though...

Cheers

chegewara
Posts: 2240
Joined: Wed Jun 14, 2017 9:00 pm

Re: Bluetooth options disappeared from menuconfig

Postby chegewara » Fri Mar 29, 2024 3:18 am

Thats odd.
Main "component" does not need to use REQUIRES in CMakeLists.txt at all and is assuming all components are available.
Other components, which should REQUIRES or PRIV_REQUIRES just fail to build, but you still should see all options in menuconfig available for current target, because main can use all components.

awegel
Posts: 4
Joined: Wed Mar 27, 2024 11:04 am

Re: Bluetooth options disappeared from menuconfig

Postby awegel » Fri Mar 29, 2024 8:14 am

Hi
chegewara wrote:
Fri Mar 29, 2024 3:18 am
Thats odd.
Main "component" does not need to use REQUIRES in CMakeLists.txt at all and is assuming all components are available.
Other components, which should REQUIRES or PRIV_REQUIRES just fail to build, but you still should see all options in menuconfig available for current target, because main can use all components.
It's not using REQUIRE, only a list of components, as per the tip in the idf docs about the build system:
COMPONENTS: A list of component names to build into the project. Defaults to all components found in the COMPONENT_DIRS directories. Use this variable to "trim down" the project for faster build times. Note that any component which "requires" another component via the REQUIRES or PRIV_REQUIRES arguments on component registration will automatically have it added to this list, so the COMPONENTS list can be very short.
...but better not too short.

awegel
Posts: 4
Joined: Wed Mar 27, 2024 11:04 am

Re: Bluetooth options disappeared from menuconfig

Postby awegel » Fri Mar 29, 2024 11:35 pm

Hi
chegewara wrote:
Fri Mar 29, 2024 3:18 am
Thats odd.
Main "component" does not need to use REQUIRES in CMakeLists.txt at all and is assuming all components are available.
Other components, which should REQUIRES or PRIV_REQUIRES just fail to build, but you still should see all options in menuconfig available for current target, because main can use all components.
It's not using REQUIRE, only a list of components, as per the tip in the idf docs about the build system:
COMPONENTS: A list of component names to build into the project. Defaults to all components found in the COMPONENT_DIRS directories. Use this variable to "trim down" the project for faster build times. Note that any component which "requires" another component via the REQUIRES or PRIV_REQUIRES arguments on component registration will automatically have it added to this list, so the COMPONENTS list can be very short.
...but better not too short.

Who is online

Users browsing this forum: Majestic-12 [Bot] and 214 guests