MeshCore Try CLI
We push MeshCore settings to field repeaters over the mesh. Most of the time that is fine. Sometimes you are tuning receive paths to save milliamps on a solar node and you wonder what happens if you push too far. A repeater that stops hearing you is a long drive.
set is permanent. MeshCore already has tempradio for a live RF experiment that clears on reboot, and hop.ignore for a volatile bench knob. Neither covers "try this pref for an hour, then put it back unless I commit."
What we proposed upstream
Draft PR meshcore-dev#3358 adds a try command:
try [reboot] <secs> <set-args>
get try
Examples:
try 3600 radio.rxgain off
try reboot 3600 radio.rxgain off
set radio.rxgain off
The trial value is saved like a normal set. A small sidecar file on flash (/try.json) holds the old value, the RTC deadline, and optional reboot-on-revert flags. If the timer expires, the node restores the snapshot. If you run set on the same key first, the trial commits and the slot goes away. Reboot mid-trial does not lose the experiment: prefs keep the trial value and the timer reloads from disk.
That is the footgun we wanted for remote power tuning. You can test weaker receive on a solar repeater without betting the whole setting.
How it differs from what is already there
| Mechanism | Scope | Persisted? | Revert |
|---|---|---|---|
tempradio | RF 4-tuple only | No (live radio) | Clears on reboot |
hop.ignore | Forward test counter | No | Clears on reboot |
set | Any pref | Yes | Manual only |
try | Any set-able pref (+ powersaving on|off) | Trial in prefs, metadata in /try.json | Auto on timeout or commit with set |
We are not asking upstream to replace tempradio. We use try when the setting lives in prefs and we want a deliberate commit step.
Where this shows up for MeshEnvy
The PR is upstream CommonCLI only. No board variants or EnvyOS-only radio hooks in that diff. We ship it on EnvyOS while the review runs; status and links live on Open Source.
The immediate motivation is solar repeater power work. I wrote up the deck voltage soak and the settings we already push with stock MeshCore in Heltec T096 Solar Repeaters. try is the generic safety rail for the next round of experiments, including receive tweaks we have not committed yet.
If you operate repeaters remotely, read the draft and tell us what would break your workflow.
