espressif / esp-idf

Espressif IoT Development Framework. Official development framework for Espressif SoCs.
Apache License 2.0
13.32k stars 7.2k forks source link

btsnd_hcic_ble_sync_sem_init compile error in esp-idf v5.0 release version (IDFGH-11410) #12548

Closed lida2003 closed 10 months ago

lida2003 commented 10 months ago

Answers checklist.

IDF version.

v5.0.2-285-g7493b907ef

Operating System used.

Linux

How did you build your project?

Command line with Make

If you are using Windows, please specify command line type.

None

What is the expected behavior?

like esp32 target, can build and run.

What is the actual behavior?

strange when switch from esp32 target to esp32c3target.

Steps to reproduce.

  1. build esp32 target OK
  2. build esp32c3 target failed

Build or installation Logs.

/home/daniel/SnapDragonfly/esp-idf-v5.0/components/bt/host/bluedroid/hci/hci_layer.c: In function 'hci_layer_init_env':
/home/daniel/SnapDragonfly/esp-idf-v5.0/components/bt/host/bluedroid/hci/hci_layer.c:189:5: error: implicit declaration of function 'btsnd_hcic_ble_sync_sem_init'; did you mean 'btsnd_hcic_ble_set_phy'? [-Werror=implicit-function-declaration]
  189 |     btsnd_hcic_ble_sync_sem_init();
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |     btsnd_hcic_ble_set_phy
/home/daniel/SnapDragonfly/esp-idf-v5.0/components/bt/host/bluedroid/hci/hci_layer.c: In function 'hci_layer_deinit_env':
/home/daniel/SnapDragonfly/esp-idf-v5.0/components/bt/host/bluedroid/hci/hci_layer.c:215:5: error: implicit declaration of function 'btsnd_hcic_ble_sync_sem_deinit' [-Werror=implicit-function-declaration]
  215 |     btsnd_hcic_ble_sync_sem_deinit();
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/daniel/SnapDragonfly/esp-idf-v5.0/components/bt/host/bluedroid/hci/hci_layer.c: In function 'filter_incoming_event':
/home/daniel/SnapDragonfly/esp-idf-v5.0/components/bt/host/bluedroid/hci/hci_layer.c:452:36: error: implicit declaration of function 'btsnd_hcic_ble_get_sync_info'; did you mean 'btsnd_hcic_ble_ext_scan_enable'? [-Werror=implicit-function-declaration]
  452 |             BlE_SYNC *sync_info =  btsnd_hcic_ble_get_sync_info();
      |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                    btsnd_hcic_ble_ext_scan_enable
/home/daniel/SnapDragonfly/esp-idf-v5.0/components/bt/host/bluedroid/hci/hci_layer.c:452:36: warning: initialization of 'BlE_SYNC *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
cc1: some warnings being treated as errors
[878/1163] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/bluedroid/main/bte_main.c.objninja: build stopped: subcommand failed.
HINT: Please check that the function name is correct. Also it is possible that you've forgot to import btsnd_hcic_ble_sync_sem_init library(s) in header file or add the necessary REQURIES component. Try to add missing libraries to your project header file or check idf_component_register(REQUIRES ...) section in your component CmakeList.txt file. For more information run 'idf.py docs -sp api-guides/build-system.html'.
Also, please check if the function has been removed, renamed or replaced by an alternative function - refer to the migration guide for more information.
ninja failed with exit code 1, output of the command is in the /home/daniel/SnapDragonfly/SnapAirUnit/build/log/idf_py_stderr_output_22338 and /home/daniel/SnapDragonfly/SnapAirUnit/build/log/idf_py_stdout_output_22338

More Information.

No response

esp-zhp commented 10 months ago

@lida2003 Hi,how can I reproduce the issue?

lida2003 commented 10 months ago

@lida2003 Hi,how can I reproduce the issue?

1) Follow this guide(https://github.com/SnapDragonfly/SnapAirUnit/blob/main/docs/Build_and_Flash.md)
2) use latest code 3) set target to esp32c3

esp32 works fine.

esp-zhp commented 10 months ago

@lida2003 Is the Bluetooth Low Energy configuration option turned on? Location: (Top) → Component config → Bluetooth → Bluedroid Option

