mirror of
https://github.com/mikecarper/MeshCore.git
synced 2026-10-29 22:02:31 +00:00
Keep original Tracker Full neighbor table within its RAM budget
This commit is contained in:
1 parent
27a5e0d452
commit
8268befbdc
3 files changed
+26
-1
No files matched your search
@@ -3061,6 +3061,7 @@ requires_dram_limited_neighbors() {
|
||||
# 8 KiB static reserve at 254 neighbors. Use their board-declared 50-entry
|
||||
# tables when the OTA manager is included.
|
||||
case "${1,,}" in
|
||||
heltec_wireless_tracker_repeater_observer_mqtt|\
|
||||
heltec_tracker_v1_1_repeater_observer_mqtt|\
|
||||
heltec_tracker_v2_repeater_observer_mqtt)
|
||||
# The non-PSRAM Tracker's color framebuffer, MQTT/TLS and OTA leave
|
||||
|
||||
@@ -34,6 +34,10 @@ recipe has no verified panel readback connection. Detection is not enabled for
|
||||
that wiring. A touchscreen acknowledgement alone does not establish that the
|
||||
LCD responds. The V4 R8 TFT and older V4 TFT pin mappings are distinct.
|
||||
|
||||
Full Wireless Tracker repeaters retain the board's 50-neighbor capacity, as
|
||||
the V1.1 and V2 Full profiles already do. This preserves RAM for the screen,
|
||||
GPS, MQTT and update services; the RAM admission limits remain unchanged.
|
||||
|
||||
The R8 readback route is documented in Heltec's
|
||||
[Expansion Kit V2.03 schematic](https://resource.heltec.cn/download/WiFi_LoRa_32_Expansion_Kit-V2/schematic/Expansion_board_V2.03.pdf).
|
||||
Tracker V1 wiring is documented in the
|
||||
@@ -75,7 +79,7 @@ the picker can advertise detection.
|
||||
| Check | Result |
|
||||
| --- | --- |
|
||||
| Native detection, rendering, power and headless regressions | PASS, 31 test methods, including 12 new detection methods with sanitizers and negative controls |
|
||||
| Recipe, release-proof, controls and offline-picker regressions | PASS, 41 test methods |
|
||||
| Recipe, release-proof, controls and offline-picker regressions | PASS, 42 test methods |
|
||||
| Resolved PlatformIO configuration | PASS, 31 optional-screen environments across the three hardware families; integral-screen recipes excluded |
|
||||
| Picker JavaScript regressions | PASS, 4 suites |
|
||||
| Complete build-profile selection suite | PASS |
|
||||
|
||||
@@ -26,6 +26,26 @@ def manifest(spec, target):
|
||||
|
||||
|
||||
class OptionalDisplayProfilesTest(unittest.TestCase):
|
||||
def test_all_tracker_full_repeaters_keep_the_measured_safe_neighbor_capacity(self):
|
||||
script = r'''
|
||||
set -euo pipefail
|
||||
source "$1/build_legacy.sh"
|
||||
ESP32_FULL_BUILD=1
|
||||
for target in Heltec_Wireless_Tracker_repeater_observer_mqtt heltec_tracker_v1_1_repeater_observer_mqtt heltec_tracker_v2_repeater_observer_mqtt; do
|
||||
PLATFORMIO_BUILD_FLAGS=""
|
||||
PLATFORMIO_BUILD_UNFLAGS=""
|
||||
BUILD_REDUCTIONS=()
|
||||
apply_repeater_neighbor_capacity "$target"
|
||||
[[ "$PLATFORMIO_BUILD_FLAGS" == *"-DMAX_NEIGHBOURS=50"* ]]
|
||||
[[ " ${BUILD_REDUCTIONS[*]} " == *"mesh.neighbors limited to 50"* ]]
|
||||
done
|
||||
ESP32_FULL_BUILD=0
|
||||
! requires_dram_limited_neighbors Heltec_Wireless_Tracker_repeater_observer_mqtt
|
||||
'''
|
||||
result = subprocess.run(["bash", "-c", script, "optional-screen-capacity", str(ROOT)],
|
||||
cwd=ROOT, capture_output=True, text=True, check=False)
|
||||
self.assertEqual(result.returncode, 0, result.stdout + result.stderr)
|
||||
|
||||
def test_optional_hardware_defaults_and_integral_screens_are_separate(self):
|
||||
recipes = Recipes()
|
||||
for spec, target in zip(displays.SPECS, TARGETS):
|
||||
|
||||
Reference in new issue
Block a user