mirror of
https://github.com/mikecarper/MeshCore.git
synced 2026-09-26 19:57:55 +00:00
Nothing has ever read it. The slot count comes from two other places: the persisted array size (MAX_MQTT_SLOTS / RUNTIME_MQTT_SLOTS in MQTTPresets.h) and the runtime cap MQTTBridge::getMaxActiveSlots(), which answers 5 with PSRAM and 2 without. A flag reading MAX_MQTT_BROKERS=3 sitting in every observer env implies a third, lower limit that does not exist — it cost me a wrong answer about how many MQTT slots a Heltec V4 exposes. 36 lines across 15 variants, all of them =3. Removing an unread -D cannot change code: heltec_v4_repeater_observer_mqtt builds to a byte-identical size before and after (1647744). The image checksum does differ, but so does it between two clean builds of untouched source — ESP-IDF stamps the app descriptor with the build time — so size is the meaningful comparison here. All 606 envs still parse; heltec_v4, heltec_v3, station_g2, rak3112 and xiao_s3_wio observer targets all build.
427 lines
12 KiB
INI
427 lines
12 KiB
INI
[Heltec_tracker_v2]
|
|
extends = esp32_base
|
|
board = heltec_tracker_v2
|
|
build_flags =
|
|
${esp32_base.build_flags}
|
|
${sensor_base.build_flags}
|
|
-I variants/heltec_tracker_v2
|
|
-D HELTEC_TRACKER_V2
|
|
; meshcore-dev uses 160MHz; 240MHz here for WiFi/MQTT bridge headroom
|
|
-D ESP32_CPU_FREQ=240
|
|
-D USE_SX1262
|
|
-D RADIO_CLASS=CustomSX1262
|
|
-D WRAPPER_CLASS=CustomSX1262Wrapper
|
|
-D P_LORA_TX_LED=18
|
|
-D P_LORA_DIO_1=14
|
|
-D P_LORA_NSS=8
|
|
-D P_LORA_RESET=12
|
|
-D P_LORA_BUSY=13
|
|
-D P_LORA_SCLK=9
|
|
-D P_LORA_MISO=11
|
|
-D P_LORA_MOSI=10
|
|
-D P_LORA_PA_POWER=7 ;VFEM_Ctrl -LDO power enable
|
|
-D P_LORA_KCT8103L_PA_CSD=4
|
|
-D P_LORA_KCT8103L_PA_CTX=5
|
|
-D LORA_TX_POWER=9 ; 9dBm + ~13dB KCT8103L gain = ~22dBm output
|
|
-D MAX_LORA_TX_POWER=22 ; Max SX1262 output -> ~28dBm at antenna
|
|
-D SX126X_DIO2_AS_RF_SWITCH=true
|
|
-D SX126X_DIO3_TCXO_VOLTAGE=1.8
|
|
-D SX126X_CURRENT_LIMIT=140
|
|
-D SX126X_RX_BOOSTED_GAIN=1
|
|
-D SX126X_REGISTER_PATCH=1
|
|
-D PIN_BOARD_SDA=6
|
|
-D PIN_BOARD_SCL=17
|
|
-D PIN_USER_BTN=0
|
|
-D PIN_TFT_SDA=42 ; SDIN
|
|
-D PIN_TFT_SCL=41 ; SCLK
|
|
-D PIN_TFT_DC=40 ; RS (register select)
|
|
-D PIN_TFT_RST=39 ; RES
|
|
-D PIN_TFT_CS=38
|
|
-D USE_PIN_TFT=1
|
|
-D PIN_VEXT_EN=3 ; Vext is connected to VDD which is also connected to OLED & GPS
|
|
-D PIN_VEXT_EN_ACTIVE=HIGH
|
|
-D PIN_TFT_LEDA_CTL=21 ; LEDK (switches on/off via mosfet to create the ground)
|
|
-D DISPLAY_ROTATION=1
|
|
-D PIN_GPS_RX=34
|
|
-D PIN_GPS_TX=33
|
|
-D PIN_GPS_RESET=35
|
|
-D PIN_GPS_RESET_ACTIVE=LOW
|
|
-D GPS_BAUD_RATE=115200
|
|
-D ENV_INCLUDE_GPS=1
|
|
-D PIN_ADC_CTRL=2
|
|
-D PIN_VBAT_READ=1
|
|
build_src_filter = ${esp32_base.build_src_filter}
|
|
+<../variants/heltec_tracker_v2>
|
|
+<helpers/sensors>
|
|
lib_deps =
|
|
${esp32_base.lib_deps}
|
|
${sensor_base.lib_deps}
|
|
bodmer/TFT_eSPI @ ^2.4.31
|
|
|
|
[Heltec_tracker_v1_1]
|
|
extends = Heltec_tracker_v2
|
|
board = heltec_tracker_v1_1
|
|
build_flags =
|
|
${esp32_base.build_flags}
|
|
${sensor_base.build_flags}
|
|
-I variants/heltec_tracker_v2
|
|
-D HELTEC_TRACKER_V1_1
|
|
-D ESP32_CPU_FREQ=240
|
|
-D USE_SX1262
|
|
-D RADIO_CLASS=CustomSX1262
|
|
-D WRAPPER_CLASS=CustomSX1262Wrapper
|
|
-D P_LORA_TX_LED=18
|
|
-D P_LORA_DIO_1=14
|
|
-D P_LORA_NSS=8
|
|
-D P_LORA_RESET=12
|
|
-D P_LORA_BUSY=13
|
|
-D P_LORA_SCLK=9
|
|
-D P_LORA_MISO=11
|
|
-D P_LORA_MOSI=10
|
|
-D LORA_TX_POWER=22
|
|
-D SX126X_DIO2_AS_RF_SWITCH=true
|
|
-D SX126X_DIO3_TCXO_VOLTAGE=1.8
|
|
-D SX126X_CURRENT_LIMIT=140
|
|
-D SX126X_RX_BOOSTED_GAIN=1
|
|
-D SX126X_REGISTER_PATCH=1
|
|
-D PIN_BOARD_SDA=6
|
|
-D PIN_BOARD_SCL=17
|
|
-D PIN_USER_BTN=0
|
|
-D PIN_TFT_SDA=42 ; SDIN
|
|
-D PIN_TFT_SCL=41 ; SCLK
|
|
-D PIN_TFT_DC=40 ; RS (register select)
|
|
-D PIN_TFT_RST=39 ; RES
|
|
-D PIN_TFT_CS=38
|
|
-D USE_PIN_TFT=1
|
|
-D PIN_VEXT_EN=3 ; Vext is connected to VDD which is also connected to OLED & GPS
|
|
-D PIN_VEXT_EN_ACTIVE=HIGH
|
|
-D PIN_TFT_LEDA_CTL=21 ; LEDK (switches on/off via mosfet to create the ground)
|
|
-D DISPLAY_ROTATION=1
|
|
-D PIN_GPS_RX=34
|
|
-D PIN_GPS_TX=33
|
|
-D PIN_GPS_RESET=35
|
|
-D PIN_GPS_RESET_ACTIVE=LOW
|
|
-D GPS_BAUD_RATE=115200
|
|
-D ENV_INCLUDE_GPS=1
|
|
-D PIN_ADC_CTRL=2
|
|
-D PIN_VBAT_READ=1
|
|
build_src_filter = ${Heltec_tracker_v2.build_src_filter}
|
|
lib_deps = ${Heltec_tracker_v2.lib_deps}
|
|
|
|
[env:heltec_tracker_v2_repeater]
|
|
extends = Heltec_tracker_v2
|
|
build_flags =
|
|
${Heltec_tracker_v2.build_flags}
|
|
-D DISPLAY_CLASS=ST7735Display
|
|
-D ADVERT_NAME='"Heltec Repeater"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
build_src_filter = ${Heltec_tracker_v2.build_src_filter}
|
|
+<helpers/ui/ST7735Display.cpp>
|
|
+<../examples/simple_repeater>
|
|
lib_deps =
|
|
${Heltec_tracker_v2.lib_deps}
|
|
${esp32_ota.lib_deps}
|
|
bakercp/CRC32 @ ^2.0.0
|
|
|
|
[env:heltec_tracker_v2_repeater_bridge_espnow]
|
|
extends = Heltec_tracker_v2
|
|
build_flags =
|
|
${Heltec_tracker_v2.build_flags}
|
|
-D DISPLAY_CLASS=ST7735Display
|
|
-D ADVERT_NAME='"ESPNow Bridge"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
-D WITH_ESPNOW_BRIDGE=1
|
|
; -D BRIDGE_DEBUG=1
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
build_src_filter = ${Heltec_tracker_v2.build_src_filter}
|
|
+<helpers/bridges/ESPNowBridge.cpp>
|
|
+<helpers/ui/ST7735Display.cpp>
|
|
+<../examples/simple_repeater>
|
|
lib_deps =
|
|
${Heltec_tracker_v2.lib_deps}
|
|
${esp32_ota.lib_deps}
|
|
|
|
[env:heltec_tracker_v2_room_server]
|
|
extends = Heltec_tracker_v2
|
|
build_flags =
|
|
${Heltec_tracker_v2.build_flags}
|
|
-D DISPLAY_CLASS=ST7735Display
|
|
-D ADVERT_NAME='"Heltec Room"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D ROOM_PASSWORD='"hello"'
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
build_src_filter = ${Heltec_tracker_v2.build_src_filter}
|
|
+<helpers/ui/ST7735Display.cpp>
|
|
+<../examples/simple_room_server>
|
|
lib_deps =
|
|
${Heltec_tracker_v2.lib_deps}
|
|
${esp32_ota.lib_deps}
|
|
|
|
[env:heltec_tracker_v1_1_repeater_observer_mqtt]
|
|
extends = Heltec_tracker_v1_1
|
|
extra_scripts =
|
|
${esp32_base.extra_scripts}
|
|
pre:scripts/generate_cert_bundle.py
|
|
board_ssl_cert_source = adafruit-full
|
|
board_build.embed_files = src/certs/x509_crt_bundle.bin
|
|
build_flags =
|
|
${Heltec_tracker_v1_1.build_flags}
|
|
-D DISPLAY_CLASS=ST7735Display
|
|
-D ADVERT_NAME='"MQTT Observer"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
-D WITH_MQTT_BRIDGE=1
|
|
; Non-PSRAM board: neighbors table costs ~4 KB of internal DRAM (see MQTTBridge.h).
|
|
-D MQTT_NEIGHBORS_WITHOUT_PSRAM=1
|
|
-D MQTT_MAX_PACKET_SIZE=1024
|
|
-D MQTT_DEBUG=1
|
|
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
|
-D MQTT_WIFI_TX_POWER=WIFI_POWER_11dBm
|
|
build_src_filter = ${Heltec_tracker_v1_1.build_src_filter}
|
|
+<helpers/bridges/MQTTBridge.cpp>
|
|
+<helpers/MQTTMessageBuilder.cpp>
|
|
+<helpers/JWTHelper.cpp>
|
|
+<helpers/ui/ST7735Display.cpp>
|
|
+<../examples/simple_repeater>
|
|
lib_deps =
|
|
${Heltec_tracker_v1_1.lib_deps}
|
|
${esp32_ota.lib_deps}
|
|
elims/PsychicMqttClient@^0.2.4
|
|
bblanchon/ArduinoJson @ 7.4.3
|
|
arduino-libraries/NTPClient
|
|
JChristensen/Timezone
|
|
paulstoffregen/Time@1.6.1
|
|
|
|
[env:heltec_tracker_v2_repeater_observer_mqtt]
|
|
extends = Heltec_tracker_v2
|
|
extra_scripts =
|
|
${esp32_base.extra_scripts}
|
|
pre:scripts/generate_cert_bundle.py
|
|
board_ssl_cert_source = adafruit-full
|
|
board_build.embed_files = src/certs/x509_crt_bundle.bin
|
|
build_flags =
|
|
${Heltec_tracker_v2.build_flags}
|
|
-D DISPLAY_CLASS=ST7735Display
|
|
-D ADVERT_NAME='"MQTT Observer"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
-D WITH_MQTT_BRIDGE=1
|
|
; Non-PSRAM board: neighbors table costs ~4 KB of internal DRAM (see MQTTBridge.h).
|
|
-D MQTT_NEIGHBORS_WITHOUT_PSRAM=1
|
|
-D MQTT_MAX_PACKET_SIZE=1024
|
|
-D MQTT_DEBUG=1
|
|
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
|
-D MQTT_WIFI_TX_POWER=WIFI_POWER_11dBm
|
|
build_src_filter = ${Heltec_tracker_v2.build_src_filter}
|
|
+<helpers/bridges/MQTTBridge.cpp>
|
|
+<helpers/MQTTMessageBuilder.cpp>
|
|
+<helpers/JWTHelper.cpp>
|
|
+<helpers/ui/ST7735Display.cpp>
|
|
+<../examples/simple_repeater>
|
|
lib_deps =
|
|
${Heltec_tracker_v2.lib_deps}
|
|
${esp32_ota.lib_deps}
|
|
elims/PsychicMqttClient@^0.2.4
|
|
bblanchon/ArduinoJson @ 7.4.3
|
|
arduino-libraries/NTPClient
|
|
JChristensen/Timezone
|
|
paulstoffregen/Time@1.6.1
|
|
|
|
[env:heltec_tracker_v1_1_room_server_observer_mqtt]
|
|
extends = Heltec_tracker_v1_1
|
|
extra_scripts =
|
|
${esp32_base.extra_scripts}
|
|
pre:scripts/generate_cert_bundle.py
|
|
board_ssl_cert_source = adafruit-full
|
|
board_build.embed_files = src/certs/x509_crt_bundle.bin
|
|
build_flags =
|
|
${Heltec_tracker_v1_1.build_flags}
|
|
-D DISPLAY_CLASS=ST7735Display
|
|
-D ADVERT_NAME='"Heltec Tracker Room Observer"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D ROOM_PASSWORD='"hello"'
|
|
-D WITH_MQTT_BRIDGE=1
|
|
; Non-PSRAM board: neighbors table costs ~4 KB of internal DRAM (see MQTTBridge.h).
|
|
-D MQTT_NEIGHBORS_WITHOUT_PSRAM=1
|
|
-D MAX_NEIGHBOURS=50
|
|
-D MQTT_MAX_PACKET_SIZE=1024
|
|
-D MQTT_DEBUG=1
|
|
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
|
-D MQTT_WIFI_TX_POWER=WIFI_POWER_11dBm
|
|
build_src_filter = ${Heltec_tracker_v1_1.build_src_filter}
|
|
+<helpers/bridges/MQTTBridge.cpp>
|
|
+<helpers/MQTTMessageBuilder.cpp>
|
|
+<helpers/JWTHelper.cpp>
|
|
+<helpers/ui/ST7735Display.cpp>
|
|
+<../examples/simple_room_server>
|
|
lib_deps =
|
|
${Heltec_tracker_v1_1.lib_deps}
|
|
${esp32_ota.lib_deps}
|
|
elims/PsychicMqttClient@^0.2.4
|
|
bblanchon/ArduinoJson @ 7.4.3
|
|
arduino-libraries/NTPClient
|
|
JChristensen/Timezone
|
|
paulstoffregen/Time@1.6.1
|
|
|
|
[env:heltec_tracker_v2_room_server_observer_mqtt]
|
|
extends = Heltec_tracker_v2
|
|
extra_scripts =
|
|
${esp32_base.extra_scripts}
|
|
pre:scripts/generate_cert_bundle.py
|
|
board_ssl_cert_source = adafruit-full
|
|
board_build.embed_files = src/certs/x509_crt_bundle.bin
|
|
build_flags =
|
|
${Heltec_tracker_v2.build_flags}
|
|
-D DISPLAY_CLASS=ST7735Display
|
|
-D ADVERT_NAME='"Heltec Tracker Room Observer"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D ROOM_PASSWORD='"hello"'
|
|
-D WITH_MQTT_BRIDGE=1
|
|
; Non-PSRAM board: neighbors table costs ~4 KB of internal DRAM (see MQTTBridge.h).
|
|
-D MQTT_NEIGHBORS_WITHOUT_PSRAM=1
|
|
-D MAX_NEIGHBOURS=50
|
|
-D MQTT_MAX_PACKET_SIZE=1024
|
|
-D MQTT_DEBUG=1
|
|
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
|
-D MQTT_WIFI_TX_POWER=WIFI_POWER_11dBm
|
|
build_src_filter = ${Heltec_tracker_v2.build_src_filter}
|
|
+<helpers/bridges/MQTTBridge.cpp>
|
|
+<helpers/MQTTMessageBuilder.cpp>
|
|
+<helpers/JWTHelper.cpp>
|
|
+<helpers/ui/ST7735Display.cpp>
|
|
+<../examples/simple_room_server>
|
|
lib_deps =
|
|
${Heltec_tracker_v2.lib_deps}
|
|
${esp32_ota.lib_deps}
|
|
elims/PsychicMqttClient@^0.2.4
|
|
bblanchon/ArduinoJson @ 7.4.3
|
|
arduino-libraries/NTPClient
|
|
JChristensen/Timezone
|
|
paulstoffregen/Time@1.6.1
|
|
|
|
[env:heltec_tracker_v2_terminal_chat]
|
|
extends = Heltec_tracker_v2
|
|
build_flags =
|
|
${Heltec_tracker_v2.build_flags}
|
|
-D MAX_CONTACTS=350
|
|
-D MAX_GROUP_CHANNELS=1
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
build_src_filter = ${Heltec_tracker_v2.build_src_filter}
|
|
+<../examples/simple_secure_chat/main.cpp>
|
|
lib_deps =
|
|
${Heltec_tracker_v2.lib_deps}
|
|
densaugeo/base64 @ ~1.4.0
|
|
|
|
[env:heltec_tracker_v2_companion_radio_usb]
|
|
extends = Heltec_tracker_v2
|
|
build_flags =
|
|
${Heltec_tracker_v2.build_flags}
|
|
-I examples/companion_radio/ui-new
|
|
-D MAX_CONTACTS=350
|
|
-D MAX_GROUP_CHANNELS=40
|
|
-D DISPLAY_CLASS=ST7735Display
|
|
-D ENABLE_USB_INTERFACE
|
|
; NOTE: DO NOT ENABLE --> -D MESH_PACKET_LOGGING=1
|
|
; NOTE: DO NOT ENABLE --> -D MESH_DEBUG=1
|
|
build_src_filter = ${Heltec_tracker_v2.build_src_filter}
|
|
+<helpers/ui/ST7735Display.cpp>
|
|
+<helpers/ui/MomentaryButton.cpp>
|
|
+<../examples/companion_radio/*.cpp>
|
|
+<../examples/companion_radio/ui-new/*.cpp>
|
|
lib_deps =
|
|
${Heltec_tracker_v2.lib_deps}
|
|
densaugeo/base64 @ ~1.4.0
|
|
|
|
[env:heltec_tracker_v2_companion_radio_ble]
|
|
extends = Heltec_tracker_v2
|
|
build_flags =
|
|
${Heltec_tracker_v2.build_flags}
|
|
-I examples/companion_radio/ui-new
|
|
-D MAX_CONTACTS=350
|
|
-D MAX_GROUP_CHANNELS=40
|
|
-D DISPLAY_CLASS=ST7735Display
|
|
-D BLE_PIN_CODE=123456 ; dynamic, random PIN
|
|
-D AUTO_SHUTDOWN_MILLIVOLTS=3400
|
|
-D BLE_DEBUG_LOGGING=1
|
|
-D OFFLINE_QUEUE_SIZE=256
|
|
; -D BLE_DEBUG_LOGGING=1
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
build_src_filter = ${Heltec_tracker_v2.build_src_filter}
|
|
+<helpers/ui/ST7735Display.cpp>
|
|
+<helpers/ui/MomentaryButton.cpp>
|
|
+<helpers/esp32/*.cpp>
|
|
+<../examples/companion_radio/*.cpp>
|
|
+<../examples/companion_radio/ui-new/*.cpp>
|
|
lib_deps =
|
|
${Heltec_tracker_v2.lib_deps}
|
|
densaugeo/base64 @ ~1.4.0
|
|
|
|
[env:heltec_tracker_v2_companion_radio_wifi]
|
|
extends = Heltec_tracker_v2
|
|
build_flags =
|
|
${Heltec_tracker_v2.build_flags}
|
|
-I examples/companion_radio/ui-new
|
|
-D MAX_CONTACTS=350
|
|
-D MAX_GROUP_CHANNELS=40
|
|
-D DISPLAY_CLASS=ST7735Display
|
|
-D WIFI_DEBUG_LOGGING=1
|
|
-D WIFI_SSID='"myssid"'
|
|
-D WIFI_PWD='"mypwd"'
|
|
-D OFFLINE_QUEUE_SIZE=256
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
build_src_filter = ${Heltec_tracker_v2.build_src_filter}
|
|
+<helpers/ui/ST7735Display.cpp>
|
|
+<helpers/ui/MomentaryButton.cpp>
|
|
+<helpers/esp32/*.cpp>
|
|
+<../examples/companion_radio/*.cpp>
|
|
+<../examples/companion_radio/ui-new/*.cpp>
|
|
lib_deps =
|
|
${Heltec_tracker_v2.lib_deps}
|
|
densaugeo/base64 @ ~1.4.0
|
|
|
|
[env:heltec_tracker_v2_sensor]
|
|
extends = Heltec_tracker_v2
|
|
build_flags =
|
|
${Heltec_tracker_v2.build_flags}
|
|
-D ADVERT_NAME='"Heltec Tracker V2 Sensor"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D DISPLAY_CLASS=ST7735Display
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
build_src_filter = ${Heltec_tracker_v2.build_src_filter}
|
|
+<helpers/ui/ST7735Display.cpp>
|
|
+<../examples/simple_sensor>
|
|
lib_deps =
|
|
${Heltec_tracker_v2.lib_deps}
|
|
${esp32_ota.lib_deps}
|
|
|
|
[env:heltec_tracker_v2_kiss_modem]
|
|
extends = Heltec_tracker_v2
|
|
build_src_filter = ${Heltec_tracker_v2.build_src_filter}
|
|
+<../examples/kiss_modem/>
|