annotate Discovery/Src/tMenuXtra.c @ 820:7322adb00305

Split definition of custom views: In the previous version the T7 and T3 custom views were defined using the same enum. As result an ID shift may happen causing errors in the selection of the big font views. The second reason to split the definition is that shift operations are used in uint32_t variable (limit 32). The total number of current views is 27 => splitting will avoid ID problems in case new views are added.
author Ideenmodellierer
date Sun, 24 Sep 2023 18:43:12 +0200
parents c4ee952b9425
children ffb1036c27c2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1 ///////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2 /// -*- coding: UTF-8 -*-
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
3 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
4 /// \file Discovery/Src/tMenuXtra.c
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
5 /// \brief Menu Xtra - Specials in Divemode like Reset Stopwatch
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
6 /// \author heinrichs weikamp gmbh
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
7 /// \date 02-Mar-2015
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
8 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
9 /// \details
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
10 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
11 /// $Id$
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
12 ///////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
13 /// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
14 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
15 /// This program is free software: you can redistribute it and/or modify
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
16 /// it under the terms of the GNU General Public License as published by
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
17 /// the Free Software Foundation, either version 3 of the License, or
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
18 /// (at your option) any later version.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
19 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
20 /// This program is distributed in the hope that it will be useful,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
21 /// but WITHOUT ANY WARRANTY; without even the implied warranty of
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
22 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
23 /// GNU General Public License for more details.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
24 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
25 /// You should have received a copy of the GNU General Public License
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
26 /// along with this program. If not, see <http://www.gnu.org/licenses/>.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
27 //////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
28
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
29 /* Includes ------------------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
30 #include <stdio.h>
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
31 #include <string.h>
769
6b248bcdbf28 Deactivation of the 'fallback' option when the CCR mode is set to 'Fixed' - this makes it a little clearer that the option has no influence in this mode.
heinrichsweikamp
parents: 707
diff changeset
32 #include <stdbool.h>
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
33 #include "tMenu.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
34 #include "tStructure.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
35 #include "tMenuXtra.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
36 #include "text_multilanguage.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
37 #include "data_central.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
38 #include "simulation.h"
609
1b243c6c7067 Bugfix: CalibViewport were shown even in case the compile switch had not been set:
Ideenmodellierer
parents: 547
diff changeset
39 #include "configuration.h"
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
40
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
41 /* Exported functions --------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
42
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
43 uint32_t tMXtra_refresh(uint8_t line, char *text, uint16_t *tab, char *subtext)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
44 {
707
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
45 uint8_t textPointer = 0;
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
46 uint8_t CcrModusTxtId = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
47
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
48 textPointer = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
49 *tab = 500;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
50 *subtext = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
51
662
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 654
diff changeset
52 SSettings *pSettings = settingsGetPointer();
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 654
diff changeset
53
654
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
54 /* DIVE MODE */
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
55 if(actual_menu_content != MENU_SURFACE)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
56 {
654
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
57 if((line == 0) || (line == 1))
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
58 {
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
59 text[textPointer++] = TXT_2BYTE;
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
60 text[textPointer++] = TXT2BYTE_ResetStopwatch;
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
61 }
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
62 strcpy(&text[textPointer],"\n\r");
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
63 textPointer += 2;
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
64 /*
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
65 if((line == 0) || (line == 2))
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
66 {
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
67 text[textPointer++] = TXT_2BYTE;
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
68 text[textPointer++] = TXT2BYTE_ResetAvgDepth;
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
69 }
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
70 strcpy(&text[textPointer],"\n\r");
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
71 textPointer += 2;
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
72 */
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
73 if((line == 0) || (line == 2))
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
74 {
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
75 text[textPointer++] = TXT_2BYTE;
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
76 text[textPointer++] = TXT2BYTE_CompassHeading;
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
77 }
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
78 strcpy(&text[textPointer],"\n\r");
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
79 textPointer += 2;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
80
654
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
81 if((line == 0) || (line == 3))
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
82 {
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
83 text[textPointer++] = TXT_2BYTE;
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
84 text[textPointer++] = TXT2BYTE_SetMarker;
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
85 }
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
86 strcpy(&text[textPointer],"\n\r");
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
87 textPointer += 2;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
88
609
1b243c6c7067 Bugfix: CalibViewport were shown even in case the compile switch had not been set:
Ideenmodellierer
parents: 547
diff changeset
89 #ifdef ENABLE_MOTION_CONTROL
654
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
90 if((line == 0) || (line == 4))
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
91 {
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
92 text[textPointer++] = TXT_2BYTE;
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
93 text[textPointer++] = TXT2BYTE_CalibView;
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
94 }
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
95 strcpy(&text[textPointer],"\n\r");
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
96 textPointer += 2;
609
1b243c6c7067 Bugfix: CalibViewport were shown even in case the compile switch had not been set:
Ideenmodellierer
parents: 547
diff changeset
97 #endif
547
12f8745c8a94 Added viewport calibration to dive menu:
Ideenmodellierer
parents: 347
diff changeset
98
654
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
99 if(is_stateUsedSetToSim())
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
100 {
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
101 if((line == 0) || (line == 5))
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
102 {
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
103 text[textPointer++] = TXT_2BYTE;
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
104 text[textPointer++] = TXT2BYTE_SimFollowDecoStops;
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
105 text[textPointer++] = ' ';
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
106 text[textPointer++] = ' ';
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
107 if(simulation_get_heed_decostops())
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
108 text[textPointer++] = '\005';
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
109 else
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
110 text[textPointer++] = '\006';
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
111 }
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
112 strcpy(&text[textPointer],"\n\r");
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
113 textPointer += 2;
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
114 }
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
115 else
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
116 {
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
117 if((line == 0) || (line == 5)) /* end dive mode only used during real dives */
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
118 {
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
119 text[textPointer++] = TXT_2BYTE;
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
120 text[textPointer++] = TXT2BYTE_EndDiveMode;
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
121 }
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
122 strcpy(&text[textPointer],"\n\r");
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
123 textPointer += 2;
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
124 }
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
125 }
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
126 else /* Surface MODE */
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
127 {
707
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
128
654
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
129 if((line == 0) || (line == 1))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
130 {
707
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
131 switch(pSettings->CCR_Mode)
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
132 {
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
133 case CCRMODE_Sensors: CcrModusTxtId = TXT_Sensor;
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
134 break;
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
135 case CCRMODE_FixedSetpoint: CcrModusTxtId = TXT_FixedSP;
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
136 break;
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
137 case CCRMODE_Simulation: CcrModusTxtId = TXT_SimPpo2;
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
138 break;
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
139 default: CcrModusTxtId = 'X';
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
140 break;
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
141 }
654
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
142 textPointer += snprintf(&text[textPointer], 60,\
707
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
143 "%c"
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
144 "\t"
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
145 "%c"
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
146 , TXT_CCRmode
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
147 , CcrModusTxtId
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
148 );
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
149
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
150 strcpy(&text[textPointer],"\n\r");
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
151 textPointer += 2;
654
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
152 }
707
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
153
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
154 if((line == 0) || (line == 2))
816
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
155 {
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
156 bool canDoFallback = pSettings->CCR_Mode == CCRMODE_Sensors;
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
157 if (!canDoFallback) {
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
158 text[textPointer++] = '\031';
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
159 }
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
160 textPointer += snprintf(&text[textPointer], 60,\
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
161 "%c"
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
162 ,TXT_Fallback
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
163 );
707
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
164
816
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
165 text[textPointer++] = '\t';
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
166 if(settingsGetPointer()->fallbackToFixedSetpoint && canDoFallback)
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
167 text[textPointer++] = '\005';
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
168 else
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
169 text[textPointer++] = '\006';
707
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
170
816
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
171 if (!canDoFallback) {
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
172 text[textPointer++] = '\020';
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
173 disableLine(StMXTRA_O2_Fallback);
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
174 } else {
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
175 enableLine(StMXTRA_O2_Fallback);
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
176 }
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
177 strcpy(&text[textPointer],"\n\r");
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
178 textPointer += 2;
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
179 }
707
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
180
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
181
654
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
182 if((line == 0) || (line == 3))
816
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
183 {
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
184 textPointer += snprintf(&text[textPointer], 60,\
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
185 "%c"
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
186 ,TXT_ScrubTime
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
187 );
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
188 strcpy(&text[textPointer],"\n\r");
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
189 textPointer += 2;
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 811
diff changeset
190 }
654
890440ab993a Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents: 609
diff changeset
191
662
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 654
diff changeset
192 #ifdef ENABLE_PSCR_MODE
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 654
diff changeset
193 if(pSettings->dive_mode == DIVEMODE_PSCR)
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 654
diff changeset
194 {
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 654
diff changeset
195 if((line == 0) || (line == 4))
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 654
diff changeset
196 {
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 654
diff changeset
197 textPointer += snprintf(&text[textPointer], 60,\
707
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
198 "%c"
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
199 ,TXT_PSClosedCircuit);
662
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 654
diff changeset
200 }
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 654
diff changeset
201 }
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 654
diff changeset
202 #endif
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 654
diff changeset
203 #ifdef ENABLE_CO2_SUPPORT
707
e81afd727993 Menu cleanup rebreather specific settings:
Ideenmodellierer
parents: 662
diff changeset
204 if((line == 0) || (line == 4))
662
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 654
diff changeset
205 {
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 654
diff changeset
206 textPointer += snprintf(&text[textPointer], 60, "%c", TXT_CO2Sensor);
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 654
diff changeset
207 }
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 654
diff changeset
208 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
209 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
210 return StMXTRA;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
211 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
212