kopia lustrzana https://github.com/micropython/micropython
esp32: Enable NimBLE support on all builds (IDF 3.3 and 4.0).
This commit updates the IDFv3 version to v3.3.1, and enables the "ubluetooth" module by default on IDFv3 builds.pull/5553/head
rodzic
c14ff6194c
commit
3032ae1155
|
@ -213,7 +213,7 @@ jobs:
|
|||
- make ${MAKEOPTS} -C mpy-cross
|
||||
# IDF v3 build
|
||||
- git -C esp-idf checkout $(grep "ESPIDF_SUPHASH_V3 :=" ports/esp32/Makefile | cut -d " " -f 3)
|
||||
- git -C esp-idf submodule update --init components/json/cJSON components/esp32/lib components/esptool_py/esptool components/expat/expat components/lwip/lwip components/mbedtls/mbedtls components/micro-ecc/micro-ecc components/nghttp/nghttp2
|
||||
- git -C esp-idf submodule update --init components/json/cJSON components/esp32/lib components/esptool_py/esptool components/expat/expat components/lwip/lwip components/mbedtls/mbedtls components/micro-ecc/micro-ecc components/nghttp/nghttp2 components/nimble components/bt
|
||||
- make ${MAKEOPTS} -C ports/esp32 submodules
|
||||
- make ${MAKEOPTS} -C ports/esp32
|
||||
# clean
|
||||
|
|
|
@ -51,8 +51,9 @@ OBJDUMP = $(CROSS_COMPILE)objdump
|
|||
SDKCONFIG_COMBINED = $(BUILD)/sdkconfig.combined
|
||||
SDKCONFIG_H = $(BUILD)/sdkconfig.h
|
||||
|
||||
# the git hash of the currently supported ESP IDF version
|
||||
ESPIDF_SUPHASH_V3 := 6ccb4cf5b7d1fdddb8c2492f9cbc926abaf230df
|
||||
# The git hash of the currently supported ESP IDF version.
|
||||
# These correspond to v3.3.1 and v4.0-beta1.
|
||||
ESPIDF_SUPHASH_V3 := 143d26aa49df524e10fb8e41a71d12e731b9b71d
|
||||
ESPIDF_SUPHASH_V4 := 310beae373446ceb9a4ad9b36b5428d7fdf2705f
|
||||
|
||||
define print_supported_git_hash
|
||||
|
@ -112,15 +113,13 @@ $(info Add the xtensa toolchain to your PATH. See README.md)
|
|||
$(error C compiler missing)
|
||||
endif
|
||||
|
||||
# Support BLE by default when building with IDF 4.x.
|
||||
# Support BLE by default.
|
||||
# Can be explicitly disabled on the command line or board config.
|
||||
ifeq ($(ESPIDF_CURHASH),$(ESPIDF_SUPHASH_V4))
|
||||
MICROPY_PY_BLUETOOTH ?= 1
|
||||
ifeq ($(MICROPY_PY_BLUETOOTH),1)
|
||||
SDKCONFIG += boards/sdkconfig.ble
|
||||
MICROPY_BLUETOOTH_NIMBLE = 1
|
||||
endif
|
||||
endif
|
||||
|
||||
# include sdkconfig to get needed configuration values
|
||||
include $(SDKCONFIG)
|
||||
|
@ -158,6 +157,7 @@ INC_ESPCOMP += -I$(ESPCOMP)/tcpip_adapter/include
|
|||
INC_ESPCOMP += -I$(ESPCOMP)/lwip/lwip/src/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/lwip/port/esp32/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/lwip/include/apps
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/lwip/include/apps/sntp
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/mbedtls/mbedtls/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/mbedtls/port/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/mdns/include
|
||||
|
@ -218,9 +218,28 @@ INC_ESPCOMP += -I$(ESPCOMP)/json/port/include
|
|||
INC_ESPCOMP += -I$(ESPCOMP)/micro-ecc/micro-ecc
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/nghttp/port/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/nghttp/nghttp2/lib/includes
|
||||
ifeq ($(CONFIG_NIMBLE_ENABLED),y)
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/bt/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/nimble/nimble/porting/nimble/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/nimble/port/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/nimble/nimble/nimble/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/nimble/nimble/nimble/host/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/nimble/nimble/nimble/host/services/ans/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/nimble/nimble/nimble/host/services/bas/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/nimble/nimble/nimble/host/services/gap/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/nimble/nimble/nimble/host/services/gatt/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/nimble/nimble/nimble/host/services/ias/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/nimble/nimble/nimble/host/services/lls/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/nimble/nimble/nimble/host/services/tps/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/nimble/nimble/nimble/host/util/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/nimble/nimble/nimble/host/store/ram/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/nimble/nimble/nimble/host/store/config/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/nimble/nimble/porting/npl/freertos/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/nimble/nimble/ext/tinycrypt/include
|
||||
INC_ESPCOMP += -I$(ESPCOMP)/nimble/esp-hci/include
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(ESPIDF_CURHASH),$(ESPIDF_SUPHASH_V4))
|
||||
ifeq ($(MICROPY_PY_BLUETOOTH),1)
|
||||
CFLAGS_MOD += -DMICROPY_PY_BLUETOOTH=1
|
||||
CFLAGS_MOD += -DMICROPY_PY_BLUETOOTH_ENABLE_CENTRAL_MODE=1
|
||||
|
@ -229,7 +248,6 @@ ifeq ($(MICROPY_BLUETOOTH_NIMBLE),1)
|
|||
CFLAGS_MOD += -DMICROPY_BLUETOOTH_NIMBLE=1
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# these flags are common to C and C++ compilation
|
||||
CFLAGS_COMMON = -Os -ffunction-sections -fdata-sections -fstrict-volatile-bitfields \
|
||||
|
@ -421,6 +439,7 @@ ESPIDF_SOC_O = $(patsubst %.c,%.o,\
|
|||
$(wildcard $(ESPCOMP)/soc/src/hal/*.c) \
|
||||
)
|
||||
|
||||
$(BUILD)/$(ESPCOMP)/cxx/cxx_guards.o: CXXFLAGS += -Wno-error=sign-compare
|
||||
ESPIDF_CXX_O = $(patsubst %.cpp,%.o,$(wildcard $(ESPCOMP)/cxx/*.cpp))
|
||||
|
||||
ESPIDF_PTHREAD_O = $(patsubst %.c,%.o,$(wildcard $(ESPCOMP)/pthread/*.c))
|
||||
|
@ -458,6 +477,7 @@ ESPIDF_APP_UPDATE_O = $(patsubst %.c,%.o,$(wildcard $(ESPCOMP)/app_update/*.c))
|
|||
|
||||
ESPIDF_NEWLIB_O = $(patsubst %.c,%.o,$(wildcard $(ESPCOMP)/newlib/*.c))
|
||||
|
||||
$(BUILD)/$(ESPCOMP)/nvs_flash/src/nvs_api.o: CXXFLAGS += -Wno-error=sign-compare
|
||||
ESPIDF_NVS_FLASH_O = $(patsubst %.cpp,%.o,$(wildcard $(ESPCOMP)/nvs_flash/src/*.cpp))
|
||||
|
||||
ESPIDF_SMARTCONFIG_ACK_O = $(patsubst %.c,%.o,$(wildcard $(ESPCOMP)/smartconfig_ack/*.c))
|
||||
|
@ -546,6 +566,29 @@ ESPIDF_ETHERNET_O = $(patsubst %.c,%.o,\
|
|||
$(wildcard $(ESPCOMP)/ethernet/*.c) \
|
||||
$(wildcard $(ESPCOMP)/ethernet/eth_phy/*.c) \
|
||||
)
|
||||
|
||||
ifeq ($(CONFIG_NIMBLE_ENABLED),y)
|
||||
ESPIDF_BT_NIMBLE_O = $(patsubst %.c,%.o,\
|
||||
$(wildcard $(ESPCOMP)/bt/*.c) \
|
||||
$(wildcard $(ESPCOMP)/nimble/esp-hci/src/*.c) \
|
||||
$(wildcard $(ESPCOMP)/nimble/nimble/ext/tinycrypt/src/*.c) \
|
||||
$(wildcard $(ESPCOMP)/nimble/nimble/nimble/host/services/ans/src/*.c) \
|
||||
$(wildcard $(ESPCOMP)/nimble/nimble/nimble/host/services/bas/src/*.c) \
|
||||
$(wildcard $(ESPCOMP)/nimble/nimble/nimble/host/services/gap/src/*.c) \
|
||||
$(wildcard $(ESPCOMP)/nimble/nimble/nimble/host/services/gatt/src/*.c) \
|
||||
$(wildcard $(ESPCOMP)/nimble/nimble/nimble/host/services/ias/src/*.c) \
|
||||
$(wildcard $(ESPCOMP)/nimble/nimble/nimble/host/services/lls/src/*.c) \
|
||||
$(wildcard $(ESPCOMP)/nimble/nimble/nimble/host/services/tps/src/*.c) \
|
||||
$(wildcard $(ESPCOMP)/nimble/nimble/nimble/host/src/*.c) \
|
||||
$(wildcard $(ESPCOMP)/nimble/nimble/nimble/host/store/config/src/ble_store_config.c) \
|
||||
$(wildcard $(ESPCOMP)/nimble/nimble/nimble/host/store/config/src/ble_store_nvs.c) \
|
||||
$(wildcard $(ESPCOMP)/nimble/nimble/nimble/host/store/ram/src/*.c) \
|
||||
$(wildcard $(ESPCOMP)/nimble/nimble/nimble/host/util/src/*.c) \
|
||||
$(wildcard $(ESPCOMP)/nimble/nimble/nimble/src/*.c) \
|
||||
$(wildcard $(ESPCOMP)/nimble/nimble/porting/nimble/src/*.c) \
|
||||
$(wildcard $(ESPCOMP)/nimble/nimble/porting/npl/freertos/src/*.c) \
|
||||
)
|
||||
endif
|
||||
endif
|
||||
|
||||
OBJ_ESPIDF =
|
||||
|
@ -587,14 +630,12 @@ $(eval $(call gen_espidf_lib_rule,mbedtls,$(ESPIDF_MBEDTLS_O)))
|
|||
$(eval $(call gen_espidf_lib_rule,mdns,$(ESPIDF_MDNS_O)))
|
||||
$(eval $(call gen_espidf_lib_rule,wpa_supplicant,$(ESPIDF_WPA_SUPPLICANT_O)))
|
||||
$(eval $(call gen_espidf_lib_rule,sdmmc,$(ESPIDF_SDMMC_O)))
|
||||
$(eval $(call gen_espidf_lib_rule,bt_nimble,$(ESPIDF_BT_NIMBLE_O)))
|
||||
|
||||
ifeq ($(ESPIDF_CURHASH),$(ESPIDF_SUPHASH_V4))
|
||||
$(eval $(call gen_espidf_lib_rule,esp_common,$(ESPIDF_ESP_COMMON_O)))
|
||||
$(eval $(call gen_espidf_lib_rule,esp_event,$(ESPIDF_ESP_EVENT_O)))
|
||||
$(eval $(call gen_espidf_lib_rule,esp_wifi,$(ESPIDF_ESP_WIFI_O)))
|
||||
ifeq ($(CONFIG_BT_NIMBLE_ENABLED),y)
|
||||
$(eval $(call gen_espidf_lib_rule,bt_nimble,$(ESPIDF_BT_NIMBLE_O)))
|
||||
endif
|
||||
$(eval $(call gen_espidf_lib_rule,esp_eth,$(ESPIDF_ESP_ETH_O)))
|
||||
$(eval $(call gen_espidf_lib_rule,xtensa,$(ESPIDF_XTENSA_O)))
|
||||
else
|
||||
|
@ -714,6 +755,7 @@ APP_LD_ARGS += -L$(ESPCOMP)/bt/controller/lib -lbtdm_app
|
|||
APP_LD_ARGS += -L$(ESPCOMP)/esp_wifi/lib_esp32 -lcore -lmesh -lnet80211 -lphy -lrtc -lpp -lsmartconfig -lcoexist
|
||||
else
|
||||
APP_LD_ARGS += $(ESPCOMP)/esp32/libhal.a
|
||||
APP_LD_ARGS += -L$(ESPCOMP)/bt/lib -lbtdm_app
|
||||
APP_LD_ARGS += -L$(ESPCOMP)/esp32/lib -lcore -lmesh -lnet80211 -lphy -lrtc -lpp -lwpa -lsmartconfig -lcoexist -lwps -lwpa2
|
||||
endif
|
||||
APP_LD_ARGS += $(OBJ)
|
||||
|
@ -769,6 +811,7 @@ BOOTLOADER_LIB_BOOTLOADER_SUPPORT_OBJ = $(addprefix $(BUILD)/bootloader/$(ESPCOM
|
|||
bootloader_support/src/bootloader_clock.o \
|
||||
bootloader_support/src/bootloader_common.o \
|
||||
bootloader_support/src/bootloader_flash.o \
|
||||
bootloader_support/src/bootloader_flash_config.o \
|
||||
bootloader_support/src/bootloader_init.o \
|
||||
bootloader_support/src/bootloader_random.o \
|
||||
bootloader_support/src/bootloader_utility.o \
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
# The following options override the defaults
|
||||
|
||||
CONFIG_IDF_TARGET="esp32"
|
||||
CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000
|
||||
|
||||
# Application manager
|
||||
CONFIG_APP_EXCLUDE_PROJECT_VER_VAR=y
|
||||
|
|
|
@ -12,3 +12,13 @@ CONFIG_BT_NIMBLE_MAX_CONNECTIONS=4
|
|||
CONFIG_BT_NIMBLE_PINNED_TO_CORE_0=n
|
||||
CONFIG_BT_NIMBLE_PINNED_TO_CORE_1=y
|
||||
CONFIG_BT_NIMBLE_PINNED_TO_CORE=1
|
||||
|
||||
# v3.3-only (renamed in 4.0)
|
||||
CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY=y
|
||||
CONFIG_BTDM_CONTROLLER_MODE_BR_EDR_ONLY=
|
||||
CONFIG_BTDM_CONTROLLER_MODE_BTDM=
|
||||
CONFIG_BLUEDROID_ENABLED=n
|
||||
CONFIG_NIMBLE_ENABLED=y
|
||||
CONFIG_NIMBLE_MAX_CONNECTIONS=4
|
||||
CONFIG_NIMBLE_PINNED_TO_CORE_0=n
|
||||
CONFIG_NIMBLE_PINNED_TO_CORE_1=y
|
||||
|
|
Ładowanie…
Reference in New Issue