diff --git a/arch/esp32/esp32c6.ini b/arch/esp32/esp32c6.ini index e1cf955e8..ac1778cfb 100644 --- a/arch/esp32/esp32c6.ini +++ b/arch/esp32/esp32c6.ini @@ -17,9 +17,7 @@ build_flags = -DMESHTASTIC_EXCLUDE_WEBSERVER ;-DDEBUG_HEAP ; TEMP - -DHAS_BLUETOOTH=0 -DMESHTASTIC_EXCLUDE_PAXCOUNTER - -DMESHTASTIC_EXCLUDE_BLUETOOTH lib_deps = ${arduino_base.lib_deps} @@ -32,6 +30,7 @@ lib_deps = https://github.com/meshtastic/ESP32_Codec2/archive/633326c78ac251c059ab3a8c430fcdf25b41672f.zip # renovate: datasource=custom.pio depName=rweather/Crypto packageName=rweather/library/Crypto rweather/Crypto@^0.4.0 + https://github.com/h2zero/esp-nimble-cpp.git#2.2.1 build_src_filter = ${esp32_base.build_src_filter} - diff --git a/sdkconfig.defaults b/sdkconfig.defaults index 267ca7f35..61d5a1560 100644 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -1,3 +1,6 @@ +# # This file configures the ESP-IDF framework for the ESP32 platform. +# It enables BLE functionality using NimBLE and optimizes for minimal power consumption and size. +# Refer to the ESP-IDF Kconfig documentation for more details: https://docs.espressif.com/projects/esp-idf/en/v5.1.6/esp32c6/api-reference/kconfig.html # CONFIG_AUTOSTART_ARDUINO is not set # CONFIG_WS2812_LED_ENABLE is not set CONFIG_FREERTOS_HZ=1000 diff --git a/src/main.cpp b/src/main.cpp index dc9875551..8be3bc0ca 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1415,7 +1415,7 @@ void loop() } #endif -#if !defined(CONFIG_AUTOSTART_ARDUINO) && (ESP_IDF_VERSION_MAJOR * 100 + ESP_IDF_VERSION_MINOR * 10 + ESP_IDF_VERSION_PATCH) > 514 +#if !defined(CONFIG_AUTOSTART_ARDUINO) && (ESP_IDF_VERSION_MAJOR * 100 + ESP_IDF_VERSION_MINOR * 10 + ESP_IDF_VERSION_PATCH) > 512 // Define app_main to bridge Arduino and ESP-IDF extern "C" void app_main(void) { diff --git a/src/nimble/NimbleBluetooth.cpp b/src/nimble/NimbleBluetooth.cpp index caa1c5319..208d8ae3c 100644 --- a/src/nimble/NimbleBluetooth.cpp +++ b/src/nimble/NimbleBluetooth.cpp @@ -122,7 +122,7 @@ class NimbleBluetoothServerCallback : public NimBLEServerCallbacks #endif passkeyShowing = true; - NimBLEDevice::injectPassKey(connInfo, passkey); + return passkey; } virtual void onAuthenticationComplete(NimBLEConnInfo &connInfo) diff --git a/variants/seeed_xiao_esp32c6/platformio.ini b/variants/seeed_xiao_esp32c6/platformio.ini index b709d10d7..f47bcd9d7 100644 --- a/variants/seeed_xiao_esp32c6/platformio.ini +++ b/variants/seeed_xiao_esp32c6/platformio.ini @@ -1,19 +1,12 @@ [env:seeed-xiao-esp32c6] extends = esp32c6_base -platform = https://github.com/pioarduino/platform-espressif32.git#d2f1607cb561cf3da3f2cc03ceb94d25255e6fe4 framework = arduino, espidf board = esp32-c6-devkitm-1 board_check = true board_build.partitions = partition-table.csv upload_protocol = esptool upload_speed = 921600 -monitor_speed = 460800 -monitor_filters = esp32_c3_exception_decoder extra_scripts = pre:bin/platformio-custom.py -build_unflags = - -D HAS_BLUETOOTH - -D MESHTASTIC_EXCLUDE_BLUETOOTH - -D HAS_WIFI build_flags = ${esp32c6_base.build_flags} -D PRIVATE_HW @@ -25,16 +18,3 @@ build_flags = -D MESHTASTIC_EXCLUDE_WEBSERVER -D MESHTASTIC_EXCLUDE_MQTT -D CONFIG_NIMBLE_CPP_FREERTOS_TASK_BLOCK_BIT=1 - -board_build.embed_txtfiles = - managed_components/espressif__esp_insights/server_certs/https_server.crt - managed_components/espressif__esp_rainmaker/server_certs/rmaker_mqtt_server.crt - managed_components/espressif__esp_rainmaker/server_certs/rmaker_claim_service_server.crt - managed_components/espressif__esp_rainmaker/server_certs/rmaker_ota_server.crt - -lib_deps = - ${esp32c6_base.lib_deps} - https://github.com/h2zero/esp-nimble-cpp.git#2.2.1 - -lib_ignore = - ${esp32c6_base.lib_ignore} \ No newline at end of file diff --git a/variants/seeed_xiao_esp32c6/variant.h b/variants/seeed_xiao_esp32c6/variant.h index 2f9365492..0f24cde47 100644 --- a/variants/seeed_xiao_esp32c6/variant.h +++ b/variants/seeed_xiao_esp32c6/variant.h @@ -40,4 +40,5 @@ #undef GPS_RX_PIN #undef GPS_TX_PIN +// For BLE/WiFi connectivity #define USE_XIAO_ESP32C6_EXTERNAL_ANTENNA \ No newline at end of file diff --git a/variants/tlora_c6/platformio.ini b/variants/tlora_c6/platformio.ini index 8abc955bc..ac2afcb75 100644 --- a/variants/tlora_c6/platformio.ini +++ b/variants/tlora_c6/platformio.ini @@ -1,41 +1,20 @@ [env:tlora-c6] extends = esp32c6_base -platform = https://github.com/pioarduino/platform-espressif32.git#f5d602fa7b4b778604306a149fe474723e79be2d framework = arduino, espidf board = esp32-c6-devkitm-1 +board_check = true board_build.partitions = partition-table.csv upload_protocol = esptool upload_speed = 921600 -monitor_speed = 460800 -monitor_filters = esp32_c3_exception_decoder extra_scripts = pre:bin/platformio-custom.py - -build_unflags = - -D HAS_BLUETOOTH - -D MESHTASTIC_EXCLUDE_BLUETOOTH - -D HAS_WIFI - build_flags = ${esp32c6_base.build_flags} -D TLORA_C6 -I variants/tlora_c6 - -DARDUINO_USB_CDC_ON_BOOT=1 - -DARDUINO_USB_MODE=1 + -D ARDUINO_USB_CDC_ON_BOOT=1 + -D ARDUINO_USB_MODE=1 -L "${platformio.libdeps_dir}/${this.__env__}/bsec2/src/esp32c3" -D HAS_BLUETOOTH=1 -D MESHTASTIC_EXCLUDE_WEBSERVER -D MESHTASTIC_EXCLUDE_MQTT -D CONFIG_NIMBLE_CPP_FREERTOS_TASK_BLOCK_BIT=1 - -board_build.embed_txtfiles = - managed_components/espressif__esp_insights/server_certs/https_server.crt - managed_components/espressif__esp_rainmaker/server_certs/rmaker_mqtt_server.crt - managed_components/espressif__esp_rainmaker/server_certs/rmaker_claim_service_server.crt - managed_components/espressif__esp_rainmaker/server_certs/rmaker_ota_server.crt - -lib_deps = - ${esp32c6_base.lib_deps} - https://github.com/h2zero/esp-nimble-cpp.git#2.0.2 - -lib_ignore = - ${esp32c6_base.lib_ignore}