Skip to content

Commit 02d71a7

Browse files
committedDec 16, 2024
[diag] Move otPlatDiagModeGet() check to ProcessCmd
All diagnostic commands (instead of `diag start`) should fail if device is not in diagnostic mode. Previously it was verified by each command's process method (with a missing check in `ProcessEcho` and `ProcessGpio`). This commit moves the check directly to `ProcessCmd` and cleans up redundant code. Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
1 parent 971f05f commit 02d71a7

File tree

1 file changed

+2
-17
lines changed

1 file changed

+2
-17
lines changed
 

‎src/core/diags/factory_diags.cpp

+2-17
Original file line numberDiff line numberDiff line change
@@ -334,8 +334,6 @@ Error Diags::ProcessChannel(uint8_t aArgsLength, char *aArgs[])
334334
{
335335
Error error = kErrorNone;
336336

337-
VerifyOrExit(otPlatDiagModeGet(), error = kErrorInvalidState);
338-
339337
if (aArgsLength == 0)
340338
{
341339
Output("channel: %d\r\n", mChannel);
@@ -363,8 +361,6 @@ Error Diags::ProcessPower(uint8_t aArgsLength, char *aArgs[])
363361
{
364362
Error error = kErrorNone;
365363

366-
VerifyOrExit(otPlatDiagModeGet(), error = kErrorInvalidState);
367-
368364
if (aArgsLength == 0)
369365
{
370366
Output("tx power: %d dBm\r\n", mTxPower);
@@ -391,7 +387,6 @@ Error Diags::ProcessRepeat(uint8_t aArgsLength, char *aArgs[])
391387
{
392388
Error error = kErrorNone;
393389

394-
VerifyOrExit(otPlatDiagModeGet(), error = kErrorInvalidState);
395390
VerifyOrExit(aArgsLength > 0, error = kErrorInvalidArgs);
396391

397392
if (StringMatch(aArgs[0], "stop"))
@@ -446,7 +441,6 @@ Error Diags::ProcessSend(uint8_t aArgsLength, char *aArgs[])
446441
uint32_t txPackets;
447442
uint8_t txLength;
448443

449-
VerifyOrExit(otPlatDiagModeGet(), error = kErrorInvalidState);
450444
VerifyOrExit(aArgsLength >= 1, error = kErrorInvalidArgs);
451445

452446
SuccessOrExit(error = Utils::CmdLineParser::ParseAsUint32(aArgs[0], txPackets));
@@ -512,8 +506,6 @@ Error Diags::ProcessStats(uint8_t aArgsLength, char *aArgs[])
512506
{
513507
Error error = kErrorNone;
514508

515-
VerifyOrExit(otPlatDiagModeGet(), error = kErrorInvalidState);
516-
517509
if ((aArgsLength == 1) && StringMatch(aArgs[0], "clear"))
518510
{
519511
mStats.Clear();
@@ -542,8 +534,6 @@ Error Diags::ProcessStop(uint8_t aArgsLength, char *aArgs[])
542534

543535
Error error = kErrorNone;
544536

545-
VerifyOrExit(otPlatDiagModeGet(), error = kErrorInvalidState);
546-
547537
otPlatAlarmMilliStop(&GetInstance());
548538
otPlatDiagModeSet(false);
549539
Get<Radio>().SetPromiscuous(false);
@@ -635,7 +625,6 @@ Error Diags::ProcessRadio(uint8_t aArgsLength, char *aArgs[])
635625
{
636626
Error error = kErrorInvalidArgs;
637627

638-
VerifyOrExit(otPlatDiagModeGet(), error = kErrorInvalidState);
639628
VerifyOrExit(aArgsLength > 0, error = kErrorInvalidArgs);
640629

641630
if (StringMatch(aArgs[0], "sleep"))
@@ -840,7 +829,6 @@ Error Diags::ProcessContinuousWave(uint8_t aArgsLength, char *aArgs[])
840829
{
841830
Error error = kErrorInvalidArgs;
842831

843-
VerifyOrExit(otPlatDiagModeGet(), error = kErrorInvalidState);
844832
VerifyOrExit(aArgsLength > 0, error = kErrorInvalidArgs);
845833

846834
if (StringMatch(aArgs[0], "start"))
@@ -861,7 +849,6 @@ Error Diags::ProcessStream(uint8_t aArgsLength, char *aArgs[])
861849
{
862850
Error error = kErrorInvalidArgs;
863851

864-
VerifyOrExit(otPlatDiagModeGet(), error = kErrorInvalidState);
865852
VerifyOrExit(aArgsLength > 0, error = kErrorInvalidArgs);
866853

867854
if (StringMatch(aArgs[0], "start"))
@@ -892,8 +879,6 @@ Error Diags::ProcessPowerSettings(uint8_t aArgsLength, char *aArgs[])
892879
uint8_t channel;
893880
PowerSettings powerSettings;
894881

895-
VerifyOrExit(otPlatDiagModeGet(), error = kErrorInvalidState);
896-
897882
if (aArgsLength == 0)
898883
{
899884
bool isPrePowerSettingsValid = false;
@@ -951,8 +936,6 @@ Error Diags::ProcessRawPowerSetting(uint8_t aArgsLength, char *aArgs[])
951936
Error error = kErrorInvalidArgs;
952937
RawPowerSetting setting;
953938

954-
VerifyOrExit(otPlatDiagModeGet(), error = kErrorInvalidState);
955-
956939
if (aArgsLength == 0)
957940
{
958941
SuccessOrExit(error = GetRawPowerSetting(setting));
@@ -1112,6 +1095,8 @@ Error Diags::ProcessCmd(uint8_t aArgsLength, char *aArgs[])
11121095
ExitNow();
11131096
}
11141097

1098+
VerifyOrExit(otPlatDiagModeGet() || StringMatch(aArgs[0], "start"), error = kErrorInvalidState);
1099+
11151100
for (const Command &command : sCommands)
11161101
{
11171102
if (StringMatch(aArgs[0], command.mName))

0 commit comments

Comments
 (0)