@@ -644,31 +644,20 @@ async def to_code(config):
644644 add_idf_sdkconfig_option ("CONFIG_BT_NIMBLE_ENABLED" , True )
645645 add_idf_sdkconfig_option ("CONFIG_BT_BLUEDROID_ENABLED" , False )
646646
647- #add_idf_sdkconfig_option("CONFIG_BTDM_CTRL_MODE_BLE_ONLY", True)
648- #add_idf_sdkconfig_option("CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY", False)
649- #add_idf_sdkconfig_option("CONFIG_BTDM_CTRL_MODE_BTDM", False)
650- #add_idf_sdkconfig_option("CONFIG_BT_NIMBLE_LOG_LEVEL_NONE", True)
651- #add_idf_sdkconfig_option("CONFIG_BT_NIMBLE_LOG_LEVEL", 0)
652- #add_idf_sdkconfig_option("CONFIG_BT_NIMBLE_MAX_CONNECTIONS", 4)
653- #add_idf_sdkconfig_option("CONFIG_BT_NIMBLE_MAX_BONDS", 8)
654- #add_idf_sdkconfig_option("CONFIG_BT_NIMBLE_NVS_PERSIST", True)
655- #add_idf_sdkconfig_option("CONFIG_BT_NIMBLE_GATT_MAX_PROCS", 8)
656-
657- #add_idf_sdkconfig_option("CONFIG_BT_NIMBLE_PINNED_TO_CORE_0", True)
658- #add_idf_sdkconfig_option("CONFIG_BT_NIMBLE_PINNED_TO_CORE", 0)
659- #add_idf_sdkconfig_option("CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE", 8192)
660- #add_idf_sdkconfig_option("CONFIG_BT_NIMBLE_ROLE_CENTRAL", True)
661- #add_idf_sdkconfig_option("CONFIG_BT_NIMBLE_ROLE_PERIPHERAL", False)
662- #add_idf_sdkconfig_option("CONFIG_BT_NIMBLE_ROLE_BROADCASTER", True)
663- #add_idf_sdkconfig_option("CONFIG_BT_NIMBLE_ROLE_OBSERVER", True)
664- #add_idf_sdkconfig_option("CONFIG_BT_NIMBLE_SM_LEGACY", True)
647+ add_idf_sdkconfig_option ("CONFIG_BTDM_BLE_SCAN_DUPL" , True )
648+ add_idf_sdkconfig_option ("CONFIG_NIMBLE_CPP_LOG_LEVEL" , 0 )
649+ add_idf_sdkconfig_option ("CONFIG_BT_NIMBLE_LOG_LEVEL" , 0 )
665650
666651 add_idf_component (
667652 name = "NukiBleEsp32" ,
668653 repo = "https://github.com/AzonInc/NukiBleEsp32.git" ,
669654 ref = "idf" ,
670655 )
671656 else :
657+ cg .add_build_flag ("-DCONFIG_BTDM_BLE_SCAN_DUPL=y" )
658+ cg .add_build_flag ("-DCONFIG_NIMBLE_CPP_LOG_LEVEL=0" )
659+ cg .add_build_flag ("-DCONFIG_BT_NIMBLE_LOG_LEVEL=0" )
660+
672661 cg .add_library ("Preferences" , None )
673662 cg .add_library ("h2zero/NimBLE-Arduino" , "1.4.2" )
674663 cg .add_library ("Crc16" , None )
@@ -678,11 +667,34 @@ async def to_code(config):
678667 "https://github.com/I-Connect/NukiBleEsp32#940d809" ,
679668 )
680669
681- # Enable alternative connect mode
670+
671+ # Defines
672+ cg .add_define ("NUKI_MUTEX_RECURSIVE" )
673+ cg .add_define ("NUKI_NO_WDT_RESET" )
674+
682675 if CONF_ALT_CONNECT_MODE in config and config [CONF_ALT_CONNECT_MODE ]:
683676 cg .add_define ("NUKI_ALT_CONNECT" )
684677
685678
679+ # Remove Build flags
680+ cg .add_platformio_option (
681+ "build_unflags" ,
682+ [
683+ f"-DCONFIG_BTDM_BLE_SCAN_DUPL" ,
684+ f"-DCONFIG_BT_NIMBLE_LOG_LEVEL" ,
685+ f"-Werror=all" ,
686+ f"-Wall" ,
687+ ],
688+ )
689+
690+
691+ # Build flags
692+ cg .add_build_flag ("-Wno-unused-result" )
693+ cg .add_build_flag ("-Wno-ignored-qualifiers" )
694+ cg .add_build_flag ("-Wno-missing-field-initializers" )
695+ cg .add_build_flag ("-Wno-maybe-uninitialized" )
696+
697+
686698def _final_validate (config ):
687699 full_config = fv .full_config .get ()
688700
@@ -702,7 +714,11 @@ def _final_validate(config):
702714
703715 # Check for PSRAM support
704716 if "psram" in full_config :
705- cg .add_build_flag (f"-DCONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL=1" )
717+ if CORE .using_esp_idf :
718+ add_idf_sdkconfig_option ("CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT" , True )
719+ add_idf_sdkconfig_option ("CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL" , 50768 )
720+ else :
721+ cg .add_build_flag (f"-DCONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL=1" )
706722 else :
707723 LOGGER .info ("Consider enabling PSRAM support if it's available for the NimBLE Stack." )
708724
0 commit comments