annotate Discovery/Src/tMenuEditGasOC.c @ 917:0d6c4b40fae4 Evo_2_23

Bugfix external interface power up after sleep: The previous implementation did not consider if the external power was enabled of not before sleep (the power was later enabled by sensor handling). The power is now activated immediatly after leaving sleep in order to aoid delays in sensor startup.
author Ideenmodellierer
date Sun, 03 Nov 2024 15:37:00 +0100
parents b7d93ff6b3b2
children
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/tMenuEditGasOC.c
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
5 /// \brief Main Template file for editing Open Circuit Gas Settings
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 09-July-2014
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 "tMenuEditGasOC.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
31
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
32 #include "check_warning.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
33 #include "gfx_fonts.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
34 #include "tMenuEdit.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
35 #include "unit.h"
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
36 #include "configuration.h"
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
37
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
38 /* Private types -------------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
39 typedef struct
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
40 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
41 uint8_t gasID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
42 SGasLine * pGasLine;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
43 uint8_t mod;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
44 uint8_t ccr;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
45 uint8_t setpoint;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
46 } SEditGasPage;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
47
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
48
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
49 /* Private variables ---------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
50 SEditGasPage editGasPage;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
51
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
52 /* Private function prototypes -----------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
53 void create_text_with_u8(char *text, const char *text1, uint8_t inputU8, const char *text2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
54
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
55 void openEdit_Gas(uint8_t line, uint8_t ccr);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
56 void openEdit_GasType(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
57
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
58 void openEdit_DiveGasSelect(uint8_t line, uint8_t ccr);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
59 void openEdit_SpecialDiveGasMenu(uint8_t ccr);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
60 void openEdit_DiveGasSelect_Subroutine(uint8_t line, uint8_t ccr);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
61
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
62 void tMEGas_check_switch_to_bailout(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
63
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
64 /* Announced function prototypes -----------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
65 uint8_t OnAction_Mix (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
66 uint8_t OnAction_GasType (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
67 uint8_t OnAction_ChangeDepth (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
68 uint8_t OnAction_SetToMOD (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
830
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
69 uint8_t OnAction_CalcDeco (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
70 uint8_t OnAction_BottleSize (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
71
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
72 uint8_t OnAction_First (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
73 uint8_t OnAction_Deco (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
74 uint8_t OnAction_Travel (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
75 uint8_t OnAction_Inactive (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
76 uint8_t OnAction_Off (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
77
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
78 uint8_t OnAction_DM_Active (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
79 uint8_t OnAction_DM_Mix (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
80
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
81 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
82 uint8_t OnAction_DefaultMix (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
83 uint8_t OnAction_ToggleDepth (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
84 uint8_t OnAction_ToggleDefault (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
85 uint8_t OnAction_DefaultDepth (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
86 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
87
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
88 /* Exported functions --------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
89
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
90 void openEdit_GasCC(uint8_t line)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
91 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
92 if(actual_menu_content == MENU_SURFACE)
647
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
93 {
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
94 if(line == 6)
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
95 {
662
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 647
diff changeset
96 if(isLoopMode(settingsGetPointer()->dive_mode) || (stateUsed->diveSettings.ccrOption == 1))
647
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
97 {
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
98 selectPage(StMOG);
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
99 }
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
100 }
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
101 else
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
102 {
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
103 openEdit_Gas(line , 1);
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
104 }
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
105 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
106 else
647
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
107 {
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
108 if(line == 6)
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
109 {
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
110 openEdit_SpecialDiveGasMenu(1);
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
111 }
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
112 else
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
113 {
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
114 openEdit_DiveGasSelect(line, 1);
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
115 }
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
116 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
117 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
118
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
119
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
120 void openEdit_GasOC(uint8_t line)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
121 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
122 if(actual_menu_content == MENU_SURFACE)
647
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
123 {
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
124 if(line == 6)
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
125 {
662
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 647
diff changeset
126 if(isLoopMode(settingsGetPointer()->dive_mode) || (stateUsed->diveSettings.ccrOption == 1))
647
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
127 {
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
128 selectPage(StMCG);
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
129 }
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
130 }
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
131 else
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
132 {
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
133 openEdit_Gas(line, 0);
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
134 }
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
135 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
136 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
137 if(line == 6)
647
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
138 {
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
139 openEdit_SpecialDiveGasMenu(0);
647
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
140 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
141 else
647
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
142 {
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
143 openEdit_DiveGasSelect(line, 0);
647
15f6f0b5786c Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents: 528
diff changeset
144 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
145 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
146
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
147
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
148 /* dive mode */
773
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 735
diff changeset
149 void openEdit_DiveSelectBetterGas(bool doBailout)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
150 {
773
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 735
diff changeset
151 uint8_t gasId;
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 735
diff changeset
152 if (doBailout) {
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 735
diff changeset
153 gasId = actualBetterBailoutGasId();
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 735
diff changeset
154 } else {
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 735
diff changeset
155 gasId = actualBetterGasId();
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 735
diff changeset
156 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
157
773
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 735
diff changeset
158 uint8_t ccr = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
159 if(gasId>5)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
160 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
161 gasId -= 5;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
162 ccr = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
163 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
164 openEdit_DiveGasSelect_Subroutine(gasId,ccr);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
165 if(ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
166 updateSpecificMenu(StMCG); // is this necessary? openEdit_DiveGasSelect_Subroutine has update. hw 151209
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
167 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
168 updateSpecificMenu(StMOG); // is this necessary? openEdit_DiveGasSelect_Subroutine has update. hw 151209
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
169 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
170
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
171
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
172 /* select gas in divemode */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
173 void openEdit_DiveGasSelect(uint8_t line, uint8_t ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
174 {
682
8775d3dc6325 Bugfix low ppO2 warning in bailout mode:
Ideenmodellierer
parents: 662
diff changeset
175 if(!ccr)
8775d3dc6325 Bugfix low ppO2 warning in bailout mode:
Ideenmodellierer
parents: 662
diff changeset
176 {
8775d3dc6325 Bugfix low ppO2 warning in bailout mode:
Ideenmodellierer
parents: 662
diff changeset
177 tMEGas_check_switch_to_bailout();
8775d3dc6325 Bugfix low ppO2 warning in bailout mode:
Ideenmodellierer
parents: 662
diff changeset
178 }
8775d3dc6325 Bugfix low ppO2 warning in bailout mode:
Ideenmodellierer
parents: 662
diff changeset
179 openEdit_DiveGasSelect_Subroutine(line, ccr);
8775d3dc6325 Bugfix low ppO2 warning in bailout mode:
Ideenmodellierer
parents: 662
diff changeset
180
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
181 exitMenuEdit_to_Home_with_Menu_Update();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
182 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
183
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
184
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
185 void openEdit_DiveGasSelect_Subroutine(uint8_t line, uint8_t ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
186 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
187 uint8_t setpoint;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
188
699
01f40cb1057e Cleanup warnings:
Ideenmodellierer
parents: 682
diff changeset
189 editGasPage.pGasLine = (SGasLine *)stateUsed->diveSettings.gas;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
190
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
191 if(ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
192 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
193 editGasPage.gasID = line + NUM_OFFSET_DILUENT;
288
ba229a012ac7 cleanup: no useless checks for simulator state
Jan Mulder <jlmulder@xs4all.nl>
parents: 149
diff changeset
194 setpoint = stateUsed->lifeData.actualGas.setPoint_cbar;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
195 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
196 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
197 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
198 editGasPage.gasID = line;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
199 setpoint = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
200 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
201
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
202 #ifdef ENABLE_UNUSED_GAS_HIDING
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
203 if(editGasPage.pGasLine[editGasPage.gasID].note.ub.off) /* disable selection of switched off gases */
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
204 {
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
205 return;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
206 }
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
207 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
208
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
209 editGasPage.pGasLine[editGasPage.gasID].note.ub.active = 1;
288
ba229a012ac7 cleanup: no useless checks for simulator state
Jan Mulder <jlmulder@xs4all.nl>
parents: 149
diff changeset
210 setActualGas_DM(&stateUsedWrite->lifeData,editGasPage.gasID,setpoint);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
211 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
212
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
213 /* extra gas and gas on/off option */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
214 void openEdit_SpecialDiveGasMenu(uint8_t ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
215 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
216 char text[32];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
217 uint8_t oxygen, helium, gasOffset, textpointer, lineCount, ptrGas;
288
ba229a012ac7 cleanup: no useless checks for simulator state
Jan Mulder <jlmulder@xs4all.nl>
parents: 149
diff changeset
218 //SDiveState * pState;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
219
699
01f40cb1057e Cleanup warnings:
Ideenmodellierer
parents: 682
diff changeset
220 editGasPage.pGasLine = (SGasLine *)stateUsed->diveSettings.gas;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
221 if(ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
222 {
288
ba229a012ac7 cleanup: no useless checks for simulator state
Jan Mulder <jlmulder@xs4all.nl>
parents: 149
diff changeset
223 editGasPage.setpoint = stateUsed->lifeData.actualGas.setPoint_cbar;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
224 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
225 editGasPage.ccr = ccr;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
226
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
227 set_globalState_Menu_Line(6);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
228
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
229 if(ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
230 resetMenuEdit(CLUT_MenuPageGasCC);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
231 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
232 resetMenuEdit(CLUT_MenuPageGasOC);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
233
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
234 if(ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
235 gasOffset = NUM_OFFSET_DILUENT;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
236 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
237 gasOffset = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
238
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
239
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
240 text[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
241 text[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
242 if(ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
243 text[2] = TXT2BYTE_SpecialDiveGasMenuCCR;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
244 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
245 text[2] = TXT2BYTE_SpecialDiveGasMenu;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
246 text[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
247 write_topline(text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
248
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
249 lineCount = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
250
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
251
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
252 for(int i=1; i<=5; i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
253 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
254 ptrGas = i + gasOffset;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
255 oxygen = stateUsed->diveSettings.gas[ptrGas].oxygen_percentage;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
256 helium = stateUsed->diveSettings.gas[ptrGas].helium_percentage;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
257
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
258 if(oxygen == 100)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
259 textpointer = snprintf(text,10,"Oxy");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
260 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
261 if((oxygen == 21) && (helium == 0))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
262 textpointer = snprintf(text,10,"Air");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
263 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
264 textpointer = snprintf(text,10,"%02i/%02i",oxygen,helium);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
265
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
266 if(editGasPage.pGasLine[ptrGas].note.ub.first)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
267 strcpy(&text[textpointer]," *");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
268
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
269 write_field_on_off(StMOG_DM_ActiveBase+i, 30, 500, ME_Y_LINE_BASE + (lineCount * ME_Y_LINE_STEP), &FontT48, text, stateUsed->diveSettings.gas[ptrGas].note.ub.active);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
270 lineCount++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
271 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
272
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
273 if(!ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
274 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
275 if(stateUsed->diveSettings.gas[0].note.ub.first)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
276 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
277 oxygen = stateUsed->diveSettings.gas[0].oxygen_percentage;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
278 helium = stateUsed->diveSettings.gas[0].helium_percentage;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
279 write_field_udigit(StMOG_DM_ExtraMix, 30, 800, ME_Y_LINE6, &FontT48, "##/## Extra Gas *", oxygen, helium, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
280 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
281 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
282 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
283 write_field_udigit(StMOG_DM_ExtraMix, 30, 800, ME_Y_LINE6, &FontT48, "##/## Extra Gas", 0, 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
284 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
285 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
286
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
287 for(int i=1; i<=5; i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
288 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
289 setEvent(StMOG_DM_ActiveBase + i,(uint32_t)OnAction_DM_Active);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
290 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
291
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
292 if(!ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
293 setEvent(StMOG_DM_ExtraMix,(uint32_t)OnAction_DM_Mix);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
294 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
295
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
296
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
297 uint8_t OnAction_DM_Active (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
298 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
299 uint8_t gasOffset, newActive;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
300
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
301 if(editGasPage.ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
302 gasOffset = NUM_OFFSET_DILUENT;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
303 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
304 gasOffset = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
305
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
306 editGasPage.gasID = editId + gasOffset - StMOG_DM_ActiveBase;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
307
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
308 if(editGasPage.pGasLine[editGasPage.gasID].note.ub.first)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
309 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
310
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
311 if(editGasPage.pGasLine[editGasPage.gasID].note.ub.active)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
312 newActive = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
313 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
314 newActive = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
315
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
316 tMenuEdit_set_on_off(editId, newActive);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
317 editGasPage.pGasLine[editGasPage.gasID].note.ub.active = newActive;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
318
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
319 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
320 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
321
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
322 /* only for OC */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
323 uint8_t OnAction_DM_Mix(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
324 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
325 uint8_t digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
326 uint32_t newOxygen, newHelium;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
327
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
328 if(action == ACTION_BUTTON_ENTER)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
329 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
330 return digitContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
331 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
332 if(action == ACTION_BUTTON_ENTER_FINAL)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
333 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
334 evaluateNewString(editId, &newOxygen, &newHelium, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
335
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
336 if(newOxygen < 5)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
337 newOxygen = 5;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
338 if(newOxygen == 99)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
339 newOxygen = 100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
340 if(newHelium > 95)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
341 newHelium = 95;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
342 if((newOxygen + newHelium) > 100)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
343 newOxygen = 100 - newHelium;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
344
288
ba229a012ac7 cleanup: no useless checks for simulator state
Jan Mulder <jlmulder@xs4all.nl>
parents: 149
diff changeset
345 //SDiveState * pDiveState = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
346
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
347 for(int i=1;i<=(2*NUM_GASES);i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
348 editGasPage.pGasLine[i].note.ub.first = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
349
735
39f48356049b Fixed invalid setpoint (0.0) used after switch from CCR to extra (OC) gas
heinrichsweikamp
parents: 699
diff changeset
350 tMEGas_check_switch_to_bailout();
288
ba229a012ac7 cleanup: no useless checks for simulator state
Jan Mulder <jlmulder@xs4all.nl>
parents: 149
diff changeset
351 setActualGas_ExtraGas(&stateUsedWrite->lifeData, newOxygen, newHelium, 0);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
352 return EXIT_TO_HOME;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
353 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
354 if(action == ACTION_BUTTON_NEXT)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
355 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
356 digitContentNew = digitContent + 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
357 if(digitContentNew > '9')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
358 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
359 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
360 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
361 if(action == ACTION_BUTTON_BACK)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
362 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
363 digitContentNew = digitContent - 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
364 if(digitContentNew < '0')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
365 digitContentNew = '9';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
366 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
367 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
368
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
369 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
370 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
371
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
372
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
373 void tMEGas_check_switch_to_bailout(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
374 {
662
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 647
diff changeset
375 if(isLoopMode(stateUsed->diveSettings.diveMode))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
376 {
288
ba229a012ac7 cleanup: no useless checks for simulator state
Jan Mulder <jlmulder@xs4all.nl>
parents: 149
diff changeset
377 stateUsedWrite->diveSettings.diveMode = DIVEMODE_OC;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
378 block_diluent_page();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
379 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
380 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
381
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
382
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
383 /* surface mode */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
384 void openEdit_Gas(uint8_t line, uint8_t ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
385 {
830
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
386 uint8_t gasID, oxygen, helium, depthDeco, active, first, depthMOD, deco, travel, inactive, off, decocalc;//, bottleSizeLiter;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
387
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
388 char text[32];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
389 char textMOD[32];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
390 uint8_t txtptr;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
391
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
392 if(line)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
393 set_globalState_Menu_Line(line);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
394 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
395 set_globalState_Menu_Line(NUM_GASES + 1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
396
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
397 if(ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
398 resetMenuEdit(CLUT_MenuPageGasCC);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
399 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
400 resetMenuEdit(CLUT_MenuPageGasOC);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
401
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
402 if(ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
403 gasID = line + NUM_OFFSET_DILUENT;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
404 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
405 gasID = line;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
406
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
407 editGasPage.ccr = ccr;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
408 editGasPage.gasID = gasID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
409 editGasPage.mod = calc_MOD(gasID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
410
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
411 SSettings *data = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
412 editGasPage.pGasLine = data->gas;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
413
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
414 oxygen = editGasPage.pGasLine[gasID].oxygen_percentage;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
415 if(oxygen > 99)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
416 oxygen = 99;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
417 helium = editGasPage.pGasLine[gasID].helium_percentage;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
418 depthDeco = editGasPage.pGasLine[gasID].depth_meter;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
419 //depthTravel = editGasPage.pGasLine[gasID].depth_meter_travel;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
420 active = editGasPage.pGasLine[gasID].note.ub.active;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
421 first = editGasPage.pGasLine[gasID].note.ub.first;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
422 deco = editGasPage.pGasLine[gasID].note.ub.deco;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
423 travel = editGasPage.pGasLine[gasID].note.ub.travel;
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
424 off = editGasPage.pGasLine[gasID].note.ub.off;
830
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
425 decocalc = editGasPage.pGasLine[gasID].note.ub.decocalc;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
426 //bottleSizeLiter = editGasPage.pGasLine[gasID].bottle_size_liter;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
427
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
428 if(active)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
429 inactive = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
430 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
431 inactive = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
432
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
433 depthMOD = editGasPage.mod;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
434
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
435 int i = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
436 if(gasID >= 10)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
437 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
438 i = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
439 strcpy(text, "\001" "Gas #10 X");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
440 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
441 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
442 strcpy(text, "\001" "Gas #0 X");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
443
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
444 if(ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
445 text[8+i] = TXT_Diluent_Gas_Edit;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
446 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
447 text[8+i] = TXT_OC_Gas_Edit;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
448
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
449 if(gasID >= 10)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
450 text[6+i] += gasID - 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
451 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
452 text[6+i] += gasID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
453
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
454 write_topline(text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
455 if(actual_menu_content == MENU_SURFACE)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
456 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
457 write_label_fix( 20, 800, ME_Y_LINE1, &FontT48, TXT_Mix);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
458 write_field_udigit(StMOG_Mix, 210, 400, ME_Y_LINE1, &FontT48, "##/##", (uint32_t)oxygen, (uint32_t)helium, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
459
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
460
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
461 text[1] = 0;
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
462 if(off)
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
463 text[0] = TXT_Off;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
464 else
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
465 if(inactive)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
466 text[0] = TXT_Inactive;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
467 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
468 if(first)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
469 text[0] = TXT_First;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
470 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
471 if(deco)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
472 text[0] = TXT_Deco;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
473 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
474 if(travel)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
475 text[0] = TXT_Travel;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
476 else
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
477 text[0] = TXT_Inactive;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
478
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
479 write_field_button(StMOG_GasType, 20, 710, ME_Y_LINE2, &FontT48, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
480
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
481
830
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
482 if((deco) || (travel && ccr))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
483 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
484 text[0] = TXT_ChangeDepth;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
485 text[1] = ' ';
830
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
486
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
487 if(deco)
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
488 {
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
489 text[2] = TXT_Deco;
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
490 }
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
491 else
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
492 {
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
493 text[2] = TXT_Travel;
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
494 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
495 text[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
496 write_label_var( 20 ,800, ME_Y_LINE3, &FontT48, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
497
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
498 textMOD[0] = '#';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
499 textMOD[1] = '#';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
500 textMOD[2] = '#';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
501 textMOD[3] = unit_depth_char1();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
502 textMOD[4] = unit_depth_char2();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
503 textMOD[5] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
504 write_field_udigit(StMOG_ChangeDepth, 600, 710, ME_Y_LINE3, &FontT48,textMOD, (uint32_t)unit_depth_integer(depthDeco), 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
505
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
506 txtptr = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
507 text[txtptr++] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
508 text[txtptr++] = TXT2BYTE_SetToMOD;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
509 text[txtptr++] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
510 write_field_button(StMOG_SetToMOD, 20, 710, ME_Y_LINE4, &FontT48,text);
830
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
511
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
512 if(deco)
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
513 {
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
514 txtptr = 0;
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
515 text[txtptr++] = TXT_2BYTE;
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
516 text[txtptr++] = TXT2BYTE_CalculateDeco;
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
517 text[txtptr++] = 0;
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
518
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
519 write_field_on_off(StMOG_CalcDeco, 20, 710, ME_Y_LINE5, &FontT48, text, decocalc);
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
520 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
521 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
522 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
523 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
524 txtptr = 0;
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
525 text[txtptr++] = '\031';
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
526 text[txtptr++] = TXT_ChangeDepth;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
527 text[txtptr++] = ' ';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
528 text[txtptr++] = TXT_Deco;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
529 text[txtptr++] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
530 write_label_var( 20 ,800, ME_Y_LINE3, &FontT48, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
531
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
532 txtptr = 0;
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
533 text[txtptr++] = '\031';
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
534 text[txtptr++] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
535 text[txtptr++] = TXT2BYTE_SetToMOD;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
536 text[txtptr++] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
537 write_label_var( 20 ,800, ME_Y_LINE4, &FontT48, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
538 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
539 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
540 txtptr = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
541 text[txtptr++] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
542 text[txtptr++] = TXT2BYTE_Bottle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
543 text[txtptr++] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
544 write_label_var( 20 ,800, ME_Y_LINE5, &FontT48, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
545 write_field_2digit(StMOG_Bottle, 600, 710, ME_Y_LINE5, &FontT48,"## ltr", (uint32_t)bottleSizeLiter, 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
546
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
547 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
548 stop_cursor_fields();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
549
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
550 textMOD[0] = '#';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
551 textMOD[1] = '#';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
552 textMOD[2] = '#';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
553 textMOD[3] = unit_depth_char1();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
554 textMOD[4] = unit_depth_char2();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
555 textMOD[5] = ' ';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
556 textMOD[6] = 'M';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
557 textMOD[7] = 'O';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
558 textMOD[8] = 'D';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
559 textMOD[9] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
560
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
561 write_field_udigit(StMOG_MOD, 401, 780, ME_Y_LINE1, &FontT48, textMOD, (uint32_t)unit_depth_integer(depthMOD), 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
562 // write_field_udigit(StMOG_MOD, 401, 780, ME_Y_LINE1, &FontT48, "###m MOD", (uint32_t)depthMOD, 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
563
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
564 setEvent(StMOG_Mix, (uint32_t)OnAction_Mix);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
565 setEvent(StMOG_GasType, (uint32_t)OnAction_GasType);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
566
830
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
567 if((deco) || (travel && ccr))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
568 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
569 setEvent(StMOG_ChangeDepth, (uint32_t)OnAction_ChangeDepth);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
570 setEvent(StMOG_SetToMOD, (uint32_t)OnAction_SetToMOD);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
571 }
830
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
572 if(deco)
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
573 {
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
574 setEvent(StMOG_CalcDeco, (uint32_t)OnAction_CalcDeco);
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
575 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
576 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
577 setEvent(StMOG_Bottle, (uint32_t)OnAction_BottleSize);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
578 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
579 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
580 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
581 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
582
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
583 /* surface mode */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
584 void openEdit_GasType(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
585 {
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
586 uint8_t gasID, active, first, deco, travel, inactive, off;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
587 char text[32];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
588
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
589
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
590 if(editGasPage.ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
591 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
592 resetMenuEdit(CLUT_MenuPageGasCC);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
593 setBackMenu((uint32_t)openEdit_GasCC, editGasPage.gasID - NUM_OFFSET_DILUENT, 2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
594 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
595 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
596 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
597 resetMenuEdit(CLUT_MenuPageGasOC);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
598 setBackMenu((uint32_t)openEdit_GasOC, editGasPage.gasID, 2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
599 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
600
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
601 gasID = editGasPage.gasID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
602 active = editGasPage.pGasLine[gasID].note.ub.active;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
603 first = editGasPage.pGasLine[gasID].note.ub.first;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
604 deco = editGasPage.pGasLine[gasID].note.ub.deco;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
605 travel = editGasPage.pGasLine[gasID].note.ub.travel;
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
606 off = editGasPage.pGasLine[gasID].note.ub.off;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
607
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
608 if((active) || (off))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
609 inactive = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
610 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
611 inactive = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
612
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
613
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
614 /* header */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
615 int i = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
616 if(gasID >= 10)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
617 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
618 i = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
619 strcpy(text, "\001" "Gas #10 X");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
620 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
621 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
622 strcpy(text, "\001" "Gas #0 X");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
623
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
624 if(editGasPage.ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
625 text[8+i] = TXT_Diluent_Gas_Edit;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
626 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
627 text[8+i] = TXT_OC_Gas_Edit;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
628
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
629 if(gasID >= 10)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
630 text[6+i] += gasID - 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
631 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
632 text[6+i] += gasID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
633 write_topline(text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
634
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
635 text[1] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
636 text[0] = TXT_First;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
637 write_field_on_off(StMOG_First, 30, 400, ME_Y_LINE1, &FontT48, text, first);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
638
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
639 text[0] = TXT_Deco;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
640 write_field_on_off(StMOG_Deco, 30, 400, ME_Y_LINE2, &FontT48, text, deco);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
641
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
642 text[0] = TXT_Travel;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
643 write_field_on_off(StMOG_Travel, 30, 400, ME_Y_LINE3, &FontT48, text, travel);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
644
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
645 text[0] = TXT_Inactive;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
646 write_field_on_off(StMOG_Inactive, 30, 400, ME_Y_LINE4, &FontT48, text, inactive);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
647
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
648 #ifdef ENABLE_UNUSED_GAS_HIDING
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
649 text[0] = TXT_Off;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
650 write_field_on_off(StMOG_Off, 30, 400, ME_Y_LINE5, &FontT48, text, off);
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
651 #endif
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
652
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
653 setEvent(StMOG_First, (uint32_t)OnAction_First);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
654 setEvent(StMOG_Deco, (uint32_t)OnAction_Deco);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
655 setEvent(StMOG_Travel, (uint32_t)OnAction_Travel);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
656 setEvent(StMOG_Inactive, (uint32_t)OnAction_Inactive);
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
657 #ifdef ENABLE_UNUSED_GAS_HIDING
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
658 setEvent(StMOG_Off, (uint32_t)OnAction_Off);
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
659 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
660
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
661 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
662 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
663
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
664 uint8_t OnAction_GasType(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
665 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
666 openEdit_GasType();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
667 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
668 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
669
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
670 uint8_t OnAction_Mix(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
671 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
672 uint8_t digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
673 uint32_t newOxygen, newHelium;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
674
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
675 if(action == ACTION_BUTTON_ENTER)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
676 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
677 return digitContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
678 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
679 if(action == ACTION_BUTTON_ENTER_FINAL)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
680 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
681 evaluateNewString(editId, &newOxygen, &newHelium, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
682
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
683 if(newOxygen < 5)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
684 newOxygen = 5;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
685 if(newOxygen == 99)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
686 newOxygen = 100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
687 if(newHelium > 95)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
688 newHelium = 95;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
689 if((newOxygen + newHelium) > 100)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
690 newOxygen = 100 - newHelium;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
691
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
692 editGasPage.pGasLine[editGasPage.gasID].oxygen_percentage = newOxygen;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
693 editGasPage.pGasLine[editGasPage.gasID].helium_percentage = newHelium;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
694 editGasPage.mod = calc_MOD(editGasPage.gasID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
695
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
696 if(newOxygen == 100)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
697 newOxygen = 99;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
698
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
699 tMenuEdit_newInput(editId, newOxygen, newHelium, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
700 tMenuEdit_newInput(StMOG_MOD, (uint32_t)unit_depth_integer(editGasPage.mod), 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
701
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
702 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
703 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
704 if(action == ACTION_BUTTON_NEXT)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
705 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
706 digitContentNew = digitContent + 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
707 if(digitContentNew > '9')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
708 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
709 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
710 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
711 if(action == ACTION_BUTTON_BACK)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
712 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
713 digitContentNew = digitContent - 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
714 if(digitContentNew < '0')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
715 digitContentNew = '9';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
716 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
717 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
718
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
719 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
720 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
721
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
722 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
723 uint8_t OnAction_DefaultMix(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
724 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
725 uint32_t newOxygen, newHelium;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
726 uint8_t depthDEFAULT;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
727 char text[32];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
728
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
729 newOxygen = 21;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
730 newHelium = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
731
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
732 editGasPage.pGasLine[editGasPage.gasID].oxygen_percentage = newOxygen;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
733 editGasPage.pGasLine[editGasPage.gasID].helium_percentage = newHelium;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
734
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
735 tMenuEdit_newInput(StMOG_Mix, newOxygen, newHelium, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
736
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
737 depthDEFAULT = calc_MOD(editGasPage.gasID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
738 create_text_with_u8(text, "", depthDEFAULT, "m MOD");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
739 tMenuEdit_newButtonText(StMOG_DefaultDepth, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
740
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
741 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
742 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
743
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
744 uint8_t OnAction_ToggleDepth(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
745 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
746 uint8_t depth;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
747 uint32_t newDefaultDepth;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
748 char text[32];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
749
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
750 if(editGasPage.depth_mode == 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
751 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
752 editGasPage.depth_mode = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
753 depth = editGasPage.pGasLine[editGasPage.gasID].depth_meter_travel;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
754 newDefaultDepth = calc_MinOD(editGasPage.gasID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
755 create_text_with_u8(text, "", newDefaultDepth, "m Min");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
756 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
757 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
758 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
759 editGasPage.depth_mode = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
760 depth = editGasPage.pGasLine[editGasPage.gasID].depth_meter;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
761 newDefaultDepth = calc_MOD(editGasPage.gasID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
762 create_text_with_u8(text, "", newDefaultDepth, "m MOD");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
763 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
764 tMenuEdit_newInput(StMOG_Depth, (uint32_t)depth, 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
765 tMenuEdit_newButtonText(StMOG_DefaultDepth, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
766
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
767 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
768 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
769
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
770
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
771 uint8_t OnAction_Depth(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
772 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
773 uint8_t digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
774 uint32_t newDepth;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
775
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
776 if(action == ACTION_BUTTON_ENTER)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
777 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
778 return digitContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
779 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
780 if(action == ACTION_BUTTON_ENTER_FINAL)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
781 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
782 evaluateNewString(editId, &newDepth, 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
783 if(newDepth > 255)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
784 newDepth = 255;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
785 if(editGasPage.depth_mode == 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
786 editGasPage.pGasLine[editGasPage.gasID].depth_meter = newDepth;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
787 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
788 editGasPage.pGasLine[editGasPage.gasID].depth_meter_travel = newDepth;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
789 tMenuEdit_newInput(editId, newDepth, 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
790 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
791 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
792 if(action == ACTION_BUTTON_NEXT)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
793 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
794 digitContentNew = digitContent + 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
795 if(digitContentNew > '9')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
796 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
797 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
798 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
799 if(action == ACTION_BUTTON_BACK)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
800 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
801 digitContentNew = digitContent - 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
802 if(digitContentNew < '0')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
803 digitContentNew = '9';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
804 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
805 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
806
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
807 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
808 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
809
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
810
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
811 uint8_t OnAction_DefaultDepth(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
812 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
813 uint32_t newDepth;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
814
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
815 if(editGasPage.depth_mode == 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
816 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
817 newDepth = calc_MOD(editGasPage.gasID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
818 editGasPage.pGasLine[editGasPage.gasID].depth_meter = newDepth;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
819 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
820 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
821 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
822 newDepth = calc_MinOD(editGasPage.gasID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
823 editGasPage.pGasLine[editGasPage.gasID].depth_meter_travel = newDepth;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
824 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
825
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
826 tMenuEdit_newInput(StMOG_Depth, newDepth, 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
827
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
828 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
829 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
830
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
831
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
832 uint8_t OnAction_Active(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
833 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
834 uint8_t active, first;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
835
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
836 first = editGasPage.pGasLine[editGasPage.gasID].note.ub.first;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
837
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
838 if(first)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
839 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
840
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
841 active = editGasPage.pGasLine[editGasPage.gasID].note.ub.active;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
842
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
843 if(active)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
844 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
845 active = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
846 editGasPage.pGasLine[editGasPage.gasID].note.ub.active = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
847 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
848 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
849 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
850 active = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
851 editGasPage.pGasLine[editGasPage.gasID].note.ub.active = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
852 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
853 tMenuEdit_set_on_off(editId, active);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
854
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
855 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
856 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
857 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
858
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
859
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
860 uint8_t OnAction_First(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
861 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
862 uint8_t first, i, gasOne;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
863
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
864 if(editGasPage.ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
865 gasOne = 1 + NUM_OFFSET_DILUENT;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
866 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
867 gasOne = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
868
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
869 first = editGasPage.pGasLine[editGasPage.gasID].note.ub.first;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
870
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
871 if(!first)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
872 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
873 for(i=gasOne;i<NUM_GASES + gasOne;i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
874 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
875 if(editGasPage.pGasLine[i].note.ub.first)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
876 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
877 editGasPage.pGasLine[i].note.ub.first = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
878 editGasPage.pGasLine[i].note.ub.active = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
879 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
880 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
881 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
882
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
883 editGasPage.pGasLine[editGasPage.gasID].note.ub.first = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
884 editGasPage.pGasLine[editGasPage.gasID].note.ub.active = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
885 editGasPage.pGasLine[editGasPage.gasID].note.ub.deco = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
886 editGasPage.pGasLine[editGasPage.gasID].note.ub.travel = 0;
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
887 editGasPage.pGasLine[editGasPage.gasID].note.ub.off = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
888 editGasPage.pGasLine[editGasPage.gasID].depth_meter = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
889 editGasPage.pGasLine[editGasPage.gasID].depth_meter_travel = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
890
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
891 tMenuEdit_set_on_off(StMOG_First, 1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
892 tMenuEdit_set_on_off(StMOG_Deco, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
893 tMenuEdit_set_on_off(StMOG_Travel, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
894 tMenuEdit_set_on_off(StMOG_Inactive, 0);
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
895 #ifdef ENABLE_UNUSED_GAS_HIDING
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
896 tMenuEdit_set_on_off(StMOG_Off, 0);
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
897 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
898
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
899 if(!first)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
900 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
901 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
902 return UPDATE_AND_EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
903 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
904
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
905
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
906 uint8_t OnAction_Deco(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
907 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
908 uint8_t first, deco, gasOne;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
909
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
910 if(editGasPage.ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
911 gasOne = 1 + NUM_OFFSET_DILUENT;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
912 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
913 gasOne = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
914
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
915 first = editGasPage.pGasLine[editGasPage.gasID].note.ub.first;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
916 deco = editGasPage.pGasLine[editGasPage.gasID].note.ub.deco;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
917
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
918 if(first)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
919 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
920 if(editGasPage.gasID == gasOne)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
921 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
922 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
923 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
924 editGasPage.pGasLine[gasOne].note.ub.first = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
925 editGasPage.pGasLine[gasOne].note.ub.active = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
926 editGasPage.pGasLine[gasOne].note.ub.deco = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
927 editGasPage.pGasLine[gasOne].note.ub.travel = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
928 editGasPage.pGasLine[gasOne].depth_meter = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
929 editGasPage.pGasLine[gasOne].depth_meter_travel = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
930 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
931 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
932
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
933 editGasPage.pGasLine[editGasPage.gasID].note.ub.first = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
934 editGasPage.pGasLine[editGasPage.gasID].note.ub.active = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
935 editGasPage.pGasLine[editGasPage.gasID].note.ub.deco = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
936 editGasPage.pGasLine[editGasPage.gasID].note.ub.travel = 0;
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
937 editGasPage.pGasLine[editGasPage.gasID].note.ub.off = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
938 editGasPage.pGasLine[editGasPage.gasID].depth_meter_travel = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
939 editGasPage.mod = calc_MOD(editGasPage.gasID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
940 editGasPage.pGasLine[editGasPage.gasID].depth_meter = editGasPage.mod;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
941
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
942 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
943 if(deco)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
944 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
945 editGasPage.pGasLine[editGasPage.gasID].depth_meter = editGasPage.mod;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
946 tMenuEdit_newInput(StMOG_ChangeDepth, editGasPage.pGasLine[editGasPage.gasID].depth_meter, 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
947 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
948 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
949
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
950 tMenuEdit_set_on_off(StMOG_First, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
951 tMenuEdit_set_on_off(StMOG_Deco, 1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
952 tMenuEdit_set_on_off(StMOG_Travel, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
953 tMenuEdit_set_on_off(StMOG_Inactive, 0);
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
954 #ifdef ENABLE_UNUSED_GAS_HIDING
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
955 tMenuEdit_set_on_off(StMOG_Off, 0);
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
956 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
957
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
958 if(!deco)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
959 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
960 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
961 return UPDATE_AND_EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
962 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
963
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
964
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
965 uint8_t OnAction_Travel(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
966 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
967 uint8_t first, travel, gasOne;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
968
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
969 if(editGasPage.ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
970 gasOne = 1 + NUM_OFFSET_DILUENT;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
971 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
972 gasOne = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
973
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
974 first = editGasPage.pGasLine[editGasPage.gasID].note.ub.first;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
975 travel = editGasPage.pGasLine[editGasPage.gasID].note.ub.travel;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
976
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
977 if(first)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
978 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
979 if(editGasPage.gasID == gasOne)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
980 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
981 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
982 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
983 editGasPage.pGasLine[gasOne].note.ub.first = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
984 editGasPage.pGasLine[gasOne].note.ub.active = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
985 editGasPage.pGasLine[gasOne].note.ub.deco = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
986 editGasPage.pGasLine[gasOne].note.ub.travel = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
987 editGasPage.pGasLine[gasOne].depth_meter = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
988 editGasPage.pGasLine[gasOne].depth_meter_travel = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
989 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
990 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
991
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
992 editGasPage.pGasLine[editGasPage.gasID].note.ub.first = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
993 editGasPage.pGasLine[editGasPage.gasID].note.ub.active = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
994 editGasPage.pGasLine[editGasPage.gasID].note.ub.deco = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
995 editGasPage.pGasLine[editGasPage.gasID].note.ub.travel = 1;
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
996 editGasPage.pGasLine[editGasPage.gasID].note.ub.off = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
997 editGasPage.pGasLine[editGasPage.gasID].depth_meter = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
998 editGasPage.pGasLine[editGasPage.gasID].depth_meter_travel = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
999
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1000 tMenuEdit_set_on_off(StMOG_First, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1001 tMenuEdit_set_on_off(StMOG_Deco, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1002 tMenuEdit_set_on_off(StMOG_Travel, 1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1003 tMenuEdit_set_on_off(StMOG_Inactive, 0);
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1004 #ifdef ENABLE_UNUSED_GAS_HIDING
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1005 tMenuEdit_set_on_off(StMOG_Off, 0);
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1006 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1007
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1008 if(!travel)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1009 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1010 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1011 return UPDATE_AND_EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1012 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1013
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1014
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1015 uint8_t OnAction_Inactive(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1016 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1017 uint8_t first, inactive, gasOne;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1018
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1019 if(editGasPage.ccr)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1020 gasOne = 1 + NUM_OFFSET_DILUENT;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1021 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1022 gasOne = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1023
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1024 first = editGasPage.pGasLine[editGasPage.gasID].note.ub.first;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1025
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1026 if(editGasPage.pGasLine[editGasPage.gasID].note.ub.active)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1027 inactive = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1028 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1029 inactive = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1030
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1031 if(first)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1032 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1033 if(editGasPage.gasID == gasOne)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1034 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1035 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1036 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1037 editGasPage.pGasLine[gasOne].note.ub.first = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1038 editGasPage.pGasLine[gasOne].note.ub.active = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1039 editGasPage.pGasLine[gasOne].note.ub.deco = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1040 editGasPage.pGasLine[gasOne].note.ub.travel = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1041 editGasPage.pGasLine[gasOne].depth_meter = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1042 editGasPage.pGasLine[gasOne].depth_meter_travel = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1043 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1044 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1045
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1046 editGasPage.pGasLine[editGasPage.gasID].note.ub.first = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1047 editGasPage.pGasLine[editGasPage.gasID].note.ub.active = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1048 editGasPage.pGasLine[editGasPage.gasID].note.ub.deco = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1049 editGasPage.pGasLine[editGasPage.gasID].note.ub.travel = 0;
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1050 editGasPage.pGasLine[editGasPage.gasID].note.ub.off = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1051
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1052 tMenuEdit_set_on_off(StMOG_First, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1053 tMenuEdit_set_on_off(StMOG_Deco, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1054 tMenuEdit_set_on_off(StMOG_Travel, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1055 tMenuEdit_set_on_off(StMOG_Inactive, 1);
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1056 #ifdef ENABLE_UNUSED_GAS_HIDING
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1057 tMenuEdit_set_on_off(StMOG_Off, 0);
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1058 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1059 if(!inactive)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1060 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1061 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1062 return UPDATE_AND_EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1063 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1064
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1065 uint8_t OnAction_Off (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1066 {
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1067 uint8_t first, off, gasOne;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1068
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1069 if(editGasPage.ccr)
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1070 gasOne = 1 + NUM_OFFSET_DILUENT;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1071 else
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1072 gasOne = 1;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1073
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1074 first = editGasPage.pGasLine[editGasPage.gasID].note.ub.first;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1075 off =editGasPage.pGasLine[editGasPage.gasID].note.ub.off;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1076
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1077 if(first)
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1078 {
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1079 if(editGasPage.gasID == gasOne)
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1080 return UNSPECIFIC_RETURN;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1081 else
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1082 {
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1083 editGasPage.pGasLine[gasOne].note.ub.first = 1;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1084 editGasPage.pGasLine[gasOne].note.ub.active = 1;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1085 editGasPage.pGasLine[gasOne].note.ub.deco = 0;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1086 editGasPage.pGasLine[gasOne].note.ub.travel = 0;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1087 editGasPage.pGasLine[gasOne].depth_meter = 0;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1088 editGasPage.pGasLine[gasOne].depth_meter_travel = 0;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1089 }
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1090 }
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1091
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1092 editGasPage.pGasLine[editGasPage.gasID].note.ub.first = 0;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1093 editGasPage.pGasLine[editGasPage.gasID].note.ub.active = 0;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1094 editGasPage.pGasLine[editGasPage.gasID].note.ub.deco = 0;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1095 editGasPage.pGasLine[editGasPage.gasID].note.ub.travel = 0;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1096 editGasPage.pGasLine[editGasPage.gasID].note.ub.off = 1;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1097
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1098 tMenuEdit_set_on_off(StMOG_First, 0);
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1099 tMenuEdit_set_on_off(StMOG_Deco, 0);
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1100 tMenuEdit_set_on_off(StMOG_Travel, 0);
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1101 tMenuEdit_set_on_off(StMOG_Inactive, 0);
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1102 #ifdef ENABLE_UNUSED_GAS_HIDING
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1103 tMenuEdit_set_on_off(StMOG_Off, 1);
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1104 #endif
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1105 if(!off)
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1106 return UPDATE_DIVESETTINGS;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1107 else
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1108 return UPDATE_AND_EXIT_TO_MENU;
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 344
diff changeset
1109 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1110
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1111 uint8_t OnAction_SetToMOD (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1112 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1113 uint8_t newChangeDepth = editGasPage.mod;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1114
830
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1115 if(editGasPage.pGasLine[editGasPage.gasID].note.ub.travel)
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1116 {
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1117 editGasPage.pGasLine[editGasPage.gasID].depth_meter_travel= newChangeDepth;
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1118 }
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1119 else
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1120 {
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1121 editGasPage.pGasLine[editGasPage.gasID].depth_meter = newChangeDepth;
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1122 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1123 tMenuEdit_newInput(StMOG_ChangeDepth, unit_depth_integer(newChangeDepth), 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1124
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1125 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1126 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1127
830
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1128 uint8_t OnAction_CalcDeco (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1129 {
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1130 if(editGasPage.pGasLine[editGasPage.gasID].note.ub.decocalc)
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1131 {
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1132 editGasPage.pGasLine[editGasPage.gasID].note.ub.decocalc = 0;
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1133 }
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1134 else
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1135 {
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1136 editGasPage.pGasLine[editGasPage.gasID].note.ub.decocalc = 1;
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1137 }
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1138 tMenuEdit_set_on_off(editId, editGasPage.pGasLine[editGasPage.gasID].note.ub.decocalc);
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1139
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1140 return UPDATE_DIVESETTINGS;
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1141 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1142
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1143 uint8_t OnAction_ChangeDepth(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1144 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1145 uint8_t digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1146 uint32_t newDepth;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1147
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1148 if(action == ACTION_BUTTON_ENTER)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1149 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1150 return digitContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1151 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1152 if(action == ACTION_BUTTON_ENTER_FINAL)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1153 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1154 evaluateNewString(editId, &newDepth, 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1155 if(settingsGetPointer()->nonMetricalSystem != 0) // new hw 170703
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1156 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1157 newDepth += 2; // f�r rundung
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1158 newDepth = (newDepth * 3) / 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1159 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1160 if(newDepth > 255)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1161 newDepth = 255;
830
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1162
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1163 if(editGasPage.pGasLine[editGasPage.gasID].note.ub.travel)
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1164 {
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1165 editGasPage.pGasLine[editGasPage.gasID].depth_meter_travel = newDepth;
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1166 }
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1167 else
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1168 {
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1169 editGasPage.pGasLine[editGasPage.gasID].depth_meter = newDepth;
b7d93ff6b3b2 Added selection if an active gas shall be used for deco calculation or not:
Ideenmodellierer
parents: 773
diff changeset
1170 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1171 tMenuEdit_newInput(editId, unit_depth_integer(newDepth), 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1172 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1173 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1174 if(action == ACTION_BUTTON_NEXT)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1175 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1176 digitContentNew = digitContent + 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1177 if(digitContentNew > '9')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1178 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1179 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1180 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1181 if(action == ACTION_BUTTON_BACK)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1182 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1183 digitContentNew = digitContent - 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1184 if(digitContentNew < '0')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1185 digitContentNew = '9';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1186 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1187 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1188
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1189 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1190 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1191
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1192
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1193 uint8_t OnAction_BottleSize (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1194 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1195 int8_t digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1196 uint32_t newBottleSize;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1197 // const uint8_t validSize = {4,7,8,10,12,15,16,17,20,24,30,40,255};
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1198 const uint8_t validSize[] = {40,30,24,20,17,16,15,12,10,8,7,4,0};
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1199
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1200 if(action == ACTION_BUTTON_ENTER)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1201 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1202 return digitContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1203 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1204 if(action == ACTION_BUTTON_ENTER_FINAL)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1205 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1206 evaluateNewString(editId, &newBottleSize, 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1207
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1208 if(newBottleSize > validSize[0])
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1209 newBottleSize = validSize[0];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1210
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1211 editGasPage.pGasLine[editGasPage.gasID].bottle_size_liter = newBottleSize;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1212
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1213 tMenuEdit_newInput(editId, newBottleSize, 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1214 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1215 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1216 if(action == ACTION_BUTTON_NEXT)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1217 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1218 // new here for ease of comparison
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1219 digitContentNew = digitContent - '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1220
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1221 if(digitContentNew > 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1222 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1223 int i = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1224 while(digitContentNew < validSize[i])
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1225 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1226 i++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1227 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1228 if(i == 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1229 digitContentNew = 0; // off
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1230 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1231 digitContentNew = validSize[i-1];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1232 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1233 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1234 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1235 int i = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1236 while(validSize[i] != 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1237 i++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1238 digitContentNew = validSize[i-1]; // smallest tank
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1239 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1240 digitContentNew += '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1241 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1242 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1243 if(action == ACTION_BUTTON_BACK)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1244 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1245 // new here for ease of comparison
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1246 digitContentNew = digitContent - '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1247 if(digitContentNew > 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1248 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1249 int i = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1250 while(digitContentNew < validSize[i])
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1251 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1252 i++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1253 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1254 if(validSize[i] == 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1255 digitContentNew = 0; // off
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1256 else if(validSize[i+1] == 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1257 digitContentNew = 0; // off
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1258 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1259 digitContentNew = validSize[i+1];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1260 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1261 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1262 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1263 digitContentNew = validSize[0];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1264 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1265 digitContentNew += '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1266
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1267 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1268 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1269 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1270 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1271
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1272
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1273 /* Private functions ---------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1274
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1275
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1276 void create_text_with_u8(char *text, const char *text1, uint8_t inputU8, const char *text2)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1277 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1278 uint8_t digit1, digit2, digit3, count;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1279
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1280 count = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1281
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1282 if(*text1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1283 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1284 strcpy(&text[count], text1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1285 count = strlen(text1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1286 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1287
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1288 digit1 = inputU8 / 100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1289 inputU8 -= digit1 * 100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1290 digit2 = inputU8 / 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1291 inputU8 -= digit2 * 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1292 digit3 = inputU8;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1293 if(digit1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1294 text[count++] = '0' + digit1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1295 if(count || digit2)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1296 text[count++] = '0' + digit2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1297 text[count++] = '0' + digit3;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1298
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1299 if(*text2)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1300 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1301 strcpy(&text[count], text2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1302 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1303 }