mirror of
https://github.com/meshtastic/firmware.git
synced 2026-08-01 10:58:30 -04:00
Adds the Traffic Management module (TMM) plus the NodeDB/warm-store and next-hop foundations it builds on: - Unified per-node cache (flat array, 8-bit relative ticks) shared by all features; role-aware throttles for tracker / lost-and-found. - Position deduplication: drop unchanged position rebroadcasts within a configurable interval; precision driven off the channel ceiling (clamped to the public-key max on well-known channels). Enabled by default at 11h. - Per-node rate limiting and unknown-packet filtering (config-driven; a non-zero companion field enables each feature -- no bool toggles). - NodeInfo direct response from cache with role-based hop clamps. - Persistent next-hop overflow store: confirmed hops have no TTL, are seeded from NodeInfoLite at boot, and survive hot-store eviction. - Three-tier sender-role resolution (hot NodeInfoLite -> warm store -> TMM cache). Role is cached write-time (seeded on first track, refreshed from NodeInfo), pins its cache entry like a next-hop hint, and is evicted last. - Warm store caches device role + protected category across reboot/eviction. - PositionModule stationary floor for tracker / lost-and-found. - PSRAM gating for warm/satellite/TMM cache sizes; STM32WL excluded. Protobufs: TrafficManagementConfig trimmed to the five uint32 fields actually used; submodule repointed to protobufs develop. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
19 lines
441 B
C
19 lines
441 B
C
#ifndef HAS_SCREEN
|
|
#define HAS_SCREEN 1
|
|
#endif
|
|
#define USE_TFTDISPLAY 1
|
|
#define HAS_GPS 1
|
|
#define MAX_RX_TOPHONE portduino_config.maxtophone
|
|
#define MAX_NUM_NODES portduino_config.MaxNodes
|
|
|
|
// RAK12002 RTC Module
|
|
#define RV3028_RTC (uint8_t)0b1010010
|
|
|
|
// Enable Traffic Management Module for native/portduino
|
|
#ifndef HAS_TRAFFIC_MANAGEMENT
|
|
#define HAS_TRAFFIC_MANAGEMENT 1
|
|
#endif
|
|
#ifndef HAS_VARIABLE_HOPS
|
|
#define HAS_VARIABLE_HOPS 1
|
|
#endif
|