esp-zhp commented 10 months ago

I reproduced the issue when I disable "Bluetooth Low Energy configuration" in menuconfig: LATFORM -D_POSIX_READER_WRITER_LOCKS -Wno-implicit-fallthrough -Wno-unused-const-variable -Wno-format -MD -MT esp-idf/bt/CMakeFiles/idf_bt.dir/host/bluedroid/hci/hci_layer.c.obj -MF esp-idf/bt/CMakeFiles/idf_bt.dir/host/bluedroid/hci/hci_layer.c.obj.d -o esp-idf/bt/CMakeFiles/__idf_bt.dir/host/bluedroid/hci/hci_layer.c.obj -c /home/zhanghaipeng/esp_v5/esp-idf/components/bt/host/bluedroid/hci/hci_layer.c /home/zhanghaipeng/esp_v5/esp-idf/components/bt/host/bluedroid/hci/hci_layer.c: In function 'hci_layer_init_env': /home/zhanghaipeng/esp_v5/esp-idf/components/bt/host/bluedroid/hci/hci_layer.c:189:5: error: implicit declaration of function 'btsnd_hcic_ble_sync_sem_init'; did you mean 'btsnd_hcic_ble_set_phy'? [-Werror=implicit-function-declaration] 189 | btsnd_hcic_ble_sync_sem_init(); | ^~~~~~~~ | btsnd_hcic_ble_set_phy /home/zhanghaipeng/esp_v5/esp-idf/components/bt/host/bluedroid/hci/hci_layer.c: In function 'hci_layer_deinit_env': /home/zhanghaipeng/esp_v5/esp-idf/components/bt/host/bluedroid/hci/hci_layer.c:215:5: error: implicit declaration of function 'btsnd_hcic_ble_sync_sem_deinit' [-Werror=implicit-function-declaration] 215 | btsnd_hcic_ble_sync_sem_deinit(); | ^~~~~~~~~~ /home/zhanghaipeng/esp_v5/esp-idf/components/bt/host/bluedroid/hci/hci_layer.c: In function 'filter_incoming_event': /home/zhanghaipeng/esp_v5/esp-idf/components/bt/host/bluedroid/hci/hci_layer.c:452:36: error: implicit declaration of function 'btsnd_hcic_ble_get_sync_info'; did you mean 'btsnd_hcic_ble_ext_scan_enable'? [-Werror=implicit-function-declaration] 452 | BlE_SYNC sync_info = btsnd_hcic_ble_get_sync_info(); | ^~~~~~~~ | btsnd_hcic_ble_ext_scan_enable /home/zhanghaipeng/esp_v5/esp-idf/components/bt/host/bluedroid/hci/hci_layer.c:452:36: warning: initialization of 'BlE_SYNC ' from 'int' makes pointer from integer without a cast [-Wint-conversion] cc1: some warnings being treated as errors [897/1162] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/bluedroid/stack/avrc/avrc_sdp.c.objninja: build stopped: subcommand failed.


but when I enable it, the issue gone: used-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu17 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER=\"v5.0.2-285-g7493b907ef\" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -Wno-format -MD -MT esp-idf/main/CMakeFiles/idf_main.dir/btspp.c.obj -MF esp-idf/main/CMakeFiles/__idf_main.dir/btspp.c.obj.d -o esp-idf/main/CMakeFiles/idf_main.dir/btspp.c.obj -c ../main/btspp.c In file included from ../main/handle.h:4, from ../main/btspp.c:34: ../main/blink.h:48:5: error: unknown type name 'led_strip_handle_t' 48 | led_strip_handle_t strip; | ^~~~~~ ../main/btspp.c: In function 'task_bt_start_spp': ../main/btspp.c:413:5: warning: 'esp_spp_init' is deprecated: Please use esp_spp_enhanced_init [-Wdeprecated-declarations] 413 | if ((ret = esp_spp_init(g_esp_spp_mode)) != ESP_OK) { | ^~ In file included from ../main/btspp.c:21: /home/zhanghaipeng/esp_v5/esp-idf/components/bt/host/bluedroid/api/include/api/esp_spp_api.h:261:11: note: declared here 261 | esp_err_t esp_spp_init(esp_spp_mode_t mode) attribute((deprecated("Please use esp_spp_enhanced_init"))); | ^~~~ [1105/1138] Building C object esp-idf/espressifmdns/CMakeFiles/idf_espressif__mdns.dir/mdns.c.objninja: build stopped: subcommand failed.

lida2003 commented 10 months ago

Is the Bluetooth Low Energy configuration option turned on? Location: (Top) → Component config → Bluetooth → Bluedroid Option

Yes, but when enable "Bluetooth Low Energy configuration", a) managed component led_strip can't be used. b) we don't use "Bluetooth Low Energy" feature.

Is there any way to work around without changing the source code? upgrade esp-idf?

esp-zhp commented 10 months ago

@lida2003 You need to declare the dependency on the led_strip component.

for example,in components/command/cmd_udp/CMakeLists.txt

idf_component_register(SRCS "cmd_udp.c"
                    INCLUDE_DIRS . ../../../ ../../../main ../../button/include
                    PRIV_REQUIRES driver esp_timer esp_event led_strip)

target_compile_options(${COMPONENT_LIB} PRIVATE "-Wno-format")

and add

#include "led_strip.h"

in main/blink.h

lida2003 commented 10 months ago

@zhp0406

We have declared the dependency on the led_strip component. And all works fine.

BUT

When enable "Bluetooth Low Energy configuration", it fails.

--- updated

-- Build files have been written to: /home/daniel/SnapDragonfly/SnapAirUnit/build/bootloader
[1/1] cd /home/daniel/SnapDragonfly/SnapAirUnit/build/bootloader/esp-idf/esptool_p...tloader 0x0 /home/daniel/SnapDragonfly/SnapAirUnit/build/bootloader/bootloader.binBootloader binary size 0x4ef0 bytes. 0x3110 bytes (38%) free.
[1108/1139] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/btspp.c.obj/home/daniel/SnapDragonfly/SnapAirUnit/main/btspp.c: In function 'task_bt_start_spp':
/home/daniel/SnapDragonfly/SnapAirUnit/main/btspp.c:413:5: warning: 'esp_spp_init' is deprecated: Please use esp_spp_enhanced_init [-Wdeprecated-declarations]
  413 |     if ((ret = esp_spp_init(g_esp_spp_mode)) != ESP_OK) {
      |     ^~
In file included from /home/daniel/SnapDragonfly/SnapAirUnit/main/btspp.c:21:
/home/daniel/SnapDragonfly/esp-idf-v5.0/components/bt/host/bluedroid/api/include/api/esp_spp_api.h:261:11: note: declared here
  261 | esp_err_t esp_spp_init(esp_spp_mode_t mode) __attribute__((deprecated("Please use esp_spp_enhanced_init")));
      |           ^~~~~~~~~~~~
[1137/1139] Linking CXX executable SnapAirUnit.elfFAILED: SnapAirUnit.elf
: && /home/daniel/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/riscv32-esp-elf-g++ -march=rv32imc -nostartfiles -march=rv32imc --specs=nosys.specs CMakeFiles/SnapAirUnit.elf.dir/project_elf_src_esp32c3.c.obj -o SnapAirUnit.elf  esp-idf/riscv/libriscv.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_app_format/libesp_app_format.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/esp_partition/libesp_partition.a  esp-idf/app_update/libapp_update.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/app_trace/libapp_trace.a  esp-idf/esp_event/libesp_event.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/bt/libbt.a  esp-idf/unity/libunity.a  esp-idf/cmock/libcmock.a  esp-idf/console/libconsole.a  esp-idf/http_parser/libhttp_parser.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/esp_adc/libesp_adc.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/esp_hid/libesp_hid.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/esp_lcd/libesp_lcd.a  esp-idf/protobuf-c/libprotobuf-c.a  esp-idf/protocomm/libprotocomm.a  esp-idf/esp_local_ctrl/libesp_local_ctrl.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/wear_levelling/libwear_levelling.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/fatfs/libfatfs.a  esp-idf/json/libjson.a  esp-idf/mqtt/libmqtt.a  esp-idf/spiffs/libspiffs.a  esp-idf/wifi_provisioning/libwifi_provisioning.a  esp-idf/espressif__led_strip/libespressif__led_strip.a  esp-idf/espressif__mdns/libespressif__mdns.a  esp-idf/main/libmain.a  esp-idf/button/libbutton.a  esp-idf/cmd_udp/libcmd_udp.a  esp-idf/cmd_sau/libcmd_sau.a  esp-idf/cmd_nvs/libcmd_nvs.a  -Wl,--cref  -Wl,--defsym=IDF_TARGET_ESP32C3=0  -Wl,--Map="/home/daniel/SnapDragonfly/SnapAirUnit/build/SnapAirUnit.map"  -fno-rtti  -fno-lto  -Wl,--gc-sections  -Wl,--warn-common  esp-idf/app_trace/libapp_trace.a  esp-idf/app_trace/libapp_trace.a  -lgcov  esp-idf/app_trace/libapp_trace.a  -lgcov  esp-idf/cmock/libcmock.a  esp-idf/unity/libunity.a  esp-idf/esp_hid/libesp_hid.a  esp-idf/esp_lcd/libesp_lcd.a  esp-idf/esp_local_ctrl/libesp_local_ctrl.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/fatfs/libfatfs.a  esp-idf/wear_levelling/libwear_levelling.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/mqtt/libmqtt.a  esp-idf/spiffs/libspiffs.a  esp-idf/wifi_provisioning/libwifi_provisioning.a  esp-idf/protocomm/libprotocomm.a  esp-idf/bt/libbt.a  -L/home/daniel/SnapDragonfly/esp-idf-v5.0/components/bt/controller/lib_esp32c3_family/esp32c3  -lbtdm_app  esp-idf/protobuf-c/libprotobuf-c.a  esp-idf/json/libjson.a  esp-idf/espressif__mdns/libespressif__mdns.a  esp-idf/espressif__led_strip/libespressif__led_strip.a  esp-idf/console/libconsole.a  esp-idf/riscv/libriscv.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_app_format/libesp_app_format.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/esp_partition/libesp_partition.a  esp-idf/app_update/libapp_update.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/esp_event/libesp_event.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/http_parser/libhttp_parser.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/esp_adc/libesp_adc.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libcoexist.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libcore.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libespnow.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libmesh.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libnet80211.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libpp.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libsmartconfig.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libwapi.a  esp-idf/riscv/libriscv.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_app_format/libesp_app_format.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/esp_partition/libesp_partition.a  esp-idf/app_update/libapp_update.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/esp_event/libesp_event.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/http_parser/libhttp_parser.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/esp_adc/libesp_adc.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libcoexist.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libcore.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libespnow.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libmesh.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libnet80211.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libpp.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libsmartconfig.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libwapi.a  esp-idf/riscv/libriscv.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_app_format/libesp_app_format.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/esp_partition/libesp_partition.a  esp-idf/app_update/libapp_update.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/esp_event/libesp_event.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/http_parser/libhttp_parser.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/esp_adc/libesp_adc.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libcoexist.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libcore.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libespnow.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libmesh.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libnet80211.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libpp.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libsmartconfig.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libwapi.a  esp-idf/riscv/libriscv.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_app_format/libesp_app_format.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/esp_partition/libesp_partition.a  esp-idf/app_update/libapp_update.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/esp_event/libesp_event.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/http_parser/libhttp_parser.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/esp_adc/libesp_adc.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libcoexist.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libcore.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libespnow.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libmesh.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libnet80211.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libpp.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libsmartconfig.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libwapi.a  esp-idf/riscv/libriscv.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_app_format/libesp_app_format.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/esp_partition/libesp_partition.a  esp-idf/app_update/libapp_update.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/esp_event/libesp_event.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/http_parser/libhttp_parser.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/esp_adc/libesp_adc.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libcoexist.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libcore.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libespnow.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libmesh.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libnet80211.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libpp.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libsmartconfig.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libwapi.a  esp-idf/riscv/libriscv.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_app_format/libesp_app_format.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/esp_partition/libesp_partition.a  esp-idf/app_update/libapp_update.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/esp_event/libesp_event.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/http_parser/libhttp_parser.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/esp_adc/libesp_adc.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libcoexist.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libcore.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libespnow.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libmesh.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libnet80211.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libpp.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libsmartconfig.a  /home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3/libwapi.a  -u esp_app_desc  -u pthread_include_pthread_impl  -u pthread_include_pthread_cond_impl  -u pthread_include_pthread_local_storage_impl  -u pthread_include_pthread_rwlock_impl  -u start_app  -L "/home/daniel/SnapDragonfly/SnapAirUnit/build/esp-idf/esp_system/ld"  -T memory.ld  -T sections.ld  -u __ubsan_include  -L "/home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_rom/esp32c3/ld"  -T esp32c3.rom.ld  -T esp32c3.rom.api.ld  -T esp32c3.rom.libgcc.ld  -T esp32c3.rom.newlib.ld  -T esp32c3.rom.version.ld  -T esp32c3.rom.eco3.ld  -u __assert_func  -L "/home/daniel/SnapDragonfly/esp-idf-v5.0/components/soc/esp32c3/ld"  -T esp32c3.peripherals.ld  -Wl,--undefined=uxTopUsedPriority  -Wl,--undefined=FreeRTOS_openocd_params  -u app_main  -lc  -lm  esp-idf/newlib/libnewlib.a  -u newlib_include_heap_impl  -u newlib_include_syscalls_impl  -u newlib_include_pthread_impl  -u newlib_include_assert_impl  -Wl,--wrap=_Unwind_SetEnableExceptionFdeSorting  -Wl,--wrap=__register_frame_info_bases  -Wl,--wrap=__register_frame_info  -Wl,--wrap=__register_frame  -Wl,--wrap=__register_frame_info_table_bases  -Wl,--wrap=__register_frame_info_table  -Wl,--wrap=__register_frame_table  -Wl,--wrap=__deregister_frame_info_bases  -Wl,--wrap=__deregister_frame_info  -Wl,--wrap=_Unwind_Find_FDE  -Wl,--wrap=_Unwind_GetGR  -Wl,--wrap=_Unwind_GetCFA  -Wl,--wrap=_Unwind_GetIP  -Wl,--wrap=_Unwind_GetIPInfo  -Wl,--wrap=_Unwind_GetRegionStart  -Wl,--wrap=_Unwind_GetDataRelBase  -Wl,--wrap=_Unwind_GetTextRelBase  -Wl,--wrap=_Unwind_SetIP  -Wl,--wrap=_Unwind_SetGR  -Wl,--wrap=_Unwind_GetLanguageSpecificData  -Wl,--wrap=_Unwind_FindEnclosingFunction  -Wl,--wrap=_Unwind_Resume  -Wl,--wrap=_Unwind_RaiseException  -Wl,--wrap=_Unwind_DeleteException  -Wl,--wrap=_Unwind_ForcedUnwind  -Wl,--wrap=_Unwind_Resume_or_Rethrow  -Wl,--wrap=_Unwind_Backtrace  -Wl,--wrap=__cxa_call_unexpected  -Wl,--wrap=__gxx_personality_v0  -u __cxa_guard_dummy  -lstdc++  esp-idf/pthread/libpthread.a  -lgcc  esp-idf/cxx/libcxx.a  -u __cxx_fatal_exception  -L "/home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_phy/lib/esp32c3"  -u include_esp_phy_override  -lphy  -lbtbb  esp-idf/esp_phy/libesp_phy.a  -lphy  -lbtbb  esp-idf/esp_phy/libesp_phy.a  -lphy  -lbtbb  -u vfs_include_syscalls_impl  -L "/home/daniel/SnapDragonfly/esp-idf-v5.0/components/esp_wifi/lib/esp32c3" && :
/home/daniel/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld: esp-idf/main/libmain.a(msp_protocol.c.obj): in function `ttl_handle_bt_package':
/home/daniel/SnapDragonfly/SnapAirUnit/main/msp_protocol.c:595: undefined reference to `esp_spp_write'
/home/daniel/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld: esp-idf/main/libmain.a(btspp.c.obj): in function `esp_bt_gap_cb':
/home/daniel/SnapDragonfly/SnapAirUnit/main/btspp.c:294: undefined reference to `esp_bt_gap_pin_reply'
/home/daniel/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld: /home/daniel/SnapDragonfly/SnapAirUnit/main/btspp.c:304: undefined reference to `esp_bt_gap_pin_reply'
/home/daniel/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld: esp-idf/main/libmain.a(btspp.c.obj): in function `esp_spp_cb':
/home/daniel/SnapDragonfly/SnapAirUnit/main/btspp.c:94: undefined reference to `esp_spp_start_srv'
/home/daniel/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld: /home/daniel/SnapDragonfly/SnapAirUnit/main/btspp.c:265: undefined reference to `esp_bt_gap_set_scan_mode'
/home/daniel/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld: esp-idf/main/libmain.a(btspp.c.obj): in function `task_bt_start_spp':
/home/daniel/SnapDragonfly/SnapAirUnit/main/btspp.c:398: undefined reference to `esp_bt_gap_register_callback'
/home/daniel/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld: /home/daniel/SnapDragonfly/SnapAirUnit/main/btspp.c:403: undefined reference to `esp_spp_register_callback'
/home/daniel/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld: /home/daniel/SnapDragonfly/SnapAirUnit/main/btspp.c:408: undefined reference to `esp_spp_init'
/home/daniel/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld: /home/daniel/SnapDragonfly/SnapAirUnit/main/btspp.c:413: undefined reference to `esp_bt_gap_set_pin'
/home/daniel/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld: esp-idf/main/libmain.a(btspp.c.obj): in function `bt_spp_stop':
/home/daniel/SnapDragonfly/SnapAirUnit/main/btspp.c:414: undefined reference to `esp_spp_deinit'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
ninja failed with exit code 1, output of the command is in the /home/daniel/SnapDragonfly/SnapAirUnit/build/log/idf_py_stderr_output_45740 and /home/daniel/SnapDragonfly/SnapAirUnit/build/log/idf_py_stdout_output_45740
esp-zhp commented 10 months ago

@lida2003 I understand. Please test the following fix: 0001-fix-bt-bluedroid-Fix-bluedroid-menuconfig-error.patch

esp-zhp commented 10 months ago

@lida2003 It should be noted that the ESP32 only supports Classic Bluetooth and does not support BLE. If you require BLE features, please use ESP32c2, ESP32c6, ESP32c3, or ESP32s3.

esp-zhp commented 10 months ago

@lida2003 After you have applied my patch, if there are still failures, please provide me with the latest failure log so that I can analyze the reasons.thanks.

lida2003 commented 10 months ago

If you require BLE features, please use ESP32c2, ESP32c6, ESP32c3, or ESP32s3.

No, we don't need BLE.

esp-zhp commented 10 months ago

If you require BLE features, please use ESP32c2, ESP32c6, ESP32c3, or ESP32s3.

No, we don't need BLE.

If you use Classic Bluetooth, then only ESP32 is supported.

lida2003 commented 10 months ago

After you have applied my patch, if there are still failures, please provide me with the latest failure log so that I can analyze the reasons.thanks.

daniel@palfocus:~/SnapDragonfly/esp-idf-v5.0$ git apply 0001-fix-bt-bluedroid-Fix-bluedroid-menuconfig-error.patch
error: patch failed: components/bt/host/bluedroid/Kconfig.in:1133
error: components/bt/host/bluedroid/Kconfig.in: patch does not apply
daniel@palfocus:~/SnapDragonfly/esp-idf-v5.0$ git remote -v
origin  git@github.com:espressif/esp-idf.git (fetch)
origin  git@github.com:espressif/esp-idf.git (push)
daniel@palfocus:~/SnapDragonfly/esp-idf-v5.0$ git log -n 1
commit 7493b907efd081332c1f1ef3167181727fbef922 (HEAD -> release/v5.0, origin/release/v5.0)
Merge: 96c4ec8df2 9156bbb55c
Author: Roland Dobai <roland@espressif.com>
Date:   Fri Jun 9 00:52:47 2023 +0800

    Merge branch 'feature/extend_proj_desc_json_v5.0' into 'release/v5.0'

    extend information in project_description.json (v5.0)

    See merge request espressif/esp-idf!24126
lida2003 commented 10 months ago

If you use Classic Bluetooth, then only ESP32 is supported.

We need this code to work on ESP32C3 :)

esp-zhp commented 10 months ago

@lida2003 If you are using ESP32c3, do you still need to use Classic Bluetooth? SPP is a classic feature. I will provide you with the latest patch based on your version shortly.

lida2003 commented 10 months ago

SPP is a classic feature. I will provide you with the latest patch based on your version shortly.

Yes, we need spp and wifi features.

图片

esp-zhp commented 10 months ago

I have created the following patch based on the version you provided (commit hash: 6e8eb2a059ae11bed0edcd8fa7d9c62d142cc1d9). This patch addresses some issues in the bluedroid menuconfig. This issue may cause the BLE code to be invoked even after BLE is turned off, resulting in a compilation failure. 0001-fix-bt-bluedroid-Fix-bluedroid-menuconfig.patch

esp-zhp commented 10 months ago

Yes, we need spp and wifi features.

If you want to use Classic Bluetooth and Wi-Fi, only the ESP32 chip supports it; currently, other chips do not support this feature.

lida2003 commented 10 months ago

If you want to use Classic Bluetooth and Wi-Fi, only the ESP32 chip supports it; currently, other chips do not support this feature.

ESP32-C3 doesn't support Classic Bluetooth SPP ?

esp-zhp commented 10 months ago

If you want to use Classic Bluetooth and Wi-Fi, only the ESP32 chip supports it; currently, other chips do not support this feature.

ESP32-C3 doesn't support Classic Bluetooth SPP ?

yes,ESP32-C3 doesn't support Classic Bluetooth SPP.ESP32-C3 only support BLE.

ESP32 support BLE and Classic Bluetooth.

lida2003 commented 10 months ago

What I have missed here. The spec says it supports Bluetooth 5.0, no spp?

Is there any SPP over BLE features, like https://docs.silabs.com/bluetooth/2.13/code-examples/applications/spp-serial-port-profile-over-ble ?

图片

esp-zhp commented 10 months ago

@lida2003 You may have some misunderstandings about Bluetooth LE: Bluetooth 5 in the document. This explanation is for BLE.

SPP is originally a profile for classic Bluetooth, and there is no corresponding profile in BLE.

However, BLE simulates SPP and implements transparent transmission. We have two examples based on BLE for transparent transmission.I'm not sure if it can meet your requirements.

BLE SPP example: https://github.com/espressif/esp-idf/tree/master/examples/bluetooth/bluedroid/ble/ble_spp_server https://github.com/espressif/esp-idf/tree/master/examples/bluetooth/bluedroid/ble/ble_spp_client

lida2003 commented 10 months ago

I have found https://docs.espressif.com/projects/esp-idf/en/v4.3/esp32c3/api-reference/bluetooth/esp_spp.html, which states esp32c3 supports classic bt spp profile.

The above ble spp demo (server/client) is NOT like classic spp profile, where pc already has the driver. And pc doesn't have ble spp driver.

esp-zhp commented 10 months ago

@lida2003 Yes, BLE's SPP belongs to a custom profile, not a profile that is recognized as a standard by the Bluetooth Special Interest Group (SIG).

esp-zhp commented 10 months ago

@lida2003 If you insist on using the ESP32-C3 chip, you will need to give up using classic Bluetooth and explore other methods to implement your functionality.

lida2003 commented 10 months ago

How to explain the description below: esp-idf v4.3 esp32c3 bluetooth/esp_spp

Any idea? Or this manual is wrong about esp-idf v4.3 esp32c3 support esp_spp API?

https://docs.espressif.com/projects/esp-idf/en/v4.3/esp32c3/api-reference/bluetooth/esp_spp.html

esp-zhp commented 10 months ago

@lida2003 I sincerely apologize for the confusion. There is a misguidance in the document. This is an error in the document, and ESP32-C3 does not support Classic Bluetooth. The document will be updated accordingly.

lida2003 commented 10 months ago

OK, if we implement a ble spp. Is there any application avaliable out there on PC(linux, windows)?

esp-zhp commented 10 months ago

@lida2003 Currently, I haven't come across any relevant applications. maybe you need to make it yourself.

lida2003 commented 10 months ago

OK