From 7629828bbd55b2d09c347dd7453c923667bf1612 Mon Sep 17 00:00:00 2001 From: Vivien Nicolas Date: Fri, 2 Dec 2022 20:41:21 +0100 Subject: [PATCH] [chip-tool] Add --skip-commissioning-complete optional parameter for non-concurrent connection use case (#23701) --- .../chip-tool/commands/pairing/PairingCommand.cpp | 14 ++++++++++---- .../chip-tool/commands/pairing/PairingCommand.h | 6 ++++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/examples/chip-tool/commands/pairing/PairingCommand.cpp b/examples/chip-tool/commands/pairing/PairingCommand.cpp index 9f827004d087f4..adc560a812fe11 100644 --- a/examples/chip-tool/commands/pairing/PairingCommand.cpp +++ b/examples/chip-tool/commands/pairing/PairingCommand.cpp @@ -70,17 +70,23 @@ CHIP_ERROR PairingCommand::RunInternal(NodeId remoteId) CommissioningParameters PairingCommand::GetCommissioningParameters() { + auto params = CommissioningParameters(); + params.SetSkipCommissioningComplete(mSkipCommissioningComplete.ValueOr(false)); + switch (mNetworkType) { case PairingNetworkType::WiFi: - return CommissioningParameters().SetWiFiCredentials(Controller::WiFiCredentials(mSSID, mPassword)); + params.SetWiFiCredentials(Controller::WiFiCredentials(mSSID, mPassword)); + break; case PairingNetworkType::Thread: - return CommissioningParameters().SetThreadOperationalDataset(mOperationalDataset); + params.SetThreadOperationalDataset(mOperationalDataset); + break; case PairingNetworkType::Ethernet: case PairingNetworkType::None: - return CommissioningParameters(); + break; } - return CommissioningParameters(); + + return params; } CHIP_ERROR PairingCommand::PaseWithCode(NodeId remoteId) diff --git a/examples/chip-tool/commands/pairing/PairingCommand.h b/examples/chip-tool/commands/pairing/PairingCommand.h index 61c7440ad9963e..3edd1cfd9e3f4e 100644 --- a/examples/chip-tool/commands/pairing/PairingCommand.h +++ b/examples/chip-tool/commands/pairing/PairingCommand.h @@ -78,20 +78,24 @@ class PairingCommand : public CHIPCommand, case PairingMode::None: break; case PairingMode::Code: + AddArgument("skip-commissioning-complete", 0, 1, &mSkipCommissioningComplete); case PairingMode::CodePaseOnly: AddArgument("payload", &mOnboardingPayload); AddArgument("discover-once", 0, 1, &mDiscoverOnce); AddArgument("use-only-onnetwork-discovery", 0, 1, &mUseOnlyOnNetworkDiscovery); break; case PairingMode::Ble: + AddArgument("skip-commissioning-complete", 0, 1, &mSkipCommissioningComplete); AddArgument("setup-pin-code", 0, 134217727, &mSetupPINCode); AddArgument("discriminator", 0, 4096, &mDiscriminator); break; case PairingMode::OnNetwork: + AddArgument("skip-commissioning-complete", 0, 1, &mSkipCommissioningComplete); AddArgument("setup-pin-code", 0, 134217727, &mSetupPINCode); AddArgument("pase-only", 0, 1, &mPaseOnly); break; case PairingMode::SoftAP: + AddArgument("skip-commissioning-complete", 0, 1, &mSkipCommissioningComplete); AddArgument("setup-pin-code", 0, 134217727, &mSetupPINCode); AddArgument("discriminator", 0, 4096, &mDiscriminator); AddArgument("device-remote-ip", &mRemoteAddr); @@ -99,6 +103,7 @@ class PairingCommand : public CHIPCommand, AddArgument("pase-only", 0, 1, &mPaseOnly); break; case PairingMode::Ethernet: + AddArgument("skip-commissioning-complete", 0, 1, &mSkipCommissioningComplete); AddArgument("setup-pin-code", 0, 134217727, &mSetupPINCode); AddArgument("discriminator", 0, 4096, &mDiscriminator); AddArgument("device-remote-ip", &mRemoteAddr); @@ -169,6 +174,7 @@ class PairingCommand : public CHIPCommand, chip::Optional mDiscoverOnce; chip::Optional mUseOnlyOnNetworkDiscovery; chip::Optional mPaseOnly; + chip::Optional mSkipCommissioningComplete; uint16_t mRemotePort; uint16_t mDiscriminator; uint32_t mSetupPINCode;