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

[Infineon] Implement button wake up handler #26178

Merged
merged 1 commit into from
Apr 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,13 @@ extern wiced_result_t wiced_button_manager_init(button_manager_t * manager,
*/
extern wiced_result_t wiced_button_manager_deinit(button_manager_t * manager);

/**
* Checks if there is pending event and then re-send the event.
*
* @return void : no return value is expected.
*/
extern void wiced_button_manager_pending_event_handle(void);

#ifdef __cplusplus
} /* extern "C" */
#endif
23 changes: 23 additions & 0 deletions third_party/infineon/cyw30739_sdk/src/wiced_button_manager.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
#include "wiced_memory.h"
#include "wiced_misc_rtos_utils.h"
#endif
#include <wiced_sleep.h>

/******************************************************
* Macros
Expand Down Expand Up @@ -675,6 +676,28 @@ static button_manager_button_t * get_button(platform_button_t id)
return NULL;
}

/**
* Checks if there is pending event and then re-send the event.
*
* @return void : no return value is expected.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: doccommenting returing void is a waste of vertical space.
Also this is copied and pasted from the header, so any updates would have to be done twice. It is up to infineon conding standards, so I will merge, however this is the opinion for an external reviewer.

*/
void wiced_button_manager_pending_event_handle(void)
{
uint32_t a;
if (wiced_sleep_get_boot_mode() == WICED_SLEEP_FAST_BOOT)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: you often want to decrease indent, so if you would do if (wiced_sleep_get_boot_mode() != WICED_SLEEP_FAST_BOOT) return; you would decrease one level an make the function a bit flatter which helps in following code.

{
for (a = 0; a < button_manager->number_of_buttons; a++)
{
if (platform_button_pending_event_get_and_clear(button_manager->buttons[a].configuration->button))
{
button_manager->configuration->event_handler(&button_manager->buttons[a], BUTTON_CLICK_EVENT,
BUTTON_STATE_RELEASED);
break;
}
}
}
}

#ifdef CYW55572
static void button_event_defer_to_mpaf(void * arg)
{
Expand Down