diff Discovery/Src/settings.c @ 210:b2a9e9b02df0 cv-persistent

New feature: make selected customviews persistent Add the set of selected customviews during dive time to the persistent settings. Nothing has changed to the menu, so a user still has to access the on/off page from the simulator or during an actual dive, but once changed here, the settings are preserved for later dives. It feels a bit as waste of menu space to add a second page for something that is already available. And further, I have to admit the adding a page is rather complex to get the navigation right, so that is a 2nd argument not to add a page. Further, getting this one setting saved to the persist preferences is a bit of a hack. Misused an existing global bool value (WriteSettings) to force a actual write despite not being in surface mode. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
author Jan Mulder <jlmulder@xs4all.nl>
date Tue, 26 Mar 2019 13:00:15 +0100
parents c659fda83e44
children 26c874cdde0d
line wrap: on
line diff
--- a/Discovery/Src/settings.c	Sun Mar 24 22:09:37 2019 +0000
+++ b/Discovery/Src/settings.c	Tue Mar 26 13:00:15 2019 +0100
@@ -82,7 +82,7 @@
  * There might even be entries with fixed values that have no range
  */
 const SSettings SettingsStandard = {
-    .header = 0xFFFF0018,
+    .header = 0xFFFF0019,
     .warning_blink_dsec = 8 * 2,
     .lastDiveLogId = 0,
     .logFlashNextSampleStartAddress = 0,
@@ -306,6 +306,7 @@
     .FactoryButtonBalance[1] = 3,
     .FactoryButtonBalance[2] = 3,
 	.FlipDisplay = 0,
+	.cv_configuration = 0xFFFFFFFF,
 };
 
 /* Private function prototypes -----------------------------------------------*/
@@ -446,8 +447,11 @@
     case 0xFFFF0017:
     	pSettings->FlipDisplay = 0;
     	// no break
+    case 0xFFFF0018:
+    	pSettings->cv_configuration = 0xFFFFFFFF;
+    	// no break
     default:
-        pSettings->header 																= pStandard->header;
+        pSettings->header = pStandard->header;
         break; // no break before!!
     }
 }