Skip to content
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] Refactor subscription timer logic to send all updates at the same time #25085

Open
mkardous-silabs opened this issue Feb 15, 2023 · 5 comments
Assignees
Labels
icd Intermittently Connected Devices

Comments

@mkardous-silabs
Copy link
Contributor

mkardous-silabs commented Feb 15, 2023

Feature description

For ICDs, it is preferable to wake up once to send all updates at the same time instead of waking up multiple times. The subscription logic needs to be refactored to allow for cross-fabric synchronization.

@mkardous-silabs mkardous-silabs added the icd Intermittently Connected Devices label Feb 15, 2023
@mkardous-silabs mkardous-silabs added this to the 1.2 milestone Jul 18, 2023
@lpbeliveau-silabs
Copy link
Contributor

The logic is implemented and integrated by:
#27943
#28104

However, the crossfabric synchronisation fails the TestReadInteraction unit test as this test does not expect this behavior.
An equivalent test needs to be put in place to validate our current synchronisation behaviour and preserve it in the event of modifications to the ReportScheduler.

@turon
Copy link
Contributor

turon commented Aug 28, 2023

WG: Is the TestReadInteraction failure due to implementation error or test design error?

@jmartinez-silabs to follow up on details

@lpbeliveau-silabs
Copy link
Contributor

@turon Test design error, TestReadInteraction has test cases where multiple read handlers are expected to generate different reports at different times. For instance, TestSubscribeUrgentWildcardEvent expects an urgent report to be emitted at the end of the minimal interval and checks that a non urgent report isn't emitted. The syncrhonized behavior would fail this test.

Granted, it is currently disabled for icd devices but we are still not testing the syncrhonized behavior in any test.

@turon
Copy link
Contributor

turon commented Aug 29, 2023

I'm assuming our design emits the emergency event at the min interval, but bundles in the non emergency information as well and that extra info is triggering the fail? How difficult will it be for the certification/test team to relax the pass criteria and update the harness for this?

@woody-apple woody-apple modified the milestones: 1.2, 1.3 Test Complete Oct 19, 2023
@lpbeliveau-silabs
Copy link
Contributor

Update : TestReadInteraction now supports the Synchronized Report Scheduler since: #30608 was merged.

Currently we have #31134 documenting the logic behind the synchronisation scheduling that needs to be review. We should close this issue once the documenting PR is merged unless a change in the synchronisation logic is deemed necessary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
icd Intermittently Connected Devices
Projects
Development

No branches or pull requests

4 participants