diff Discovery/Src/tMenuEditXtra.c @ 1014:8c0134a287da GasConsumption

Add a log data event to the scrubber timer at the start of the dive and every time the timer (in minutes) is decremented. The event contains a 12 bit signed integer for the remaining scrubber duration, and two flags for scrubber warning (0x2000, <= 30 minutes remaining) and scrubber error (0x4000, <= 0 minutes remaining). (mikeller)
author heinrichsweikamp
date Sun, 11 May 2025 16:18:20 +0200
parents 5a690195b6b7
children 808153ba3fec
line wrap: on
line diff
--- a/Discovery/Src/tMenuEditXtra.c	Sat May 10 21:27:06 2025 +0200
+++ b/Discovery/Src/tMenuEditXtra.c	Sun May 11 16:18:20 2025 +0200
@@ -229,7 +229,7 @@
     snprintf(&text[0], 32,"%c \002#%d",TXT_ScrubTime,scrubberMenuId);
     write_field_button(StMXTRA_ScrubTimer, 20, 780, ME_Y_LINE1,  &FontT48, text);
 
-    if(pSettings->scubberActiveId & (1 << scrubberMenuId))
+    if(pSettings->scrubberActiveId & (1 << scrubberMenuId))
     {
     	snprintf(&text[0], 32,"%c %c \002\005", TXT_ScrubTime, TXT_Active);
     }
@@ -255,9 +255,7 @@
 
     if(pSettings->scrubberData[scrubberMenuId].lastDive.WeekDay != 0)
     {
-    	snprintf(&text[0], 32,"%c%c\002       %02d.%02d.%02d", TXT_2BYTE, TXT2BYTE_SimDiveTime, 	pSettings->scrubberData[scrubberMenuId].lastDive.Date,
-																				pSettings->scrubberData[scrubberMenuId].lastDive.Month,
-																				pSettings->scrubberData[scrubberMenuId].lastDive.Year);
+        snprintf(&text[0], 32, "%c%c\002       %02d.%02d.%02d", TXT_2BYTE, TXT2BYTE_SimDiveTime, pSettings->scrubberData[scrubberMenuId].lastDive.Date, pSettings->scrubberData[scrubberMenuId].lastDive.Month, pSettings->scrubberData[scrubberMenuId].lastDive.Year);
     }
     else
     {
@@ -265,16 +263,17 @@
     }
 	write_label_var(  20, 780, ME_Y_LINE5, &FontT48, text);
 
-   	switch(pSettings->scrubTimerMode)
-    	{
-    		case SCRUB_TIMER_OFF:
-    		default: 	snprintf(&text[0], 32,"%c\002%c%c",TXT_ScrubTimeMode, TXT_2BYTE, TXT2BYTE_MoCtrlNone );
-    			break;
-    		case SCRUB_TIMER_MINUTES: snprintf(&text[0], 32,"%c\002%c",TXT_ScrubTimeMode, TXT_Minutes );
-    			break;
-    		case SCRUB_TIMER_PERCENT: snprintf(&text[0], 32,"%c\002%c",TXT_ScrubTimeMode, TXT_Percent );
-    			break;
-    	}
+    switch (pSettings->scrubTimerMode) {
+        case SCRUB_TIMER_MINUTES:
+        default:
+            snprintf(&text[0], 32,"%c\002%c",TXT_ScrubTimeMode, TXT_Minutes );
+
+            break;
+        case SCRUB_TIMER_PERCENT:
+            snprintf(&text[0], 32,"%c\002%c",TXT_ScrubTimeMode, TXT_Percent );
+
+            break;
+    }
     write_field_button(StMXTRA_ScrubTimer_OP_Mode,	 20, 780, ME_Y_LINE6,  &FontT48, text);
 
     setEvent(StMXTRA_ScrubTimer, (uint32_t)OnAction_ScrubberTimerId);
@@ -478,7 +477,6 @@
 	SSettings *pSettings;
     pSettings = settingsGetPointer();
 
