Releases: mikecarper/MeshCore
v1.15.0-dev-7d237f87 Flood Retry & Direct Path Retry Repeater Firmware
Built off of Powersaving 15 & Halo; this has flood repeat. See https://github.com/mikecarper/MeshCore/blob/keymind/docs/halo_keymind_settings.md for usage. Comes with settings enabled.
Full Changelog: v1.15.0-dev-6c20a106...v1.15.0-dev-7d237f87
v1.15.0-dev-6c20a106-meshdebug-on-logging-on
Built off of Powersaving 15 & Halo; this has flood repeat. See https://github.com/mikecarper/MeshCore/blob/keymind/docs/halo_keymind_settings.md for usage. Comes with settings enabled.
Full Changelog: v1.15.0-dev-6c20a106...v1.15.0-dev-7d237f87
Repeater firmware built with MESH_DEBUG=1 (meshdebug on) and MESH_PACKET_LOGGING=1 (logging on).
meshcore-dev#2367
v1.15.0-dev-6c20a106-meshdebug-off
This is based off powersaving 15
Repeater firmware built with MESH_DEBUG=0 (meshdebug off).
meshcore-dev#2367
On the CLI you can run this and it'll have stats. At the start the stats might be off but they will get better over time.
Get or set recent repeater fallback prefix/SNR
Usage:
get recent.repeaterget recent.repeater <page>get recent.repeater page <page>set recent.repeater <prefix_hex_6> <snr_db>
Parameters:
prefix_hex_6: Exactly 3 bytes of next-hop prefix in hex (6 chars)snr_db: SNR in dB (supports decimals; stored at x4 precision)page: 1-based page number
Notes:
setis rejected when the prefix already exists in neighbors.- Rows are shown newest-first.
- Serial CLI prints all rows (no paging).
- Over LoRa remote CLI, page size is fixed at
4rows; choose page withget recent.repeater <page>.
View or change whether direct retries can fall back to the recently-heard repeater list
Usage:
get direct.retry.heardset direct.retry.heard <state>
Parameters:
state:on|off
Default: on
Note: When enabled, a repeater can use recently-heard non-duplicate repeater prefixes as a fallback for direct retry eligibility when no suitable neighbor entry is available.
View or change the SNR margin used for direct retry eligibility
Usage:
get direct.retry.marginset direct.retry.margin <value>
Parameters:
value: Margin in dB above the SF-specific receive floor (minimum0, maximum40, quarter-dB precision, default2.5)
Default: 2.5
Note: The retry gate uses the active SF floor of SF5=-2.5, SF6=-5, SF7=-7.5, SF8=-10, SF9=-12.5, SF10=-15, SF11=-17.5, SF12=-20, then adds this margin.
View or change the number of direct retry attempts
Usage:
get direct.retry.countset direct.retry.count <value>
Parameters:
value: Retry attempts after initial TX (1-15)
Default: 15
View or change the base direct retry wait (milliseconds)
Usage:
get direct.retry.baseset direct.retry.base <value>
Parameters:
value: Base wait in milliseconds (10-5000)
Default: 200
Note: The actual first retry wait is base + computed_echo_wait_from_live_phy.
v1.15.0-dev-6c20a106
This is based off powersaving 15
Repeater firmware built with MESH_DEBUG=1 (meshdebug on).
To monitor on a USB connected radio on linux:
in one window
picocom -b 115200 /dev/ttyACM0 --imap lfcrlf --logfile /tmp/mesh.log
in another window
tail -F /tmp/mesh.log | rg --line-buffered "direct retry"
On the CLI you can run this and it'll have stats. At the start the stats might be off but they will get better over time.
Get or set recent repeater fallback prefix/SNR
Usage:
get recent.repeaterget recent.repeater <page>get recent.repeater page <page>set recent.repeater <prefix_hex_6> <snr_db>
Parameters:
prefix_hex_6: Exactly 3 bytes of next-hop prefix in hex (6 chars)snr_db: SNR in dB (supports decimals; stored at x4 precision)page: 1-based page number
Notes:
setis rejected when the prefix already exists in neighbors.- Rows are shown newest-first.
- Serial CLI prints all rows (no paging).
- Over LoRa remote CLI, page size is fixed at
4rows; choose page withget recent.repeater <page>.
View or change whether direct retries can fall back to the recently-heard repeater list
Usage:
get direct.retry.heardset direct.retry.heard <state>
Parameters:
state:on|off
Default: on
Note: When enabled, a repeater can use recently-heard non-duplicate repeater prefixes as a fallback for direct retry eligibility when no suitable neighbor entry is available.
View or change the SNR margin used for direct retry eligibility
Usage:
get direct.retry.marginset direct.retry.margin <value>
Parameters:
value: Margin in dB above the SF-specific receive floor (minimum0, maximum40, quarter-dB precision, default2.5)
Default: 2.5
Note: The retry gate uses the active SF floor of SF5=-2.5, SF6=-5, SF7=-7.5, SF8=-10, SF9=-12.5, SF10=-15, SF11=-17.5, SF12=-20, then adds this margin.
View or change the number of direct retry attempts
Usage:
get direct.retry.countset direct.retry.count <value>
Parameters:
value: Retry attempts after initial TX (1-15)
Default: 15
View or change the base direct retry wait (milliseconds)
Usage:
get direct.retry.baseset direct.retry.base <value>
Parameters:
value: Base wait in milliseconds (10-5000)
Default: 200
Note: The actual first retry wait is base + computed_echo_wait_from_live_phy.