Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions arch/esp32/esp32.ini
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ platform =
# renovate: datasource=custom.pio depName=platformio/espressif32 packageName=platformio/platform/espressif32
platformio/espressif32@6.11.0

build_src_filter =
build_src_filter =
${arduino_base.build_src_filter} -<platform/nrf52/> -<platform/stm32wl> -<platform/rp2xx0> -<mesh/eth/> -<mesh/raspihttp>

upload_speed = 921600
Expand All @@ -32,7 +32,9 @@ build_flags =
-DAXP_DEBUG_PORT=Serial
-DCONFIG_BT_NIMBLE_ENABLED
-DCONFIG_BT_NIMBLE_MAX_BONDS=6 # default is 3
-DNIMBLE_TWO
-DCONFIG_NIMBLE_CPP_LOG_LEVEL=2
-DCONFIG_BT_NIMBLE_ROLE_CENTRAL_DISABLED
-DCONFIG_BT_NIMBLE_MAX_CCCDS=20
-DCONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=8192
-DESP_OPENSSL_SUPPRESS_LEGACY_WARNING
Expand All @@ -53,7 +55,7 @@ lib_deps =
# renovate: datasource=git-refs depName=meshtastic-esp32_https_server packageName=https://github.com/meshtastic/esp32_https_server gitBranch=master
https://github.com/meshtastic/esp32_https_server/archive/3223704846752e6d545139204837bdb2a55459ca.zip
# renovate: datasource=custom.pio depName=NimBLE-Arduino packageName=h2zero/library/NimBLE-Arduino
h2zero/NimBLE-Arduino@^1.4.3
h2zero/NimBLE-Arduino@^2.3.6
# renovate: datasource=git-refs depName=libpax packageName=https://github.com/dbinfrago/libpax gitBranch=master
https://github.com/dbinfrago/libpax/archive/3cdc0371c375676a97967547f4065607d4c53fd1.zip
# renovate: datasource=github-tags depName=XPowersLib packageName=lewisxhe/XPowersLib
Expand All @@ -63,7 +65,7 @@ lib_deps =
# renovate: datasource=custom.pio depName=rweather/Crypto packageName=rweather/library/Crypto
rweather/Crypto@0.4.0

lib_ignore =
lib_ignore =
segger_rtt
ESP32 BLE Arduino

Expand Down
5 changes: 5 additions & 0 deletions arch/esp32/esp32c3.ini
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,8 @@ custom_esp32_kind = esp32c3

monitor_speed = 115200
monitor_filters = esp32_c3_exception_decoder

build_flags =
${esp32_base.build_flags}
-DCONFIG_BT_NIMBLE_EXT_ADV=1
-DCONFIG_BT_NIMBLE_MAX_EXT_ADV_INSTANCES=2
5 changes: 5 additions & 0 deletions arch/esp32/esp32s3.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,8 @@ extends = esp32_base
custom_esp32_kind = esp32s3

monitor_speed = 115200

build_flags =
${esp32_base.build_flags}
-DCONFIG_BT_NIMBLE_EXT_ADV=1
-DCONFIG_BT_NIMBLE_MAX_EXT_ADV_INSTANCES=2
33 changes: 23 additions & 10 deletions src/nimble/NimbleBluetooth.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#include "BluetoothCommon.h"
#include "NimbleBluetooth.h"
#include "PowerFSM.h"
#include "PowerStatus.h"
#include "StaticPointerQueue.h"

#include "concurrency/OSThread.h"
Expand All @@ -16,7 +17,9 @@

#ifdef NIMBLE_TWO
#include "NimBLEAdvertising.h"
#ifdef CONFIG_BT_NIMBLE_EXT_ADV
#include "NimBLEExtAdvertising.h"
#endif
#include "PowerStatus.h"
#endif

Expand Down Expand Up @@ -401,7 +404,6 @@ class NimbleBluetoothToRadioCallback : public NimBLECharacteristicCallbacks
virtual void onWrite(NimBLECharacteristic *pCharacteristic, NimBLEConnInfo &connInfo)
#else
virtual void onWrite(NimBLECharacteristic *pCharacteristic)

