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>
30 lines
928 B
C
Executable File
30 lines
928 B
C
Executable File
/*
|
|
Board Information: https://wiki.uniteng.com/en/meshtastic/station-g2
|
|
*/
|
|
|
|
#include "station_common.h"
|
|
|
|
#ifdef USE_SX1262
|
|
// Ensure the PA does not exceed the saturation output power. More
|
|
// Info:https://wiki.uniteng.com/en/meshtastic/station-g2#summary-for-lora-power-amplifier-conduction-test
|
|
#define SX126X_MAX_POWER 19
|
|
#endif
|
|
|
|
// Enable Traffic Management Module for Station G2
|
|
#ifndef HAS_TRAFFIC_MANAGEMENT
|
|
#define HAS_TRAFFIC_MANAGEMENT 1
|
|
#endif
|
|
|
|
/*
|
|
#define BATTERY_PIN 4 // A battery voltage measurement pin, voltage divider connected here to measure battery voltage
|
|
#define ADC_CHANNEL ADC_CHANNEL_3
|
|
#define ADC_MULTIPLIER 4
|
|
#define BATTERY_SENSE_SAMPLES 15 // Set the number of samples, It has an effect of increasing sensitivity.
|
|
#define BAT_FULLVOLT 8400
|
|
#define BAT_EMPTYVOLT 5000
|
|
#define BAT_CHARGINGVOLT 8400
|
|
#define BAT_NOBATVOLT 4460
|
|
#define CELL_TYPE_LION // same curve for liion/lipo
|
|
#define NUM_CELLS 2
|
|
*/
|