Skip to content

Commit

Permalink
Add option 'version' to setup-payload generate command (#8478)
Browse files Browse the repository at this point in the history
  • Loading branch information
yufengwangca authored Jul 20, 2021
1 parent f3b7052 commit afc0dbd
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 10 deletions.
12 changes: 7 additions & 5 deletions src/controller/python/chip-device-ctrl.py
Original file line number Diff line number Diff line change
Expand Up @@ -327,8 +327,9 @@ def do_setuppayload(self, line):
setup-payload generate [options]
Options:
-v Vendor ID
-p Product ID
-vr Version
-vi Vendor ID
-pi Product ID
-cf Custom Flow [Standard = 0, UserActionRequired = 1, Custom = 2]
-dc Discovery Capabilities [SoftAP = 1 | BLE = 2 | OnNetwork = 4]
-dv Discriminator Value
Expand All @@ -345,15 +346,16 @@ def do_setuppayload(self, line):

if arglist[0] == "generate":
parser = argparse.ArgumentParser()
parser.add_argument("-v", type=int, default=0, dest='vendorId')
parser.add_argument("-p", type=int, default=0, dest='productId')
parser.add_argument("-vr", type=int, default=0, dest='version')
parser.add_argument("-pi", type=int, default=0, dest='productId')
parser.add_argument("-vi", type=int, default=0, dest='vendorId')
parser.add_argument('-cf', type=int, default=0, dest='customFlow')
parser.add_argument("-dc", type=int, default=0, dest='capabilities')
parser.add_argument("-dv", type=int, default=0, dest='discriminator')
parser.add_argument("-ps", type=int, dest='passcode')
args = parser.parse_args(arglist[1:])

SetupPayload().PrintOnboardingCodes(args.passcode, args.vendorId, args.productId, args.discriminator, args.customFlow, args.capabilities)
SetupPayload().PrintOnboardingCodes(args.passcode, args.vendorId, args.productId, args.discriminator, args.customFlow, args.capabilities, args.version)

if arglist[0] == "parse-manual":
SetupPayload().ParseManualPairingCode(arglist[1]).Print()
Expand Down
5 changes: 3 additions & 2 deletions src/controller/python/chip/setup_payload/Generator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,15 @@
using namespace chip;

extern "C" CHIP_ERROR pychip_SetupPayload_PrintOnboardingCodes(uint32_t passcode, uint16_t vendorId, uint16_t productId,
uint16_t discriminator, uint8_t customFlow, uint8_t capabilities)
uint16_t discriminator, uint8_t customFlow, uint8_t capabilities,
uint8_t version)
{
std::string QRCode;
std::string manualPairingCode;
SetupPayload payload;
RendezvousInformationFlags rendezvousFlags = RendezvousInformationFlag::kNone;

payload.version = 0;
payload.version = version;
payload.setUpPINCode = passcode;
payload.vendorID = vendorId;
payload.productID = productId;
Expand Down
6 changes: 3 additions & 3 deletions src/controller/python/chip/setup_payload/setup_payload.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,9 @@ def ParseManualPairingCode(self, manualPairingCode: str):

return self

def PrintOnboardingCodes(self, passcode, vendorId, productId, discriminator, customFlow, capabilities):
def PrintOnboardingCodes(self, passcode, vendorId, productId, discriminator, customFlow, capabilities, version):
self.Clear()
err = self.chipLib.pychip_SetupPayload_PrintOnboardingCodes(passcode, vendorId, productId, discriminator, customFlow, capabilities)
err = self.chipLib.pychip_SetupPayload_PrintOnboardingCodes(passcode, vendorId, productId, discriminator, customFlow, capabilities, version)

if err != 0:
raise ChipStackError(err)
Expand Down Expand Up @@ -104,4 +104,4 @@ def __InitNativeFunctions(self, chipLib):
[c_char_p, SetupPayload.AttributeVisitor, SetupPayload.VendorAttributeVisitor])
setter.Set("pychip_SetupPayload_PrintOnboardingCodes",
c_int32,
[c_uint32, c_uint16, c_uint16, c_uint16, uint8_t, uint8_t])
[c_uint32, c_uint16, c_uint16, c_uint16, uint8_t, uint8_t, uint8_t])

0 comments on commit afc0dbd

Please sign in to comment.