-
     if(scrubberMenuId == 0)
     {
     	scrubberMenuId = 1;
@@ -498,9 +496,7 @@
 
     if(pSettings->scrubberData[scrubberMenuId].lastDive.WeekDay != 0)
     {
-    	snprintf(&text[0], 32,"%c%c\002   %02d.%02d.%02d", TXT_2BYTE, TXT2BYTE_SimDiveTime, 	pSettings->scrubberData[scrubberMenuId].lastDive.Date,
-																				pSettings->scrubberData[scrubberMenuId].lastDive.Month,
-																				pSettings->scrubberData[scrubberMenuId].lastDive.Year);
+        snprintf(&text[0], 32, "%c%c\002   %02d.%02d.%02d", TXT_2BYTE, TXT2BYTE_SimDiveTime, pSettings->scrubberData[scrubberMenuId].lastDive.Date, pSettings->scrubberData[scrubberMenuId].lastDive.Month, pSettings->scrubberData[scrubberMenuId].lastDive.Year);
     }
     else
     {
@@ -509,7 +505,7 @@
     clean_content(  20, 780, ME_Y_LINE5, &FontT48);
 	write_label_var(  20, 780, ME_Y_LINE5, &FontT48, text);
 
-    if(pSettings->scubberActiveId & (1 << scrubberMenuId))
+    if(pSettings->scrubberActiveId & (1 << scrubberMenuId))
     {
     	snprintf(&text[0], 32,"%c %c \002\005", TXT_ScrubTime, TXT_Active);
     }
@@ -589,22 +585,22 @@
 	SSettings *pSettings;
     pSettings = settingsGetPointer();
     newMode = pSettings->scrubTimerMode + 1;
-    if(newMode >= SCRUB_TIMER_END)
-    {
-   	 newMode = SCRUB_TIMER_OFF;
+    if (newMode >= SCRUB_TIMER_END) {
+        newMode = SCRUB_TIMER_MINUTES;
     }
     pSettings->scrubTimerMode = newMode;
 
-   	switch(pSettings->scrubTimerMode)
-    	{
-    		case SCRUB_TIMER_OFF:
-    		default: 	snprintf(&text[0], 32,"%c\002%c%c",TXT_ScrubTimeMode, TXT_2BYTE, TXT2BYTE_MoCtrlNone );
-    			break;
-    		case SCRUB_TIMER_MINUTES: snprintf(&text[0], 32,"%c\002%c",TXT_ScrubTimeMode, TXT_Minutes );
-    			break;
-    		case SCRUB_TIMER_PERCENT: snprintf(&text[0], 32,"%c\002%c",TXT_ScrubTimeMode, TXT_Percent );
-    			break;
-    	}
+    switch (pSettings->scrubTimerMode) {
+        case SCRUB_TIMER_MINUTES:
+        default:
+            snprintf(&text[0], 32,"%c\002%c",TXT_ScrubTimeMode, TXT_Minutes );
+
+            break;
+        case SCRUB_TIMER_PERCENT:
+            snprintf(&text[0], 32,"%c\002%c",TXT_ScrubTimeMode, TXT_Percent );
+
+            break;
+    }
     tMenuEdit_newButtonText(StMXTRA_ScrubTimer_OP_Mode, text);
 
     return UNSPECIFIC_RETURN;
@@ -616,14 +612,14 @@
 	SSettings *pSettings;
     pSettings = settingsGetPointer();
 
-    if(pSettings->scubberActiveId & (1 << scrubberMenuId))
+    if(pSettings->scrubberActiveId & (1 << scrubberMenuId))
     {
-    	pSettings->scubberActiveId &= ~(1 << scrubberMenuId);
+    	pSettings->scrubberActiveId &= ~(1 << scrubberMenuId);
     	snprintf(&text[0], 32,"%c %c \002\006", TXT_ScrubTime, TXT_Active);
     }
     else
     {
-       	pSettings->scubberActiveId |= (1 << scrubberMenuId);
+       	pSettings->scrubberActiveId |= (1 << scrubberMenuId);
        	snprintf(&text[0], 32,"%c %c \002\005", TXT_ScrubTime, TXT_Active);
     }