#endif
{
// CAUTION: This callback runs in the NimBLE task!!! Don't do anything except communicate with the main task's runOnce.
Expand Down Expand Up @@ -777,7 +779,6 @@ bool NimbleBluetooth::isConnected()

int NimbleBluetooth::getRssi()
{
#if defined(CONFIG_IDF_TARGET_ESP32S3) || defined(CONFIG_IDF_TARGET_ESP32C6)
if (!bleServer || !isConnected()) {
return 0; // No active BLE connection
}
Expand All @@ -803,8 +804,6 @@ int NimbleBluetooth::getRssi()
return rssi;
}
LOG_DEBUG("BLE RSSI read failed, rc=%d", rc);
#endif

return 0;
}

Expand All @@ -816,7 +815,11 @@ void NimbleBluetooth::setup()
LOG_INFO("Init the NimBLE bluetooth module");

NimBLEDevice::init(getDeviceName());
#ifdef NIMBLE_TWO
NimBLEDevice::setPower(9);
#else
NimBLEDevice::setPower(ESP_PWR_LVL_P9);
#endif

#if defined(CONFIG_IDF_TARGET_ESP32S3) || defined(CONFIG_IDF_TARGET_ESP32C6)
int mtuResult = NimBLEDevice::setMTU(kPreferredBleMtu);
Expand Down Expand Up @@ -869,17 +872,18 @@ void NimbleBluetooth::setupService()
ToRadioCharacteristic = bleService->createCharacteristic(TORADIO_UUID, NIMBLE_PROPERTY::WRITE);
// Allow notifications so phones can stream FromRadio without polling.
FromRadioCharacteristic = bleService->createCharacteristic(FROMRADIO_UUID, NIMBLE_PROPERTY::READ);
fromNumCharacteristic = bleService->createCharacteristic(FROMNUM_UUID, NIMBLE_PROPERTY::NOTIFY | NIMBLE_PROPERTY::READ);
fromNumCharacteristic =
bleService->createCharacteristic(FROMNUM_UUID, NIMBLE_PROPERTY::NOTIFY | NIMBLE_PROPERTY::READ, 4);
logRadioCharacteristic =
bleService->createCharacteristic(LOGRADIO_UUID, NIMBLE_PROPERTY::NOTIFY | NIMBLE_PROPERTY::READ, 512U);
} else {
ToRadioCharacteristic = bleService->createCharacteristic(
TORADIO_UUID, NIMBLE_PROPERTY::WRITE | NIMBLE_PROPERTY::WRITE_AUTHEN | NIMBLE_PROPERTY::WRITE_ENC);
FromRadioCharacteristic = bleService->createCharacteristic(
FROMRADIO_UUID, NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::READ_AUTHEN | NIMBLE_PROPERTY::READ_ENC);
fromNumCharacteristic =
bleService->createCharacteristic(FROMNUM_UUID, NIMBLE_PROPERTY::NOTIFY | NIMBLE_PROPERTY::READ |
NIMBLE_PROPERTY::READ_AUTHEN | NIMBLE_PROPERTY::READ_ENC);
fromNumCharacteristic = bleService->createCharacteristic(
FROMNUM_UUID,
NIMBLE_PROPERTY::NOTIFY | NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::READ_AUTHEN | NIMBLE_PROPERTY::READ_ENC, 4);
logRadioCharacteristic = bleService->createCharacteristic(
LOGRADIO_UUID,
NIMBLE_PROPERTY::NOTIFY | NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::READ_AUTHEN | NIMBLE_PROPERTY::READ_ENC, 512U);
Expand Down Expand Up @@ -912,7 +916,7 @@ void NimbleBluetooth::setupService()

void NimbleBluetooth::startAdvertising()
{
#ifdef NIMBLE_TWO
#if defined(NIMBLE_TWO) && defined(CONFIG_BT_NIMBLE_EXT_ADV)
NimBLEExtAdvertising *pAdvertising = NimBLEDevice::getAdvertising();
NimBLEExtAdvertisement legacyAdvertising;

Expand Down Expand Up @@ -944,8 +948,17 @@ void NimbleBluetooth::startAdvertising()
pAdvertising->reset();
pAdvertising->addServiceUUID(MESH_SERVICE_UUID);
pAdvertising->addServiceUUID(NimBLEUUID((uint16_t)0x180f)); // 0x180F is the Battery Service
pAdvertising->start(0);
#if defined(NIMBLE_TWO)
NimBLEAdvertisementData scan;
scan.setName(getDeviceName());
pAdvertising->setScanResponseData(scan);
pAdvertising->enableScanResponse(true);
#endif
if (!pAdvertising->start(0)) {
LOG_ERROR("BLE failed to start advertising");
};
#endif
LOG_DEBUG("BLE Advertising started");
}

/// Given a level between 0-100, update the BLE attribute
Expand Down
2 changes: 1 addition & 1 deletion variants/esp32c3/diy/esp32c3_super_mini/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
extends = esp32c3_base
board = esp32-c3-devkitm-1
build_flags =
${esp32_base.build_flags}
${esp32c3_base.build_flags}
-D PRIVATE_HW
-I variants/esp32c3/diy/esp32c3_super_mini
-D ARDUINO_USB_MODE=1
Expand Down
4 changes: 2 additions & 2 deletions variants/esp32c3/hackerboxes_esp32c3_oled/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
extends = esp32c3_base
board = esp32-c3-devkitm-1
board_level = extra
build_flags =
${esp32_base.build_flags}
build_flags =
${esp32c3_base.build_flags}
-D PRIVATE_HW
-D ARDUINO_USB_MODE=1
-D ARDUINO_USB_CDC_ON_BOOT=1
Expand Down
4 changes: 2 additions & 2 deletions variants/esp32c3/heltec_esp32c3/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
extends = esp32c3_base
board = esp32-c3-devkitm-1
board_level = pr
build_flags =
${esp32_base.build_flags}
build_flags =
${esp32c3_base.build_flags}
-D HELTEC_HT62
-I variants/esp32c3/heltec_esp32c3
monitor_speed = 115200
Expand Down
2 changes: 1 addition & 1 deletion variants/esp32c3/heltec_hru_3601/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
extends = esp32c3_base
board = adafruit_qtpy_esp32c3
build_flags =
${esp32_base.build_flags}
${esp32c3_base.build_flags}
-D HELTEC_HRU_3601
-I variants/esp32c3/heltec_hru_3601
lib_deps = ${esp32c3_base.lib_deps}
Expand Down
4 changes: 2 additions & 2 deletions variants/esp32c3/m5stack-stamp-c3/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
extends = esp32c3_base
board = esp32-c3-devkitm-1
board_level = extra
build_flags =
${esp32_base.build_flags}
build_flags =
${esp32c3_base.build_flags}
-D PRIVATE_HW
-I variants/esp32c3/m5stack-stamp-c3
monitor_speed = 115200
Expand Down
4 changes: 2 additions & 2 deletions variants/esp32s3/bpi_picow_esp32_s3/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ upload_protocol = esptool
lib_deps =
${esp32_base.lib_deps}
caveman99/ESP32 Codec2@^1.0.1
build_flags =
${esp32_base.build_flags}
build_flags =
${esp32s3_base.build_flags}
-D PRIVATE_HW
-I variants/esp32s3/bpi_picow_esp32_s3
4 changes: 2 additions & 2 deletions variants/esp32s3/diy/my_esp32s3_diy_eink/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ lib_deps =
build_unflags =
${esp32s3_base.build_unflags}
-DARDUINO_USB_MODE=1
build_flags =
${esp32_base.build_flags}
build_flags =
${esp32s3_base.build_flags}
-D PRIVATE_HW
-I variants/esp32s3/diy/my_esp32s3_diy_eink
-Dmy
Expand Down
4 changes: 2 additions & 2 deletions variants/esp32s3/diy/my_esp32s3_diy_oled/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ lib_deps =
build_unflags =
${esp32s3_base.build_unflags}
-DARDUINO_USB_MODE=1
build_flags =
${esp32_base.build_flags}
build_flags =
${esp32s3_base.build_flags}
-D PRIVATE_HW
-I variants/esp32s3/diy/my_esp32s3_diy_oled
-DBOARD_HAS_PSRAM
Expand Down
4 changes: 2 additions & 2 deletions variants/esp32s3/link32_s3_v1/platformio.ini
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[env:link32-s3-v1]
extends = esp32s3_base
board = esp32-s3-devkitc-1
build_flags =
${esp32_base.build_flags}
build_flags =
${esp32s3_base.build_flags}
-D LINK_32
-I variants/esp32s3/link32_s3_v1
-DARDUINO_USB_CDC_ON_BOOT
Expand Down
4 changes: 2 additions & 2 deletions variants/esp32s3/m5stack_cores3/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ board = m5stack-cores3
board_check = true
board_build.partitions = default_16MB.csv
upload_protocol = esptool
build_flags =
${esp32_base.build_flags}
build_flags =
${esp32s3_base.build_flags}
-D PRIVATE_HW
-D M5STACK_CORES3
-I variants/esp32s3/m5stack_cores3
Expand Down
4 changes: 2 additions & 2 deletions variants/esp32s3/nibble_esp32/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
extends = esp32s3_base
board = esp32-s3-zero
board_level = extra
build_flags =
${esp32_base.build_flags}
build_flags =
${esp32s3_base.build_flags}
-D PRIVATE_HW
-I variants/esp32s3/nibble_esp32
4 changes: 2 additions & 2 deletions variants/esp32s3/rak3312/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ board_level = pr
board_check = true
upload_protocol = esptool

build_flags =
${esp32_base.build_flags}
build_flags =
${esp32s3_base.build_flags}
-D RAK3312
-I variants/esp32s3/rak3312
3 changes: 2 additions & 1 deletion variants/esp32s3/seeed-sensecap-indicator/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ board_check = true
board_build.partitions = partition-table-8MB.csv
upload_protocol = esptool

build_flags = ${esp32_base.build_flags}
build_flags =
${esp32s3_base.build_flags}
-Ivariants/esp32s3/seeed-sensecap-indicator
-DSENSECAP_INDICATOR
-DCONFIG_ARDUHAL_LOG_COLORS
Expand Down
5 changes: 3 additions & 2 deletions variants/esp32s3/t-deck-pro/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ board = t-deck-pro
board_check = true
upload_protocol = esptool

build_flags =
${esp32_base.build_flags} -I variants/esp32s3/t-deck-pro
build_flags =
${esp32s3_base.build_flags}
-I variants/esp32s3/t-deck-pro
-D T_DECK_PRO
-D USE_EINK
-D EINK_DISPLAY_MODEL=GxEPD2_310_GDEQ031T10
Expand Down
3 changes: 2 additions & 1 deletion variants/esp32s3/t-watch-s3/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ board_check = true
board_build.partitions = default_16MB.csv
upload_protocol = esptool

build_flags = ${esp32_base.build_flags}
build_flags =
${esp32s3_base.build_flags}
-DT_WATCH_S3
-Ivariants/esp32s3/t-watch-s3
-DPCF8563_RTC=0x51
Expand Down
4 changes: 2 additions & 2 deletions variants/esp32s3/tlora_t3s3_epaper/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ board = tlora-t3s3-v1
board_check = true
upload_protocol = esptool

build_flags =
${esp32_base.build_flags}
build_flags =
${esp32s3_base.build_flags}
-D TLORA_T3S3_EPAPER
-I variants/esp32s3/tlora_t3s3_epaper
-DUSE_EINK
Expand Down
4 changes: 2 additions & 2 deletions variants/esp32s3/tlora_t3s3_v1/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ board = tlora-t3s3-v1
board_check = true
upload_protocol = esptool

build_flags =
${esp32_base.build_flags} -D TLORA_T3S3_V1 -I variants/esp32s3/tlora_t3s3_v1
build_flags =
${esp32s3_base.build_flags} -D TLORA_T3S3_V1 -I variants/esp32s3/tlora_t3s3_v1
Loading