summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/features.txt4
-rw-r--r--apps/lang/english.lang51
-rw-r--r--apps/menus/settings_menu.c35
-rw-r--r--apps/settings.h19
-rw-r--r--apps/settings_list.c38
5 files changed, 146 insertions, 1 deletions
diff --git a/apps/features.txt b/apps/features.txt
index 3c0b0a3856..39c8422fbd 100644
--- a/apps/features.txt
+++ b/apps/features.txt
@@ -288,3 +288,7 @@ play_frequency
288#if defined(HAVE_BOOTDATA) 288#if defined(HAVE_BOOTDATA)
289boot_data 289boot_data
290#endif 290#endif
291
292#if defined(CONFIG_POWER_SAVING)
293sys_powersaving
294#endif
diff --git a/apps/lang/english.lang b/apps/lang/english.lang
index d4e0697667..fa1b5f2c27 100644
--- a/apps/lang/english.lang
+++ b/apps/lang/english.lang
@@ -13647,3 +13647,54 @@
13647 *: "Disable Touch" 13647 *: "Disable Touch"
13648 </voice> 13648 </voice>
13649</phrase> 13649</phrase>
13650<phrase>
13651 id: LANG_POWER_SAVING_MENU
13652 desc: system clock and voltage settings
13653 user: core
13654 <source>
13655 *: none
13656 sys_powersaving: "Power Saving"
13657 </source>
13658 <dest>
13659 *: none
13660 sys_powersaving: "Power Saving"
13661 </dest>
13662 <voice>
13663 *: none
13664 sys_powersaving: "Power Saving"
13665 </voice>
13666</phrase>
13667<phrase>
13668 id: LANG_CPU
13669 desc: system clock and voltage settings
13670 user: core
13671 <source>
13672 *: none
13673 sys_powersaving: "CPU"
13674 </source>
13675 <dest>
13676 *: none
13677 sys_powersaving: "CPU"
13678 </dest>
13679 <voice>
13680 *: none
13681 sys_powersaving: "CPU"
13682 </voice>
13683</phrase>
13684<phrase>
13685 id: LANG_I2C
13686 desc: system clock and voltage settings
13687 user: core
13688 <source>
13689 *: none
13690 sys_powersaving: "I2C"
13691 </source>
13692 <dest>
13693 *: none
13694 sys_powersaving: "I2C"
13695 </dest>
13696 <voice>
13697 *: none
13698 sys_powersaving: "I2C"
13699 </voice>
13700</phrase>
diff --git a/apps/menus/settings_menu.c b/apps/menus/settings_menu.c
index 5c99cb4cd4..f23f01d4dc 100644
--- a/apps/menus/settings_menu.c
+++ b/apps/menus/settings_menu.c
@@ -295,6 +295,36 @@ MAKE_MENU(disk_menu, ID2P(LANG_DISK_MENU), 0, Icon_NOICON,
295 ); 295 );
296#endif 296#endif
297 297
298#ifdef CONFIG_POWER_SAVING
299#if (CONFIG_POWER_SAVING & POWERSV_CPU)
300MENUITEM_SETTING(cpu_powersave, &global_settings.cpu_powersave, NULL);
301#endif
302#if (CONFIG_POWER_SAVING & POWERSV_DISK)
303MENUITEM_SETTING(disk_powersave, &global_settings.disk_powersave, NULL);
304#endif
305#if (CONFIG_POWER_SAVING & POWERSV_I2C)
306MENUITEM_SETTING(i2c_powersave, &global_settings.i2c_powersave, NULL);
307#endif
308#if (CONFIG_POWER_SAVING & POWERSV_DISP)
309MENUITEM_SETTING(disp_powersave, &global_settings.disp_powersave, NULL);
310#endif
311
312MAKE_MENU(power_save_menu, ID2P(LANG_POWER_SAVING_MENU), 0, Icon_NOICON,
313#if (CONFIG_POWER_SAVING & POWERSV_CPU)
314 &cpu_powersave,
315#endif
316#if (CONFIG_POWER_SAVING & POWERSV_DISK)
317 &disk_powersave,
318#endif
319#if (CONFIG_POWER_SAVING & POWERSV_I2C)
320 &i2c_powersave,
321#endif
322#if (CONFIG_POWER_SAVING & POWERSV_DISP)
323 &disp_powersave,
324#endif
325 );
326#endif /* ifdef CONFIG_POWER_SAVING */
327
298/* Limits menu */ 328/* Limits menu */
299MENUITEM_SETTING(max_files_in_dir, &global_settings.max_files_in_dir, NULL); 329MENUITEM_SETTING(max_files_in_dir, &global_settings.max_files_in_dir, NULL);
300MENUITEM_SETTING(max_files_in_playlist, &global_settings.max_files_in_playlist, NULL); 330MENUITEM_SETTING(max_files_in_playlist, &global_settings.max_files_in_playlist, NULL);
@@ -412,6 +442,11 @@ MAKE_MENU(system_menu, ID2P(LANG_SYSTEM),
412 &disk_menu, 442 &disk_menu,
413#endif 443#endif
414 &limits_menu, 444 &limits_menu,
445
446#if defined(CONFIG_POWER_SAVING)
447 &power_save_menu,
448#endif
449
415#ifdef HAVE_QUICKSCREEN 450#ifdef HAVE_QUICKSCREEN
416 &shortcuts_replaces_quickscreen, 451 &shortcuts_replaces_quickscreen,
417#endif 452#endif
diff --git a/apps/settings.h b/apps/settings.h
index 71233d904a..411675153a 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -860,6 +860,25 @@ struct user_settings
860 int governor; 860 int governor;
861 int usb_mode; 861 int usb_mode;
862#endif 862#endif
863
864#ifdef CONFIG_POWER_SAVING
865#if (CONFIG_POWER_SAVING & POWERSV_CPU)
866 bool cpu_powersave;
867#endif
868
869#if (CONFIG_POWER_SAVING & POWERSV_DISK)
870 bool disk_powersave;
871#endif
872
873#if (CONFIG_POWER_SAVING & POWERSV_I2C)
874 bool i2c_powersave;
875#endif
876
877#if (CONFIG_POWER_SAVING & POWERSV_DISP)
878 bool disp_powersave;
879#endif
880#endif /*defined(CONFIG_POWER_SAVING)*/
881
863}; 882};
864 883
865/** global variables **/ 884/** global variables **/
diff --git a/apps/settings_list.c b/apps/settings_list.c
index 57763d345a..fe280b0ff6 100644
--- a/apps/settings_list.c
+++ b/apps/settings_list.c
@@ -2246,7 +2246,43 @@ const struct settings_list settings[] = {
2246 ID2P(LANG_IBASSO_USB_MODE_CHARGE), 2246 ID2P(LANG_IBASSO_USB_MODE_CHARGE),
2247 ID2P(LANG_IBASSO_USB_MODE_ADB)), 2247 ID2P(LANG_IBASSO_USB_MODE_ADB)),
2248#endif 2248#endif
2249}; 2249
2250#ifdef CONFIG_POWER_SAVING
2251#if (CONFIG_POWER_SAVING & POWERSV_CPU)
2252 OFFON_SETTING(0,
2253 cpu_powersave,
2254 LANG_CPU,
2255 false,
2256 "cpu powersave",
2257 cpu_set_powersave),
2258#endif
2259#if (CONFIG_POWER_SAVING & POWERSV_DISK)
2260 OFFON_SETTING(0,
2261 disk_powersave,
2262 LANG_DISK_MENU,
2263 false,
2264 "disk powersave",
2265 disk_set_powersave),
2266#endif
2267#if (CONFIG_POWER_SAVING & POWERSV_DISP)
2268 OFFON_SETTING(0,
2269 disp_powersave,
2270 LANG_DISPLAY,
2271 false,
2272 "disp powersave",
2273 disp_set_powersave),
2274#endif
2275#if (CONFIG_POWER_SAVING & POWERSV_I2C)
2276 OFFON_SETTING(0,
2277 i2c_powersave,
2278 LANG_I2C,
2279 false,
2280 "i2c powersave",
2281 i2c_set_powersave),
2282#endif
2283#endif /*defined(CONFIG_POWER_SAVING)*/
2284
2285};/*struct settings_list settings*/
2250 2286
2251const int nb_settings = sizeof(settings)/sizeof(*settings); 2287const int nb_settings = sizeof(settings)/sizeof(*settings);
2252 2288