Page 1 of 1

Bluetooth options disappeared from menuconfig

Posted: Wed Mar 27, 2024 12:17 pm
by awegel
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.

Re: Bluetooth options disappeared from menuconfig

Posted: Thu Mar 28, 2024 1:56 am
by ESP_Sprite
Do you have perhaps a custom component which name clashes with one in ESP-IDF?

Re: Bluetooth options disappeared from menuconfig

Posted: Thu Mar 28, 2024 3:41 am
by chegewara
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.

Re: Bluetooth options disappeared from menuconfig

Posted: Thu Mar 28, 2024 9:52 am
by awegel
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

Re: Bluetooth options disappeared from menuconfig

Posted: Fri Mar 29, 2024 3:18 am
by chegewara
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.

Re: Bluetooth options disappeared from menuconfig

Posted: Fri Mar 29, 2024 8:14 am
by awegel
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.

Re: Bluetooth options disappeared from menuconfig

Posted: Fri Mar 29, 2024 11:35 pm
by awegel
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.