# HG changeset patch
# User heinrichsweikamp
# Date 1598897219 -7200
# Node ID 0680975c39b8194b44007950ed2f8a2ca2e0a8d4
# Parent 3485360c5db0d254ce1a02d5e6a86de4b78053dd# Parent 5757edda56b7815b2b02960dd9920a26a1eb6fd2
Merge
diff -r 5757edda56b7 -r 0680975c39b8 Common/Inc/settings.h
--- a/Common/Inc/settings.h Mon Aug 24 19:59:28 2020 +0200
+++ b/Common/Inc/settings.h Mon Aug 31 20:06:59 2020 +0200
@@ -220,7 +220,8 @@
uint32_t cv_configuration;
/* new in 0xFFFF001A */
uint8_t MotionDetection;
-
+ /* new in 0xFFFF001B */
+ uint32_t cv_config_BigScreen;
} SSettings;
typedef struct
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Inc/configuration.h
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Inc/gfx_colors.h
--- a/Discovery/Inc/gfx_colors.h Mon Aug 24 19:59:28 2020 +0200
+++ b/Discovery/Inc/gfx_colors.h Mon Aug 31 20:06:59 2020 +0200
@@ -86,8 +86,8 @@
CLUT_MenuPageDecoParameter,
CLUT_MenuPageHardware,
CLUT_MenuPageSystem,
+ CLUT_MenuPageCustomView,
CLUT_MenuPageDivePlanner,
- CLUT_MenuPage9,
CLUT_MenuPage10,
CLUT_ButtonSymbols,
CLUT_InfoSurface,
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Inc/tHome.h
--- a/Discovery/Inc/tHome.h Mon Aug 24 19:59:28 2020 +0200
+++ b/Discovery/Inc/tHome.h Mon Aug 31 20:06:59 2020 +0200
@@ -54,9 +54,6 @@
EXTRADISPLAY_none = 0,
EXTRADISPLAY_BIGFONT,
EXTRADISPLAY_DECOGAME,
-#ifdef ENABLE_BIGFONT_VX
- EXTRADISPLAY_BIGFONT2,
-#endif
EXTRADISPLAY_END
};
@@ -83,19 +80,14 @@
CVIEW_T3_GasList,
CVIEW_T3_Temperature,
CVIEW_T3_ApnoeSurfaceInfo,
-#ifdef ENABLE_BIGFONT_VX
CVIEW_T3_Navigation,
CVIEW_T3_DepthData,
-#endif
CVIEW_T3_END
};
// for custom view switch on/off 161122 hw
extern const uint8_t cv_changelist[];
extern const uint8_t cv_changelist_BS[];
-#ifdef ENABLE_BIGFONT_VX
-extern const uint8_t cv_changelist_BSV2[];
-#endif
#define CHECK_BIT_THOME(var,pos) (((var)>>(pos)) & 1)
@@ -139,6 +131,7 @@
uint32_t tHome_DateCode(RTC_DateTypeDef *dateInput);
void tHome_init_compass(void);
+uint8_t tHome_getNumberOfAvailableCVs(const uint8_t* pcv_list);
float t3_basics_lines_depth_and_divetime(GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXl1, GFX_DrawCfgWindow* tXr1, uint8_t mode);
void t3_basics_battery_low_customview_extra(GFX_DrawCfgWindow* tXc1);
@@ -147,7 +140,7 @@
void t3_basics_refresh_apnoeRight(float depth, uint8_t tX_selection_customview, GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXc1, GFX_DrawCfgWindow* tXc2, uint8_t mode);
//void _findNextStop(const uint16_t *list, uint8_t *depthOut, uint16_t *lengthOut);
void t3_basics_colorscheme_mod(char *text);
-void t3_basics_change_customview(uint8_t *tX_selection_customview, uint8_t *tX_customviews, uint8_t action);
+void t3_basics_change_customview(uint8_t *tX_selection_customview, const uint8_t *tX_customviews, uint8_t action);
uint8_t tHome_show_lost_connection_count(GFX_DrawCfgScreen *ScreenToWriteOn);
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Inc/tMenuCustom.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Discovery/Inc/tMenuCustom.h Mon Aug 31 20:06:59 2020 +0200
@@ -0,0 +1,55 @@
+///////////////////////////////////////////////////////////////////////////////
+/// -*- coding: UTF-8 -*-
+///
+/// \file Discovery/Inc/tMenuCustom.h
+/// \brief Menu Custom View - Provide access to custom view options
+/// \author heinrichs weikamp gmbh
+/// \date 25-Aug-2020
+///
+/// $Id$
+///////////////////////////////////////////////////////////////////////////////
+/// \par Copyright (c) 2014-2020 Heinrichs Weikamp gmbh
+///
+/// This program is free software: you can redistribute it and/or modify
+/// it under the terms of the GNU General Public License as published by
+/// the Free Software Foundation, either version 3 of the License, or
+/// (at your option) any later version.
+///
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+///
+/// You should have received a copy of the GNU General Public License
+/// along with this program. If not, see .
+//////////////////////////////////////////////////////////////////////////////
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef TMENU_CUSTOM_H
+#define TMENU_CUSTOM_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include
+
+/** @addtogroup Template
+ * @{
+ */
+
+/* Exported variables --------------------------------------------------------*/
+
+
+/* Exported functions --------------------------------------------------------*/
+
+uint32_t tMCustom_refresh(uint8_t line, char *text, uint16_t *tab, char *subtext);
+
+ #ifdef __cplusplus
+}
+#endif
+
+#endif /* TMENU_CUSTOM_H */
+
+/************************ (C) COPYRIGHT heinrichs weikamp *****END OF FILE****/
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Inc/tMenuEdit.h
--- a/Discovery/Inc/tMenuEdit.h Mon Aug 24 19:59:28 2020 +0200
+++ b/Discovery/Inc/tMenuEdit.h Mon Aug 31 20:06:59 2020 +0200
@@ -55,6 +55,7 @@
void resetMenuEdit(uint8_t color);
void tMenuEdit_refresh_live_content(void);
void tMenuEdit_refresh_field(uint32_t editID);
+void tMenuEdit_select(uint32_t editID);
void evaluateNewString (uint32_t editID, uint32_t *pNewValue1, uint32_t *pNewValue2, uint32_t *pNewValue3, uint32_t *pNewValue4);
void tMenuEdit_newInput (uint32_t editID, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4);
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Inc/tMenuEditCustom.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Discovery/Inc/tMenuEditCustom.h Mon Aug 31 20:06:59 2020 +0200
@@ -0,0 +1,41 @@
+///////////////////////////////////////////////////////////////////////////////
+/// -*- coding: UTF-8 -*-
+///
+/// \file Discovery/Inc/tMenuEditCustom.h
+/// \brief Header file for editing custom view Settings
+/// \author heinrichs weikamp gmbh
+/// \date 05-Aug-2014
+///
+/// $Id$
+///////////////////////////////////////////////////////////////////////////////
+/// \par Copyright (c) 2014-2020 Heinrichs Weikamp gmbh
+///
+/// This program is free software: you can redistribute it and/or modify
+/// it under the terms of the GNU General Public License as published by
+/// the Free Software Foundation, either version 3 of the License, or
+/// (at your option) any later version.
+///
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+///
+/// You should have received a copy of the GNU General Public License
+/// along with this program. If not, see .
+//////////////////////////////////////////////////////////////////////////////
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef TMENU_EDIT_CUSTOM_H
+#define TMENU_EDIT_CUSTOM_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32f4xx_hal.h"
+#include "gfx_engine.h"
+#include "settings.h"
+#include "data_central.h"
+
+void openEdit_Custom(uint8_t line);
+void openEdit_CustomviewDivemode2(const uint8_t* pcv_changelist);
+void CustomviewDivemode2_refresh();
+
+#endif /* TMENU_EDIT_CUSTOM_H */
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Inc/tStructure.h
--- a/Discovery/Inc/tStructure.h Mon Aug 24 19:59:28 2020 +0200
+++ b/Discovery/Inc/tStructure.h Mon Aug 31 20:06:59 2020 +0200
@@ -304,15 +304,41 @@
#define StMSYS6_SetFactoryBC _MB(2,8,6,11,0)
#define StMSYS6_SetSampleIndx _MB(2,8,6,12,0)
-/* PAGE 9 */
-#define StMPLAN _MB(2,9,0,0,0)
+ /* PAGE 9 */
+
+ # define StMCustom _MB(2,9,0,0,0)
+
+ /* PAGE 9 EDIT FIELD CONTENT */
+//
+
+#define StMCustom1_CViewTimeout _MB(2,9,1,1,0)
+#define StMCustom1_CViewStandard _MB(2,9,1,2,0)
+#define StMCustom1_CornerTimeout _MB(2,9,1,3,0)
+#define StMCustom1_CornerStandard _MB(2,9,1,4,0)
+
-/* PAGE 9 EDIT FIELD CONTENT */
-#define StMPLAN2_Interval _MB(2,9,2,1,0)
-#define StMPLAN3_DiveTime _MB(2,9,3,1,0)
-#define StMPLAN4_MaxDepth _MB(2,9,4,1,0)
-#define StMPLAN5_ExitResult _MB(2,9,5,1,0)
-#define StMPLAN4_Settings _MB(2,9,6,1,0)
+#define StMCustom2_CViewSelection1 _MB(2,9,2,1,0)
+#define StMCustom2_CViewSelection2 _MB(2,9,2,2,0)
+#define StMCustom2_CViewSelection3 _MB(2,9,2,3,0)
+#define StMCustom2_CViewSelection4 _MB(2,9,2,4,0)
+#define StMCustom2_CViewSelection5 _MB(2,9,2,5,0)
+#define StMCustom2_CViewSelection6 _MB(2,9,2,6,0)
+
+
+#define StMCustom2_BFSelection _MB(2,9,3,1,0)
+
+/* PAGE 10 */
+#define StMPLAN _MB(2,10,0,0,0)
+
+/* PAGE 10 EDIT FIELD CONTENT */
+#define StMPLAN2_Interval _MB(2,10,2,1,0)
+#define StMPLAN3_DiveTime _MB(2,10,3,1,0)
+#define StMPLAN4_MaxDepth _MB(2,10,4,1,0)
+#define StMPLAN5_ExitResult _MB(2,10,5,1,0)
+#define StMPLAN4_Settings _MB(2,10,6,1,0)
+
+
+
//#define StMDECO6_SALINITY _MB(2,5,6,1,0)
@@ -321,7 +347,7 @@
-//#define StMDECO7_AMV _MB(2,5,7,1,0)
+//#define StMDECO7_AMV _MB(2,5,7,1,0)
//#define StMDECO7_DefaultAMV _MB(2,5,7,2,0)
//#define StMDECO7_RESERVE _MB(2,5,7,3,0)
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Inc/text_multilanguage.h
--- a/Discovery/Inc/text_multilanguage.h Mon Aug 24 19:59:28 2020 +0200
+++ b/Discovery/Inc/text_multilanguage.h Mon Aug 31 20:06:59 2020 +0200
@@ -302,6 +302,14 @@
TXT2BYTE_ApneaSurface,
/* */
TXT2BYTE_FLIPDISPLAY,
+ TXT2BYTE_SelectCustomviews,
+ TXT2BYTE_SelectBigFont,
+ TXT2BYTE_MaxDepth,
+ TXT2BYTE_Stopwatch,
+ TXT2BYTE_TTS,
+ TXT2BYTE_ppoNair,
+ TXT2BYTE_Navigation,
+ TXT2BYTE_DepthData,
TXT2BYTE_END
};
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Src/base.c
--- a/Discovery/Src/base.c Mon Aug 24 19:59:28 2020 +0200
+++ b/Discovery/Src/base.c Mon Aug 31 20:06:59 2020 +0200
@@ -747,11 +747,7 @@
&& (settingsGetPointer()->design < 7)) {
settingsGetPointer()->design = 7; // auto switch to 9 if necessary
} else if ((status.page == PageDive) && (status.line != 0)) {
- if ((settingsGetPointer()->extraDisplay == EXTRADISPLAY_BIGFONT)
-#ifdef ENABLE_BIGFONT_VX
- || (settingsGetPointer()->extraDisplay == EXTRADISPLAY_BIGFONT2)
-#endif
- )
+ if (settingsGetPointer()->extraDisplay == EXTRADISPLAY_BIGFONT)
{
settingsGetPointer()->design = 3;
if(settingsGetPointer()->MotionDetection == MOTION_DETECT_SECTOR)
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Src/gfx_colors.c
--- a/Discovery/Src/gfx_colors.c Mon Aug 24 19:59:28 2020 +0200
+++ b/Discovery/Src/gfx_colors.c Mon Aug 31 20:06:59 2020 +0200
@@ -88,8 +88,8 @@
0x00FFC000,//0x00C4EACC, // CLUT_MenuPageDecoParameter
0x00AC00ff,//0x00E5AE18, // CLUT_MenuPageHardware
0x00ff00ff,//0x00E5AEFF, // CLUT_MenuPageSystem
- 0x00C4EACC,//0x00FFFF00, // CLUT_MenuPageDivePlanner
- 0x00000000, // CLUT_MenuPage9 - UNUSED
+ 0x00FF55FF,//0x00FFFF00, // CLUT_MenuPageCustomView
+ 0x00C4EACC, // CLUT_MenuPageDivePlanner
0x00000000, // CLUT_MenuPage10 - UNUSED
0x00FFFFFF, // CLUT_ButtonSymbols
0x000092D0, // CLUT_InfoSurface
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Src/gfx_engine.c
--- a/Discovery/Src/gfx_engine.c Mon Aug 24 19:59:28 2020 +0200
+++ b/Discovery/Src/gfx_engine.c Mon Aug 31 20:06:59 2020 +0200
@@ -3624,6 +3624,11 @@
SSettings* pSettings;
pSettings = settingsGetPointer();
+ if(total > 8)
+ {
+ Font = &FontT24;
+ }
+
hgfx.Image = tMscreen;
hgfx.WindowNumberOfTextLines = 1;
hgfx.WindowLineSpacing = 0;
@@ -3632,7 +3637,14 @@
if(!pSettings->FlipDisplay)
{
hgfx.WindowX1 = 779;
- hgfx.WindowX0 = hgfx.WindowX1 - (25*5);
+ if(Font == &FontT24)
+ {
+ hgfx.WindowX0 = hgfx.WindowX1 - (Font->spacesize*3);
+ }
+ else
+ {
+ hgfx.WindowX0 = hgfx.WindowX1 - (Font->spacesize2Monospaced*3);
+ }
hgfx.WindowY1 = 479;
hgfx.WindowY0 = hgfx.WindowY1 - Font->height;
}
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Src/settings.c
--- a/Discovery/Src/settings.c Mon Aug 24 19:59:28 2020 +0200
+++ b/Discovery/Src/settings.c Mon Aug 31 20:06:59 2020 +0200
@@ -84,7 +84,7 @@
* There might even be entries with fixed values that have no range
*/
const SSettings SettingsStandard = {
- .header = 0xFFFF001A,
+ .header = 0xFFFF001B,
.warning_blink_dsec = 8 * 2,
.lastDiveLogId = 0,
.logFlashNextSampleStartAddress = 0,
@@ -310,6 +310,7 @@
.FlipDisplay = 0,
.cv_configuration = 0xFFFFFFFF,
.MotionDetection = MOTION_DETECT_OFF,
+ .cv_config_BigScreen = 0xFFFFFFFF,
};
/* Private function prototypes -----------------------------------------------*/
@@ -457,6 +458,12 @@
case 0xFFFF0019:
pSettings->MotionDetection = MOTION_DETECT_OFF;
// no break
+ case 0xFFFF001A:
+ /* deactivate new views => to be activated by customer */
+ pSettings->cv_config_BigScreen = 0xFFFFFFFF;
+ pSettings->cv_config_BigScreen &= pSettings->cv_configuration ^= 1 << CVIEW_T3_Navigation;
+ pSettings->cv_config_BigScreen &= pSettings->cv_configuration ^= 1 << CVIEW_T3_DepthData;
+ // no break
default:
pSettings->header = pStandard->header;
break; // no break before!!
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Src/t3.c
--- a/Discovery/Src/t3.c Mon Aug 24 19:59:28 2020 +0200
+++ b/Discovery/Src/t3.c Mon Aug 31 20:06:59 2020 +0200
@@ -69,22 +69,11 @@
CVIEW_T3_StopWatch,
CVIEW_T3_TTS,
CVIEW_T3_ppO2andGas,
+ CVIEW_T3_Navigation,
+ CVIEW_T3_DepthData,
CVIEW_T3_END
};
-#ifdef ENABLE_BIGFONT_VX
-const uint8_t t3_customviewsV2[] =
-{
- CVIEW_T3_Decostop,
- CVIEW_sensors,
- CVIEW_T3_Navigation,
- CVIEW_T3_DepthData,
- CVIEW_T3_TTS,
- CVIEW_T3_ppO2andGas,
- CVIEW_T3_END
-};
-#endif
-
/* Private function prototypes -----------------------------------------------*/
void t3_refresh_divemode(void);
@@ -146,23 +135,23 @@
t3c1.Image = &t3screen;
t3c1.WindowNumberOfTextLines = 2;
- t3c1.WindowLineSpacing = t3l1.WindowLineSpacing;
+ t3c1.WindowLineSpacing = 100;
t3c1.WindowX0 = 0;
t3c1.WindowX1 = 799;
if(!pSettings->FlipDisplay)
{
- t3c1.WindowY0 = 0;
+ t3c1.WindowY0 = 5;
t3c1.WindowY1 = BigFontSeperationTopBottom - 5;
}
else
{
t3c1.WindowY0 = 480 - BigFontSeperationTopBottom + 5;
- t3c1.WindowY1 = 479;
+ t3c1.WindowY1 = 479 - 5;
}
t3c2.Image = &t3screen;
t3c2.WindowNumberOfTextLines = 3;
- t3c2.WindowLineSpacing = 58;
+ t3c2.WindowLineSpacing = t3c1.WindowLineSpacing ;
t3c2.WindowX0 = 370;
t3c2.WindowX1 = 799;
t3c2.WindowY0 = t3c1.WindowY0;
@@ -1017,7 +1006,6 @@
GFX_write_string(&FontT48,tXc1,text,0);
break;
-#ifdef ENABLE_BIGFONT_VX
case CVIEW_T3_Navigation:
Stopwatch.Total = timer_Stopwatch_GetTime();
Stopwatch.Minutes = Stopwatch.Total / 60;
@@ -1035,9 +1023,9 @@
}
snprintf(text,TEXTSIZE,"\032\002\f%c", TXT_Stopwatch);
- GFX_write_string(&FontT42,tXc2,text,0);
+ GFX_write_string(&FontT42,tXc1,text,0);
snprintf(text,TEXTSIZE,"\030\016\002%01.1f",unit_depth_float(fAverageDepth));
- GFX_write_string(&FontT105,tXc2,text,0);
+ GFX_write_string(&FontT105,tXc1,text,0);
if(!pSettings->FlipDisplay)
{
tXc2->WindowY0 = 100;
@@ -1048,7 +1036,7 @@
}
snprintf(text,TEXTSIZE,"\030\002%u:\016\016%02u",Stopwatch.Minutes, Stopwatch.Seconds);
- GFX_write_string(&FontT105,tXc2,text,0);
+ GFX_write_string(&FontT105,tXc1,text,1);
center.x = 400;
@@ -1099,12 +1087,11 @@
}
fAverageDepthAbsolute = stateUsed->lifeData.average_depth_meter;
snprintf(text,TEXTSIZE,"\032\002\f%c",TXT_AvgDepth);
- GFX_write_string(&FontT42,tXc2,text,0);
+ GFX_write_string(&FontT42,tXc1,text,0);
snprintf(text,TEXTSIZE,"\020\003\016\002\%01.1f",unit_depth_float(fAverageDepthAbsolute));
- GFX_write_string(&FontT105,tXc2,text,0);
+ GFX_write_string(&FontT105,tXc1,text,0);
break;
-#endif
}
@@ -1150,8 +1137,8 @@
more = 0;
textpointerMain = 0;
- textMain[textpointerMain++] = '\025';
- textMain[textpointerMain++] = '\003';
+ textMain[textpointerMain++] = '\025'; /* red */
+ textMain[textpointerMain++] = '\003'; /* doublesize */
textpointer = 0;
@@ -1290,10 +1277,10 @@
text[textpointer] = 0;
}
*/
- GFX_write_string(&FontT48,&t3c1,textMain,1);
+ GFX_write_string(&FontT48,&t3c1,textMain,0);
if(more)
{
- GFX_write_string(&FontT48,&t3c2,text,1);
+ GFX_write_string(&FontT48,&t3c2,text,0);
}
}
@@ -1304,16 +1291,7 @@
const uint8_t *pcv_changelist;
uint32_t cv_config = settingsGetPointer()->cv_config_BigScreen;
-#ifdef ENABLE_BIGFONT_VX
- if(settingsGetPointer()->extraDisplay == EXTRADISPLAY_BIGFONT2)
- {
- pcv_changelist = cv_changelist_BSV2;
- }
- else
-#endif
- {
- pcv_changelist = cv_changelist_BS;
- }
+ pcv_changelist = cv_changelist_BS;
while(pcv_changelist[i] != CVIEW_T3_END)
{
@@ -1336,22 +1314,12 @@
void t3_change_customview(uint8_t action)
{
-#ifdef ENABLE_BIGFONT_VX
- if(settingsGetPointer()->extraDisplay == EXTRADISPLAY_BIGFONT2)
- {
- t3_basics_change_customview(&t3_selection_customview, t3_customviewsV2, action);
- }
- else
- {
- t3_basics_change_customview(&t3_selection_customview, t3_customviewsStandard, action);
- }
-#else
+
t3_basics_change_customview(&t3_selection_customview, t3_customviewsStandard, action);
-#endif
}
-void t3_basics_change_customview(uint8_t *tX_selection_customview, uint8_t *tX_customviews, uint8_t action)
+void t3_basics_change_customview(uint8_t *tX_selection_customview,const uint8_t *tX_customviews, uint8_t action)
{
const SDecoinfo * pDecoinfo;
if(stateUsed->diveSettings.deco_type.ub.standard == GF_MODE)
@@ -1359,33 +1327,27 @@
else
pDecoinfo = &stateUsed->decolistVPM;
- uint8_t curView;
- uint8_t *pViews;
- pViews = tX_customviews;
-
- uint8_t *pStartView,*pCurView, *pLastView;
+ uint8_t curViewIdx = 0xff;
+ uint8_t index = 0;
+ uint8_t lastViewIdx = 0;
uint8_t iterate = 0; /* set to 1 if a view has to be skipped */
- pStartView = pViews;
- curView = CVIEW_T3_END;
/* set pointer to currently selected view and count number of entries */
- while((*pViews != CVIEW_T3_END))
+ while((tX_customviews[index] != CVIEW_T3_END))
{
- if (*pViews == *tX_selection_customview)
+ if (tX_customviews[index] == *tX_selection_customview)
{
- pCurView = pViews;
- curView = *pViews;
+ curViewIdx = index;
}
- pViews++;
+ index++;
}
- if(curView == CVIEW_T3_END) /* called with unknown view */
+ if(curViewIdx == 0xff) /* called with unknown view */
{
- *tX_selection_customview = CVIEW_T3_Decostop;
- pCurView = pStartView;
+ curViewIdx = 0;
+ *tX_selection_customview = tX_customviews[index];
}
- pLastView = pViews;
- pViews = pCurView;
-
+ lastViewIdx = index;
+ index = curViewIdx;
do
{
iterate = 0;
@@ -1394,33 +1356,34 @@
case ACTION_BUTTON_ENTER:
case ACTION_PITCH_POS:
- if(*pViews != CVIEW_T3_END)
- pViews++;
-
- if(*pViews == CVIEW_T3_END)
+ if(tX_customviews[index] != CVIEW_T3_END)
{
- pViews = pStartView;
+ index++;
+ }
+ if(tX_customviews[index] == CVIEW_T3_END)
+ {
+ index = 0;
}
break;
case ACTION_PITCH_NEG:
- if(pViews == pStartView)
+ if(index == 0)
{
- pViews = pLastView - 1;
+ index = lastViewIdx - 1;
}
else
{
- pViews--;
+ index--;
}
break;
default:
break;
}
- if(t3_customview_disabled(*pViews))
+ if(t3_customview_disabled(tX_customviews[index]))
{
iterate = 1;
}
- if((*pViews == CVIEW_T3_TTS) && !pDecoinfo->output_time_to_surface_seconds)
+ if((tX_customviews[index] == CVIEW_T3_TTS) && !pDecoinfo->output_time_to_surface_seconds)
{
iterate = 1;
}
@@ -1430,7 +1393,7 @@
}
}while (iterate == 1);
- *tX_selection_customview = *pViews;
+ *tX_selection_customview = tX_customviews[index];
}
@@ -1576,16 +1539,7 @@
uint8_t increment = 1;
uint8_t enabledViewCnt = 0;
-#ifdef ENABLE_BIGFONT_VX
- if(settingsGetPointer()->extraDisplay == EXTRADISPLAY_BIGFONT2)
- {
- pViews = (uint8_t*)t3_customviewsV2;
- }
- else
- {
- pViews = (uint8_t*)t3_customviewsStandard;
- }
-
+ pViews = (uint8_t*)t3_customviewsStandard;
while((*pViews != CVIEW_T3_END))
{
increment = 1;
@@ -1597,32 +1551,6 @@
pViews++;
enabledViewCnt += increment;
}
-#else
-
- uint8_t i=0;
- uint32_t cv_config = settingsGetPointer()->cv_config_BigScreen;
- pcv_changelist = cv_changelist_BS;
- do
- {
- if(pcv_changelist[i] == CVIEW_sensors) /* at the moment specific big font view may not be selected. Only sensor setting is taken from t7 configuration */
- {
- if(!CHECK_BIT_THOME(cv_config, pcv_changelist[i]))
- {
- enabledViewCnt = NUMBER_OF_VIEWS - 1; /* sensor shall not be displayed */
- }
- else
- {
- enabledViewCnt = NUMBER_OF_VIEWS; /* enable all possible views */
- }
- break;
- }
- i++;
- } while(pcv_changelist[i] != CVIEW_T3_END);
- if ((stateUsed->diveSettings.ppo2sensors_deactivated) || (stateUsed->diveSettings.ccrOption == 0))
- {
- enabledViewCnt = NUMBER_OF_VIEWS - 1; /* sensor shall not be displayed */
- }
-#endif
return enabledViewCnt;
}
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Src/t7.c
--- a/Discovery/Src/t7.c Mon Aug 24 19:59:28 2020 +0200
+++ b/Discovery/Src/t7.c Mon Aug 31 20:06:59 2020 +0200
@@ -1410,7 +1410,7 @@
textpointer = 0;
lineFree = 5;
-
+ text[textpointer++] = '\001';
if(lineFree && stateUsed->warnings.decoMissed)
{
text[textpointer++] = TXT_2BYTE;
@@ -1589,9 +1589,9 @@
{
case ACTION_BUTTON_ENTER:
case ACTION_PITCH_POS:
- if(*pViews != CVIEW_T3_END)
+ if(*pViews != CVIEW_END)
pViews++;
- if(*pViews == CVIEW_T3_END)
+ if(*pViews == CVIEW_END)
{
pViews = pStartView;
}
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Src/tHome.c
--- a/Discovery/Src/tHome.c Mon Aug 24 19:59:28 2020 +0200
+++ b/Discovery/Src/tHome.c Mon Aug 31 20:06:59 2020 +0200
@@ -58,11 +58,7 @@
static uint16_t tHome_tick_count_field;
const uint8_t cv_changelist[] = {CVIEW_Compass, CVIEW_SummaryOfLeftCorner, CVIEW_Tissues, CVIEW_Profile, CVIEW_EADTime, CVIEW_Gaslist, CVIEW_noneOrDebug, CVIEW_Decolist,CVIEW_sensors,CVIEW_sensors_mV, CVIEW_END};
-const uint8_t cv_changelist_BS[] = {CVIEW_T3_Decostop, CVIEW_sensors, CVIEW_Compass, CVIEW_T3_MaxDepth,CVIEW_T3_StopWatch, CVIEW_T3_TTS, CVIEW_T3_ppO2andGas, CVIEW_noneOrDebug, CVIEW_T3_END};
-
-#ifdef ENABLE_BIGFONT_VX
-const uint8_t cv_changelist_BSV2[] = {CVIEW_T3_Decostop, CVIEW_sensors, CVIEW_T3_Navigation, CVIEW_T3_DepthData, CVIEW_T3_TTS, CVIEW_T3_ppO2andGas, CVIEW_noneOrDebug, CVIEW_T3_END};
-#endif
+const uint8_t cv_changelist_BS[] = {CVIEW_T3_Decostop, CVIEW_sensors, CVIEW_Compass, CVIEW_T3_MaxDepth,CVIEW_T3_StopWatch, CVIEW_T3_TTS, CVIEW_T3_ppO2andGas, CVIEW_noneOrDebug, CVIEW_T3_Navigation, CVIEW_T3_DepthData, CVIEW_T3_END};
/* Private function prototypes -----------------------------------------------*/
@@ -363,6 +359,21 @@
t6_change_customview(action);
}
+uint8_t tHome_getNumberOfAvailableCVs(const uint8_t* pcv_list)
+{
+ uint8_t cnt = 0;
+
+ while((pcv_list[cnt] != CVIEW_END) && (pcv_list[cnt] != CVIEW_T3_END))
+ {
+ cnt++;
+ if (cnt > 100) /* just in case an invalid list has been provided... */
+ {
+ break;
+ }
+ }
+ cnt--; /* do not count end token */
+ return cnt;
+}
void tHome_tick(void)
{
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Src/tMenu.c
--- a/Discovery/Src/tMenu.c Mon Aug 24 19:59:28 2020 +0200
+++ b/Discovery/Src/tMenu.c Mon Aug 31 20:06:59 2020 +0200
@@ -41,12 +41,14 @@
#include "tMenuEditSetpoint.h"
#include "tMenuEditSystem.h"
#include "tMenuEditXtra.h"
+#include "tMenuEditCustom.h"
#include "tMenuGas.h"
#include "tMenuHardware.h"
#include "tMenuPlanner.h"
#include "tMenuSetpoint.h"
#include "tMenuSystem.h"
#include "tMenuXtra.h"
+#include "tMenuCustom.h"
/* Private types -------------------------------------------------------------*/
#define MAXPAGES 10
@@ -492,6 +494,7 @@
{
tM_add(StMDECO);
tM_add(StMHARD);
+ tM_add(StMCustom);
// tM_add(StMSYS); now in both modes
}
else
@@ -542,6 +545,9 @@
id = tMSystem_refresh(0, text, &tabPosition, subtext);
tM_build_page(id, text, tabPosition, subtext);
+
+ id = tMCustom_refresh(0, text, &tabPosition, subtext);
+ tM_build_page(id, text, tabPosition, subtext);
}
@@ -698,6 +704,11 @@
update_content_actual_page(text, tabPosition, subtext);
}
break;
+ case StMCustom:
+ tMCustom_refresh(line, text, &tabPosition, subtext);
+ clean_line_actual_page();
+ update_content_actual_page(text, tabPosition, subtext);
+ break;
default:
break;
}
@@ -936,6 +947,9 @@
case StMSYS:
openEdit_System(line);
break;
+ case StMCustom:
+ openEdit_Custom(line);
+ break;
default:
break;
}
@@ -1139,8 +1153,8 @@
"",
"SYS",
"",
- "SIM",
- ""
+ "",
+ "SIM"
};
const _Bool spacing[MAXPAGES+1] =
@@ -1152,7 +1166,8 @@
0, // behind DECO1
1, // behind DECO2
0, // behind SYS1
- 1, // behind SYS2
+ 0, // behind SYS2
+ 1, // behind SYS3
1, // behind SIM
0
};
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Src/tMenuCustom.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Discovery/Src/tMenuCustom.c Mon Aug 31 20:06:59 2020 +0200
@@ -0,0 +1,76 @@
+///////////////////////////////////////////////////////////////////////////////
+/// -*- coding: UTF-8 -*-
+///
+/// \file Discovery/Src/tMenuCustom.c
+/// \brief Menu Custom - Provide access to custom view options
+/// \author heinrichs weikamp gmbh
+/// \date 25-Aug-2020
+///
+/// \details
+///
+/// $Id$
+///////////////////////////////////////////////////////////////////////////////
+/// \par Copyright (c) 2014-2020 Heinrichs Weikamp gmbh
+///
+/// This program is free software: you can redistribute it and/or modify
+/// it under the terms of the GNU General Public License as published by
+/// the Free Software Foundation, either version 3 of the License, or
+/// (at your option) any later version.
+///
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+///
+/// You should have received a copy of the GNU General Public License
+/// along with this program. If not, see .
+//////////////////////////////////////////////////////////////////////////////
+
+/* Includes ------------------------------------------------------------------*/
+#include
+#include
+#include "tMenu.h"
+#include "tStructure.h"
+#include "tMenuCustom.h"
+#include "text_multilanguage.h"
+#include "data_central.h"
+
+
+/* Exported functions --------------------------------------------------------*/
+
+uint32_t tMCustom_refresh(uint8_t line, char *text, uint16_t *tab, char *subtext)
+{
+ uint8_t textPointer;
+
+ textPointer = 0;
+ *tab = 550;
+ *subtext = 0;
+
+ if((line == 0) || (line == 1))
+ {
+ text[textPointer++] = TXT_2BYTE;
+ text[textPointer++] = TXT2BYTE_Customviews;
+ }
+ text[textPointer++] = '\n';
+ text[textPointer++] = '\r';
+ text[textPointer] = 0;
+
+ if((line == 0) || (line == 2))
+ {
+ text[textPointer++] = TXT_2BYTE;
+ text[textPointer++] = TXT2BYTE_SelectCustomviews;
+ }
+ strcpy(&text[textPointer],"\n\r");
+ textPointer += 2;
+
+ if((line == 0) || (line == 3))
+ {
+ text[textPointer++] = TXT_2BYTE;
+ text[textPointer++] = TXT2BYTE_SelectBigFont;
+ }
+ strcpy(&text[textPointer],"\n\r");
+ textPointer += 2;
+
+ return StMCustom;
+}
+
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Src/tMenuEdit.c
--- a/Discovery/Src/tMenuEdit.c Mon Aug 24 19:59:28 2020 +0200
+++ b/Discovery/Src/tMenuEdit.c Mon Aug 31 20:06:59 2020 +0200
@@ -37,6 +37,7 @@
#include "tMenuEditPlanner.h"
#include "tMenuEditSystem.h"
#include "tMenuEditXtra.h"
+#include "tMenuEditCustom.h"
/* Private types -------------------------------------------------------------*/
#define TEXTSIZE 16
@@ -87,27 +88,27 @@
GFX_DrawCfgScreen tMEcursor;
GFX_DrawCfgScreen tMEcursorNew;
-uint32_t menuID;
-uint8_t menuColor;
+static uint32_t menuID;
+static uint8_t menuColor;
-int8_t id = 0;
-int8_t idLast = -1;
-SEditIdent ident[10];
-int8_t tME_stop = 0;
+static int8_t id = 0;
+static int8_t idLast = -1;
+static SEditIdent ident[10];
+static int8_t tME_stop = 0;
-int8_t evid = 0;
-int8_t evidLast = -1;
-SEventHandler event[10];
+static int8_t evid = 0;
+static int8_t evidLast = -1;
+static SEventHandler event[10];
-SBackMenuHandler backmenu;
+static SBackMenuHandler backmenu;
-int8_t block = 0;
-int8_t subBlockPosition = 0;
+static int8_t block = 0;
+static int8_t subBlockPosition = 0;
-_Bool EnterPressedBeforeButtonAction = 0;
-_Bool EnterPressed = 0;
+static _Bool EnterPressedBeforeButtonAction = 0;
+static _Bool EnterPressed = 0;
-_Bool WriteSettings = 0;
+static _Bool WriteSettings = 0;
/* Private function prototypes -----------------------------------------------*/
void draw_tMEdesign(void);
@@ -198,73 +199,52 @@
void tMenuEdit_refresh_live_content(void)
{
+ uint32_t globState = get_globalState();
+ void (*refreshFct)() = NULL;
- if(get_globalState() == (StMHARD3_O2_Sensor1 & MaskFieldDigit))
- {
- uint32_t rememberPage = tMEscreen.FBStartAdress;
- tMEscreen.FBStartAdress = getFrame(9);
-// draw_tMEdesign();
- refresh_O2Sensors();
- GFX_SetFrameTop(tMEscreen.FBStartAdress);
- releaseFrame(9,rememberPage);
- }
- else if(get_globalState() == (StMHARD2_Compass_SetCourse & MaskFieldDigit))
- {
- uint32_t rememberPage = tMEscreen.FBStartAdress;
- tMEscreen.FBStartAdress = getFrame(9);
- refresh_CompassEdit();
- GFX_SetFrameTop(tMEscreen.FBStartAdress);
- releaseFrame(9,rememberPage);
- }
- else if(get_globalState() == (StMXTRA_CompassHeading & MaskFieldDigit))
- {
- uint32_t rememberPage = tMEscreen.FBStartAdress;
- tMEscreen.FBStartAdress = getFrame(9);
-// draw_tMEdesign();
- refresh_CompassHeading();
- GFX_SetFrameTop(tMEscreen.FBStartAdress);
- releaseFrame(9,rememberPage);
- }
- else if(get_globalState() == (StMSYS5_Info & MaskFieldDigit))
- {
- uint32_t rememberPage = tMEscreen.FBStartAdress;
- tMEscreen.FBStartAdress = getFrame(9);
- refresh_InformationPage();
- GFX_SetFrameTop(tMEscreen.FBStartAdress);
- releaseFrame(9,rememberPage);
- }
- else if(get_globalState() == (StMPLAN5_ExitResult & MaskFieldDigit))
- {
- uint32_t rememberPage = tMEscreen.FBStartAdress;
- tMEscreen.FBStartAdress = getFrame(9);
- refresh_PlanResult();
- GFX_SetFrameTop(tMEscreen.FBStartAdress);
- releaseFrame(9,rememberPage);
- }
- else if(get_globalState() == (StMHARD5_Button1 & MaskFieldDigit)) // will not be executed in EditFieldMode as global state is different
- {
- uint32_t rememberPage = tMEscreen.FBStartAdress;
- tMEscreen.FBStartAdress = getFrame(9);
- refresh_ButtonValuesFromPIC();
- GFX_SetFrameTop(tMEscreen.FBStartAdress);
- releaseFrame(9,rememberPage);
- }
- else if(get_globalState() == (StMSYS3_Units & MaskFieldDigit))
- {
- uint32_t rememberPage = tMEscreen.FBStartAdress;
- tMEscreen.FBStartAdress = getFrame(9);
- refresh_Design();
- GFX_SetFrameTop(tMEscreen.FBStartAdress);
- releaseFrame(9,rememberPage);
- }
- else if(get_globalState() == (StMSYS4_CViewTimeout & MaskFieldDigit))
- {
- uint32_t rememberPage = tMEscreen.FBStartAdress;
- tMEscreen.FBStartAdress = getFrame(9);
- refresh_Customviews();
- GFX_SetFrameTop(tMEscreen.FBStartAdress);
- releaseFrame(9,rememberPage);
- }
+
+ switch(globState)
+ {
+ case (StMHARD3_O2_Sensor1 & MaskFieldDigit): refreshFct = refresh_O2Sensors;
+ break;
+ case (StMHARD2_Compass_SetCourse & MaskFieldDigit): refreshFct = refresh_CompassEdit;
+ break;
+ case (StMXTRA_CompassHeading & MaskFieldDigit): refreshFct = refresh_CompassHeading;
+ break;
+ case (StMSYS5_Info & MaskFieldDigit): refreshFct = &refresh_InformationPage;
+ break;
+ case (StMPLAN5_ExitResult & MaskFieldDigit): refreshFct = refresh_PlanResult;
+ break;
+ case (StMHARD5_Button1 & MaskFieldDigit): // will not be executed in EditFieldMode as global state is different
+ refreshFct = refresh_ButtonValuesFromPIC;
+ break;
+ case (StMSYS3_Units & MaskFieldDigit): refreshFct = refresh_Design;
+ break;
+ case (StMCustom1_CViewTimeout & MaskFieldDigit):
+ case (StMSYS4_CViewTimeout & MaskFieldDigit): refreshFct = refresh_Customviews;
+ break;
+ case (StMCustom2_CViewSelection1 & MaskFieldDigit) :
+ case StMCustom2_CViewSelection2:
+ case StMCustom2_CViewSelection3:
+ case StMCustom2_CViewSelection4:
+ case StMCustom2_CViewSelection5:
+ case StMCustom2_CViewSelection6:
+ case (StMCustom2_BFSelection & MaskFieldDigit) : refreshFct = CustomviewDivemode2_refresh;
+ break;
+ default: /* no menu has been updated */
+ break;
+ }
+
+ if(refreshFct != NULL)
+ {
+ uint32_t rememberPage = tMEscreen.FBStartAdress;
+ tMEscreen.FBStartAdress = getFrame(9);
+
+ refreshFct();
+
+ GFX_SetFrameTop(tMEscreen.FBStartAdress);
+ releaseFrame(9,rememberPage);
+ }
}
void tMenuEdit_writeSettingsToFlash(void)
@@ -980,7 +960,19 @@
id = backup_id;
}
+void tMenuEdit_select(uint32_t editID)
+{
+ uint8_t id_local = 0;
+ id_local = get_id_of(editID);
+ if(id_local <= idLast)
+ {
+ id = id_local;
+ set_cursorNew(id);
+ }
+}
+
+#if OLD_SELECTION
void tMenuEdit_select(uint32_t editID, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4)
{
if(int1 > 4)
@@ -1006,6 +998,7 @@
id = backup_id;
}
+#endif
void tMenuEdit_newInput(uint32_t editID, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4)
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Src/tMenuEditCustom.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Discovery/Src/tMenuEditCustom.c Mon Aug 31 20:06:59 2020 +0200
@@ -0,0 +1,721 @@
+///////////////////////////////////////////////////////////////////////////////
+/// -*- coding: UTF-8 -*-
+///
+/// \file Discovery/Src/tMenuEditXtra.c
+/// \brief Menu Edit Xtra - Specials in Divemode like Reset Stopwatch
+/// \author heinrichs weikamp gmbh
+/// \date 02-Mar-2015
+///
+/// \details
+///
+/// $Id$
+///////////////////////////////////////////////////////////////////////////////
+/// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh
+///
+/// This program is free software: you can redistribute it and/or modify
+/// it under the terms of the GNU General Public License as published by
+/// the Free Software Foundation, either version 3 of the License, or
+/// (at your option) any later version.
+///
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU General Public License for more details.
+///
+/// You should have received a copy of the GNU General Public License
+/// along with this program. If not, see .
+//////////////////////////////////////////////////////////////////////////////
+
+/* Includes ------------------------------------------------------------------*/
+#include "tMenuEditCustom.h"
+
+#include "gfx_fonts.h"
+#include "simulation.h"
+#include "timer.h"
+#include "tMenuEdit.h"
+#include "tHome.h" // for enum CUSTOMVIEWS and init_t7_compass()
+#include "t3.h"
+#include "t7.h"
+#include "data_exchange_main.h"
+#include "motion.h"
+
+#define CV_PER_PAGE (5u) /* number of cv selections shown at one page */
+
+static uint8_t customviewsSubpage = 0;
+static uint8_t customviewsSubpageMax = 0; /* number of pages needed to display all selectable views */
+static const uint8_t* pcv_curchangelist;
+/* Private function prototypes -----------------------------------------------*/
+void openEdit_Customview2(void);
+void refresh_Customviews2(void);
+/* Announced function prototypes -----------------------------------------------*/
+uint8_t OnAction_CViewTimeout (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
+uint8_t OnAction_CViewStandard (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
+uint8_t OnAction_CornerTimeout (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
+uint8_t OnAction_CornerStandard(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
+
+
+/* Exported functions --------------------------------------------------------*/
+
+
+
+
+void refresh_Customviews2(void)
+{
+ char text[32];
+ uint8_t textpointer = 0;
+
+ // header
+ text[0] = '\001';
+ text[1] = TXT_2BYTE;
+ text[2] = TXT2BYTE_Customviews;
+ text[3] = 0;
+ write_topline(text);
+
+ // custom view center return
+ textpointer = 0;
+ text[textpointer++] = TXT_2BYTE;
+ text[textpointer++] = TXT2BYTE_CViewTimeout;
+ textpointer += snprintf(&text[textpointer],11," %02u\016\016 %c\017",settingsGetPointer()->tX_customViewTimeout,TXT_Seconds);
+ write_label_var( 30, 700, ME_Y_LINE1, &FontT48, text);
+
+ // custom view center primary
+ text[0] = TXT_2BYTE;
+ text[1] = TXT2BYTE_CViewStandard;
+ text[2] = ' ';
+ text[3] = ' ';
+ switch(settingsGetPointer()->tX_customViewPrimary)
+ {
+ case CVIEW_sensors:
+ text[4] = TXT_2BYTE;
+ text[5] = TXT2BYTE_O2monitor;
+ break;
+ case CVIEW_sensors_mV:
+ text[4] = TXT_2BYTE;
+ text[5] = TXT2BYTE_O2voltage;
+ break;
+ case CVIEW_Compass:
+ text[4] = TXT_2BYTE;
+ text[5] = TXT2BYTE_Compass;
+ break;
+ case CVIEW_Decolist:
+ text[4] = TXT_2BYTE;
+ text[5] = TXT2BYTE_Decolist;
+ break;
+ case CVIEW_Tissues:
+ text[4] = TXT_2BYTE;
+ text[5] = TXT2BYTE_Tissues;
+ break;
+ case CVIEW_Profile:
+ text[4] = TXT_2BYTE;
+ text[5] = TXT2BYTE_Profile;
+ break;
+ case CVIEW_Gaslist:
+ text[4] = TXT_2BYTE;
+ text[5] = TXT2BYTE_Gaslist;
+ break;
+ case CVIEW_EADTime:
+ text[4] = TXT_2BYTE;
+ text[5] = TXT2BYTE_Info;
+ break;
+ case CVIEW_SummaryOfLeftCorner:
+ text[4] = TXT_2BYTE;
+ text[5] = TXT2BYTE_Summary;
+ break;
+ case CVIEW_noneOrDebug:
+ text[4] = ' ';
+ text[5] = '-';
+ break;
+ default:
+ snprintf(&text[4],3,"%02u",settingsGetPointer()->tX_customViewPrimary);
+ break;
+ }
+ text[6] = 0;
+ write_label_var( 30, 700, ME_Y_LINE2, &FontT48, text);
+
+
+ // field corner return
+ textpointer = 0;
+ text[textpointer++] = TXT_2BYTE;
+ text[textpointer++] = TXT2BYTE_CornerTimeout;
+ textpointer += snprintf(&text[textpointer],11," %02u\016\016 %c\017",settingsGetPointer()->tX_userselectedLeftLowerCornerTimeout,TXT_Seconds);
+ write_label_var( 30, 700, ME_Y_LINE3, &FontT48, text);
+
+ // field corner primary
+ text[0] = TXT_2BYTE;
+ text[1] = TXT2BYTE_CornerStandard;
+ text[2] = ' ';
+ text[3] = ' ';
+ switch(settingsGetPointer()->tX_userselectedLeftLowerCornerPrimary)
+ {
+ /* Temperature */
+ case LLC_Temperature:
+ text[4] = TXT_Temperature;
+ break;
+ /* Average Depth */
+ case LLC_AverageDepth:
+ text[4] = TXT_AvgDepth;
+ break;
+ /* ppO2 */
+ case LLC_ppO2:
+ text[4] = TXT_ppO2;
+ break;
+ /* Stop Uhr */
+ case LLC_Stopwatch:
+ text[4] = TXT_Stopwatch;
+ break;
+ /* Ceiling */
+ case LLC_Ceiling:
+ text[4] = TXT_Ceiling;
+ break;
+ /* Future TTS */
+ case LLC_FutureTTS:
+ text[4] = TXT_FutureTTS;
+ break;
+ /* CNS */
+ case LLC_CNS:
+ text[4] = TXT_CNS;
+ break;
+ case LLC_GF:
+ text[4] = TXT_ActualGradient;
+ break;
+#ifdef ENABLE_BOTTLE_SENSOR
+ case LCC_BottleBar:
+ text[4] = TXT_AtemGasVorrat;
+ break;
+#endif
+ /* none */
+ case LLC_Empty:
+ text[4] = '-';
+ break;
+ default:
+ snprintf(&text[4],2,"%u",settingsGetPointer()->tX_userselectedLeftLowerCornerPrimary);
+ break;
+ }
+ text[5] = 0;
+ write_label_var( 30, 700, ME_Y_LINE4, &FontT48, text);
+
+
+ // extra display
+ text[0] = TXT_2BYTE;
+ text[1] = TXT2BYTE_ExtraDisplay;
+ text[2] = ' ';
+ text[3] = ' ';
+ text[4] = TXT_2BYTE;
+ switch(settingsGetPointer()->extraDisplay)
+ {
+ /* BigFont */
+ case EXTRADISPLAY_BIGFONT:
+ text[5] = TXT2BYTE_ExtraBigFont;
+ break;
+ /* DecoGame */
+ case EXTRADISPLAY_DECOGAME:
+ text[5] = TXT2BYTE_ExtraDecoGame;
+ break;
+ /* none */
+ case EXTRADISPLAY_none:
+ text[5] = TXT2BYTE_ExtraNone;
+ break;
+
+ default:
+ snprintf(&text[4],2,"%u",settingsGetPointer()->extraDisplay);
+ break;
+ }
+ text[6] = 0;
+ write_label_var( 30, 700, ME_Y_LINE5, &FontT48, text);
+
+ /* MotionCtrl */
+ text[0] = TXT_2BYTE;
+ text[1] = TXT2BYTE_MotionCtrl;
+ text[2] = ' ';
+ text[3] = ' ';
+ text[4] = TXT_2BYTE;
+ switch(settingsGetPointer()->MotionDetection)
+ {
+ case MOTION_DETECT_OFF:
+ text[5] = TXT2BYTE_MoCtrlNone;
+ break;
+ case MOTION_DETECT_MOVE:
+ text[5] = TXT2BYTE_MoCtrlPitch;
+ break;
+ case MOTION_DETECT_SECTOR:
+ text[5] = TXT2BYTE_MoCtrlSector;
+ break;
+ case MOTION_DETECT_SCROLL:
+ text[5] = TXT2BYTE_MoCtrlScroll;
+ break;
+ default:
+ snprintf(&text[4],2,"%u",settingsGetPointer()->MotionDetection);
+ break;
+ }
+ text[6] = 0;
+ write_label_var( 30, 700, ME_Y_LINE6, &FontT48, text);
+
+ write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
+}
+
+void openEdit_Custom(uint8_t line)
+{
+ set_globalState_Menu_Line(line);
+ resetMenuEdit(CLUT_MenuPageCustomView);
+
+ switch(line)
+ {
+ case 1:
+ default:
+ openEdit_Customview2();
+ break;
+ case 2:
+ openEdit_CustomviewDivemode2(cv_changelist);
+ break;
+ case 3:
+ openEdit_CustomviewDivemode2(cv_changelist_BS);
+ break;
+ }
+}
+
+/* Private functions ---------------------------------------------------------*/
+void openEdit_Customview2(void)
+{
+ refresh_Customviews2();
+
+ write_field_button(StMCustom1_CViewTimeout, 400, 700, ME_Y_LINE1, &FontT48, "");
+ write_field_button(StMCustom1_CViewStandard, 400, 700, ME_Y_LINE2, &FontT48, "");
+
+ write_field_button(StMCustom1_CornerTimeout, 400, 700, ME_Y_LINE3, &FontT48, "");
+ write_field_button(StMCustom1_CornerStandard, 400, 700, ME_Y_LINE4, &FontT48, "");
+
+// write_field_button(StMCustom1_ExtraDisplay, 400, 700, ME_Y_LINE5, &FontT48, "");
+// write_field_button(StMCustom1_MotionCtrl, 400, 700, ME_Y_LINE6, &FontT48, "");
+
+ setEvent(StMCustom1_CViewTimeout, (uint32_t)OnAction_CViewTimeout);
+ setEvent(StMCustom1_CViewStandard, (uint32_t)OnAction_CViewStandard);
+
+ setEvent(StMCustom1_CornerTimeout, (uint32_t)OnAction_CornerTimeout);
+ setEvent(StMCustom1_CornerStandard, (uint32_t)OnAction_CornerStandard);
+
+// setEvent(StMCustom1_ExtraDisplay, (uint32_t)OnAction_ExtraDisplay);
+// setEvent(StMCustom1_MotionCtrl, (uint32_t)OnAction_MotionCtrl);
+}
+
+char customview_TXT2BYTE_helper2(uint8_t customViewId)
+{
+ char text = 0;
+
+ switch(customViewId)
+ {
+ case CVIEW_sensors:
+ text = TXT2BYTE_O2monitor;
+ break;
+ case CVIEW_sensors_mV:
+ text = TXT2BYTE_O2voltage;
+ break;
+ case CVIEW_Compass:
+ text = TXT2BYTE_Compass;
+ break;
+ case CVIEW_Decolist:
+ case CVIEW_T3_Decostop:
+ text = TXT2BYTE_Decolist;
+ break;
+ case CVIEW_Tissues:
+ text = TXT2BYTE_Tissues;
+ break;
+ case CVIEW_Profile:
+ text = TXT2BYTE_Profile;
+ break;
+ case CVIEW_Gaslist:
+ text = TXT2BYTE_Gaslist;
+ break;
+ case CVIEW_EADTime:
+ text = TXT2BYTE_Info;
+ break;
+ case CVIEW_SummaryOfLeftCorner:
+ text = TXT2BYTE_Summary;
+ break;
+ case CVIEW_noneOrDebug:
+ text = TXT2BYTE_DispNoneDbg;
+ break;
+ case CVIEW_T3_MaxDepth:
+ text = TXT2BYTE_MaxDepth;
+ break;
+ case CVIEW_T3_StopWatch:
+ text = TXT2BYTE_Stopwatch;
+ break;
+ case CVIEW_T3_TTS:
+ text = TXT2BYTE_TTS;
+ break;
+ case CVIEW_T3_ppO2andGas:
+ text = TXT2BYTE_ppoNair;
+ break;
+ case CVIEW_T3_Navigation:
+ text = TXT2BYTE_Navigation;
+ break;
+ case CVIEW_T3_DepthData:
+ text = TXT2BYTE_DepthData;
+ break;
+ default:
+ break;
+ }
+ return text;
+}
+
+
+uint8_t OnAction_CViewTimeout2(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
+{
+ uint8_t value;
+ value = settingsGetPointer()->tX_customViewTimeout;
+
+ if(value < 5)
+ value = 5;
+ else if(value < 10)
+ value = 10;
+ else if(value < 15)
+ value = 15;
+ else if(value < 20)
+ value = 20;
+ else if(value < 30)
+ value = 30;
+ else if(value < 45)
+ value = 45;
+ else if(value < 60)
+ value = 60;
+ else
+ value = 0;
+
+ settingsGetPointer()->tX_customViewTimeout = value;
+ return UPDATE_DIVESETTINGS;
+}
+
+
+uint8_t OnAction_CViewStandard2(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
+{
+ uint8_t newValue;
+ switch(settingsGetPointer()->tX_customViewPrimary)
+ {
+ case CVIEW_sensors:
+ newValue = CVIEW_sensors_mV;
+ break;
+ case CVIEW_sensors_mV:
+ newValue = CVIEW_Compass;
+ break;
+ case CVIEW_Compass:
+ newValue = CVIEW_Decolist;
+ break;
+ case CVIEW_Decolist:
+ newValue = CVIEW_Tissues;
+ break;
+ case CVIEW_Tissues:
+ newValue = CVIEW_Profile;
+ break;
+ case CVIEW_Profile:
+ newValue = CVIEW_Gaslist;
+ break;
+ case CVIEW_Gaslist:
+ newValue = CVIEW_EADTime;
+ break;
+ case CVIEW_EADTime:
+ newValue = CVIEW_SummaryOfLeftCorner;
+ break;
+ case CVIEW_SummaryOfLeftCorner:
+ newValue = CVIEW_noneOrDebug;
+ break;
+ case CVIEW_noneOrDebug:
+ default:
+ newValue = CVIEW_sensors;
+ break;
+ }
+ settingsGetPointer()->tX_customViewPrimary = newValue;
+ return UPDATE_DIVESETTINGS;
+}
+
+
+uint8_t OnAction_CornerTimeout2(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
+{
+ uint8_t value;
+ value = settingsGetPointer()->tX_userselectedLeftLowerCornerTimeout;
+
+ if(value < 5)
+ value = 5;
+ else if(value < 10)
+ value = 10;
+ else if(value < 15)
+ value = 15;
+ else if(value < 20)
+ value = 20;
+ else if(value < 30)
+ value = 30;
+ else if(value < 45)
+ value = 45;
+ else if(value < 60)
+ value = 60;
+ else
+ value = 0;
+
+ settingsGetPointer()->tX_userselectedLeftLowerCornerTimeout = value;
+ return UPDATE_DIVESETTINGS;
+}
+
+
+uint8_t OnAction_CornerStandard2(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
+{
+ uint8_t value;
+ value = settingsGetPointer()->tX_userselectedLeftLowerCornerPrimary;
+
+ value += 1;
+
+ if(value >= LLC_END)
+ value = 0;
+
+ settingsGetPointer()->tX_userselectedLeftLowerCornerPrimary = value;
+ return UPDATE_DIVESETTINGS;
+}
+
+
+uint8_t OnAction_Customview_Toggle(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
+{
+
+ uint8_t line = 0;
+ SSettings *pSettings = settingsGetPointer();
+
+ switch(editId)
+ {
+ case StMCustom2_CViewSelection1: line = 1;
+ break;
+ case StMCustom2_CViewSelection2: line = 2;
+ break;
+ case StMCustom2_CViewSelection3: line = 3;
+ break;
+ case StMCustom2_CViewSelection4: line = 4;
+ break;
+ case StMCustom2_CViewSelection5: line = 5;
+ break;
+
+ default:
+ break;
+ }
+ if(pcv_curchangelist == cv_changelist)
+ {
+ pSettings->cv_configuration ^= 1 << (pcv_curchangelist[customviewsSubpage * 5 + line-1]);
+ if(t7_GetEnabled_customviews() == 0)
+ {
+ pSettings->cv_configuration ^= (1 << CVIEW_noneOrDebug);
+ }
+ }
+ else
+ {
+ pSettings->cv_config_BigScreen ^= 1 << (pcv_curchangelist[customviewsSubpage * 5 + line-1]);
+ if(t3_GetEnabled_customviews() == 0)
+ {
+ pSettings->cv_config_BigScreen ^= (1 << CVIEW_noneOrDebug);
+ }
+ }
+ return UPDATE_DIVESETTINGS;
+}
+
+
+uint8_t OnAction_Customview_NextPage(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
+{
+ uint8_t id_next = 0;
+ customviewsSubpage++;
+ if(customviewsSubpage == customviewsSubpageMax)
+ {
+ customviewsSubpage = 0;
+ }
+ resetMenuEdit(CLUT_MenuPageCustomView); /* rebuild page */
+ openEdit_CustomviewDivemode2(pcv_curchangelist);
+
+ tMenuEdit_select(StMCustom2_CViewSelection6);
+ return UPDATE_DIVESETTINGS;
+}
+
+void openEdit_CustomviewDivemode2(const uint8_t* pcv_changelist)
+{
+
+ SSettings *pSettings = settingsGetPointer();
+ char text[MAX_PAGE_TEXTSIZE];
+ uint8_t textPointer = 0;
+ uint32_t id;
+
+ uint8_t i;
+
+ customviewsSubpageMax = (tHome_getNumberOfAvailableCVs(pcv_changelist) / CV_PER_PAGE) + 1;
+ pcv_curchangelist = pcv_changelist;
+
+ CustomviewDivemode2_refresh(pcv_changelist);
+
+
+ text[0] = '\001';
+ text[1] = TXT_2BYTE;
+ text[2] = TXT2BYTE_SelectCustomviews;
+ text[3] = 0;
+ write_topline(text);
+
+ for(i=0; i<5;i++) /* fill maximum 5 items and leave last one for sub page selection */
+ {
+ textPointer = 0;
+ id = pcv_changelist[customviewsSubpage * 5 + i];
+ if((id == CVIEW_END) || (id == CVIEW_T3_END)) /* last list item? */
+ {
+ break;
+ }
+ else
+ {
+ if(pcv_changelist == cv_changelist)
+ {
+ text[textPointer++] = '\006' - CHECK_BIT_THOME(pSettings->cv_configuration,id);
+ }
+ else
+ {
+ text[textPointer++] = '\006' - CHECK_BIT_THOME(pSettings->cv_config_BigScreen,id);
+ }
+ text[textPointer++] = ' ';
+ textPointer += snprintf(&text[textPointer], 60, "%c%c\n\r", TXT_2BYTE, customview_TXT2BYTE_helper2(id));
+
+ switch(i)
+ {
+ case 0: write_field_button(StMCustom2_CViewSelection1, 30, 800, ME_Y_LINE1, &FontT48, "");
+ break;
+ case 1: write_field_button(StMCustom2_CViewSelection2, 30, 800, ME_Y_LINE2, &FontT48, "");
+ break;
+ case 2: write_field_button(StMCustom2_CViewSelection3, 30, 800, ME_Y_LINE3, &FontT48, "");
+ break;
+ case 3: write_field_button(StMCustom2_CViewSelection4, 30, 800, ME_Y_LINE4, &FontT48, "");
+ break;
+ case 4: write_field_button(StMCustom2_CViewSelection5, 30, 800, ME_Y_LINE5, &FontT48, "");
+ break;
+ default:
+ break;
+ }
+ }
+ }
+ // setEvent(StMCustom2_CViewSelection1, (uint32_t)OnAction_Customview_Toggle);
+
+
+ if(customviewsSubpageMax != 1)
+ {
+ textPointer = 0;
+ text[textPointer++] = TXT_2BYTE;
+ text[textPointer++] = TXT2BYTE_ButtonNext;
+ text[textPointer] = 0;
+ write_field_button(StMCustom2_CViewSelection6, 30, 800, ME_Y_LINE6, &FontT48, text);
+ }
+
+ /* because of the ID handling inside of the functions, all buttons needs to be assigned before the events may be set => have the same loop twice */
+ for(i=0; i<5;i++) /* fill maximum 5 items and leave last one for sub page selection */
+ {
+ id = pcv_changelist[customviewsSubpage * 5 + i];
+ if((id == CVIEW_END) || (id == CVIEW_T3_END)) /* last list item? */
+ {
+ break;
+ }
+ else
+ {
+ switch(i)
+ {
+ case 0: setEvent(StMCustom2_CViewSelection1, (uint32_t)OnAction_Customview_Toggle);
+ break;
+ case 1: setEvent(StMCustom2_CViewSelection2, (uint32_t)OnAction_Customview_Toggle);
+ break;
+ case 2: setEvent(StMCustom2_CViewSelection3, (uint32_t)OnAction_Customview_Toggle);
+ break;
+ case 3: setEvent(StMCustom2_CViewSelection4, (uint32_t)OnAction_Customview_Toggle);
+ break;
+ case 4: setEvent(StMCustom2_CViewSelection5, (uint32_t)OnAction_Customview_Toggle);
+ break;
+
+ default:
+ break;
+ }
+
+ }
+ }
+ if(customviewsSubpageMax != 1)
+ {
+ setEvent(StMCustom2_CViewSelection6,(uint32_t)OnAction_Customview_NextPage);
+ }
+ for(;i<5;i++) /* clear empty lines in case menu shows less than 5 entries */
+ {
+ switch(i)
+ {
+ case 0: write_label_var( 30, 800, ME_Y_LINE1, &FontT48, "");
+ break;
+ case 1: write_label_var( 30, 800, ME_Y_LINE2, &FontT48, "");
+ break;
+ case 2: write_label_var( 30, 800, ME_Y_LINE3, &FontT48, "");
+ break;
+ case 3: write_label_var( 30, 800, ME_Y_LINE4, &FontT48, "");
+ break;
+ case 4: write_label_var( 30, 800, ME_Y_LINE5, &FontT48, "");
+ break;
+ default:
+ break;
+ };
+ }
+
+
+ write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
+}
+
+
+void CustomviewDivemode2_refresh()
+{
+ SSettings *pSettings = settingsGetPointer();
+ char text[MAX_PAGE_TEXTSIZE];
+ uint8_t textPointer = 0;
+ uint32_t id;
+
+ uint8_t i;
+
+ text[0] = '\001';
+ text[1] = TXT_2BYTE;
+ text[2] = TXT2BYTE_SelectCustomviews;
+ text[3] = 0;
+ write_topline(text);
+
+
+ for(i=0; i<5;i++) /* fill maximum 5 items and leave last one for sub page selection */
+ {
+ textPointer = 0;
+ id = pcv_curchangelist[customviewsSubpage * 5 + i];
+ if((id == CVIEW_END) || (id == CVIEW_T3_END)) /* last list item? */
+ {
+ break;
+ }
+ else
+ {
+ if(pcv_curchangelist == cv_changelist)
+ {
+ text[textPointer++] = '\006' - CHECK_BIT_THOME(pSettings->cv_configuration,id);
+ }
+ else
+ {
+ text[textPointer++] = '\006' - CHECK_BIT_THOME(pSettings->cv_config_BigScreen,id);
+ }
+ text[textPointer++] = ' ';
+ textPointer += snprintf(&text[textPointer], 60, "%c%c\n\r", TXT_2BYTE, customview_TXT2BYTE_helper2(id));
+
+ switch(i)
+ {
+ case 0: write_label_var( 30, 800, ME_Y_LINE1, &FontT48, text);
+ break;
+ case 1: write_label_var( 30, 800, ME_Y_LINE2, &FontT48, text);
+ break;
+ case 2: write_label_var( 30, 800, ME_Y_LINE3, &FontT48, text);
+ break;
+ case 3: write_label_var( 30, 800, ME_Y_LINE4, &FontT48, text);
+ break;
+ case 4: write_label_var( 30, 800, ME_Y_LINE5, &FontT48, text);
+ break;
+ default:
+ break;
+ }
+ }
+ }
+ if(customviewsSubpageMax != 1)
+ {
+ textPointer = 0;
+ text[textPointer++] = TXT_2BYTE;
+ text[textPointer++] = TXT2BYTE_ButtonNext;
+ text[textPointer] = 0;
+ write_label_var( 30, 800, ME_Y_LINE6, &FontT48, text);
+ }
+}
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Src/tMenuEditSystem.c
--- a/Discovery/Src/tMenuEditSystem.c Mon Aug 24 19:59:28 2020 +0200
+++ b/Discovery/Src/tMenuEditSystem.c Mon Aug 31 20:06:59 2020 +0200
@@ -186,7 +186,6 @@
{
pSettings->cv_configuration ^= (1 << CVIEW_noneOrDebug);
}
- WriteSettings = 1;
InitMotionDetection(); /* consider new view setup for view selection by motion */
exitMenuEdit_to_Menu_with_Menu_Update();
}
@@ -943,11 +942,7 @@
case EXTRADISPLAY_none:
text[5] = TXT2BYTE_ExtraNone;
break;
-#ifdef ENABLE_BIGFONT_VX
- case EXTRADISPLAY_BIGFONT2:
- text[5] = TXT2BYTE_ExtraBigFontV2;
- break;
-#endif
+
default:
snprintf(&text[4],2,"%u",settingsGetPointer()->extraDisplay);
break;
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Src/tMenuSystem.c
--- a/Discovery/Src/tMenuSystem.c Mon Aug 24 19:59:28 2020 +0200
+++ b/Discovery/Src/tMenuSystem.c Mon Aug 31 20:06:59 2020 +0200
@@ -305,6 +305,7 @@
text = TXT2BYTE_Compass;
break;
case CVIEW_Decolist:
+ case CVIEW_T3_Decostop:
text = TXT2BYTE_Decolist;
break;
case CVIEW_Tissues:
@@ -325,6 +326,24 @@
case CVIEW_noneOrDebug:
text = TXT2BYTE_DispNoneDbg;
break;
+ case CVIEW_T3_MaxDepth:
+ text = TXT2BYTE_MaxDepth;
+ break;
+ case CVIEW_T3_StopWatch:
+ text = TXT2BYTE_Stopwatch;
+ break;
+ case CVIEW_T3_TTS:
+ text = TXT2BYTE_TTS;
+ break;
+ case CVIEW_T3_ppO2andGas:
+ text = TXT2BYTE_ppoNair;
+ break;
+ case CVIEW_T3_Navigation:
+ text = TXT2BYTE_Navigation;
+ break;
+ case CVIEW_T3_DepthData:
+ text = TXT2BYTE_DepthData;
+ break;
default:
break;
}
diff -r 5757edda56b7 -r 0680975c39b8 Discovery/Src/text_multilanguage.c
--- a/Discovery/Src/text_multilanguage.c Mon Aug 24 19:59:28 2020 +0200
+++ b/Discovery/Src/text_multilanguage.c Mon Aug 31 20:06:59 2020 +0200
@@ -1258,26 +1258,11 @@
static uint8_t text_ES_ExtraDisplay[] = "Letras grandes";
// Menu SYS2
-#ifdef ENABLE_BIGFONT_VX
-static uint8_t text_EN_ExtraBigFont[] = "classic";
-static uint8_t text_DE_ExtraBigFont[] = "klassisch";
-static uint8_t text_FR_ExtraBigFont[] = "classic";
-static uint8_t text_IT_ExtraBigFont[] = "classic";
-static uint8_t text_ES_ExtraBigFont[] = "classic";
-
-static uint8_t text_EN_ExtraBigFontV2[] = "V2";
-static uint8_t text_DE_ExtraBigFontV2[] = "V2";
-static uint8_t text_FR_ExtraBigFontV2[] = "V2";
-static uint8_t text_IT_ExtraBigFontV2[] = "V2";
-static uint8_t text_ES_ExtraBigFontV2[] = "V2";
-
-#else
static uint8_t text_EN_ExtraBigFont[] = "yes";
static uint8_t text_DE_ExtraBigFont[] = "ja";
static uint8_t text_FR_ExtraBigFont[] = "si";
static uint8_t text_IT_ExtraBigFont[] = "si";
static uint8_t text_ES_ExtraBigFont[] = "si";
-#endif
// Menu SYS2 (future feature)
static uint8_t text_EN_ExtraDecoGame[] = "Deco game";
@@ -1579,6 +1564,36 @@
static uint8_t text_IT_FlipDisplay[] = "";
static uint8_t text_ES_FlipDisplay[] = "";
+static uint8_t text_EN_SelectCustom[] = "Data views";
+static uint8_t text_DE_SelectCustom[] = "Auswahl Datenanzeige";
+static uint8_t text_FR_SelectCustom[] = "";
+static uint8_t text_IT_SelectCustom[] = "";
+static uint8_t text_ES_SelectCustom[] = "";
+
+static uint8_t text_EN_SelectBigFont[] = "Bigfont data views";
+static uint8_t text_DE_SelectBigFont[] = "Grosschrift Daten";
+static uint8_t text_FR_SelectBigFont[] = "";
+static uint8_t text_IT_SelectBigFont[] = "";
+static uint8_t text_ES_SelectBigFont[] = "";
+
+static uint8_t text_EN_ppo2Air[] = "PPO2 and active gas";
+static uint8_t text_DE_ppo2Air[] = "PPO2 und aktives Atemgas";
+static uint8_t text_FR_ppo2Air[] = "";
+static uint8_t text_IT_ppo2Air[] = "";
+static uint8_t text_ES_ppo2Air[] = "";
+
+static uint8_t text_EN_Navigation[] = "Compass and stop watch";
+static uint8_t text_DE_Navigation[] = "Kompass und Stoppuhr";
+static uint8_t text_FR_Navigation[] = "";
+static uint8_t text_IT_Navigation[] = "";
+static uint8_t text_ES_Navigation[] = "";
+
+static uint8_t text_EN_DepthData[] = "Average and max depth";
+static uint8_t text_DE_DepthData[] = "Mittlere und maximale Tiefe";
+static uint8_t text_FR_DepthData[] = "";
+static uint8_t text_IT_DepthData[] = "";
+static uint8_t text_ES_DepthData[] = "";
+
/* Lookup Table -------------------------------------------------------------*/
const tText text_array[] =
@@ -1769,9 +1784,6 @@
{(uint8_t)TXT2BYTE_DiveResetAvgQ, {text_EN_DiveResetAvgQ, text_DE_DiveResetAvgQ, text_FR_DiveResetAvgQ, text_IT_DiveResetAvgQ, text_ES_DiveResetAvgQ}},
{(uint8_t)TXT2BYTE_ExtraDisplay, {text_EN_ExtraDisplay, text_DE_ExtraDisplay, text_FR_ExtraDisplay, text_IT_ExtraDisplay, text_ES_ExtraDisplay}},
{(uint8_t)TXT2BYTE_ExtraBigFont, {text_EN_ExtraBigFont, text_DE_ExtraBigFont, text_FR_ExtraBigFont, text_IT_ExtraBigFont, text_ES_ExtraBigFont}},
-#ifdef ENABLE_BIGFONT_VX
- {(uint8_t)TXT2BYTE_ExtraBigFontV2, {text_EN_ExtraBigFontV2, text_DE_ExtraBigFontV2, text_FR_ExtraBigFontV2, text_IT_ExtraBigFontV2, text_ES_ExtraBigFontV2}},
-#endif
{(uint8_t)TXT2BYTE_ExtraDecoGame, {text_EN_ExtraDecoGame, text_DE_ExtraDecoGame, text_FR_ExtraDecoGame, text_IT_ExtraDecoGame, text_ES_ExtraDecoGame}},
{(uint8_t)TXT2BYTE_ExtraNone, {text_EN_ExtraNone, text_DE_ExtraNone, text_FR_ExtraNone, text_IT_ExtraNone, text_ES_ExtraNone}},
{(uint8_t)TXT2BYTE_MotionCtrl, {text_EN_MotionCtrl, text_DE_MotionCtrl, text_FR_MotionCtrl, text_IT_MotionCtrl, text_ES_MotionCtrl}},
@@ -1802,4 +1814,14 @@
{(uint8_t)TXT2BYTE_FLIPDISPLAY, {text_EN_FlipDisplay, text_DE_FlipDisplay, text_FR_FlipDisplay, text_IT_FlipDisplay, text_ES_FlipDisplay}},
+ {(uint8_t)TXT2BYTE_SelectCustomviews,{text_EN_SelectCustom, text_DE_SelectCustom, text_FR_SelectCustom, text_IT_SelectCustom, text_ES_SelectCustom}},
+ {(uint8_t)TXT2BYTE_SelectBigFont, {text_EN_SelectBigFont, text_DE_SelectBigFont, text_FR_SelectBigFont, text_IT_SelectBigFont, text_ES_SelectBigFont}},
+ {(uint8_t)TXT2BYTE_MaxDepth, {text_EN_MaxDepth, text_DE_MaxDepth, text_FR_MaxDepth, text_IT_MaxDepth, text_ES_MaxDepth}},
+ {(uint8_t)TXT2BYTE_Stopwatch, {text_EN_Stopwatch, text_DE_Stopwatch, text_FR_Stopwatch, text_IT_Stopwatch, text_ES_Stopwatch}},
+ {(uint8_t)TXT2BYTE_TTS, {text_EN_TTS, text_DE_TTS, text_FR_TTS, text_IT_TTS, text_ES_TTS}},
+ {(uint8_t)TXT2BYTE_ppoNair, {text_EN_ppo2Air, text_DE_ppo2Air, text_FR_ppo2Air, text_IT_ppo2Air, text_ES_ppo2Air}},
+ {(uint8_t)TXT2BYTE_Navigation, {text_EN_Navigation, text_DE_Navigation, text_FR_Navigation, text_IT_Navigation, text_ES_Navigation}},
+ {(uint8_t)TXT2BYTE_DepthData, {text_EN_DepthData, text_DE_DepthData, text_FR_DepthData, text_IT_DepthData, text_ES_DepthData}},
+
+
};