-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[icd] Add steps for checking ICD during commissioning #29427
[icd] Add steps for checking ICD during commissioning #29427
Conversation
PR #29427: Size comparison from 33052cc to a4674cc Increases (4 builds for linux, telink)
Full report (66 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
|
PR #29427: Size comparison from 33052cc to a2e6e9c Increases above 0.2%:
Increases (26 builds for bl602, bl702, bl702l, cc13x4_26x4, cyw30739, k32w, linux, qpg, telink)
Decreases (13 builds for bl702, esp32, linux, nrfconnect, psoc6, telink)
Full report (66 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
|
PR #29427: Size comparison from d1fa6ee to be930c5 Increases (4 builds for linux, telink)
Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
|
PR #29427: Size comparison from d1fa6ee to c214394 Increases (4 builds for linux, telink)
Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
|
@erjiaqing from today's meeting, we conclude that "Add ICD Feature read over PASE before AddNoc. Bundle together with other attributes being read at that time, such as BasicInfo, OperationalCredentialsCluster, NetworkProvisioningCluster , etc." |
…9427) * [icd] Add steps for checking ICD during commissioning * Add TODO for attribute used & rename stage to IcdIdentification * Update * Fix -- missing endpoint * Update * Update * Update * Fix * Fix * ReadCommissioningInfo2 may complete with enpty report
@@ -106,6 +106,8 @@ class AutoCommissioner : public CommissioningDelegate | |||
ReadCommissioningInfo mDeviceCommissioningInfo; | |||
bool mNeedsDST = false; | |||
|
|||
bool mNeedIcdRegistraion = false; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please name this mNeedICDRegistration.
info.isIcd = true; | ||
info.checkInProtocolSupport = !!(featureMap & to_underlying(IcdManagement::Feature::kCheckInProtocolSupport)); | ||
} | ||
else if (err == CHIP_ERROR_KEY_NOT_FOUND) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So this would be a case of a non-spec-compliant server that did not respond at all to a non-wildcard path?
Please document exactly why this case is here, because it's not obvious to readers how this situation could happen.
And perhaps this case should just lead comissioning to fail, just like an error other than UnsupportedCluster causes it to fail?
@@ -71,6 +71,13 @@ enum CommissioningStage : uint8_t | |||
kNeedsNetworkCreds, | |||
}; | |||
|
|||
enum ICDRegistrationStrategy : uint8_t |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this not an enum class?
Fixes #29382
kIcdDiscovery
stage during commissioningmIcdRegistrationStrategy
for commissioning params, withkIgnore
andkBeforeComplete
,kBeforeComplete
should be used for self-registration or external controller registration.Tests: WIP, to be added in future PRs