-
Notifications
You must be signed in to change notification settings - Fork 2k
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
[NXP] App button manager rework #35859
Merged
mergify
merged 7 commits into
project-chip:master
from
NXP:nxp-app-button-manager-rework
Oct 1, 2024
Merged
[NXP] App button manager rework #35859
mergify
merged 7 commits into
project-chip:master
from
NXP:nxp-app-button-manager-rework
Oct 1, 2024
+837
−508
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Create an abstraction over SDK buttons. If an app needs a custom behavior for a specific button: - it can implement the Button interface, similar to the ButtonDefault implementation - it can implement a ButtonWithTimer derived class, to also have access to timer behavior, such as scheduling a delay for a specific action (e.g. factory reset after 6s) The ButtonManager is responsible with registering Button instances. The button callback is common across all buttons because it delegates the proper action handling to the button itself through the provided Button::Handle* API. The ButtonRegistration header provides an API that can be used by other components (e.g. AppTask) to initialize the ButtonManager and register buttons. A default implementation is provided. Some button examples are implemented: - ButtonApp - ButtonBle - ButtonDefault Check the corresponding header for a description of actions. Signed-off-by: marius-alex-tache <[email protected]>
Update AppEvent structure for some apps to take into account a way to pass extra args to App event processing. Signed-off-by: marius-alex-tache <[email protected]>
Update build system files for all impacted applications. Signed-off-by: marius-alex-tache <[email protected]>
Signed-off-by: marius-alex-tache <[email protected]>
Double clicking the ButtonBle will trigger a toggle of SIT mode request through the DSLS mechanism. Signed-off-by: marius-alex-tache <[email protected]>
Review changes with SemanticDiff. |
doru91
approved these changes
Oct 1, 2024
PR #35859: Size comparison from db11057 to b37723b Full report (88 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
doru91
approved these changes
Oct 1, 2024
andy31415
approved these changes
Oct 1, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Create an abstraction over NXP SDK buttons.
If an app needs a custom behavior for a specific button, it can implement:
ButtonDefault
implementationButtonWithTimer
derived class, to also have access to timer behavior, such as scheduling a delay for a specific action (e.g. factory reset after 6s)The
ButtonManager
is responsible with registeringButton
instances. The button callback is common across all buttons because it delegates the proper action handling to the button itself through the providedButton::Handle*
API.The
ButtonRegistration
header provides an API that can be used by other components (e.g.AppTask
) to initialize theButtonManager
and register buttons. A default implementation is provided.