Routing¶
DOORSTUREN · VERTRAGING · DUTY CYCLE · ADVERTS · HOP-LIMIETEN
Hoe een node verkeer doorgeeft: of hij doorstuurt, hoe lang hij wacht, hoeveel zendtijd hij mag gebruiken, hoe vaak hij zichzelf aankondigt en hoe ver flood-pakketten mogen reizen. Hier staan de meeste Nederlandse afspraken; ze komen uit Regelgeving & Duty Cycle.
[!NOTE] Bron. Deze pagina is geverifieerd tegen de firmware zelf:
MeshCorev1.16.0, commit03b6ef4, 28 juli 2026 — bestandensrc/helpers/CommonCLI.cpp,examples/simple_repeater/MyMesh.cpp,examples/simple_repeater/MyMesh.h,examples/simple_room_server/MyMesh.cpp,examples/simple_room_server/MyMesh.h,examples/simple_sensor/SensorMesh.cpp, en de officiëledocs/cli_commands.md. Regelnummers verwijzen naar deze commit en zijn te reproduceren mettools/cli-commands.py.[!WARNING] De firmware-standaard van
dutycycleis 50 %. Dat ligt ver boven de 10 % die in Nederland geldt. Een vers geflashte node is dus niet conform tot jeset dutycycle 10geeft. Zie Regelgeving & Duty Cycle. De fork Dutch-MeshCore lost dit op metset dutycycle auto, dat de limiet uit de subband afleidt — zie Forks & varianten.
Overzicht¶
De markeringen in de kolom Rol zijn uitgelegd in de CLI-referentie. Een lege cel betekent: werkt op repeater, room server en sensor.
| Commando | Rol | Standaard | Alleen serieel | Bron |
|---|---|---|---|---|
get repeat / set repeat <on\|off> |
R on · RS off · S off |
CommonCLI.cpp r.560, r.798 |
||
get path.hash.mode / set path.hash.mode <0\|1\|2> |
0 |
CommonCLI.cpp r.661, r.835 |
||
get loop.detect / set loop.detect <off\|minimal\|moderate\|strict> |
effect: repeater |
off |
CommonCLI.cpp r.671, r.837 |
|
get txdelay / set txdelay <0-2> |
0.5 |
CommonCLI.cpp r.606, r.815 |
||
get direct.txdelay / set direct.txdelay <0-2> |
R 0.3 · RS/S 0.2 |
CommonCLI.cpp r.642, r.823 |
||
get rxdelay / set rxdelay <0-20> |
0.0 |
CommonCLI.cpp r.597, r.813 |
||
get dutycycle / set dutycycle <1-100> |
50 |
CommonCLI.cpp r.483, r.770 |
||
get af / set af <value> |
1.0 |
CommonCLI.cpp r.495, r.775 |
||
get int.thresh / set int.thresh <value> |
0 |
CommonCLI.cpp r.499, r.777 |
||
get agc.reset.interval / set agc.reset.interval <seconds> |
0 |
CommonCLI.cpp r.503, r.779 |
||
get multi.acks / set multi.acks <0\|1> |
effect: repeater, room server |
0 |
CommonCLI.cpp r.507, r.781 |
|
get flood.advert.interval / set flood.advert.interval <hours> |
R/RS 47 · S 0 |
CommonCLI.cpp r.515, r.785 |
||
get advert.interval / set advert.interval <minutes> |
2, na de eerste opgeslagen wijziging 0 ¹ |
CommonCLI.cpp r.525, r.787 |
||
get flood.max / set flood.max <0-64> |
64 |
CommonCLI.cpp r.633, r.821 |
||
get flood.max.unscoped / set flood.max.unscoped <0-64> |
effect: repeater, room server |
R/RS 64 · S 0 ¹ |
CommonCLI.cpp r.615, r.819 |
|
get flood.max.advert / set flood.max.advert <0-64> |
effect: repeater, room server |
R/RS 8 · S 0 ¹ |
CommonCLI.cpp r.624, r.817 |
Commando's¶
repeat¶
Of de node pakketten doorstuurt. Alleen de waarde off zet het uit; elke andere
waarde zet het aan. Room server en sensor staan standaard uit
(simple_room_server/MyMesh.cpp r.646, SensorMesh.cpp r.726). De officiële
documentatie noemt on voor alle rollen.
Voorbeeld:
set repeat off
-> OK - repeat is now OFF
get repeat
-> > off
NL: on op een repeater. Uitzetten betekent geen relay.
path.hash.mode¶
De grootte van de hash waarmee de node zichzelf in het pad van zijn eigen
adverts zet: 0 = 1 byte, 1 = 2 bytes, 2 = 3 bytes. Andere waarden geven
Error, must be 0,1, or 2.
Voorbeeld:
set path.hash.mode 1
-> OK
get path.hash.mode
-> > 1
loop.detect¶
Gooit flood-pakketten weg waarin de eigen hash al te vaak in het pad staat.
Alleen de repeater gebruikt het (MyMesh.cpp r.440–444); room server en sensor
slaan de waarde op maar doen er niets mee. Een andere waarde geeft
Error, must be: off, minimal, moderate, or strict.
Voorbeeld:
set loop.detect minimal
-> OK
get loop.detect
-> > minimal
NL: set loop.detect minimal.
txdelay¶
Factor voor het willekeurige wachtvenster voordat een flood-pakket wordt
doorgestuurd. Buiten 0–2: Error, must be 0-2.
Voorbeeld:
get txdelay
-> > 0.5
NL: standaard laten.
direct.txdelay¶
Hetzelfde voor direct verkeer. De repeater staat op 0,3 (MyMesh.cpp r.880); de
officiële documentatie noemt 0,2. Door de float-weergave toont get op room
server en sensor 0.1999999.
Voorbeeld (room server):
get direct.txdelay
-> > 0.1999999
NL: standaard laten.
rxdelay¶
Basis voor een vertraging bij het verwerken van zwak ontvangen flood-pakketten;
0 zet het uit. Buiten 0–20: Error, must be 0-20.
Voorbeeld:
get rxdelay
-> > 0.0
dutycycle¶
Maximaal percentage zendtijd. De firmware rekent het om naar de airtime factor:
af = 100 / dutycycle − 1. Buiten 1–100: ERROR: dutycycle must be 1-100.
Voorbeeld:
get dutycycle
-> > 50.0%
set dutycycle 10
-> OK - 10.0%
NL: set dutycycle 10.
af¶
De airtime factor zelf, verouderd sinds v1.15.0. set af controleert geen
grenzen; bij de volgende start beperkt de firmware de waarde tot 0–9
(CommonCLI.cpp r.100). De duty cycle is ongeveer 100 / (af + 1) procent.
Voorbeeld:
set af 9
-> OK
get af
-> > 9.0
NL: set af 9 op firmware ouder dan v1.15.0.
int.thresh¶
Drempel voor lokale storing; 0 zet de controle uit. Het commando controleert de waarde niet.
Voorbeeld:
get int.thresh
-> > 0
agc.reset.interval¶
Interval in seconden waarop de AGC van de ontvanger wordt gereset; 0 zet het uit. De waarde wordt naar beneden afgerond op een veelvoud van 4.
Voorbeeld:
set agc.reset.interval 17
-> OK - interval rounded to 16
multi.acks¶
Meerdere ACK's per bericht. set controleert de waarde niet; bij de volgende
start beperkt de firmware hem tot 0–1 (CommonCLI.cpp r.106). De sensor
gebruikt de instelling niet.
Voorbeeld:
set multi.acks 1
-> OK
flood.advert.interval¶
Hoe vaak de node een flood advert uitstuurt, in uren: 3–168, of 0 voor uit.
Anders Error: interval range is 3-168 hours. De officiële documentatie noemt
12 als standaard voor de repeater; de firmware zet 47 (MyMesh.cpp r.891).
Voorbeeld:
set flood.advert.interval 49
-> OK
NL: set flood.advert.interval 49.
advert.interval¶
Hoe vaak de node een zero-hop advert uitstuurt, in minuten: 60–240, of 0 voor
uit. Anders Error: interval range is 60-240 minutes. De waarde wordt intern
gehalveerd opgeslagen, dus oneven waarden worden naar beneden afgerond.
Voorbeeld:
set advert.interval 240
-> OK
get advert.interval
-> > 240
¹ Een nieuwe installatie zendt elke 2 minuten. Bij de eerste wijziging die wordt
opgeslagen zet de firmware dat op 0, omdat het onder de 60 minuten ligt
(CommonCLI.cpp r.196–198). De officiële documentatie noemt 0.
NL: set advert.interval 240.
flood.max¶
Maximaal aantal hops voor elk flood-pakket. Boven 64: Error, max 64.
Voorbeeld:
get flood.max
-> > 64
flood.max.unscoped¶
Hetzelfde voor flood-pakketten zonder scope (MyMesh.cpp r.433). De officiële
documentatie beschrijft een waarde 0xFF die flood.max volgt; die logica
staat niet in deze commit. Zie
Regio's en Scopes.
Voorbeeld:
set flood.max.unscoped 3
-> OK
¹ De sensor zet deze waarde niet en gebruikt hem niet; get toont daar 0.
NL: bijvoorbeeld set flood.max.unscoped 3, zie
Aan de Slag.
flood.max.advert¶
Hetzelfde voor adverts (MyMesh.cpp r.434).
Voorbeeld:
get flood.max.advert
-> > 8
¹ Zie flood.max.unscoped.
NL: 8, de standaard.
Bronnen¶
- MeshCore firmware —
src/helpers/CommonCLI.cpp - MeshCore firmware —
examples/simple_repeater/MyMesh.cpp - MeshCore firmware —
examples/simple_repeater/MyMesh.h - MeshCore firmware —
examples/simple_room_server/MyMesh.cpp - MeshCore firmware —
examples/simple_room_server/MyMesh.h - MeshCore firmware —
examples/simple_sensor/SensorMesh.cpp - MeshCore firmware —
docs/cli_commands.md