meshtastic / firmware

Meshtastic device firmware
https://meshtastic.org
GNU General Public License v3.0
2.99k stars 715 forks source link

[Feature Request]: Set Maximum Nodes for Device or NodeDB #4197

Closed lagunacomputer closed 6 days ago

lagunacomputer commented 6 days ago

Platform

ESP32

Description

[Feature Request]: Set Maximum Nodes for Device or NodeDB

Just throwing this idea out there. It would be great to be able to set a 'Maximum Nodes Allowed' setting for the discovered node list or NodeDB, either on the device or in the app.

I know that in recent firmwares that NodeDB deletes the oldest entry when full, however I am finding my device 'just seems to work better' better when the NodeDB isn't full (possibly device out of free space or ram?). It is not uncommon for my device to have 225+ modes in its list (Los Angeles area), even with MQTT off. It 'feels' like I recieve messages in spurts, and my message TX often fails with error "Maximum Transmissions Reached" when in this condition.

An easy fix could be to just be able to manually limit the Node list or NodeDB size. Something like "Limit NodeDB or Discovered Node List to X # of Nodes". Not the filter in the app, but more like a limit on the device itself. My device is a TBeam clone custom hardware ESP32 and I build my own firmware (currently 2.3.13) from the latest release according to the instructions. A defined value in variant.h would work just fine instead of a whole Android/iOS update. Just throwing this idea out there, thanks!

jp-bennett commented 6 days ago

Check out the MAX_NUM_NODES defines

lagunacomputer commented 6 days ago

I will give it a shot in my variant.h , Thx!

roha-github commented 5 days ago

I would rather wish that you could have 1000 nodes and more in the mesh.

Perhaps the problem lies more in the broadcast / flooding of static node info & co. In my opinion, new nodes could retrieve the missing nodeinfo from their neighbors if necessary, instead of distributing it regularly across all nodes in the mesh. The mesh is more busy sending metadata than real messages from people.