Skip to content

feat: enable traffic module enable all nrf52 and esp32 nodes#9902

Open
h3lix1 wants to merge 8 commits into
meshtastic:developfrom
h3lix1:traffic_module_enable_all_nrf_esp32
Open

feat: enable traffic module enable all nrf52 and esp32 nodes#9902
h3lix1 wants to merge 8 commits into
meshtastic:developfrom
h3lix1:traffic_module_enable_all_nrf_esp32

Conversation

@h3lix1
Copy link
Copy Markdown
Contributor

@h3lix1 h3lix1 commented Mar 14, 2026

Summary
Enable Traffic Management by default for all ESP32 and nRF52 builds via shared compile-time defaults, and remove now-redundant per-variant definitions.

What Changed

  • Updated src/mesh/mesh-pb-constants.h to default HAS_TRAFFIC_MANAGEMENT=1 on ARCH_ESP32 and ARCH_NRF52.
  • Centralized default cache sizing:
    • 2048 on ESP32 boards with BOARD_HAS_PSRAM
    • 1024 on ESP32 boards without PSRAM
    • 1024 on nRF52
    • 0 when Traffic Management is disabled
  • Removed redundant HAS_TRAFFIC_MANAGEMENT / TRAFFIC_MANAGEMENT_CACHE_SIZE overrides from:
    • variants/esp32s3/heltec_v4/variant.h
    • variants/esp32s3/station-g2/variant.h
    • variants/nrf52840/tracker-t1000-e/variant.h
  • Left variants/native/portduino/variant.h unchanged, since the shared default logic does not apply to native builds.
  • Updated docs/blog text to reflect architecture-wide default support and the revised cache sizing rules.

Why

  • Avoid maintaining the same Traffic Management defines in multiple variants.
  • Make support consistent across all ESP32 and nRF52 targets.
  • Prevent non-PSRAM ESP32-S3 and similar boards from incorrectly inheriting the larger 2048 cache.

🤝 Attestations

  • I have tested that my proposed changes behave as described.
  • [XI have tested that my proposed changes do not cause any obvious regressions on the following devices:
    • Heltec (Lora32) V3
    • LilyGo T-Deck
    • LilyGo T-Beam
    • RAK WisBlock 4631
    • Seeed Studio T-1000E tracker card
    • Other (please specify below)
      Heltec v4
      Station G2

@github-actions github-actions Bot added needs-review Needs human review hardware-support Hardware related: new devices or modules, problems specific to hardware labels Mar 14, 2026
@h3lix1 h3lix1 changed the title Enable traffic module enable all nrf52 and esp32 nodes feat: enable traffic module enable all nrf52 and esp32 nodes Mar 14, 2026
@hecatae
Copy link
Copy Markdown

hecatae commented Mar 17, 2026

@h3lix1
Copy link
Copy Markdown
Contributor Author

h3lix1 commented Mar 18, 2026

I'm going to have to build and check this, but the Lilygo T3S3 series have only 2048 PSRAM, see

Are you aiming to max out the PSRAM on the T3S3 models with this traffic module?

The module should only use 20 Kilobytes of PSRAM. There isn't a goal to use all the PSRAM, but to be as light as possible on DRAM.

h3lix1 added 3 commits March 30, 2026 23:11
Documents our experimentation with ESP-IDF DFS and why it doesn't
work well for Meshtastic (RTOS locks, BLE locks, USB issues).

Proposes simpler alternative: manual setCpuFrequencyMhz() control
with explicit triggers for when to go fast vs slow.
@h3lix1 h3lix1 force-pushed the traffic_module_enable_all_nrf_esp32 branch from 3fcfbac to 10208e7 Compare March 31, 2026 06:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hardware-support Hardware related: new devices or modules, problems specific to hardware needs-review Needs human review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants