Mercurial > public > ostc4
annotate Discovery/Src/tMenuEditHardware.c @ 733:7b0e020513e3
Optical sensor as default:
The optical sensor is now set as default configuration ensuring that the external interface is switched off per default. Otherwise power would be consumed e.g. by the ADC even no sensors are connectet because OSTC is used for OC dives only.
author | Ideenmodellierer |
---|---|
date | Sun, 15 Jan 2023 21:48:34 +0100 |
parents | 9c65d226f4f6 |
children | 190e5814b2f5 |
rev | line source |
---|---|
38 | 1 /////////////////////////////////////////////////////////////////////////////// |
2 /// -*- coding: UTF-8 -*- | |
3 /// | |
4 /// \file Discovery/Src/tMenuEditHardware.c | |
5 /// \brief BUTTONS | |
6 /// \author heinrichs weikamp gmbh | |
7 /// \date 15-Sept-2016 | |
8 /// | |
9 /// \details | |
10 /// | |
11 /// $Id$ | |
12 /////////////////////////////////////////////////////////////////////////////// | |
13 /// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh | |
14 /// | |
15 /// This program is free software: you can redistribute it and/or modify | |
16 /// it under the terms of the GNU General Public License as published by | |
17 /// the Free Software Foundation, either version 3 of the License, or | |
18 /// (at your option) any later version. | |
19 /// | |
20 /// This program is distributed in the hope that it will be useful, | |
21 /// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
22 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
23 /// GNU General Public License for more details. | |
24 /// | |
25 /// You should have received a copy of the GNU General Public License | |
26 /// along with this program. If not, see <http://www.gnu.org/licenses/>. | |
27 ////////////////////////////////////////////////////////////////////////////// | |
28 | |
29 /* Includes ------------------------------------------------------------------*/ | |
30 #include "tMenuEditHardware.h" | |
31 | |
32 #include "externCPU2bootloader.h" | |
33 #include "gfx_fonts.h" | |
34 #include "ostc.h" | |
35 #include "tCCR.h" | |
36 #include "tMenuEdit.h" | |
130
b7689d9e888a
Minor changes to improved code quality and to eliminate warnings
Ideenmodellierer
parents:
115
diff
changeset
|
37 #include "tHome.h" |
b7689d9e888a
Minor changes to improved code quality and to eliminate warnings
Ideenmodellierer
parents:
115
diff
changeset
|
38 #include "tInfo.h" |
b7689d9e888a
Minor changes to improved code quality and to eliminate warnings
Ideenmodellierer
parents:
115
diff
changeset
|
39 #include "tInfoLog.h" |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
40 #include "tInfoSensor.h" |
394
717f335cc5c9
Added start of module configuration after eache modul power on
ideenmodellierer
parents:
314
diff
changeset
|
41 #include "tComm.h" |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
42 #include "data_exchange_main.h" |
38 | 43 |
130
b7689d9e888a
Minor changes to improved code quality and to eliminate warnings
Ideenmodellierer
parents:
115
diff
changeset
|
44 extern void tM_build_pages(void); |
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
45 |
38 | 46 /* Private function prototypes -----------------------------------------------*/ |
47 void openEdit_Bluetooth(void); | |
48 void openEdit_Compass(void); | |
49 void openEdit_O2Sensors(void); | |
50 void openEdit_Brightness(void); | |
51 //void openEdit_Luftintegration(void); | |
52 void openEdit_ButtonSens(void); | |
110
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
53 void openEdit_FlipDisplay(void); |
38 | 54 |
55 /* Announced function prototypes -----------------------------------------------*/ | |
56 uint8_t OnAction_Compass (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | |
57 uint8_t OnAction_Bearing (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | |
58 uint8_t OnAction_BearingClear (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | |
539
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
59 uint8_t OnAction_InertiaLevel (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
38 | 60 //uint8_t OnAction_ExitHardw (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
61 uint8_t OnAction_Sensor1 (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | |
62 uint8_t OnAction_Sensor2 (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | |
63 uint8_t OnAction_Sensor3 (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
64 uint8_t OnAction_O2_Calibrate (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
65 uint8_t OnAction_O2_Source (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
66 uint8_t OnAction_Sensor_Info (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
67 uint8_t OnAction_Sensor_Detect (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
38 | 68 uint8_t OnAction_Button (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
69 uint8_t OnAction_ButtonBalance (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | |
605 | 70 // not required uint8_t OnAction_Bluetooth (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
38 | 71 |
72 /* Exported functions --------------------------------------------------------*/ | |
73 | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
74 |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
75 #define O2_CALIB_FRACTION_AIR (0.209F) |
605 | 76 #define O2_CALIB_FRACTION_O2 (0.98F) |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
77 |
584 | 78 static uint8_t O2_calib_gas = 21; |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
79 static uint8_t haveSensorInfo = 0; |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
80 |
38 | 81 void openEdit_Hardware(uint8_t line) |
82 { | |
83 set_globalState_Menu_Line(line); | |
84 | |
85 switch(line) | |
86 { | |
87 case 1: | |
88 default: | |
89 openEdit_Bluetooth(); | |
90 break; | |
91 case 2: | |
708
7e3bf2c0cd40
Menu cleanup rebreather specific settings:
Ideenmodellierer
parents:
703
diff
changeset
|
92 resetMenuEdit(CLUT_MenuPageHardware); |
38 | 93 openEdit_Compass(); |
94 break; | |
95 case 3: | |
96 openEdit_O2Sensors(); | |
97 break; | |
98 case 4: | |
99 openEdit_Brightness(); | |
100 break; | |
101 case 5: | |
708
7e3bf2c0cd40
Menu cleanup rebreather specific settings:
Ideenmodellierer
parents:
703
diff
changeset
|
102 resetMenuEdit(CLUT_MenuPageHardware); |
38 | 103 openEdit_ButtonSens(); |
104 break; | |
105 case 6: | |
138 | 106 openEdit_FlipDisplay(); |
38 | 107 break; |
108 } | |
109 } | |
110 | |
111 /* Private functions ---------------------------------------------------------*/ | |
112 void openEdit_Bluetooth(void) | |
113 { | |
114 /* does not work like this resetEnterPressedToStateBeforeButtonAction(); */ | |
115 | |
116 SSettings *pSettings = settingsGetPointer(); | |
117 | |
118 if(pSettings->bluetoothActive == 0) | |
119 { | |
120 pSettings->bluetoothActive = 1; | |
121 MX_Bluetooth_PowerOn(); | |
394
717f335cc5c9
Added start of module configuration after eache modul power on
ideenmodellierer
parents:
314
diff
changeset
|
122 tComm_StartBlueModConfig(); |
38 | 123 } |
124 else | |
125 { | |
126 pSettings->bluetoothActive = 0; | |
127 MX_Bluetooth_PowerOff(); | |
128 } | |
129 exitMenuEdit_to_Menu_with_Menu_Update_do_not_write_settings_for_this_only(); | |
130 } | |
131 | |
110
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
132 void openEdit_FlipDisplay(void) |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
133 { |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
134 /* does not work like this resetEnterPressedToStateBeforeButtonAction(); */ |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
135 |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
136 SSettings *pSettings = settingsGetPointer(); |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
137 |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
138 if(pSettings->FlipDisplay == 0) |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
139 { |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
140 pSettings->FlipDisplay = 1; |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
141 } |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
142 else |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
143 { |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
144 pSettings->FlipDisplay = 0; |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
145 } |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
146 /* reinit all views */ |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
147 tHome_init(); |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
148 tI_init(); |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
149 tM_init(); |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
150 tMenuEdit_init(); |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
151 tInfoLog_init(); |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
152 tM_build_pages(); |
314 | 153 GFX_build_logo_frame(); |
154 GFX_build_hw_background_frame(); | |
110
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
155 |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
156 exitEditWithUpdate(); |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
157 exitMenuEdit_to_Home(); |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
158 } |
38 | 159 |
160 void refresh_CompassEdit(void) | |
161 { | |
162 uint16_t heading; | |
163 char text[32]; | |
539
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
164 uint8_t textIndex = 0; |
38 | 165 |
166 text[0] = '\001'; | |
167 text[1] = TXT_2BYTE; | |
168 text[2] = TXT2BYTE_Compass; | |
169 text[3] = 0; | |
170 write_topline(text); | |
171 | |
539
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
172 if(settingsGetPointer()->compassInertia) |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
173 { |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
174 heading = (uint16_t)compass_getCompensated(); |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
175 } |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
176 else |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
177 { |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
178 heading = (uint16_t)stateUsed->lifeData.compass_heading; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
179 } |
38 | 180 snprintf(text,32,"\001%03i`",heading); |
181 write_label_var( 0, 800, ME_Y_LINE1, &FontT54, text); | |
182 | |
183 tMenuEdit_refresh_field(StMHARD2_Compass_SetCourse); | |
184 tMenuEdit_refresh_field(StMHARD2_Compass_Calibrate); | |
185 tMenuEdit_refresh_field(StMHARD2_Compass_ResetCourse); | |
539
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
186 text[textIndex++] = TXT_2BYTE; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
187 text[textIndex++] = TXT2BYTE_CompassInertia; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
188 text[textIndex++] = ':'; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
189 text[textIndex++] = ' '; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
190 text[textIndex++] = '0' + settingsGetPointer()->compassInertia; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
191 |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
192 write_label_var(30, 800, ME_Y_LINE5, &FontT48, text); |
38 | 193 |
194 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); | |
195 } | |
196 | |
197 | |
198 void openEdit_Compass(void) | |
199 { | |
539
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
200 char text[10]; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
201 uint8_t textIndex = 0; |
38 | 202 |
539
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
203 text[textIndex++] = '\001'; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
204 text[textIndex++] = TXT_2BYTE; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
205 text[textIndex++] = TXT2BYTE_Compass; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
206 text[textIndex++] = 0; |
38 | 207 write_topline(text); |
208 | |
209 text[0] = TXT_2BYTE; | |
210 text[2] = 0; | |
211 | |
212 text[1] = TXT2BYTE_SetBearing; | |
213 write_field_button(StMHARD2_Compass_SetCourse, 30, 800, ME_Y_LINE2, &FontT48, text); | |
214 | |
215 text[1] = TXT2BYTE_CompassCalib; | |
216 write_field_button(StMHARD2_Compass_Calibrate, 30, 800, ME_Y_LINE3, &FontT48, text); | |
217 | |
218 text[1] = TXT2BYTE_ResetBearing; | |
219 write_field_button(StMHARD2_Compass_ResetCourse, 30, 800, ME_Y_LINE4, &FontT48, text); | |
220 | |
539
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
221 text[1] = TXT2BYTE_CompassInertia; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
222 textIndex = 2; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
223 text[textIndex++] = ':'; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
224 text[textIndex++] = ' '; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
225 text[textIndex++] = '0' + settingsGetPointer()->compassInertia; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
226 |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
227 write_field_button(StMHARD2_Compass_Inertia, 30, 800, ME_Y_LINE5, &FontT48, text); |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
228 |
38 | 229 setEvent(StMHARD2_Compass_SetCourse, (uint32_t)OnAction_Bearing); |
230 setEvent(StMHARD2_Compass_Calibrate, (uint32_t)OnAction_Compass); | |
231 setEvent(StMHARD2_Compass_ResetCourse, (uint32_t)OnAction_BearingClear); | |
539
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
232 setEvent(StMHARD2_Compass_Inertia, (uint32_t)OnAction_InertiaLevel); |
38 | 233 |
234 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); | |
235 } | |
236 | |
237 | |
238 uint8_t OnAction_Compass (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
239 { | |
240 calibrateCompass(); | |
241 return EXIT_TO_INFO_COMPASS; | |
242 } | |
243 | |
244 | |
245 uint8_t OnAction_Bearing (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
246 { | |
709 | 247 if((int16_t)stateUsed->lifeData.compass_heading != -1) |
248 { | |
249 settingsGetPointer()->compassBearing = (int16_t)stateUsed->lifeData.compass_heading; | |
250 } | |
251 else | |
252 { | |
253 settingsGetPointer()->compassBearing = 0; | |
254 } | |
255 | |
38 | 256 if(settingsGetPointer()->compassBearing == 0) |
257 settingsGetPointer()->compassBearing = 360; | |
258 return UPDATE_AND_EXIT_TO_MENU; | |
259 } | |
260 | |
261 | |
262 uint8_t OnAction_BearingClear (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
263 { | |
264 settingsGetPointer()->compassBearing = 0; | |
265 return UPDATE_AND_EXIT_TO_MENU; | |
266 } | |
267 | |
539
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
268 |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
269 uint8_t OnAction_InertiaLevel (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
270 { |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
271 uint8_t newLevel = 0; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
272 |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
273 newLevel = settingsGetPointer()->compassInertia + 1; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
274 if(newLevel > MAX_COMPASS_COMP) |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
275 { |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
276 newLevel = 0; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
277 } |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
278 settingsGetPointer()->compassInertia = newLevel; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
279 return UPDATE_DIVESETTINGS; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
280 } |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
281 |
38 | 282 /* |
283 uint8_t OnAction_ExitHardw (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
284 { | |
285 return EXIT_TO_MENU; | |
286 } | |
287 */ | |
288 | |
289 void refresh_O2Sensors(void) | |
290 { | |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
291 static uint8_t stableMapCntDown = 10; |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
292 char text[32]; |
38 | 293 uint16_t y_line; |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
294 uint8_t index = 0; |
38 | 295 |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
296 const SDiveState *pStateReal = stateRealGetPointer(); |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
297 SSettings *pSettings = settingsGetPointer(); |
38 | 298 |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
299 // if((pSettings->ppo2sensors_source != O2_SENSOR_SOURCE_OPTIC)) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
300 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
301 if(memcmp(pSettings->ext_sensor_map, pStateReal->lifeData.extIf_sensor_map, 5) != 0) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
302 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
303 if(stableMapCntDown == 0) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
304 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
305 stableMapCntDown = 10; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
306 memcpy(pSettings->ext_sensor_map, pStateReal->lifeData.extIf_sensor_map, 5); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
307 pSettings->ppo2sensors_deactivated = 0x0; /* deactivation will be done by openEditO2Sensor if need */ |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
308 openEdit_O2Sensors(); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
309 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
310 else |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
311 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
312 stableMapCntDown--; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
313 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
314 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
315 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
316 #if 0 /*TODO: reactivate sensor information dialog */ |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
317 if((pStateReal->lifeData.extIf_sensor_Id != 0) && (haveSensorInfo == 0)) /* the sensor is detected after the interface has been selected => add button if info become available */ |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
318 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
319 if(get_globalState() == StMHARD3_O2_Source) |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
320 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
321 y_line = 5; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
322 } |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
323 haveSensorInfo = 1; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
324 openEdit_O2Sensors(); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
325 if(y_line == 5) |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
326 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
327 tMenuEdit_select(StMHARD3_O2_Source); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
328 } |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
329 } |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
330 else |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
331 #endif |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
332 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
333 if(pStateReal->lifeData.extIf_sensor_Id == 0) |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
334 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
335 haveSensorInfo = 0; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
336 } |
38 | 337 |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
338 text[0] = '\001'; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
339 text[1] = TXT_o2Sensors; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
340 text[2] = 0; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
341 write_topline(text); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
342 |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
343 |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
344 text[0] = TXT_2BYTE; |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
345 text[1] = TXT2BYTE_Sensor; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
346 text[2] = ' '; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
347 text[3] = '1'; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
348 text[4] = 0; |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
349 |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
350 |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
351 for(index = 0; index < 3; index++) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
352 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
353 text[3] = '1' + index; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
354 if((pSettings->ext_sensor_map[index] == SENSOR_ANALOG) || (pSettings->ext_sensor_map[index] == SENSOR_DIGO2)) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
355 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
356 write_label_var( 96, 340, ME_Y_LINE1 + (index * ME_Y_LINE_STEP), &FontT48, text); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
357 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
358 if(pSettings->ext_sensor_map[index] == SENSOR_CO2) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
359 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
360 write_label_var( 96, 340, ME_Y_LINE1 + (index * ME_Y_LINE_STEP), &FontT48, "CO2"); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
361 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
362 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
363 |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
364 if(pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_OPTIC) |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
365 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
366 text[0] = TXT_2BYTE; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
367 text[1] = TXT2BYTE_HUDbattery; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
368 text[2] = 0; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
369 write_label_var( 30, 340, ME_Y_LINE4, &FontT48, text); |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
370 |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
371 snprintf(text, 20,"%01.3fV", get_HUD_battery_voltage_V()); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
372 write_label_var( 400, 800, ME_Y_LINE4, &FontT48, text); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
373 } |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
374 else |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
375 { |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
376 if((pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANALOG) || (pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANADIG)) |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
377 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
378 text[0] = TXT_2BYTE; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
379 text[1] = TXT2BYTE_O2Calib; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
380 text[2] = 0; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
381 write_label_var( 30, 340, ME_Y_LINE4, &FontT48, text); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
382 snprintf(text, 20,"%d%%", O2_calib_gas); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
383 write_label_var( 400, 800, ME_Y_LINE4, &FontT48, text); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
384 } |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
385 } |
38 | 386 |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
387 for(int i=0;i<3;i++) |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
388 { |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
389 text[0] = 0; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
390 if((pSettings->ext_sensor_map[i] == SENSOR_ANALOG) || (pSettings->ext_sensor_map[i] == SENSOR_DIGO2)) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
391 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
392 snprintf(text, 20,"%01.2f, %01.1fmV", pStateReal->lifeData.ppO2Sensor_bar[i], pStateReal->lifeData.sensorVoltage_mV[i]); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
393 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
394 else if(pSettings->ext_sensor_map[i] == SENSOR_CO2) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
395 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
396 snprintf(text, 20,"%d ppm", pStateReal->lifeData.CO2_data.CO2_ppm); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
397 } |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
398 y_line = ME_Y_LINE1 + (i * ME_Y_LINE_STEP); |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
399 if(text[0] != 0) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
400 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
401 write_label_var( 400, 800, y_line, &FontT48, text); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
402 } |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
403 } |
689 | 404 |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
405 if(DataEX_external_ADC_Present()) |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
406 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
407 text[0] = TXT_2BYTE; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
408 text[1] = TXT2BYTE_O2Interface; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
409 text[2] = 0; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
410 write_label_var( 30, 340, ME_Y_LINE5, &FontT48, text); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
411 text[0] = TXT_2BYTE; |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
412 switch(pSettings->ppo2sensors_source) |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
413 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
414 default: |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
415 case O2_SENSOR_SOURCE_OPTIC: text[1] = TXT2BYTE_O2IFOptic; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
416 text[2] = 0; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
417 break; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
418 case O2_SENSOR_SOURCE_ANALOG: text[1] = TXT2BYTE_O2IFAnalog; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
419 text[2] = 0; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
420 break; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
421 case O2_SENSOR_SOURCE_DIGITAL: text[1] = TXT2BYTE_O2IFDigital; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
422 text[2] = 0; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
423 break; |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
424 case O2_SENSOR_SOURCE_ANADIG: write_label_var( 30, 340, ME_Y_LINE6, &FontT48, "Autodetect"); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
425 text[1] = TXT2BYTE_O2IFAnalog; |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
426 text[2] = ' '; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
427 text[3] = '+'; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
428 text[4] = ' '; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
429 text[5] = TXT_2BYTE; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
430 text[6] = TXT2BYTE_O2IFDigital; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
431 text[7] = 0; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
432 break; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
433 #ifdef ENABLE_SENTINEL_MODE |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
434 case O2_SENSOR_SOURCE_SENTINEL: snprintf(text, 10,"Sentinel"); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
435 break; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
436 #endif |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
437 } |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
438 write_label_var( 400, 800, ME_Y_LINE5, &FontT48, text); |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
439 #if 0 |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
440 if(haveSensorInfo == 1) |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
441 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
442 text[0] = TXT_Sensor; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
443 text[1] = ' '; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
444 text[2] = TXT_Information; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
445 text[3] = 0; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
446 write_label_var( 30, 340, ME_Y_LINE6, &FontT48, text); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
447 } |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
448 #endif |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
449 } |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
450 if((pSettings->ext_sensor_map[0] == SENSOR_ANALOG) || (pSettings->ext_sensor_map[0] == SENSOR_DIGO2)) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
451 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
452 tMenuEdit_refresh_field(StMHARD3_O2_Sensor1); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
453 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
454 if((pSettings->ext_sensor_map[1] == SENSOR_ANALOG) || (pSettings->ext_sensor_map[1] == SENSOR_DIGO2)) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
455 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
456 tMenuEdit_refresh_field(StMHARD3_O2_Sensor2); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
457 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
458 if((pSettings->ext_sensor_map[2] == SENSOR_ANALOG) || (pSettings->ext_sensor_map[2] == SENSOR_DIGO2)) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
459 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
460 tMenuEdit_refresh_field(StMHARD3_O2_Sensor3); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
461 } |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
462 } |
38 | 463 |
584 | 464 if(get_globalState() == StMHARD3_O2_Calibrate) |
465 { | |
466 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_O2Calib,TXT2BYTE_ButtonPlus); | |
467 } | |
468 else | |
469 { | |
470 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); | |
471 } | |
38 | 472 } |
473 | |
474 | |
475 void openEdit_O2Sensors(void) | |
476 { | |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
477 SSettings *pSettings = settingsGetPointer(); |
38 | 478 uint8_t sensorActive[3]; |
479 | |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
480 set_globalState(StMHARD3_Sensors); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
481 resetMenuEdit(CLUT_MenuPageHardware); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
482 |
38 | 483 sensorActive[0] = 1; |
484 sensorActive[1] = 1; | |
485 sensorActive[2] = 1; | |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
486 |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
487 |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
488 if(((pSettings->ext_sensor_map[0] != SENSOR_ANALOG) && (pSettings->ext_sensor_map[0] != SENSOR_DIGO2))) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
489 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
490 pSettings->ppo2sensors_deactivated |= 1; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
491 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
492 else |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
493 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
494 write_field_on_off(StMHARD3_O2_Sensor1, 30, 95, ME_Y_LINE1, &FontT48, "", sensorActive[0]); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
495 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
496 if(((pSettings->ext_sensor_map[1] != SENSOR_ANALOG) && (pSettings->ext_sensor_map[1] != SENSOR_DIGO2))) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
497 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
498 pSettings->ppo2sensors_deactivated |= 2; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
499 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
500 else |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
501 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
502 write_field_on_off(StMHARD3_O2_Sensor2, 30, 95, ME_Y_LINE2, &FontT48, "", sensorActive[1]); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
503 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
504 if(((pSettings->ext_sensor_map[2] != SENSOR_ANALOG) && (pSettings->ext_sensor_map[2] != SENSOR_DIGO2))) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
505 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
506 pSettings->ppo2sensors_deactivated |= 4; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
507 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
508 else |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
509 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
510 write_field_on_off(StMHARD3_O2_Sensor3, 30, 95, ME_Y_LINE3, &FontT48, "", sensorActive[2]); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
511 } |
38 | 512 if(settingsGetPointer()->ppo2sensors_deactivated & 1) |
513 sensorActive[0] = 0; | |
514 if(settingsGetPointer()->ppo2sensors_deactivated & 2) | |
515 sensorActive[1] = 0; | |
516 if(settingsGetPointer()->ppo2sensors_deactivated & 4) | |
517 sensorActive[2] = 0; | |
518 | |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
519 if(pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_OPTIC) |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
520 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
521 haveSensorInfo = 0; /* as long as we do not move the HUD battery into the information page... */ |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
522 } |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
523 |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
524 if((pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANALOG) || (pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANADIG) |
689 | 525 #ifdef ENABLE_SENTINEL_MODE |
526 || (settingsGetPointer()->ppo2sensors_source == O2_SENSOR_SOURCE_SENTINEL) | |
527 #endif | |
528 ) | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
529 { |
584 | 530 write_label_fix( 30, 800, ME_Y_LINE4, &FontT48, TXT2BYTE_O2Calib); |
531 write_label_var( 400, 800, ME_Y_LINE4, &FontT48, "\016\016 %\017"); | |
532 | |
673
d7c5d592076b
Show 98% in case of Oxygen as the calibrating gas
heinrichsweikamp
parents:
605
diff
changeset
|
533 write_field_toggle(StMHARD3_O2_Calibrate, 400, 800, ME_Y_LINE4, &FontT48, "", 21, 98); |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
534 } |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
535 |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
536 |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
537 if(DataEX_external_ADC_Present()) |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
538 { |
708
7e3bf2c0cd40
Menu cleanup rebreather specific settings:
Ideenmodellierer
parents:
703
diff
changeset
|
539 write_field_button(StMHARD3_O2_Source, 30, 800, ME_Y_LINE5, &FontT48, ""); |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
540 #if 0 |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
541 if(haveSensorInfo != 0) |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
542 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
543 write_field_button(StMHARD3_Sensor_Info, 30, 800, ME_Y_LINE6, &FontT48, ""); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
544 } |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
545 #endif |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
546 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
547 |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
548 |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
549 if(pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANADIG) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
550 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
551 write_field_button(StMHARD3_Sensor_Detect, 30, 800, ME_Y_LINE6, &FontT48, "Autodetect"); |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
552 } |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
553 |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
554 if((pSettings->ext_sensor_map[0] == SENSOR_ANALOG) || (pSettings->ext_sensor_map[0] == SENSOR_DIGO2)) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
555 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
556 setEvent(StMHARD3_O2_Sensor1, (uint32_t)OnAction_Sensor1); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
557 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
558 if((pSettings->ext_sensor_map[1] == SENSOR_ANALOG) || (pSettings->ext_sensor_map[1] == SENSOR_DIGO2)) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
559 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
560 setEvent(StMHARD3_O2_Sensor2, (uint32_t)OnAction_Sensor2); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
561 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
562 if((pSettings->ext_sensor_map[2] == SENSOR_ANALOG) || (pSettings->ext_sensor_map[2] == SENSOR_DIGO2)) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
563 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
564 setEvent(StMHARD3_O2_Sensor3, (uint32_t)OnAction_Sensor3); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
565 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
566 |
703
2f457024049b
Added selection of digital o2 sensor source to HW menu:
Ideenmodellierer
parents:
689
diff
changeset
|
567 if((settingsGetPointer()->ppo2sensors_source == O2_SENSOR_SOURCE_ANALOG) || (settingsGetPointer()->ppo2sensors_source == O2_SENSOR_SOURCE_ANADIG) |
689 | 568 #ifdef ENABLE_SENTINEL_MODE |
569 || (settingsGetPointer()->ppo2sensors_source == O2_SENSOR_SOURCE_SENTINEL) | |
570 #endif | |
571 ) | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
572 { |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
573 setEvent(StMHARD3_O2_Calibrate, (uint32_t)OnAction_O2_Calibrate); |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
574 } |
708
7e3bf2c0cd40
Menu cleanup rebreather specific settings:
Ideenmodellierer
parents:
703
diff
changeset
|
575 |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
576 if(DataEX_external_ADC_Present()) |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
577 { |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
578 setEvent(StMHARD3_O2_Source, (uint32_t)OnAction_O2_Source); |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
579 #if 0 |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
580 if(haveSensorInfo != 0) |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
581 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
582 setEvent(StMHARD3_Sensor_Info, (uint32_t)OnAction_Sensor_Info); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
583 } |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
584 #endif |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
585 } |
38 | 586 |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
587 if(pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANADIG) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
588 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
589 setEvent(StMHARD3_Sensor_Detect, (uint32_t)OnAction_Sensor_Detect); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
590 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
591 |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
592 |
38 | 593 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); |
594 } | |
595 | |
596 | |
597 uint8_t OnAction_Sensor1(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
598 { | |
599 if(settingsGetPointer()->ppo2sensors_deactivated & 1) | |
600 { | |
601 settingsGetPointer()->ppo2sensors_deactivated &= 4+2; | |
602 tMenuEdit_set_on_off(editId, 1); | |
603 } | |
604 else | |
605 { | |
606 settingsGetPointer()->ppo2sensors_deactivated |= 1; | |
607 tMenuEdit_set_on_off(editId, 0); | |
608 } | |
609 | |
610 return UPDATE_DIVESETTINGS; | |
611 } | |
612 | |
613 | |
614 uint8_t OnAction_Sensor2(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
615 { | |
616 if(settingsGetPointer()->ppo2sensors_deactivated & 2) | |
617 { | |
618 settingsGetPointer()->ppo2sensors_deactivated &= 4+1; | |
619 tMenuEdit_set_on_off(editId, 1); | |
620 } | |
621 else | |
622 { | |
623 settingsGetPointer()->ppo2sensors_deactivated |= 2; | |
624 tMenuEdit_set_on_off(editId, 0); | |
625 } | |
626 | |
627 return UPDATE_DIVESETTINGS; | |
628 } | |
629 | |
630 | |
631 uint8_t OnAction_Sensor3(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
632 { | |
633 if(settingsGetPointer()->ppo2sensors_deactivated & 4) | |
634 { | |
635 settingsGetPointer()->ppo2sensors_deactivated &= 2+1; | |
636 tMenuEdit_set_on_off(editId, 1); | |
637 } | |
638 else | |
639 { | |
640 settingsGetPointer()->ppo2sensors_deactivated |= 4; | |
641 tMenuEdit_set_on_off(editId, 0); | |
642 } | |
643 | |
644 return UPDATE_DIVESETTINGS; | |
645 } | |
646 | |
647 | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
648 uint8_t OnAction_O2_Calibrate (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
649 { |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
650 uint8_t loop; |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
651 const SDiveState *pStateReal = stateRealGetPointer(); |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
652 SSettings* pSettings = settingsGetPointer(); |
584 | 653 uint8_t retVal = UNSPECIFIC_RETURN; |
654 float compensatedRef; | |
38 | 655 |
584 | 656 if(action == ACTION_BUTTON_ENTER_FINAL) |
657 { | |
658 if(O2_calib_gas == 21) | |
659 { | |
660 compensatedRef = O2_CALIB_FRACTION_AIR * pStateReal->lifeData.pressure_ambient_bar / 1.0; | |
661 } | |
662 else | |
663 { | |
605 | 664 compensatedRef = O2_CALIB_FRACTION_O2 * pStateReal->lifeData.pressure_ambient_bar / 1.0; |
584 | 665 } |
666 for(loop=0;loop<3;loop++) | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
667 { |
584 | 668 if((pSettings->ppo2sensors_deactivated & (0x1 << loop)) == 0) |
669 { | |
670 if(pStateReal->lifeData.sensorVoltage_mV[loop] > 0.0001) /* sensor connected ?*/ | |
671 { | |
724
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
672 #ifdef ENABLE_EXTERNAL_PRESSURE |
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
673 if(loop == 2) |
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
674 { |
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
675 compensatedRef = pStateReal->lifeData.pressure_ambient_bar; |
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
676 } |
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
677 #endif |
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
678 |
584 | 679 pSettings->ppo2sensors_calibCoeff[loop] = compensatedRef / pStateReal->lifeData.sensorVoltage_mV[loop]; |
680 } | |
681 else | |
682 { | |
683 pSettings->ppo2sensors_calibCoeff[loop] = 0.0; | |
684 settingsGetPointer()->ppo2sensors_deactivated |= 0x1 << loop; | |
685 } | |
686 } | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
687 } |
584 | 688 tMenuEdit_newInput(editId, O2_calib_gas, 0, 0, 0); |
689 retVal = UPDATE_DIVESETTINGS; | |
690 } | |
691 if(action == ACTION_BUTTON_NEXT) | |
692 { | |
693 if(O2_calib_gas == 21) | |
694 { | |
673
d7c5d592076b
Show 98% in case of Oxygen as the calibrating gas
heinrichsweikamp
parents:
605
diff
changeset
|
695 O2_calib_gas = 98; |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
696 } |
584 | 697 else |
698 { | |
699 O2_calib_gas = 21; | |
700 } | |
701 } | |
702 retVal = O2_calib_gas; | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
703 |
584 | 704 if(action == ACTION_BUTTON_BACK) |
705 { | |
706 exitMenuEditField(); | |
707 } | |
708 | |
709 return retVal; | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
710 } |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
711 uint8_t OnAction_O2_Source (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
712 { |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
713 uint8_t source = settingsGetPointer()->ppo2sensors_source; |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
714 SSettings* pSettings = settingsGetPointer(); |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
715 |
689 | 716 source++; |
717 if(source == O2_SENSOR_SOURCE_MAX) | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
718 { |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
719 source = O2_SENSOR_SOURCE_OPTIC; |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
720 } |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
721 |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
722 switch(source) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
723 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
724 case O2_SENSOR_SOURCE_OPTIC: |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
725 case O2_SENSOR_SOURCE_ANALOG: |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
726 case O2_SENSOR_SOURCE_ANADIG: |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
727 pSettings->ext_sensor_map[0] = SENSOR_ANALOG; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
728 pSettings->ext_sensor_map[1] = SENSOR_ANALOG; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
729 pSettings->ext_sensor_map[2] = SENSOR_ANALOG; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
730 |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
731 break; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
732 case O2_SENSOR_SOURCE_DIGITAL: pSettings->ext_sensor_map[0] = SENSOR_DIGO2; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
733 pSettings->ext_sensor_map[1] = SENSOR_NONE; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
734 pSettings->ext_sensor_map[2] = SENSOR_NONE; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
735 break; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
736 default: |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
737 break; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
738 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
739 pSettings->ext_sensor_map[3] = SENSOR_NONE; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
740 pSettings->ext_sensor_map[4] = SENSOR_NONE; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
741 |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
742 pSettings->ppo2sensors_source = source; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
743 |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
744 DataEX_setExtInterface_Cmd(EXT_INTERFACE_COPY_SENSORMAP); |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
745 |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
746 openEdit_O2Sensors(); /* rebuild menu structure (Hide HUD <=> Show Calibrate) */ |
703
2f457024049b
Added selection of digital o2 sensor source to HW menu:
Ideenmodellierer
parents:
689
diff
changeset
|
747 tMenuEdit_select(StMHARD3_O2_Source); |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
748 return UPDATE_DIVESETTINGS; |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
749 } |
38 | 750 |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
751 uint8_t OnAction_Sensor_Info(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
752 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
753 return EXIT_TO_INFO_SENSOR; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
754 } |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
755 |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
756 uint8_t OnAction_Sensor_Detect(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
757 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
758 DataEX_setExtInterface_Cmd(EXT_INTERFACE_AUTODETECT); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
759 return UNSPECIFIC_RETURN; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
760 } |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
761 |
38 | 762 void openEdit_Brightness(void) |
763 { | |
764 uint8_t actualBrightness; | |
765 SSettings *pSettings = settingsGetPointer(); | |
766 | |
767 actualBrightness = pSettings->brightness; | |
768 actualBrightness++; | |
769 if(actualBrightness > 4) | |
770 actualBrightness = 0; | |
771 pSettings->brightness = actualBrightness; | |
772 exitEditWithUpdate(); | |
773 } | |
774 | |
775 | |
776 void buttonBalanceText_helper(uint8_t idOfButton, char *textOutput) | |
777 { | |
778 uint8_t txtcount = 0; | |
779 | |
780 if(idOfButton < 3) | |
781 { | |
782 textOutput[txtcount++] = '@' + settingsGetPointer()->buttonBalance[idOfButton]; | |
783 textOutput[txtcount++] = ' '; | |
784 textOutput[txtcount++] = ' '; | |
785 textOutput[txtcount++] = '('; | |
786 | |
787 switch(settingsGetPointer()->buttonBalance[idOfButton]) | |
788 { | |
789 case 1: | |
790 textOutput[txtcount++] = '-'; | |
791 textOutput[txtcount++] = '2'; | |
792 textOutput[txtcount++] = '0'; | |
793 break; | |
794 case 2: | |
795 textOutput[txtcount++] = '-'; | |
796 textOutput[txtcount++] = '1'; | |
797 textOutput[txtcount++] = '0'; | |
798 break; | |
799 case 3: | |
800 default: | |
801 textOutput[txtcount++] = '0'; | |
802 break; | |
803 case 4: | |
804 textOutput[txtcount++] = '+'; | |
805 textOutput[txtcount++] = '1'; | |
806 textOutput[txtcount++] = '0'; | |
807 break; | |
808 case 5: | |
809 textOutput[txtcount++] = '+'; | |
810 textOutput[txtcount++] = '2'; | |
811 textOutput[txtcount++] = '0'; | |
812 break; | |
813 } | |
814 textOutput[txtcount++] = ')'; | |
815 } | |
816 textOutput[txtcount++] = 0; | |
817 } | |
818 | |
819 /**# | |
820 ****************************************************************************** | |
821 * @brief BUTTONS | |
822 * @author heinrichs weikamp gmbh | |
823 * @version V 01 | |
824 * @date 15-Sept-2016 | |
825 ****************************************************************************** | |
826 * Button 0 is right, Button 1 is middle, Button 2 is left !!!! | |
827 * 2 1 0 (base value 3) | |
828 * Button 3 is used to store the base value, all others are balanced around this one! | |
829 * | |
830 */ | |
831 | |
832 void openEdit_ButtonSens(void) | |
833 { | |
834 char text[32]; | |
835 uint8_t sens; | |
836 const uint32_t eventListButtonBalance[3] = {StMHARD5_ButtonBalance1,StMHARD5_ButtonBalance2,StMHARD5_ButtonBalance3}; | |
837 | |
838 sens = (uint8_t)settingsGetPointer()->ButtonResponsiveness[3]; | |
839 write_field_3digit(StMHARD5_Button1, 360, 780, ME_Y_LINE1, &FontT48, "###", sens, 0, 0, 0); | |
840 | |
841 for(int i=2;i>=0;i--) | |
842 { | |
843 buttonBalanceText_helper(i,text); | |
844 write_field_button(eventListButtonBalance[i],360,500,ME_Y_LINE4-(i*ME_Y_LINE_STEP),&FontT48,text); | |
845 } | |
846 | |
847 | |
848 setEvent(StMHARD5_Button1, (uint32_t)OnAction_Button); | |
849 | |
850 for(int i=2;i>=0;i--) | |
851 { | |
852 setEvent(eventListButtonBalance[i], (uint32_t)OnAction_ButtonBalance); | |
853 } | |
854 | |
855 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); | |
856 } | |
857 | |
858 | |
859 void refresh_ButtonValuesFromPIC(void) | |
860 { | |
861 uint8_t sens[3]; | |
862 char text[64]; | |
863 | |
864 text[0] = '\001'; | |
865 text[1] = TXT_2BYTE; | |
866 text[2] = TXT2BYTE_ButtonSensitivity; | |
867 text[3] = 0; | |
868 write_topline(text); | |
869 | |
870 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); | |
871 | |
525
1f557e5f4b5a
Change color ID used in strings for light grey:
Ideenmodellierer
parents:
394
diff
changeset
|
872 text[0] = '\020'; // '\031'; |
38 | 873 text[1] = TXT_2BYTE; |
874 text[2] = TXT2BYTE_LowerIsLess; | |
875 text[3] = 0; | |
876 write_label_var( 20, 780, ME_Y_LINE5, &FontT42, text); | |
877 | |
878 for(int i=0;i<3;i++) | |
879 { | |
880 text[0] = TXT_2BYTE; | |
881 text[1] = TXT2BYTE_ButtonLeft+i; | |
882 text[2] = 0; | |
883 write_label_var( 20, 300, ME_Y_LINE2+(i*ME_Y_LINE_STEP), &FontT48, text); | |
884 } | |
885 | |
886 for(int i=0;i<3;i++) | |
887 { | |
888 sens[i] = settingsHelperButtonSens_translate_hwOS_values_to_percentage(stateRealGetPointer()->lifeData.buttonPICdata[i]); | |
889 } | |
890 snprintf(text,64,"(%03u %03u %03u)",sens[2],sens[1],sens[0]); | |
891 write_label_var( 20, 340, ME_Y_LINE6, &FontT42, text); | |
892 | |
893 tMenuEdit_refresh_field(StMHARD5_Button1); | |
894 tMenuEdit_refresh_field(StMHARD5_ButtonBalance1); | |
895 tMenuEdit_refresh_field(StMHARD5_ButtonBalance2); | |
896 tMenuEdit_refresh_field(StMHARD5_ButtonBalance3); | |
897 } | |
898 | |
899 | |
900 uint8_t OnAction_Button(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
901 { | |
902 uint8_t digitContentNew, remainder; | |
903 uint32_t newSensitivityGlobal; | |
904 | |
905 if(action == ACTION_BUTTON_NEXT) | |
906 { | |
907 digitContentNew = digitContent - '0'; | |
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
908 if(digitContentNew >= MAX_BUTTONRESPONSIVENESS_GUI) |
38 | 909 { |
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
910 digitContentNew = MIN_BUTTONRESPONSIVENESS_GUI; |
38 | 911 } |
912 else | |
913 { | |
914 remainder = digitContentNew%5; | |
915 digitContentNew += 5 - remainder; | |
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
916 if(digitContentNew >= MAX_BUTTONRESPONSIVENESS_GUI) |
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
917 digitContentNew = MAX_BUTTONRESPONSIVENESS_GUI; |
38 | 918 } |
919 return '0' + digitContentNew; | |
920 } | |
921 | |
922 if(action == ACTION_BUTTON_BACK) | |
923 { | |
924 digitContentNew = digitContent - '0'; | |
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
925 if(digitContentNew <= MIN_BUTTONRESPONSIVENESS_GUI) |
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
926 digitContentNew = MAX_BUTTONRESPONSIVENESS_GUI; |
38 | 927 else |
928 { | |
929 remainder = digitContentNew%5; | |
930 if(remainder) | |
931 digitContentNew -= remainder; | |
932 else | |
933 digitContentNew -= 5; | |
934 } | |
935 return '0' + digitContentNew; | |
936 } | |
937 | |
938 if(action == ACTION_BUTTON_ENTER_FINAL) | |
939 { | |
940 evaluateNewString(editId, &newSensitivityGlobal, 0, 0, 0); | |
941 settingsHelperButtonSens_keepPercentageValues(newSensitivityGlobal, settingsGetPointer()->ButtonResponsiveness); | |
942 setButtonResponsiveness(settingsGetPointer()->ButtonResponsiveness); | |
943 return UNSPECIFIC_RETURN; | |
944 } | |
945 return digitContent; | |
946 } | |
947 | |
948 | |
949 uint8_t OnAction_ButtonBalance(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
950 { | |
951 int8_t idBalance = -1; | |
952 uint8_t *ptrSetting; | |
953 char text[32]; | |
954 | |
955 const uint32_t eventListButtonBalance[3] = {StMHARD5_ButtonBalance1,StMHARD5_ButtonBalance2,StMHARD5_ButtonBalance3}; | |
956 | |
957 idBalance = -1; | |
958 for(int i=0;i<3;i++) | |
959 { | |
960 if(editId == eventListButtonBalance[i]) | |
961 { | |
962 idBalance = i; | |
963 break; | |
964 } | |
965 } | |
966 | |
967 if((idBalance >= 0) && (idBalance < 3)) | |
968 { | |
969 ptrSetting = &settingsGetPointer()->buttonBalance[idBalance]; | |
970 | |
971 *ptrSetting += 1; | |
972 | |
973 if(*ptrSetting > 5) | |
974 *ptrSetting = 2; | |
975 | |
976 buttonBalanceText_helper(idBalance,text); | |
977 tMenuEdit_newButtonText(eventListButtonBalance[idBalance],text); | |
978 } | |
979 | |
980 return UNSPECIFIC_RETURN; | |
981 } |