mirror of
https://github.com/meshtastic/firmware.git
synced 2025-12-31 15:10:40 +00:00
324 lines
10 KiB
INI
324 lines
10 KiB
INI
; Common settings for ESP targets, mixin with extends = esp32_common
|
|
[esp32_common]
|
|
extends = arduino_base
|
|
custom_esp32_kind =
|
|
custom_mtjson_part =
|
|
platform =
|
|
# TODO renovate
|
|
; https://github.com/tasmota/platform-espressif32/releases/download/2025.12.30/platform-espressif32.zip
|
|
https://github.com/pioarduino/platform-espressif32/releases/download/55.03.35/platform-espressif32.zip
|
|
; https://github.com/pioarduino/platform-espressif32/releases/download/54.03.21-2/platform-espressif32.zip
|
|
|
|
extra_scripts =
|
|
${env.extra_scripts}
|
|
pre:extra_scripts/esp32_pre.py
|
|
extra_scripts/esp32_extra.py
|
|
|
|
build_src_filter =
|
|
${arduino_base.build_src_filter} -<platform/nrf52/> -<platform/stm32wl> -<platform/rp2xx0> -<mesh/eth/> -<mesh/raspihttp>
|
|
|
|
upload_speed = 921600
|
|
debug_init_break = tbreak setup
|
|
monitor_filters = esp32_exception_decoder
|
|
|
|
board_build.filesystem = littlefs
|
|
|
|
# Remove -DMYNEWT_VAL_BLE_HS_LOG_LVL=LOG_LEVEL_CRITICAL for low level BLE logging.
|
|
# See library directory for BLE logging possible values: .pio/libdeps/tbeam/NimBLE-Arduino/src/log_common/log_common.h
|
|
# This overrides the BLE logging default of LOG_LEVEL_INFO (1) from: .pio/libdeps/tbeam/NimBLE-Arduino/src/esp_nimble_cfg.h
|
|
build_unflags =
|
|
-fno-lto
|
|
build_flags =
|
|
${arduino_base.build_flags}
|
|
-Wall
|
|
-Wextra
|
|
-Isrc/platform/esp32
|
|
-std=c++11
|
|
-DLOG_LOCAL_LEVEL=ESP_LOG_DEBUG
|
|
-DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
|
|
-DMYNEWT_VAL_BLE_HS_LOG_LVL=LOG_LEVEL_CRITICAL
|
|
-DAXP_DEBUG_PORT=Serial
|
|
-DESP_OPENSSL_SUPPRESS_LEGACY_WARNING
|
|
-DSERIAL_BUFFER_SIZE=4096
|
|
-DSERIAL_HAS_ON_RECEIVE
|
|
-DLIBPAX_ARDUINO
|
|
-DLIBPAX_WIFI
|
|
-DLIBPAX_BLE
|
|
-DHAS_UDP_MULTICAST=1
|
|
;-DDEBUG_HEAP
|
|
|
|
lib_deps =
|
|
${arduino_base.lib_deps}
|
|
${networking_base.lib_deps}
|
|
${environmental_base.lib_deps}
|
|
${environmental_extra.lib_deps}
|
|
${radiolib_base.lib_deps}
|
|
# TODO renovate
|
|
https://github.com/jackjansen/esp32_idf5_https_server/archive/v1.1.1.zip
|
|
# renovate: datasource=custom.pio depName=NimBLE-Arduino packageName=h2zero/library/NimBLE-Arduino
|
|
h2zero/NimBLE-Arduino@2.3.7
|
|
# TODO renovate
|
|
https://github.com/mverch67/libpax/archive/6f52ee989301cdabaeef00bcbf93bff55708ce2f.zip
|
|
# renovate: datasource=custom.pio depName=XPowersLib packageName=lewisxhe/library/XPowersLib
|
|
lewisxhe/XPowersLib@0.3.2
|
|
# renovate: datasource=custom.pio depName=rweather/Crypto packageName=rweather/library/Crypto
|
|
rweather/Crypto@0.4.0
|
|
|
|
lib_ignore =
|
|
segger_rtt
|
|
ESP32 BLE Arduino
|
|
; Ignore builtin NimBLE libs
|
|
BLE
|
|
BluetoothSerial
|
|
SimpleBLE
|
|
WiFiProv
|
|
ArduinoOTA
|
|
; Ignore pioarduino esp32 libs we don't use
|
|
ESP_I2S
|
|
ESP_NOW
|
|
ESP_SR
|
|
Insights
|
|
Matter
|
|
OpenThread
|
|
RainMaker
|
|
;SPIFFS
|
|
USB
|
|
;NetworkClientSecure
|
|
Zigbee
|
|
Micro-RTSP
|
|
; testing below
|
|
mqtt
|
|
esp-mqtt
|
|
|
|
; leave this commented out to avoid breaking Windows
|
|
;upload_port = /dev/ttyUSB0
|
|
;monitor_port = /dev/ttyUSB0
|
|
|
|
; Please don't delete these lines. JM uses them.
|
|
;upload_port = /dev/cu.SLAB_USBtoUART
|
|
;monitor_port = /dev/cu.SLAB_USBtoUART
|
|
|
|
; customize the partition table
|
|
; http://docs.platformio.org/en/latest/platforms/espressif32.html#partition-tables
|
|
board_build.partitions = partition-table.csv
|
|
|
|
custom_component_remove =
|
|
espressif/esp_hosted
|
|
espressif/esp_wifi_remote
|
|
espressif/esp_modem
|
|
espressif/esp-dsp
|
|
espressif/esp32-camera
|
|
espressif/libsodium
|
|
espressif/esp-modbus
|
|
espressif/qrcode
|
|
espressif/esp_insights
|
|
espressif/esp_diag_data_store
|
|
espressif/esp_diagnostics
|
|
espressif/esp_rainmaker
|
|
espressif/rmaker_common
|
|
espressif/network_provisioning
|
|
chmorgan/esp-libhelix-mp3
|
|
espressif/esp-tflite-micro
|
|
espressif/esp-sr
|
|
espressif/esp_matter
|
|
espressif/esp-zboss-lib
|
|
espressif/esp-zigbee-lib
|
|
espressif/mqtt
|
|
|
|
custom_sdkconfig =
|
|
; CONFIG_LOG_DEFAULT_LEVEL=4
|
|
; CONFIG_LOG_MAXIMUM_LEVEL=4
|
|
; CONFIG_BT_NIMBLE_CPP_LOG_LEVEL=1
|
|
CONFIG_LOG_COLORS=y
|
|
CONFIG_ARDUHAL_LOG_COLORS=y
|
|
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
|
|
CONFIG_IDF_EXPERIMENTAL_FEATURES=y
|
|
;
|
|
; Compiler options
|
|
;
|
|
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=n
|
|
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y
|
|
CONFIG_COMPILER_CXX_EXCEPTIONS=n
|
|
CONFIG_COMPILER_STACK_CHECK_MODE_NORM=n
|
|
CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
|
|
CONFIG_COMPILER_DISABLE_GCC12_WARNINGS=y
|
|
CONFIG_COMPILER_DISABLE_GCC13_WARNINGS=y
|
|
CONFIG_COMPILER_DISABLE_GCC14_WARNINGS=y
|
|
CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING=n
|
|
CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y
|
|
CONFIG_ESP_GDBSTUB_ENABLED=n
|
|
CONFIG_ESP_TASK_WDT_INIT=n
|
|
CONFIG_NEWLIB_NANO_FORMAT=y
|
|
; LIBC_NEWLIB_NANO_FORMAT is enabled via 'esp32_extra.py' to allow float support
|
|
CONFIG_ESP_COREDUMP_ENABLE=n
|
|
CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH=n
|
|
CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y
|
|
CONFIG_ESP32_ENABLE_COREDUMP=n
|
|
CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=n
|
|
CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=n
|
|
CONFIG_FREERTOS_USE_TRACE_FACILITY=n
|
|
CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y
|
|
CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y
|
|
CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH=y
|
|
CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM=y
|
|
CONFIG_ESP_WIFI_IRAM_OPT=n
|
|
CONFIG_ESP32_WIFI_RX_IRAM_OPT=n
|
|
CONFIG_SPIRAM_CACHE_LIBCHAR_IN_IRAM=n
|
|
CONFIG_SPIRAM_CACHE_LIBSTR_IN_IRAM=n
|
|
CONFIG_SPIRAM_CACHE_LIBMISC_IN_IRAM=n
|
|
CONFIG_SPIRAM_CACHE_LIBTIME_IN_IRAM=n
|
|
CONFIG_UNITY_ENABLE_FLOAT=n
|
|
CONFIG_UNITY_ENABLE_DOUBLE=n
|
|
CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=n
|
|
CONFIG_SUPPORT_TERMIOS=n
|
|
CONFIG_VFS_SUPPORT_TERMIOS=n
|
|
CONFIG_VFS_SUPPORT_SELECT=n
|
|
CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=n
|
|
CONFIG_WS_TRANSPORT=n
|
|
CONFIG_PPP_SUPPORT=n
|
|
; CONFIG_LWIP_DHCPS=n
|
|
CONFIG_LWIP_PPP_SUPPORT=n
|
|
CONFIG_LWIP_IP_FORWARD=n
|
|
CONFIG_LWIP_IPV4_NAPT=n
|
|
;
|
|
; MBEDTLS
|
|
;
|
|
CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=8192
|
|
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=n
|
|
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN=y
|
|
; Switch to custom CA bundle (for Meshtastic MQTT/etc) in the future
|
|
; https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-reference/kconfig-reference.html#certificate-bundle-configuration
|
|
; CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE=y
|
|
; CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE_PATH=""
|
|
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=1
|
|
; #shame
|
|
CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION=y
|
|
CONFIG_MBEDTLS_SSL_RENEGOTIATION=n
|
|
CONFIG_MBEDTLS_SSL_PROTO_DTLS=n
|
|
CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=n
|
|
CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=n
|
|
CONFIG_MBEDTLS_PKCS7_C=n
|
|
CONFIG_MBEDTLS_CAMELLIA_C=n
|
|
CONFIG_MBEDTLS_CCM_C=n
|
|
CONFIG_MBEDTLS_CMAC_C=n
|
|
CONFIG_MBEDTLS_SHA512_C=n
|
|
CONFIG_MBEDTLS_X509_CRL_PARSE_C=n
|
|
CONFIG_MBEDTLS_X509_CSR_PARSE_C=n
|
|
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK=n
|
|
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=n
|
|
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=n
|
|
CONFIG_MBEDTLS_KEY_EXCHANGE_ECJPAKE=n
|
|
CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=n
|
|
CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=n
|
|
CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=n
|
|
CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=n
|
|
CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=n
|
|
CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=n
|
|
CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=n
|
|
CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=n
|
|
CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=n
|
|
CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=n
|
|
CONFIG_MDNS_ENABLE_CONSOLE_CLI=n
|
|
CONFIG_MDNS_PREDEF_NETIF_AP=n
|
|
; CONFIG_ESP_WIFI_SOFTAP_SUPPORT=n
|
|
CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=n
|
|
CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=n
|
|
CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=n
|
|
CONFIG_ESP_WIFI_ENABLE_SAE_H2E=n
|
|
CONFIG_OPENTHREAD_ENABLED=n
|
|
CONFIG_ZB_ENABLED=n
|
|
CONFIG_IEEE802154_ENABLED=n
|
|
CONFIG_ESP_INSIGHTS_ENABLED=n
|
|
CONFIG_HTTPD_WS_SUPPORT=n
|
|
CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=n
|
|
CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH=n
|
|
; using esp-idf5-https_server library instead, for now?
|
|
CONFIG_ESP_HTTPS_SERVER_ENABLE=n
|
|
;
|
|
; Builtin ESP-MQTT, we don't use this (yet?)
|
|
;
|
|
CONFIG_MQTT_TRANSPORT_SSL=n
|
|
CONFIG_MQTT_TRANSPORT_WEBSOCKET=n
|
|
CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=n
|
|
CONFIG_MQTT_PROTOCOL_311=n
|
|
;
|
|
; Ethernet
|
|
; Disabled in esp32_common, re-enable on variants that need it
|
|
;
|
|
CONFIG_ETH_ENABLED=n
|
|
CONFIG_ARDUINO_SELECTIVE_Ethernet=n
|
|
;
|
|
; Bluetooth
|
|
;
|
|
CONFIG_BLE_MESH=n
|
|
CONFIG_BT_ENABLED=y
|
|
CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y
|
|
CONFIG_BT_BLUEDROID_ENABLED=n
|
|
CONFIG_BT_NIMBLE_ENABLED=y
|
|
CONFIG_BT_NIMBLE_NVS_PERSIST=y
|
|
CONFIG_BT_NIMBLE_ROLE_CENTRAL=n
|
|
CONFIG_BT_NIMBLE_ROLE_OBSERVER=n
|
|
CONFIG_BT_CONTROLLER_ENABLED=y
|
|
CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=8192
|
|
CONFIG_BT_NIMBLE_MAX_CCCDS=20
|
|
CONFIG_BT_NIMBLE_MAX_BONDS=6
|
|
CONFIG_BT_NIMBLE_ENABLE_PERIODIC_SYNC=n
|
|
CONFIG_BT_NIMBLE_ENABLE_PERIODIC_ADV=n
|
|
CONFIG_BT_NIMBLE_EXT_SCAN=n
|
|
CONFIG_BT_NIMBLE_PERIODIC_ADV_SYNC_TRANSFER=n
|
|
CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY=n
|
|
CONFIG_BT_NIMBLE_BLUFI_ENABLE=n
|
|
CONFIG_BT_NIMBLE_PROX_SERVICE=n
|
|
CONFIG_BT_NIMBLE_ANS_SERVICE=n
|
|
CONFIG_BT_NIMBLE_CTS_SERVICE=n
|
|
CONFIG_BT_NIMBLE_HTP_SERVICE=n
|
|
CONFIG_BT_NIMBLE_IPSS_SERVICE=n
|
|
CONFIG_BT_NIMBLE_TPS_SERVICE=n
|
|
CONFIG_BT_NIMBLE_IAS_SERVICE=n
|
|
CONFIG_BT_NIMBLE_LLS_SERVICE=n
|
|
CONFIG_BT_NIMBLE_SPS_SERVICE=n
|
|
CONFIG_BT_NIMBLE_HR_SERVICE=n
|
|
CONFIG_BT_NIMBLE_HID_SERVICE=n
|
|
CONFIG_BT_NIMBLE_BAS_SERVICE=n
|
|
CONFIG_BT_NIMBLE_DIS_SERVICE=n
|
|
;
|
|
; Arduino selective compilation
|
|
; Disable unused Arduino libraries to save space
|
|
;
|
|
CONFIG_ARDUINO_SELECTIVE_COMPILATION=y
|
|
CONFIG_ARDUINO_SELECTIVE_SPI=y
|
|
CONFIG_ARDUINO_SELECTIVE_Wire=y
|
|
CONFIG_ARDUINO_SELECTIVE_ESP_SR=n
|
|
CONFIG_ARDUINO_SELECTIVE_EEPROM=y
|
|
CONFIG_ARDUINO_SELECTIVE_Preferences=y
|
|
CONFIG_ARDUINO_SELECTIVE_Ticker=y
|
|
CONFIG_ARDUINO_SELECTIVE_Update=y
|
|
CONFIG_ARDUINO_SELECTIVE_Zigbee=n
|
|
CONFIG_ARDUINO_SELECTIVE_FS=y
|
|
CONFIG_ARDUINO_SELECTIVE_SD=y
|
|
CONFIG_ARDUINO_SELECTIVE_SD_MMC=y
|
|
CONFIG_ARDUINO_SELECTIVE_SPIFFS=y
|
|
CONFIG_ARDUINO_SELECTIVE_FFat=n
|
|
CONFIG_ARDUINO_SELECTIVE_LittleFS=y
|
|
CONFIG_ARDUINO_SELECTIVE_Network=y
|
|
; CONFIG_ARDUINO_SELECTIVE_Ethernet=n
|
|
CONFIG_ARDUINO_SELECTIVE_PPP=n
|
|
CONFIG_ARDUINO_SELECTIVE_Hash=y
|
|
CONFIG_ARDUINO_SELECTIVE_ArduinoOTA=n
|
|
CONFIG_ARDUINO_SELECTIVE_AsyncUDP=y
|
|
CONFIG_ARDUINO_SELECTIVE_DNSServer=n
|
|
CONFIG_ARDUINO_SELECTIVE_ESPmDNS=y
|
|
CONFIG_ARDUINO_SELECTIVE_HTTPClient=n
|
|
CONFIG_ARDUINO_SELECTIVE_Matter=n
|
|
CONFIG_ARDUINO_SELECTIVE_NetBIOS=n
|
|
CONFIG_ARDUINO_SELECTIVE_WebServer=n
|
|
CONFIG_ARDUINO_SELECTIVE_WiFi=y
|
|
CONFIG_ARDUINO_SELECTIVE_NetworkClientSecure=y
|
|
CONFIG_ARDUINO_SELECTIVE_WiFiProv=n
|
|
CONFIG_ARDUINO_SELECTIVE_BLE=n
|
|
CONFIG_ARDUINO_SELECTIVE_BluetoothSerial=n
|
|
CONFIG_ARDUINO_SELECTIVE_SimpleBLE=n
|
|
CONFIG_ARDUINO_SELECTIVE_RainMaker=n
|
|
CONFIG_ARDUINO_SELECTIVE_OpenThread=n
|
|
CONFIG_ARDUINO_SELECTIVE_Insights=n
|