format files

This commit is contained in:
zjs81
2026-06-13 00:39:13 -07:00
parent 7da4e68384
commit becfbedc99
26 changed files with 1040 additions and 741 deletions
+547 -152
View File
@@ -470,26 +470,16 @@ class _RepeaterCliScreenState extends State<RepeaterCliScreen> {
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Icon(
Icons.terminal,
size: 48,
color: MeshPalette.ink4,
),
const Icon(Icons.terminal, size: 48, color: MeshPalette.ink4),
const SizedBox(height: 12),
Text(
l10n.repeater_noCommandsSent,
style: MeshTheme.mono(
fontSize: 13,
color: MeshPalette.ink3,
),
style: MeshTheme.mono(fontSize: 13, color: MeshPalette.ink3),
),
const SizedBox(height: 4),
Text(
l10n.repeater_typeCommandOrUseQuick,
style: const TextStyle(
fontSize: 12,
color: MeshPalette.ink4,
),
style: const TextStyle(fontSize: 12, color: MeshPalette.ink4),
),
],
),
@@ -518,9 +508,7 @@ class _RepeaterCliScreenState extends State<RepeaterCliScreen> {
style: MeshTheme.mono(
fontSize: 12,
fontWeight: FontWeight.w700,
color: isCommand
? MeshPalette.blue
: MeshPalette.ink3,
color: isCommand ? MeshPalette.blue : MeshPalette.ink3,
),
),
),
@@ -530,9 +518,7 @@ class _RepeaterCliScreenState extends State<RepeaterCliScreen> {
entry['text']!,
style: MeshTheme.mono(
fontSize: 12.5,
color: isCommand
? MeshPalette.blue
: MeshPalette.ink,
color: isCommand ? MeshPalette.blue : MeshPalette.ink,
),
),
),
@@ -559,156 +545,522 @@ class _RepeaterCliScreenState extends State<RepeaterCliScreen> {
void _showCommandHelp(BuildContext context) {
final l10n = context.l10n;
final generalCommands = [
_CommandHelpEntry(command: 'advert', description: l10n.repeater_cliHelpAdvert),
_CommandHelpEntry(command: 'reboot', description: l10n.repeater_cliHelpReboot),
_CommandHelpEntry(command: 'clock', description: l10n.repeater_cliHelpClock),
_CommandHelpEntry(command: 'password {new-password}', description: l10n.repeater_cliHelpPassword),
_CommandHelpEntry(command: 'ver', description: l10n.repeater_cliHelpVersion),
_CommandHelpEntry(command: 'clear stats', description: l10n.repeater_cliHelpClearStats),
_CommandHelpEntry(command: 'poweroff', description: l10n.repeater_cliHelpPowerOff),
_CommandHelpEntry(command: 'shutdown', description: l10n.repeater_cliHelpPowerOff),
_CommandHelpEntry(command: 'clkreboot', description: l10n.repeater_cliHelpClkReboot),
_CommandHelpEntry(command: 'advert.zerohop', description: l10n.repeater_cliHelpAdvertZeroHop),
_CommandHelpEntry(command: 'start ota', description: l10n.repeater_cliHelpStartOta),
_CommandHelpEntry(command: 'time {epoch-seconds}', description: l10n.repeater_cliHelpTime),
_CommandHelpEntry(command: 'board', description: l10n.repeater_cliHelpBoard),
_CommandHelpEntry(command: 'discover.neighbors', description: l10n.repeater_cliHelpDiscoverNeighbors),
_CommandHelpEntry(command: 'powersaving', description: l10n.repeater_cliHelpPowersaving),
_CommandHelpEntry(command: 'powersaving {on|off}', description: l10n.repeater_cliHelpPowersavingOnOff),
_CommandHelpEntry(command: 'erase', description: l10n.repeater_cliHelpErase),
_CommandHelpEntry(command: 'stats-packets', description: l10n.repeater_cliHelpStatsPackets),
_CommandHelpEntry(command: 'stats-radio', description: l10n.repeater_cliHelpStatsRadio),
_CommandHelpEntry(command: 'stats-core', description: l10n.repeater_cliHelpStatsCore),
_CommandHelpEntry(
command: 'advert',
description: l10n.repeater_cliHelpAdvert,
),
_CommandHelpEntry(
command: 'reboot',
description: l10n.repeater_cliHelpReboot,
),
_CommandHelpEntry(
command: 'clock',
description: l10n.repeater_cliHelpClock,
),
_CommandHelpEntry(
command: 'password {new-password}',
description: l10n.repeater_cliHelpPassword,
),
_CommandHelpEntry(
command: 'ver',
description: l10n.repeater_cliHelpVersion,
),
_CommandHelpEntry(
command: 'clear stats',
description: l10n.repeater_cliHelpClearStats,
),
_CommandHelpEntry(
command: 'poweroff',
description: l10n.repeater_cliHelpPowerOff,
),
_CommandHelpEntry(
command: 'shutdown',
description: l10n.repeater_cliHelpPowerOff,
),
_CommandHelpEntry(
command: 'clkreboot',
description: l10n.repeater_cliHelpClkReboot,
),
_CommandHelpEntry(
command: 'advert.zerohop',
description: l10n.repeater_cliHelpAdvertZeroHop,
),
_CommandHelpEntry(
command: 'start ota',
description: l10n.repeater_cliHelpStartOta,
),
_CommandHelpEntry(
command: 'time {epoch-seconds}',
description: l10n.repeater_cliHelpTime,
),
_CommandHelpEntry(
command: 'board',
description: l10n.repeater_cliHelpBoard,
),
_CommandHelpEntry(
command: 'discover.neighbors',
description: l10n.repeater_cliHelpDiscoverNeighbors,
),
_CommandHelpEntry(
command: 'powersaving',
description: l10n.repeater_cliHelpPowersaving,
),
_CommandHelpEntry(
command: 'powersaving {on|off}',
description: l10n.repeater_cliHelpPowersavingOnOff,
),
_CommandHelpEntry(
command: 'erase',
description: l10n.repeater_cliHelpErase,
),
_CommandHelpEntry(
command: 'stats-packets',
description: l10n.repeater_cliHelpStatsPackets,
),
_CommandHelpEntry(
command: 'stats-radio',
description: l10n.repeater_cliHelpStatsRadio,
),
_CommandHelpEntry(
command: 'stats-core',
description: l10n.repeater_cliHelpStatsCore,
),
];
final settingsCommands = [
_CommandHelpEntry(command: 'set af {air-time-factor}', description: l10n.repeater_cliHelpSetAf),
_CommandHelpEntry(command: 'set tx {tx-power-dbm}', description: l10n.repeater_cliHelpSetTx),
_CommandHelpEntry(command: 'set repeat {on|off}', description: l10n.repeater_cliHelpSetRepeat),
_CommandHelpEntry(command: 'set allow.read.only {on|off}', description: l10n.repeater_cliHelpSetAllowReadOnly),
_CommandHelpEntry(command: 'set flood.max {max-hops}', description: l10n.repeater_cliHelpSetFloodMax),
_CommandHelpEntry(command: 'set int.thresh {db}', description: l10n.repeater_cliHelpSetIntThresh),
_CommandHelpEntry(command: 'set agc.reset.interval {seconds}', description: l10n.repeater_cliHelpSetAgcResetInterval),
_CommandHelpEntry(command: 'set multi.acks {0|1}', description: l10n.repeater_cliHelpSetMultiAcks),
_CommandHelpEntry(command: 'set advert.interval {minutes}', description: l10n.repeater_cliHelpSetAdvertInterval),
_CommandHelpEntry(command: 'set flood.advert.interval {hours}', description: l10n.repeater_cliHelpSetFloodAdvertInterval),
_CommandHelpEntry(command: 'set guest.password {guess-password}', description: l10n.repeater_cliHelpSetGuestPassword),
_CommandHelpEntry(command: 'set name {name}', description: l10n.repeater_cliHelpSetName),
_CommandHelpEntry(command: 'set lat {latitude}', description: l10n.repeater_cliHelpSetLat),
_CommandHelpEntry(command: 'set lon {longitude}', description: l10n.repeater_cliHelpSetLon),
_CommandHelpEntry(command: 'set radio {freq},{bw},{sf},{cr}', description: l10n.repeater_cliHelpSetRadio),
_CommandHelpEntry(command: 'set rxdelay {base}', description: l10n.repeater_cliHelpSetRxDelay),
_CommandHelpEntry(command: 'set txdelay {factor}', description: l10n.repeater_cliHelpSetTxDelay),
_CommandHelpEntry(command: 'set direct.txdelay {factor}', description: l10n.repeater_cliHelpSetDirectTxDelay),
_CommandHelpEntry(command: 'set bridge.enabled {on|off}', description: l10n.repeater_cliHelpSetBridgeEnabled),
_CommandHelpEntry(command: 'set bridge.delay {0-10000}', description: l10n.repeater_cliHelpSetBridgeDelay),
_CommandHelpEntry(command: 'set bridge.source {rx|tx}', description: l10n.repeater_cliHelpSetBridgeSource),
_CommandHelpEntry(command: 'set bridge.baud {speed}', description: l10n.repeater_cliHelpSetBridgeBaud),
_CommandHelpEntry(command: 'set bridge.secret {shared-secret}', description: l10n.repeater_cliHelpSetBridgeSecret),
_CommandHelpEntry(command: 'set adc.multiplier {factor}', description: l10n.repeater_cliHelpSetAdcMultiplier),
_CommandHelpEntry(command: 'tempradio {freq},{bw},{sf},{cr},{minutes}', description: l10n.repeater_cliHelpTempRadio),
_CommandHelpEntry(command: 'setperm {pubkey-hex} {permissions}', description: l10n.repeater_cliHelpSetPerm),
_CommandHelpEntry(command: 'set dutycycle {1-100}', description: l10n.repeater_cliHelpSetDutyCycle),
_CommandHelpEntry(command: 'set prv.key {hex}', description: l10n.repeater_cliHelpSetPrvKey),
_CommandHelpEntry(command: 'set radio.rxgain {on|off}', description: l10n.repeater_cliHelpSetRadioRxGain),
_CommandHelpEntry(command: 'set owner.info {text}', description: l10n.repeater_cliHelpSetOwnerInfo),
_CommandHelpEntry(command: 'set path.hash.mode {0|1|2}', description: l10n.repeater_cliHelpSetPathHashMode),
_CommandHelpEntry(command: 'set loop.detect {off|minimal|moderate|strict}', description: l10n.repeater_cliHelpSetLoopDetect),
_CommandHelpEntry(command: 'set freq {mhz}', description: l10n.repeater_cliHelpSetFreq),
_CommandHelpEntry(command: 'set bridge.channel {1-14}', description: l10n.repeater_cliHelpSetBridgeChannel),
_CommandHelpEntry(
command: 'set af {air-time-factor}',
description: l10n.repeater_cliHelpSetAf,
),
_CommandHelpEntry(
command: 'set tx {tx-power-dbm}',
description: l10n.repeater_cliHelpSetTx,
),
_CommandHelpEntry(
command: 'set repeat {on|off}',
description: l10n.repeater_cliHelpSetRepeat,
),
_CommandHelpEntry(
command: 'set allow.read.only {on|off}',
description: l10n.repeater_cliHelpSetAllowReadOnly,
),
_CommandHelpEntry(
command: 'set flood.max {max-hops}',
description: l10n.repeater_cliHelpSetFloodMax,
),
_CommandHelpEntry(
command: 'set int.thresh {db}',
description: l10n.repeater_cliHelpSetIntThresh,
),
_CommandHelpEntry(
command: 'set agc.reset.interval {seconds}',
description: l10n.repeater_cliHelpSetAgcResetInterval,
),
_CommandHelpEntry(
command: 'set multi.acks {0|1}',
description: l10n.repeater_cliHelpSetMultiAcks,
),
_CommandHelpEntry(
command: 'set advert.interval {minutes}',
description: l10n.repeater_cliHelpSetAdvertInterval,
),
_CommandHelpEntry(
command: 'set flood.advert.interval {hours}',
description: l10n.repeater_cliHelpSetFloodAdvertInterval,
),
_CommandHelpEntry(
command: 'set guest.password {guess-password}',
description: l10n.repeater_cliHelpSetGuestPassword,
),
_CommandHelpEntry(
command: 'set name {name}',
description: l10n.repeater_cliHelpSetName,
),
_CommandHelpEntry(
command: 'set lat {latitude}',
description: l10n.repeater_cliHelpSetLat,
),
_CommandHelpEntry(
command: 'set lon {longitude}',
description: l10n.repeater_cliHelpSetLon,
),
_CommandHelpEntry(
command: 'set radio {freq},{bw},{sf},{cr}',
description: l10n.repeater_cliHelpSetRadio,
),
_CommandHelpEntry(
command: 'set rxdelay {base}',
description: l10n.repeater_cliHelpSetRxDelay,
),
_CommandHelpEntry(
command: 'set txdelay {factor}',
description: l10n.repeater_cliHelpSetTxDelay,
),
_CommandHelpEntry(
command: 'set direct.txdelay {factor}',
description: l10n.repeater_cliHelpSetDirectTxDelay,
),
_CommandHelpEntry(
command: 'set bridge.enabled {on|off}',
description: l10n.repeater_cliHelpSetBridgeEnabled,
),
_CommandHelpEntry(
command: 'set bridge.delay {0-10000}',
description: l10n.repeater_cliHelpSetBridgeDelay,
),
_CommandHelpEntry(
command: 'set bridge.source {rx|tx}',
description: l10n.repeater_cliHelpSetBridgeSource,
),
_CommandHelpEntry(
command: 'set bridge.baud {speed}',
description: l10n.repeater_cliHelpSetBridgeBaud,
),
_CommandHelpEntry(
command: 'set bridge.secret {shared-secret}',
description: l10n.repeater_cliHelpSetBridgeSecret,
),
_CommandHelpEntry(
command: 'set adc.multiplier {factor}',
description: l10n.repeater_cliHelpSetAdcMultiplier,
),
_CommandHelpEntry(
command: 'tempradio {freq},{bw},{sf},{cr},{minutes}',
description: l10n.repeater_cliHelpTempRadio,
),
_CommandHelpEntry(
command: 'setperm {pubkey-hex} {permissions}',
description: l10n.repeater_cliHelpSetPerm,
),
_CommandHelpEntry(
command: 'set dutycycle {1-100}',
description: l10n.repeater_cliHelpSetDutyCycle,
),
_CommandHelpEntry(
command: 'set prv.key {hex}',
description: l10n.repeater_cliHelpSetPrvKey,
),
_CommandHelpEntry(
command: 'set radio.rxgain {on|off}',
description: l10n.repeater_cliHelpSetRadioRxGain,
),
_CommandHelpEntry(
command: 'set owner.info {text}',
description: l10n.repeater_cliHelpSetOwnerInfo,
),
_CommandHelpEntry(
command: 'set path.hash.mode {0|1|2}',
description: l10n.repeater_cliHelpSetPathHashMode,
),
_CommandHelpEntry(
command: 'set loop.detect {off|minimal|moderate|strict}',
description: l10n.repeater_cliHelpSetLoopDetect,
),
_CommandHelpEntry(
command: 'set freq {mhz}',
description: l10n.repeater_cliHelpSetFreq,
),
_CommandHelpEntry(
command: 'set bridge.channel {1-14}',
description: l10n.repeater_cliHelpSetBridgeChannel,
),
];
final bridgeCommands = [
_CommandHelpEntry(command: 'get bridge.type', description: l10n.repeater_cliHelpGetBridgeType),
_CommandHelpEntry(
command: 'get bridge.type',
description: l10n.repeater_cliHelpGetBridgeType,
),
];
final loggingCommands = [
_CommandHelpEntry(command: 'log start', description: l10n.repeater_cliHelpLogStart),
_CommandHelpEntry(command: 'log stop', description: l10n.repeater_cliHelpLogStop),
_CommandHelpEntry(command: 'log erase', description: l10n.repeater_cliHelpLogErase),
_CommandHelpEntry(
command: 'log start',
description: l10n.repeater_cliHelpLogStart,
),
_CommandHelpEntry(
command: 'log stop',
description: l10n.repeater_cliHelpLogStop,
),
_CommandHelpEntry(
command: 'log erase',
description: l10n.repeater_cliHelpLogErase,
),
];
final neighborCommands = [
_CommandHelpEntry(command: 'neighbors', description: l10n.repeater_cliHelpNeighbors),
_CommandHelpEntry(command: 'neighbor.remove {pubkey-prefix}', description: l10n.repeater_cliHelpNeighborRemove),
_CommandHelpEntry(
command: 'neighbors',
description: l10n.repeater_cliHelpNeighbors,
),
_CommandHelpEntry(
command: 'neighbor.remove {pubkey-prefix}',
description: l10n.repeater_cliHelpNeighborRemove,
),
];
final regionCommands = [
_CommandHelpEntry(command: 'region', description: l10n.repeater_cliHelpRegion),
_CommandHelpEntry(command: 'region load', description: l10n.repeater_cliHelpRegionLoad),
_CommandHelpEntry(command: 'region get {* | name-prefix}', description: l10n.repeater_cliHelpRegionGet),
_CommandHelpEntry(command: 'region put {name} {* | parent-name-prefix}', description: l10n.repeater_cliHelpRegionPut),
_CommandHelpEntry(command: 'region remove {name}', description: l10n.repeater_cliHelpRegionRemove),
_CommandHelpEntry(command: 'region allowf {* | name-prefix}', description: l10n.repeater_cliHelpRegionAllowf),
_CommandHelpEntry(command: 'region denyf {* | name-prefix}', description: l10n.repeater_cliHelpRegionDenyf),
_CommandHelpEntry(command: 'region home', description: l10n.repeater_cliHelpRegionHome),
_CommandHelpEntry(command: 'region home {* | name-prefix}', description: l10n.repeater_cliHelpRegionHomeSet),
_CommandHelpEntry(command: 'region save', description: l10n.repeater_cliHelpRegionSave),
_CommandHelpEntry(command: 'region default', description: l10n.repeater_cliHelpRegionDefault),
_CommandHelpEntry(command: 'region default {* | name-prefix | <null>}', description: l10n.repeater_cliHelpRegionDefaultSet),
_CommandHelpEntry(command: 'region list allowed', description: l10n.repeater_cliHelpRegionListAllowed),
_CommandHelpEntry(command: 'region list denied', description: l10n.repeater_cliHelpRegionListDenied),
_CommandHelpEntry(
command: 'region',
description: l10n.repeater_cliHelpRegion,
),
_CommandHelpEntry(
command: 'region load',
description: l10n.repeater_cliHelpRegionLoad,
),
_CommandHelpEntry(
command: 'region get {* | name-prefix}',
description: l10n.repeater_cliHelpRegionGet,
),
_CommandHelpEntry(
command: 'region put {name} {* | parent-name-prefix}',
description: l10n.repeater_cliHelpRegionPut,
),
_CommandHelpEntry(
command: 'region remove {name}',
description: l10n.repeater_cliHelpRegionRemove,
),
_CommandHelpEntry(
command: 'region allowf {* | name-prefix}',
description: l10n.repeater_cliHelpRegionAllowf,
),
_CommandHelpEntry(
command: 'region denyf {* | name-prefix}',
description: l10n.repeater_cliHelpRegionDenyf,
),
_CommandHelpEntry(
command: 'region home',
description: l10n.repeater_cliHelpRegionHome,
),
_CommandHelpEntry(
command: 'region home {* | name-prefix}',
description: l10n.repeater_cliHelpRegionHomeSet,
),
_CommandHelpEntry(
command: 'region save',
description: l10n.repeater_cliHelpRegionSave,
),
_CommandHelpEntry(
command: 'region default',
description: l10n.repeater_cliHelpRegionDefault,
),
_CommandHelpEntry(
command: 'region default {* | name-prefix | <null>}',
description: l10n.repeater_cliHelpRegionDefaultSet,
),
_CommandHelpEntry(
command: 'region list allowed',
description: l10n.repeater_cliHelpRegionListAllowed,
),
_CommandHelpEntry(
command: 'region list denied',
description: l10n.repeater_cliHelpRegionListDenied,
),
];
final getCommands = [
_CommandHelpEntry(command: 'get name', description: l10n.repeater_cliHelpGetName),
_CommandHelpEntry(command: 'get role', description: l10n.repeater_cliHelpGetRole),
_CommandHelpEntry(command: 'get public.key', description: l10n.repeater_cliHelpGetPublicKey),
_CommandHelpEntry(command: 'get prv.key', description: l10n.repeater_cliHelpGetPrvKey),
_CommandHelpEntry(command: 'get repeat', description: l10n.repeater_cliHelpGetRepeat),
_CommandHelpEntry(command: 'get tx', description: l10n.repeater_cliHelpGetTx),
_CommandHelpEntry(command: 'get freq', description: l10n.repeater_cliHelpGetFreq),
_CommandHelpEntry(command: 'get radio', description: l10n.repeater_cliHelpGetRadio),
_CommandHelpEntry(command: 'get radio.rxgain', description: l10n.repeater_cliHelpGetRadioRxGain),
_CommandHelpEntry(command: 'get af', description: l10n.repeater_cliHelpGetAf),
_CommandHelpEntry(command: 'get dutycycle', description: l10n.repeater_cliHelpGetDutyCycle),
_CommandHelpEntry(command: 'get int.thresh', description: l10n.repeater_cliHelpGetIntThresh),
_CommandHelpEntry(command: 'get agc.reset.interval', description: l10n.repeater_cliHelpGetAgcResetInterval),
_CommandHelpEntry(command: 'get multi.acks', description: l10n.repeater_cliHelpGetMultiAcks),
_CommandHelpEntry(command: 'get allow.read.only', description: l10n.repeater_cliHelpGetAllowReadOnly),
_CommandHelpEntry(command: 'get advert.interval', description: l10n.repeater_cliHelpGetAdvertInterval),
_CommandHelpEntry(command: 'get flood.advert.interval', description: l10n.repeater_cliHelpGetFloodAdvertInterval),
_CommandHelpEntry(command: 'get guest.password', description: l10n.repeater_cliHelpGetGuestPassword),
_CommandHelpEntry(command: 'get lat', description: l10n.repeater_cliHelpGetLat),
_CommandHelpEntry(command: 'get lon', description: l10n.repeater_cliHelpGetLon),
_CommandHelpEntry(command: 'get rxdelay', description: l10n.repeater_cliHelpGetRxDelay),
_CommandHelpEntry(command: 'get txdelay', description: l10n.repeater_cliHelpGetTxDelay),
_CommandHelpEntry(command: 'get direct.txdelay', description: l10n.repeater_cliHelpGetDirectTxDelay),
_CommandHelpEntry(command: 'get flood.max', description: l10n.repeater_cliHelpGetFloodMax),
_CommandHelpEntry(command: 'get owner.info', description: l10n.repeater_cliHelpGetOwnerInfo),
_CommandHelpEntry(command: 'get path.hash.mode', description: l10n.repeater_cliHelpGetPathHashMode),
_CommandHelpEntry(command: 'get loop.detect', description: l10n.repeater_cliHelpGetLoopDetect),
_CommandHelpEntry(command: 'get acl', description: l10n.repeater_cliHelpGetAcl),
_CommandHelpEntry(command: 'get bridge.enabled', description: l10n.repeater_cliHelpGetBridgeEnabled),
_CommandHelpEntry(command: 'get bridge.delay', description: l10n.repeater_cliHelpGetBridgeDelay),
_CommandHelpEntry(command: 'get bridge.source', description: l10n.repeater_cliHelpGetBridgeSource),
_CommandHelpEntry(command: 'get bridge.baud', description: l10n.repeater_cliHelpGetBridgeBaud),
_CommandHelpEntry(command: 'get bridge.channel', description: l10n.repeater_cliHelpGetBridgeChannel),
_CommandHelpEntry(command: 'get bridge.secret', description: l10n.repeater_cliHelpGetBridgeSecret),
_CommandHelpEntry(command: 'get bootloader.ver', description: l10n.repeater_cliHelpGetBootloaderVer),
_CommandHelpEntry(command: 'get adc.multiplier', description: l10n.repeater_cliHelpGetAdcMultiplier),
_CommandHelpEntry(
command: 'get name',
description: l10n.repeater_cliHelpGetName,
),
_CommandHelpEntry(
command: 'get role',
description: l10n.repeater_cliHelpGetRole,
),
_CommandHelpEntry(
command: 'get public.key',
description: l10n.repeater_cliHelpGetPublicKey,
),
_CommandHelpEntry(
command: 'get prv.key',
description: l10n.repeater_cliHelpGetPrvKey,
),
_CommandHelpEntry(
command: 'get repeat',
description: l10n.repeater_cliHelpGetRepeat,
),
_CommandHelpEntry(
command: 'get tx',
description: l10n.repeater_cliHelpGetTx,
),
_CommandHelpEntry(
command: 'get freq',
description: l10n.repeater_cliHelpGetFreq,
),
_CommandHelpEntry(
command: 'get radio',
description: l10n.repeater_cliHelpGetRadio,
),
_CommandHelpEntry(
command: 'get radio.rxgain',
description: l10n.repeater_cliHelpGetRadioRxGain,
),
_CommandHelpEntry(
command: 'get af',
description: l10n.repeater_cliHelpGetAf,
),
_CommandHelpEntry(
command: 'get dutycycle',
description: l10n.repeater_cliHelpGetDutyCycle,
),
_CommandHelpEntry(
command: 'get int.thresh',
description: l10n.repeater_cliHelpGetIntThresh,
),
_CommandHelpEntry(
command: 'get agc.reset.interval',
description: l10n.repeater_cliHelpGetAgcResetInterval,
),
_CommandHelpEntry(
command: 'get multi.acks',
description: l10n.repeater_cliHelpGetMultiAcks,
),
_CommandHelpEntry(
command: 'get allow.read.only',
description: l10n.repeater_cliHelpGetAllowReadOnly,
),
_CommandHelpEntry(
command: 'get advert.interval',
description: l10n.repeater_cliHelpGetAdvertInterval,
),
_CommandHelpEntry(
command: 'get flood.advert.interval',
description: l10n.repeater_cliHelpGetFloodAdvertInterval,
),
_CommandHelpEntry(
command: 'get guest.password',
description: l10n.repeater_cliHelpGetGuestPassword,
),
_CommandHelpEntry(
command: 'get lat',
description: l10n.repeater_cliHelpGetLat,
),
_CommandHelpEntry(
command: 'get lon',
description: l10n.repeater_cliHelpGetLon,
),
_CommandHelpEntry(
command: 'get rxdelay',
description: l10n.repeater_cliHelpGetRxDelay,
),
_CommandHelpEntry(
command: 'get txdelay',
description: l10n.repeater_cliHelpGetTxDelay,
),
_CommandHelpEntry(
command: 'get direct.txdelay',
description: l10n.repeater_cliHelpGetDirectTxDelay,
),
_CommandHelpEntry(
command: 'get flood.max',
description: l10n.repeater_cliHelpGetFloodMax,
),
_CommandHelpEntry(
command: 'get owner.info',
description: l10n.repeater_cliHelpGetOwnerInfo,
),
_CommandHelpEntry(
command: 'get path.hash.mode',
description: l10n.repeater_cliHelpGetPathHashMode,
),
_CommandHelpEntry(
command: 'get loop.detect',
description: l10n.repeater_cliHelpGetLoopDetect,
),
_CommandHelpEntry(
command: 'get acl',
description: l10n.repeater_cliHelpGetAcl,
),
_CommandHelpEntry(
command: 'get bridge.enabled',
description: l10n.repeater_cliHelpGetBridgeEnabled,
),
_CommandHelpEntry(
command: 'get bridge.delay',
description: l10n.repeater_cliHelpGetBridgeDelay,
),
_CommandHelpEntry(
command: 'get bridge.source',
description: l10n.repeater_cliHelpGetBridgeSource,
),
_CommandHelpEntry(
command: 'get bridge.baud',
description: l10n.repeater_cliHelpGetBridgeBaud,
),
_CommandHelpEntry(
command: 'get bridge.channel',
description: l10n.repeater_cliHelpGetBridgeChannel,
),
_CommandHelpEntry(
command: 'get bridge.secret',
description: l10n.repeater_cliHelpGetBridgeSecret,
),
_CommandHelpEntry(
command: 'get bootloader.ver',
description: l10n.repeater_cliHelpGetBootloaderVer,
),
_CommandHelpEntry(
command: 'get adc.multiplier',
description: l10n.repeater_cliHelpGetAdcMultiplier,
),
];
final powerMgmtCommands = [
_CommandHelpEntry(command: 'get pwrmgt.support', description: l10n.repeater_cliHelpGetPwrMgtSupport),
_CommandHelpEntry(command: 'get pwrmgt.source', description: l10n.repeater_cliHelpGetPwrMgtSource),
_CommandHelpEntry(command: 'get pwrmgt.bootreason', description: l10n.repeater_cliHelpGetPwrMgtBootReason),
_CommandHelpEntry(command: 'get pwrmgt.bootmv', description: l10n.repeater_cliHelpGetPwrMgtBootMv),
_CommandHelpEntry(
command: 'get pwrmgt.support',
description: l10n.repeater_cliHelpGetPwrMgtSupport,
),
_CommandHelpEntry(
command: 'get pwrmgt.source',
description: l10n.repeater_cliHelpGetPwrMgtSource,
),
_CommandHelpEntry(
command: 'get pwrmgt.bootreason',
description: l10n.repeater_cliHelpGetPwrMgtBootReason,
),
_CommandHelpEntry(
command: 'get pwrmgt.bootmv',
description: l10n.repeater_cliHelpGetPwrMgtBootMv,
),
];
final sensorCommands = [
_CommandHelpEntry(command: 'sensor get {key}', description: l10n.repeater_cliHelpSensorGet),
_CommandHelpEntry(command: 'sensor set {key} {value}', description: l10n.repeater_cliHelpSensorSet),
_CommandHelpEntry(command: 'sensor list [start]', description: l10n.repeater_cliHelpSensorList),
_CommandHelpEntry(
command: 'sensor get {key}',
description: l10n.repeater_cliHelpSensorGet,
),
_CommandHelpEntry(
command: 'sensor set {key} {value}',
description: l10n.repeater_cliHelpSensorSet,
),
_CommandHelpEntry(
command: 'sensor list [start]',
description: l10n.repeater_cliHelpSensorList,
),
];
final gpsCommands = [
_CommandHelpEntry(command: 'gps', description: l10n.repeater_cliHelpGps),
_CommandHelpEntry(command: 'gps {on|off}', description: l10n.repeater_cliHelpGpsOnOff),
_CommandHelpEntry(command: 'gps sync', description: l10n.repeater_cliHelpGpsSync),
_CommandHelpEntry(command: 'gps setloc', description: l10n.repeater_cliHelpGpsSetLoc),
_CommandHelpEntry(command: 'gps advert', description: l10n.repeater_cliHelpGpsAdvert),
_CommandHelpEntry(command: 'gps advert {none|share|prefs}', description: l10n.repeater_cliHelpGpsAdvertSet),
_CommandHelpEntry(
command: 'gps {on|off}',
description: l10n.repeater_cliHelpGpsOnOff,
),
_CommandHelpEntry(
command: 'gps sync',
description: l10n.repeater_cliHelpGpsSync,
),
_CommandHelpEntry(
command: 'gps setloc',
description: l10n.repeater_cliHelpGpsSetLoc,
),
_CommandHelpEntry(
command: 'gps advert',
description: l10n.repeater_cliHelpGpsAdvert,
),
_CommandHelpEntry(
command: 'gps advert {none|share|prefs}',
description: l10n.repeater_cliHelpGpsAdvertSet,
),
];
showDialog(
@@ -720,27 +1072,64 @@ class _RepeaterCliScreenState extends State<RepeaterCliScreen> {
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(l10n.repeater_commandsListNote, style: const TextStyle(fontSize: 13)),
Text(
l10n.repeater_commandsListNote,
style: const TextStyle(fontSize: 13),
),
const SizedBox(height: 16),
_buildHelpSection(context, l10n.repeater_general, generalCommands),
_buildHelpSection(
context,
l10n.repeater_general,
generalCommands,
),
const SizedBox(height: 16),
_buildHelpSection(context, l10n.repeater_getCategory, getCommands),
_buildHelpSection(
context,
l10n.repeater_getCategory,
getCommands,
),
const SizedBox(height: 16),
_buildHelpSection(context, l10n.repeater_settingsCategory, settingsCommands),
_buildHelpSection(
context,
l10n.repeater_settingsCategory,
settingsCommands,
),
const SizedBox(height: 16),
_buildHelpSection(context, l10n.repeater_powerMgmt, powerMgmtCommands),
_buildHelpSection(
context,
l10n.repeater_powerMgmt,
powerMgmtCommands,
),
const SizedBox(height: 16),
_buildHelpSection(context, l10n.repeater_sensors, sensorCommands),
const SizedBox(height: 16),
_buildHelpSection(context, l10n.repeater_bridge, bridgeCommands),
const SizedBox(height: 16),
_buildHelpSection(context, l10n.repeater_logging, loggingCommands),
_buildHelpSection(
context,
l10n.repeater_logging,
loggingCommands,
),
const SizedBox(height: 16),
_buildHelpSection(context, l10n.repeater_neighborsRepeaterOnly, neighborCommands),
_buildHelpSection(
context,
l10n.repeater_neighborsRepeaterOnly,
neighborCommands,
),
const SizedBox(height: 16),
_buildHelpSection(context, l10n.repeater_regionManagementRepeaterOnly, regionCommands, note: l10n.repeater_regionNote),
_buildHelpSection(
context,
l10n.repeater_regionManagementRepeaterOnly,
regionCommands,
note: l10n.repeater_regionNote,
),
const SizedBox(height: 16),
_buildHelpSection(context, l10n.repeater_gpsManagement, gpsCommands, note: l10n.repeater_gpsNote),
_buildHelpSection(
context,
l10n.repeater_gpsManagement,
gpsCommands,
note: l10n.repeater_gpsNote,
),
],
),
),
@@ -764,10 +1153,16 @@ class _RepeaterCliScreenState extends State<RepeaterCliScreen> {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(title, style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 15)),
Text(
title,
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 15),
),
if (note != null) ...[
const SizedBox(height: 4),
Text(note, style: TextStyle(fontSize: 11, color: scheme.onSurfaceVariant)),
Text(
note,
style: TextStyle(fontSize: 11, color: scheme.onSurfaceVariant),
),
],
const SizedBox(height: 8),
...commands.map((entry) => _buildHelpCommandCard(context, entry)),