From 324f52c5c3e64f1ab754f825b4ea8f4c0b753dae Mon Sep 17 00:00:00 2001 From: Yufeng Wang Date: Wed, 8 Feb 2023 00:53:51 -0800 Subject: [PATCH] [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)