Skip to content

Commit

Permalink
Fix short code on dnssd advertising and chip-tool
Browse files Browse the repository at this point in the history
The short discriminator is the UPPER four bits of the discriminator.
  • Loading branch information
cecille committed Nov 29, 2021
1 parent 7d55d2e commit cc4b645
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/app/server/Dnssd.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ CHIP_ERROR DnssdServer::Advertise(bool commissionableNode, chip::Dnssd::Commissi
ChipLogError(Discovery, "Setup discriminator not known. Using a default.");
value = 840;
}
advertiseParameters.SetShortDiscriminator(static_cast<uint8_t>(value & 0xFF)).SetLongDiscriminator(value);
advertiseParameters.SetShortDiscriminator(static_cast<uint8_t>((value >> 8) & 0xFF)).SetLongDiscriminator(value);

if (DeviceLayer::ConfigurationMgr().IsCommissionableDeviceTypeEnabled() &&
DeviceLayer::ConfigurationMgr().GetDeviceTypeId(value) == CHIP_NO_ERROR)
Expand Down
2 changes: 1 addition & 1 deletion src/controller/SetUpCodePairer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ CHIP_ERROR SetUpCodePairer::Connect(RendezvousInformationFlag rendezvousInformat

if (searchOverAll || rendezvousInformation == RendezvousInformationFlag::kOnNetwork)
{
if (CHIP_NO_ERROR == (err = StartDiscoverOverIP(discriminator, isShort)))
if (CHIP_NO_ERROR == (err = StartDiscoverOverIP(isShort ? discriminator >> 8 : discriminator, isShort)))
{
isRunning = true;
}
Expand Down

0 comments on commit cc4b645

Please sign in to comment.