From 324f52c5c3e64f1ab754f825b4ea8f4c0b753dae Mon Sep 17 00:00:00 2001 From: Yufeng Wang Date: Wed, 8 Feb 2023 00:53:51 -0800 Subject: [PATCH 1/3] [chip-tool] Add pairing already-discovered command --- examples/chip-tool/commands/pairing/Commands.h | 9 +++++++++ .../chip-tool/commands/pairing/PairingCommand.cpp | 4 ++++ examples/chip-tool/commands/pairing/PairingCommand.h | 11 +++++++++++ 3 files changed, 24 insertions(+) diff --git a/examples/chip-tool/commands/pairing/Commands.h b/examples/chip-tool/commands/pairing/Commands.h index 25ddf5dd5a2593..9c9ca784365b05 100644 --- a/examples/chip-tool/commands/pairing/Commands.h +++ b/examples/chip-tool/commands/pairing/Commands.h @@ -173,6 +173,14 @@ class PairSoftAP : public PairingCommand {} }; +class PairAlreadyDiscovered : public PairingCommand +{ +public: + PairAlreadyDiscovered(CredentialIssuerCommands * credsIssuerConfig) : + PairingCommand("already-discovered", PairingMode::AlreadyDiscovered, PairingNetworkType::Ethernet, credsIssuerConfig) + {} +}; + class StartUdcServerCommand : public CHIPCommand { public: @@ -199,6 +207,7 @@ void registerCommandsPairing(Commands & commands, CredentialIssuerCommands * cre make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), diff --git a/examples/chip-tool/commands/pairing/PairingCommand.cpp b/examples/chip-tool/commands/pairing/PairingCommand.cpp index 1c64a872371c26..d5c5f039ecd6a0 100644 --- a/examples/chip-tool/commands/pairing/PairingCommand.cpp +++ b/examples/chip-tool/commands/pairing/PairingCommand.cpp @@ -75,6 +75,9 @@ CHIP_ERROR PairingCommand::RunInternal(NodeId remoteId) case PairingMode::SoftAP: err = Pair(remoteId, PeerAddress::UDP(mRemoteAddr.address, mRemotePort, mRemoteAddr.interfaceId)); break; + case PairingMode::AlreadyDiscovered: + err = Pair(remoteId, PeerAddress::UDP(mRemoteAddr.address, mRemotePort, mRemoteAddr.interfaceId)); + break; } return err; @@ -97,6 +100,7 @@ CommissioningParameters PairingCommand::GetCommissioningParameters() case PairingNetworkType::Thread: params.SetThreadOperationalDataset(mOperationalDataset); break; + case PairingNetworkType::Ethernet: case PairingNetworkType::None: break; } diff --git a/examples/chip-tool/commands/pairing/PairingCommand.h b/examples/chip-tool/commands/pairing/PairingCommand.h index 0f8dbf4ad5fa71..800ce399dc38be 100644 --- a/examples/chip-tool/commands/pairing/PairingCommand.h +++ b/examples/chip-tool/commands/pairing/PairingCommand.h @@ -34,6 +34,7 @@ enum class PairingMode CodePaseOnly, Ble, SoftAP, + AlreadyDiscovered, OnNetwork, }; @@ -42,6 +43,7 @@ enum class PairingNetworkType None, WiFi, Thread, + Ethernet, }; class PairingCommand : public CHIPCommand, @@ -67,6 +69,7 @@ class PairingCommand : public CHIPCommand, switch (networkType) { case PairingNetworkType::None: + case PairingNetworkType::Ethernet: break; case PairingNetworkType::WiFi: AddArgument("ssid", &mSSID); @@ -106,6 +109,14 @@ class PairingCommand : public CHIPCommand, AddArgument("device-remote-port", 0, UINT16_MAX, &mRemotePort); AddArgument("pase-only", 0, 1, &mPaseOnly); break; + case PairingMode::AlreadyDiscovered: + AddArgument("skip-commissioning-complete", 0, 1, &mSkipCommissioningComplete); + AddArgument("setup-pin-code", 0, 134217727, &mSetupPINCode); + AddArgument("discriminator", 0, 4096, &mDiscriminator); + AddArgument("device-remote-ip", &mRemoteAddr); + AddArgument("device-remote-port", 0, UINT16_MAX, &mRemotePort); + AddArgument("pase-only", 0, 1, &mPaseOnly); + break; } switch (filterType) From fca0b0f6aeb508453faec2a600ebeed4105fe408 Mon Sep 17 00:00:00 2001 From: Yufeng Wang Date: Wed, 8 Feb 2023 12:33:47 -0800 Subject: [PATCH 2/3] Address review comments --- examples/chip-tool/commands/pairing/Commands.h | 2 +- examples/chip-tool/commands/pairing/PairingCommand.cpp | 2 +- examples/chip-tool/commands/pairing/PairingCommand.h | 5 ++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/examples/chip-tool/commands/pairing/Commands.h b/examples/chip-tool/commands/pairing/Commands.h index 9c9ca784365b05..be697af7c6b6a9 100644 --- a/examples/chip-tool/commands/pairing/Commands.h +++ b/examples/chip-tool/commands/pairing/Commands.h @@ -177,7 +177,7 @@ class PairAlreadyDiscovered : public PairingCommand { public: PairAlreadyDiscovered(CredentialIssuerCommands * credsIssuerConfig) : - PairingCommand("already-discovered", PairingMode::AlreadyDiscovered, PairingNetworkType::Ethernet, credsIssuerConfig) + PairingCommand("already-discovered", PairingMode::AlreadyDiscovered, PairingNetworkType::Network, credsIssuerConfig) {} }; diff --git a/examples/chip-tool/commands/pairing/PairingCommand.cpp b/examples/chip-tool/commands/pairing/PairingCommand.cpp index d5c5f039ecd6a0..e89e7659ed0e73 100644 --- a/examples/chip-tool/commands/pairing/PairingCommand.cpp +++ b/examples/chip-tool/commands/pairing/PairingCommand.cpp @@ -100,7 +100,7 @@ CommissioningParameters PairingCommand::GetCommissioningParameters() case PairingNetworkType::Thread: params.SetThreadOperationalDataset(mOperationalDataset); break; - case PairingNetworkType::Ethernet: + case PairingNetworkType::Network: case PairingNetworkType::None: break; } diff --git a/examples/chip-tool/commands/pairing/PairingCommand.h b/examples/chip-tool/commands/pairing/PairingCommand.h index 800ce399dc38be..727d6f8a6e1a16 100644 --- a/examples/chip-tool/commands/pairing/PairingCommand.h +++ b/examples/chip-tool/commands/pairing/PairingCommand.h @@ -43,7 +43,7 @@ enum class PairingNetworkType None, WiFi, Thread, - Ethernet, + Network, }; class PairingCommand : public CHIPCommand, @@ -69,7 +69,7 @@ class PairingCommand : public CHIPCommand, switch (networkType) { case PairingNetworkType::None: - case PairingNetworkType::Ethernet: + case PairingNetworkType::Network: break; case PairingNetworkType::WiFi: AddArgument("ssid", &mSSID); @@ -112,7 +112,6 @@ class PairingCommand : public CHIPCommand, case PairingMode::AlreadyDiscovered: AddArgument("skip-commissioning-complete", 0, 1, &mSkipCommissioningComplete); AddArgument("setup-pin-code", 0, 134217727, &mSetupPINCode); - AddArgument("discriminator", 0, 4096, &mDiscriminator); AddArgument("device-remote-ip", &mRemoteAddr); AddArgument("device-remote-port", 0, UINT16_MAX, &mRemotePort); AddArgument("pase-only", 0, 1, &mPaseOnly); From 9255e17da5038b5b7cda2ca7cee24ca5cd1805ad Mon Sep 17 00:00:00 2001 From: Yufeng Wang Date: Wed, 8 Feb 2023 19:09:23 -0800 Subject: [PATCH 3/3] Use PairingNetworkType::None instead of PairingNetworkType::Network --- examples/chip-tool/commands/pairing/Commands.h | 2 +- examples/chip-tool/commands/pairing/PairingCommand.cpp | 1 - examples/chip-tool/commands/pairing/PairingCommand.h | 2 -- 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/examples/chip-tool/commands/pairing/Commands.h b/examples/chip-tool/commands/pairing/Commands.h index be697af7c6b6a9..4ac57177bf806f 100644 --- a/examples/chip-tool/commands/pairing/Commands.h +++ b/examples/chip-tool/commands/pairing/Commands.h @@ -177,7 +177,7 @@ class PairAlreadyDiscovered : public PairingCommand { public: PairAlreadyDiscovered(CredentialIssuerCommands * credsIssuerConfig) : - PairingCommand("already-discovered", PairingMode::AlreadyDiscovered, PairingNetworkType::Network, credsIssuerConfig) + PairingCommand("already-discovered", PairingMode::AlreadyDiscovered, PairingNetworkType::None, credsIssuerConfig) {} }; diff --git a/examples/chip-tool/commands/pairing/PairingCommand.cpp b/examples/chip-tool/commands/pairing/PairingCommand.cpp index e89e7659ed0e73..c0cefcd3420af3 100644 --- a/examples/chip-tool/commands/pairing/PairingCommand.cpp +++ b/examples/chip-tool/commands/pairing/PairingCommand.cpp @@ -100,7 +100,6 @@ CommissioningParameters PairingCommand::GetCommissioningParameters() case PairingNetworkType::Thread: params.SetThreadOperationalDataset(mOperationalDataset); break; - case PairingNetworkType::Network: case PairingNetworkType::None: break; } diff --git a/examples/chip-tool/commands/pairing/PairingCommand.h b/examples/chip-tool/commands/pairing/PairingCommand.h index 727d6f8a6e1a16..516d5f68b56110 100644 --- a/examples/chip-tool/commands/pairing/PairingCommand.h +++ b/examples/chip-tool/commands/pairing/PairingCommand.h @@ -43,7 +43,6 @@ enum class PairingNetworkType None, WiFi, Thread, - Network, }; class PairingCommand : public CHIPCommand, @@ -69,7 +68,6 @@ class PairingCommand : public CHIPCommand, switch (networkType) { case PairingNetworkType::None: - case PairingNetworkType::Network: break; case PairingNetworkType::WiFi: AddArgument("ssid", &mSSID);