Skip to content

Commit 4c4af50

Browse files
committed
- add option to disable sleep timeout
1 parent 6c38fb1 commit 4c4af50

File tree

4 files changed

+18
-2
lines changed

4 files changed

+18
-2
lines changed

fw/application/src/app/settings/scene/settings_scene_main.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,13 @@ static void settings_scene_main_reload(void *user_data) {
174174
p_settings->hibernate_enabled ? _T(ON_F) : _T(OFF_F),
175175
(void *)SETTINGS_MAIN_MENU_ENABLE_HIBERNATE);
176176

177-
snprintf(txt, sizeof(txt), "[%ds]", nrf_pwr_mgmt_get_timeout());
177+
if (nrf_pwr_mgmt_get_timeout() == 0) {
178+
snprintf(txt, sizeof(txt), "%s", getLangString(_L_OFF_F));
179+
} else if (nrf_pwr_mgmt_get_timeout() > 0 && nrf_pwr_mgmt_get_timeout() < 60) {
180+
snprintf(txt, sizeof(txt), "[%ds]", nrf_pwr_mgmt_get_timeout());
181+
} else {
182+
snprintf(txt, sizeof(txt), "[%dm]", nrf_pwr_mgmt_get_timeout() / 60);
183+
}
178184
mui_list_view_add_item_ext(app->p_list_view, 0xe1c9, _T(APP_SET_SLEEP_TIMEOUT), txt,
179185
(void *)SETTINGS_MAIN_MENU_SLEEP_TIMEOUT);
180186

fw/application/src/app/settings/scene/settings_scene_sleep_timeout.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ enum settings_sleep_timeout_menu_t {
1414
SETTINGS_SLEEP_TIMEOUT_MENU_1MIN,
1515
SETTINGS_SLEEP_TIMEOUT_MENU_2MIN,
1616
SETTINGS_SLEEP_TIMEOUT_MENU_3MIN,
17+
SETTINGS_SLEEP_TIMEOUT_MENU_OFF,
1718
SETTINGS_SLEEP_TIMEOUT_MENU_EXIT
1819
};
1920

@@ -52,6 +53,11 @@ static void settings_scene_sleep_timeout_list_view_on_selected(mui_list_view_eve
5253
p_settings->sleep_timeout_sec = 180;
5354
nrf_pwr_mgmt_set_timeout(180);
5455
break;
56+
57+
case SETTINGS_SLEEP_TIMEOUT_MENU_OFF:
58+
p_settings->sleep_timeout_sec = 0;
59+
nrf_pwr_mgmt_set_timeout(0);
60+
break;
5561
}
5662
mui_scene_dispatcher_previous_scene(app->p_scene_dispatcher);
5763
}
@@ -65,6 +71,7 @@ void settings_scene_sleep_timeout_on_enter(void *user_data) {
6571
mui_list_view_add_item(app->p_list_view, 0xe105, getLangString(_L_1MIN), (void *)SETTINGS_SLEEP_TIMEOUT_MENU_1MIN);
6672
mui_list_view_add_item(app->p_list_view, 0xe105, getLangString(_L_2MIN), (void *)SETTINGS_SLEEP_TIMEOUT_MENU_2MIN);
6773
mui_list_view_add_item(app->p_list_view, 0xe105, getLangString(_L_3MIN), (void *)SETTINGS_SLEEP_TIMEOUT_MENU_3MIN);
74+
mui_list_view_add_item(app->p_list_view, 0xe105, getLangString(_L_OFF), (void *)SETTINGS_SLEEP_TIMEOUT_MENU_OFF);
6875
mui_list_view_add_item(app->p_list_view, 0xe069, getLangString(_L_BACK), (void *)SETTINGS_SLEEP_TIMEOUT_MENU_EXIT);
6976

7077
mui_list_view_set_selected_cb(app->p_list_view, settings_scene_sleep_timeout_list_view_on_selected);

fw/application/src/mod/settings.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ settings_data_t m_settings_data = {0};
4040
}
4141

4242
static void validate_settings() {
43-
if (m_settings_data.sleep_timeout_sec == 0 || m_settings_data.sleep_timeout_sec > 180) {
43+
if (m_settings_data.sleep_timeout_sec > 180) {
4444
m_settings_data.sleep_timeout_sec = 30;
4545
}
4646

fw/application/src/sdk/pwr_mgmt/nrf_pwr_mgmt.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,9 @@ static nrf_drv_wdt_channel_id m_channel_id;
241241

242242
__STATIC_INLINE void pwr_mgmt_standby_timeout_check(void)
243243
{
244+
if (m_timeout_counter == 0)
245+
return;
246+
244247
if (m_standby_counter < m_timeout_counter)
245248
{
246249
m_standby_counter++;

0 commit comments

Comments
 (0)