Mercurial > public > ostc4
annotate Discovery/Src/tMenuEditHardware.c @ 739:4a6bffaa38b3
Enable start dive in Big font display:
The diver had to manually switch to the big font view in dive mode. By selecting the big font view as default view in the custom menu the BF view will now be shown from the start of the dive. In order to have a qucker access to the settings menu, the settings menu has been added to the quick menu selection. The settings menu will then also be left to the BF view.
author | Ideenmodellierer |
---|---|
date | Thu, 02 Feb 2023 17:26:54 +0100 |
parents | 190e5814b2f5 |
children | 5078da3845c0 |
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); |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
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 { | |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
291 char strSensorId[20]; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
292 char strSensorValue[20]; |
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 |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
299 if(memcmp(pSettings->ext_sensor_map, pStateReal->lifeData.extIf_sensor_map, 5) != 0) |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
300 { |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
301 memcpy(pSettings->ext_sensor_map, pStateReal->lifeData.extIf_sensor_map, 5); |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
302 pSettings->ppo2sensors_deactivated = 0x0; /* deactivation will be done by openEditO2Sensor if need */ |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
303 |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
304 pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_OPTIC; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
305 for(index = 0; index < 3; index++) |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
306 { |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
307 switch(pSettings->ext_sensor_map[index]) |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
308 { |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
309 case SENSOR_OPTIC: pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_OPTIC; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
310 break; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
311 case SENSOR_ANALOG: if(pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_DIGITAL) |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
312 { |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
313 pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_ANADIG; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
314 } |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
315 if(pSettings->ppo2sensors_source != O2_SENSOR_SOURCE_ANADIG) |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
316 { |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
317 pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_ANALOG; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
318 } |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
319 break; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
320 case SENSOR_DIGO2: if(pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANALOG) |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
321 { |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
322 pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_ANADIG; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
323 } |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
324 if(pSettings->ppo2sensors_source != O2_SENSOR_SOURCE_ANADIG) |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
325 { |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
326 pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_DIGITAL; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
327 } |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
328 break; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
329 default: |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
330 break; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
331 } |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
332 } |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
333 openEdit_O2Sensors(); |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
334 } |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
335 |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
336 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
|
337 { |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
338 #if 0 |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
339 if(get_globalState() == StMHARD3_O2_Source) |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
340 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
341 y_line = 5; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
342 } |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
343 #endif |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
344 haveSensorInfo = 1; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
345 openEdit_O2Sensors(); |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
346 #if 0 |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
347 if(y_line == 5) |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
348 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
349 tMenuEdit_select(StMHARD3_O2_Source); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
350 } |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
351 #endif |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
352 } |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
353 else |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
354 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
355 if(pStateReal->lifeData.extIf_sensor_Id == 0) |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
356 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
357 haveSensorInfo = 0; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
358 } |
38 | 359 |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
360 strSensorId[0] = '\001'; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
361 strSensorId[1] = TXT_o2Sensors; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
362 strSensorId[2] = 0; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
363 write_topline(strSensorId); |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
364 |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
365 |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
366 strSensorId[0] = TXT_2BYTE; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
367 strSensorId[1] = TXT2BYTE_Sensor; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
368 strSensorId[2] = ' '; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
369 strSensorId[3] = TXT_2BYTE; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
370 strSensorId[4] = 'X'; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
371 strSensorId[5] = '1'; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
372 strSensorId[6] = 0; |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
373 |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
374 for(index = 0; index < 3; index++) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
375 { |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
376 strSensorId[4] = 'X'; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
377 strSensorId[5] = '1' + index; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
378 |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
379 switch(pSettings->ext_sensor_map[index]) |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
380 { |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
381 case SENSOR_OPTIC: strSensorId[4] = TXT2BYTE_O2IFOptic; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
382 break; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
383 case SENSOR_ANALOG: strSensorId[4] = TXT2BYTE_O2IFAnalog; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
384 break; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
385 case SENSOR_DIGO2: strSensorId[4] = TXT2BYTE_O2IFDigital; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
386 break; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
387 case SENSOR_CO2: strSensorId[3] = 'C'; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
388 strSensorId[4] = 'O'; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
389 break; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
390 default: |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
391 break; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
392 } |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
393 if(strSensorId[4] != 'X') |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
394 { |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
395 write_label_var( 96, 340, ME_Y_LINE1 + (index * ME_Y_LINE_STEP), &FontT48, strSensorId); |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
396 } |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
397 strSensorValue[0] = 0; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
398 if((pSettings->ext_sensor_map[index] >= SENSOR_OPTIC) && (pSettings->ext_sensor_map[index] <= SENSOR_DIGO2)) |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
399 { |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
400 snprintf(strSensorValue, 20,"%01.2f, %01.1f mV", pStateReal->lifeData.ppO2Sensor_bar[index], pStateReal->lifeData.sensorVoltage_mV[index]); |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
401 } |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
402 else if(pSettings->ext_sensor_map[index] == SENSOR_CO2) |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
403 { |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
404 snprintf(strSensorValue, 10,"%d ppm", pStateReal->lifeData.CO2_data.CO2_ppm); |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
405 } |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
406 y_line = ME_Y_LINE1 + (index * ME_Y_LINE_STEP); |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
407 if(strSensorValue[0] != 0) |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
408 { |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
409 write_label_var( 480, 800, y_line, &FontT48, strSensorValue); |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
410 } |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
411 |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
412 #if 0 |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
413 if(((pSettings->ext_sensor_map[index] < SENSOR_OPTIC) || (pSettings->ext_sensor_map[index] > SENSOR_DIGO2))) |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
414 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
415 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
|
416 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
417 if(pSettings->ext_sensor_map[index] == SENSOR_CO2) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
418 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
419 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
|
420 } |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
421 #endif |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
422 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
423 |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
424 |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
425 |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
426 |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
427 if(pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_OPTIC) |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
428 { |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
429 strSensorId[0] = TXT_2BYTE; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
430 strSensorId[1] = TXT2BYTE_HUDbattery; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
431 strSensorId[2] = 0; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
432 write_label_var( 30, 340, ME_Y_LINE4, &FontT48, strSensorId); |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
433 |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
434 snprintf(strSensorId, 20,"%01.3fV", get_HUD_battery_voltage_V()); |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
435 write_label_var( 480, 800, ME_Y_LINE4, &FontT48, strSensorId); |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
436 } |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
437 else |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
438 { |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
439 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
|
440 { |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
441 strSensorId[0] = TXT_2BYTE; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
442 strSensorId[1] = TXT2BYTE_O2Calib; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
443 strSensorId[2] = 0; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
444 write_label_var( 30, 340, ME_Y_LINE4, &FontT48, strSensorId); |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
445 snprintf(strSensorId, 20,"%d%%", O2_calib_gas); |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
446 write_label_var( 480, 800, ME_Y_LINE4, &FontT48, strSensorId); |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
447 } |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
448 } |
689 | 449 |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
450 write_label_var( 30, 340, ME_Y_LINE6, &FontT48, "Autodetect"); |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
451 |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
452 #if 0 |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
453 if(DataEX_external_ADC_Present()) |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
454 { |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
455 strSensorId[0] = TXT_2BYTE; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
456 strSensorId[1] = TXT2BYTE_O2Interface; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
457 strSensorId[2] = 0; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
458 write_label_var( 30, 340, ME_Y_LINE5, &FontT48, strSensorId); |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
459 strSensorId[0] = TXT_2BYTE; |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
460 switch(pSettings->ppo2sensors_source) |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
461 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
462 default: |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
463 case O2_SENSOR_SOURCE_OPTIC: strSensorId[1] = TXT2BYTE_O2IFOptic; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
464 strSensorId[2] = 0; |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
465 break; |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
466 case O2_SENSOR_SOURCE_ANALOG: strSensorId[1] = TXT2BYTE_O2IFAnalog; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
467 strSensorId[2] = 0; |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
468 break; |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
469 case O2_SENSOR_SOURCE_DIGITAL: strSensorId[1] = TXT2BYTE_O2IFDigital; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
470 strSensorId[2] = 0; |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
471 break; |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
472 case O2_SENSOR_SOURCE_ANADIG: //write_label_var( 30, 340, ME_Y_LINE6, &FontT48, "Autodetect"); |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
473 strSensorId[1] = TXT2BYTE_O2IFAnalog; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
474 strSensorId[2] = ' '; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
475 strSensorId[3] = '+'; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
476 strSensorId[4] = ' '; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
477 strSensorId[5] = TXT_2BYTE; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
478 strSensorId[6] = TXT2BYTE_O2IFDigital; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
479 strSensorId[7] = 0; |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
480 break; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
481 #ifdef ENABLE_SENTINEL_MODE |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
482 case O2_SENSOR_SOURCE_SENTINEL: snprintf(text, 10,"Sentinel"); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
483 break; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
484 #endif |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
485 } |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
486 write_label_var( 480, 800, ME_Y_LINE5, &FontT48, strSensorId); |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
487 |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
488 |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
489 } |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
490 #endif |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
491 if(haveSensorInfo == 1) |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
492 { |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
493 strSensorId[0] = TXT_Sensor; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
494 strSensorId[1] = ' '; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
495 strSensorId[2] = TXT_Information; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
496 strSensorId[3] = 0; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
497 write_label_var( 30, 340, ME_Y_LINE5, &FontT48, strSensorId); |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
498 } |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
499 |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
500 if((pSettings->ext_sensor_map[0] >= SENSOR_OPTIC) && (pSettings->ext_sensor_map[0] <= SENSOR_DIGO2)) |
730
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 tMenuEdit_refresh_field(StMHARD3_O2_Sensor1); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
503 } |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
504 if((pSettings->ext_sensor_map[1] >= SENSOR_OPTIC) && (pSettings->ext_sensor_map[1] <= SENSOR_DIGO2)) |
730
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 tMenuEdit_refresh_field(StMHARD3_O2_Sensor2); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
507 } |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
508 if((pSettings->ext_sensor_map[2] >= SENSOR_OPTIC) && (pSettings->ext_sensor_map[2] <= SENSOR_DIGO2)) |
730
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 tMenuEdit_refresh_field(StMHARD3_O2_Sensor3); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
511 } |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
512 } |
38 | 513 |
584 | 514 if(get_globalState() == StMHARD3_O2_Calibrate) |
515 { | |
516 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_O2Calib,TXT2BYTE_ButtonPlus); | |
517 } | |
518 else | |
519 { | |
520 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); | |
521 } | |
38 | 522 } |
523 | |
524 | |
525 void openEdit_O2Sensors(void) | |
526 { | |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
527 SSettings *pSettings = settingsGetPointer(); |
38 | 528 uint8_t sensorActive[3]; |
529 | |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
530 set_globalState(StMHARD3_Sensors); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
531 resetMenuEdit(CLUT_MenuPageHardware); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
532 |
38 | 533 sensorActive[0] = 1; |
534 sensorActive[1] = 1; | |
535 sensorActive[2] = 1; | |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
536 |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
537 if(((pSettings->ext_sensor_map[0] < SENSOR_OPTIC) || (pSettings->ext_sensor_map[0] > SENSOR_DIGO2))) |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
538 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
539 pSettings->ppo2sensors_deactivated |= 1; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
540 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
541 else |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
542 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
543 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
|
544 } |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
545 if(((pSettings->ext_sensor_map[1] < SENSOR_OPTIC) || (pSettings->ext_sensor_map[1] > SENSOR_DIGO2))) |
730
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 pSettings->ppo2sensors_deactivated |= 2; |
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 else |
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_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
|
552 } |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
553 if(((pSettings->ext_sensor_map[2] < SENSOR_OPTIC) || (pSettings->ext_sensor_map[2] > SENSOR_DIGO2))) |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
554 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
555 pSettings->ppo2sensors_deactivated |= 4; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
556 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
557 else |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
558 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
559 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
|
560 } |
38 | 561 if(settingsGetPointer()->ppo2sensors_deactivated & 1) |
562 sensorActive[0] = 0; | |
563 if(settingsGetPointer()->ppo2sensors_deactivated & 2) | |
564 sensorActive[1] = 0; | |
565 if(settingsGetPointer()->ppo2sensors_deactivated & 4) | |
566 sensorActive[2] = 0; | |
567 | |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
568 if(pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_OPTIC) |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
569 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
570 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
|
571 } |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
572 |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
573 if((pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANALOG) || (pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANADIG) |
689 | 574 #ifdef ENABLE_SENTINEL_MODE |
575 || (settingsGetPointer()->ppo2sensors_source == O2_SENSOR_SOURCE_SENTINEL) | |
576 #endif | |
577 ) | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
578 { |
584 | 579 write_label_fix( 30, 800, ME_Y_LINE4, &FontT48, TXT2BYTE_O2Calib); |
580 write_label_var( 400, 800, ME_Y_LINE4, &FontT48, "\016\016 %\017"); | |
581 | |
673
d7c5d592076b
Show 98% in case of Oxygen as the calibrating gas
heinrichsweikamp
parents:
605
diff
changeset
|
582 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
|
583 } |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
584 |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
585 if(haveSensorInfo != 0) |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
586 { |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
587 write_field_button(StMHARD3_Sensor_Info, 30, 800, ME_Y_LINE5, &FontT48, ""); |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
588 } |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
589 |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
590 write_field_button(StMHARD3_Sensor_Detect, 30, 800, ME_Y_LINE6, &FontT48, "Autodetect"); |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
591 |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
592 if((pSettings->ext_sensor_map[0] < SENSOR_OPTIC) || (pSettings->ext_sensor_map[0] > SENSOR_DIGO2)) |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
593 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
594 setEvent(StMHARD3_O2_Sensor1, (uint32_t)OnAction_Sensor1); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
595 } |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
596 if((pSettings->ext_sensor_map[1] < SENSOR_OPTIC) || (pSettings->ext_sensor_map[1] > SENSOR_DIGO2)) |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
597 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
598 setEvent(StMHARD3_O2_Sensor2, (uint32_t)OnAction_Sensor2); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
599 } |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
600 if((pSettings->ext_sensor_map[2] < SENSOR_OPTIC) || (pSettings->ext_sensor_map[2] > SENSOR_DIGO2)) |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
601 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
602 setEvent(StMHARD3_O2_Sensor3, (uint32_t)OnAction_Sensor3); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
603 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
604 |
703
2f457024049b
Added selection of digital o2 sensor source to HW menu:
Ideenmodellierer
parents:
689
diff
changeset
|
605 if((settingsGetPointer()->ppo2sensors_source == O2_SENSOR_SOURCE_ANALOG) || (settingsGetPointer()->ppo2sensors_source == O2_SENSOR_SOURCE_ANADIG) |
689 | 606 #ifdef ENABLE_SENTINEL_MODE |
607 || (settingsGetPointer()->ppo2sensors_source == O2_SENSOR_SOURCE_SENTINEL) | |
608 #endif | |
609 ) | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
610 { |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
611 setEvent(StMHARD3_O2_Calibrate, (uint32_t)OnAction_O2_Calibrate); |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
612 } |
708
7e3bf2c0cd40
Menu cleanup rebreather specific settings:
Ideenmodellierer
parents:
703
diff
changeset
|
613 |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
614 if(haveSensorInfo != 0) |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
615 { |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
616 setEvent(StMHARD3_Sensor_Info, (uint32_t)OnAction_Sensor_Info); |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
617 } |
38 | 618 |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
619 setEvent(StMHARD3_Sensor_Detect, (uint32_t)OnAction_Sensor_Detect); |
38 | 620 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); |
621 } | |
622 | |
623 | |
624 uint8_t OnAction_Sensor1(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
625 { | |
626 if(settingsGetPointer()->ppo2sensors_deactivated & 1) | |
627 { | |
628 settingsGetPointer()->ppo2sensors_deactivated &= 4+2; | |
629 tMenuEdit_set_on_off(editId, 1); | |
630 } | |
631 else | |
632 { | |
633 settingsGetPointer()->ppo2sensors_deactivated |= 1; | |
634 tMenuEdit_set_on_off(editId, 0); | |
635 } | |
636 | |
637 return UPDATE_DIVESETTINGS; | |
638 } | |
639 | |
640 | |
641 uint8_t OnAction_Sensor2(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
642 { | |
643 if(settingsGetPointer()->ppo2sensors_deactivated & 2) | |
644 { | |
645 settingsGetPointer()->ppo2sensors_deactivated &= 4+1; | |
646 tMenuEdit_set_on_off(editId, 1); | |
647 } | |
648 else | |
649 { | |
650 settingsGetPointer()->ppo2sensors_deactivated |= 2; | |
651 tMenuEdit_set_on_off(editId, 0); | |
652 } | |
653 | |
654 return UPDATE_DIVESETTINGS; | |
655 } | |
656 | |
657 | |
658 uint8_t OnAction_Sensor3(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
659 { | |
660 if(settingsGetPointer()->ppo2sensors_deactivated & 4) | |
661 { | |
662 settingsGetPointer()->ppo2sensors_deactivated &= 2+1; | |
663 tMenuEdit_set_on_off(editId, 1); | |
664 } | |
665 else | |
666 { | |
667 settingsGetPointer()->ppo2sensors_deactivated |= 4; | |
668 tMenuEdit_set_on_off(editId, 0); | |
669 } | |
670 | |
671 return UPDATE_DIVESETTINGS; | |
672 } | |
673 | |
674 | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
675 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
|
676 { |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
677 uint8_t loop; |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
678 const SDiveState *pStateReal = stateRealGetPointer(); |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
679 SSettings* pSettings = settingsGetPointer(); |
584 | 680 uint8_t retVal = UNSPECIFIC_RETURN; |
681 float compensatedRef; | |
38 | 682 |
584 | 683 if(action == ACTION_BUTTON_ENTER_FINAL) |
684 { | |
685 if(O2_calib_gas == 21) | |
686 { | |
687 compensatedRef = O2_CALIB_FRACTION_AIR * pStateReal->lifeData.pressure_ambient_bar / 1.0; | |
688 } | |
689 else | |
690 { | |
605 | 691 compensatedRef = O2_CALIB_FRACTION_O2 * pStateReal->lifeData.pressure_ambient_bar / 1.0; |
584 | 692 } |
693 for(loop=0;loop<3;loop++) | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
694 { |
584 | 695 if((pSettings->ppo2sensors_deactivated & (0x1 << loop)) == 0) |
696 { | |
697 if(pStateReal->lifeData.sensorVoltage_mV[loop] > 0.0001) /* sensor connected ?*/ | |
698 { | |
724
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
699 #ifdef ENABLE_EXTERNAL_PRESSURE |
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
700 if(loop == 2) |
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
701 { |
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
702 compensatedRef = pStateReal->lifeData.pressure_ambient_bar; |
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
703 } |
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
704 #endif |
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
705 |
584 | 706 pSettings->ppo2sensors_calibCoeff[loop] = compensatedRef / pStateReal->lifeData.sensorVoltage_mV[loop]; |
707 } | |
708 else | |
709 { | |
710 pSettings->ppo2sensors_calibCoeff[loop] = 0.0; | |
711 settingsGetPointer()->ppo2sensors_deactivated |= 0x1 << loop; | |
712 } | |
713 } | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
714 } |
584 | 715 tMenuEdit_newInput(editId, O2_calib_gas, 0, 0, 0); |
716 retVal = UPDATE_DIVESETTINGS; | |
717 } | |
718 if(action == ACTION_BUTTON_NEXT) | |
719 { | |
720 if(O2_calib_gas == 21) | |
721 { | |
673
d7c5d592076b
Show 98% in case of Oxygen as the calibrating gas
heinrichsweikamp
parents:
605
diff
changeset
|
722 O2_calib_gas = 98; |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
723 } |
584 | 724 else |
725 { | |
726 O2_calib_gas = 21; | |
727 } | |
728 } | |
729 retVal = O2_calib_gas; | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
730 |
584 | 731 if(action == ACTION_BUTTON_BACK) |
732 { | |
733 exitMenuEditField(); | |
734 } | |
735 | |
736 return retVal; | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
737 } |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
738 #if 0 |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
739 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
|
740 { |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
741 uint8_t source = settingsGetPointer()->ppo2sensors_source; |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
742 SSettings* pSettings = settingsGetPointer(); |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
743 |
689 | 744 source++; |
745 if(source == O2_SENSOR_SOURCE_MAX) | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
746 { |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
747 source = O2_SENSOR_SOURCE_OPTIC; |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
748 } |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
749 |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
750 switch(source) |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
751 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
752 case O2_SENSOR_SOURCE_OPTIC: |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
753 case O2_SENSOR_SOURCE_ANALOG: |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
754 case O2_SENSOR_SOURCE_ANADIG: |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
755 pSettings->ext_sensor_map[0] = SENSOR_ANALOG; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
756 pSettings->ext_sensor_map[1] = SENSOR_ANALOG; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
757 pSettings->ext_sensor_map[2] = SENSOR_ANALOG; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
758 |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
759 break; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
760 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
|
761 pSettings->ext_sensor_map[1] = SENSOR_NONE; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
762 pSettings->ext_sensor_map[2] = SENSOR_NONE; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
763 break; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
764 default: |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
765 break; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
766 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
767 pSettings->ext_sensor_map[3] = SENSOR_NONE; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
768 pSettings->ext_sensor_map[4] = SENSOR_NONE; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
769 |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
770 pSettings->ppo2sensors_source = source; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
771 |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
772 DataEX_setExtInterface_Cmd(EXT_INTERFACE_COPY_SENSORMAP); |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
773 |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
774 openEdit_O2Sensors(); /* rebuild menu structure (Hide HUD <=> Show Calibrate) */ |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
775 // tMenuEdit_select(StMHARD3_O2_Source); |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
776 return UPDATE_DIVESETTINGS; |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
777 } |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
778 #endif |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
779 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
|
780 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
781 return EXIT_TO_INFO_SENSOR; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
782 } |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
783 |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
784 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
|
785 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
786 DataEX_setExtInterface_Cmd(EXT_INTERFACE_AUTODETECT); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
787 return UNSPECIFIC_RETURN; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
788 } |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
789 |
38 | 790 void openEdit_Brightness(void) |
791 { | |
792 uint8_t actualBrightness; | |
793 SSettings *pSettings = settingsGetPointer(); | |
794 | |
795 actualBrightness = pSettings->brightness; | |
796 actualBrightness++; | |
797 if(actualBrightness > 4) | |
798 actualBrightness = 0; | |
799 pSettings->brightness = actualBrightness; | |
800 exitEditWithUpdate(); | |
801 } | |
802 | |
803 | |
804 void buttonBalanceText_helper(uint8_t idOfButton, char *textOutput) | |
805 { | |
806 uint8_t txtcount = 0; | |
807 | |
808 if(idOfButton < 3) | |
809 { | |
810 textOutput[txtcount++] = '@' + settingsGetPointer()->buttonBalance[idOfButton]; | |
811 textOutput[txtcount++] = ' '; | |
812 textOutput[txtcount++] = ' '; | |
813 textOutput[txtcount++] = '('; | |
814 | |
815 switch(settingsGetPointer()->buttonBalance[idOfButton]) | |
816 { | |
817 case 1: | |
818 textOutput[txtcount++] = '-'; | |
819 textOutput[txtcount++] = '2'; | |
820 textOutput[txtcount++] = '0'; | |
821 break; | |
822 case 2: | |
823 textOutput[txtcount++] = '-'; | |
824 textOutput[txtcount++] = '1'; | |
825 textOutput[txtcount++] = '0'; | |
826 break; | |
827 case 3: | |
828 default: | |
829 textOutput[txtcount++] = '0'; | |
830 break; | |
831 case 4: | |
832 textOutput[txtcount++] = '+'; | |
833 textOutput[txtcount++] = '1'; | |
834 textOutput[txtcount++] = '0'; | |
835 break; | |
836 case 5: | |
837 textOutput[txtcount++] = '+'; | |
838 textOutput[txtcount++] = '2'; | |
839 textOutput[txtcount++] = '0'; | |
840 break; | |
841 } | |
842 textOutput[txtcount++] = ')'; | |
843 } | |
844 textOutput[txtcount++] = 0; | |
845 } | |
846 | |
847 /**# | |
848 ****************************************************************************** | |
849 * @brief BUTTONS | |
850 * @author heinrichs weikamp gmbh | |
851 * @version V 01 | |
852 * @date 15-Sept-2016 | |
853 ****************************************************************************** | |
854 * Button 0 is right, Button 1 is middle, Button 2 is left !!!! | |
855 * 2 1 0 (base value 3) | |
856 * Button 3 is used to store the base value, all others are balanced around this one! | |
857 * | |
858 */ | |
859 | |
860 void openEdit_ButtonSens(void) | |
861 { | |
862 char text[32]; | |
863 uint8_t sens; | |
864 const uint32_t eventListButtonBalance[3] = {StMHARD5_ButtonBalance1,StMHARD5_ButtonBalance2,StMHARD5_ButtonBalance3}; | |
865 | |
866 sens = (uint8_t)settingsGetPointer()->ButtonResponsiveness[3]; | |
867 write_field_3digit(StMHARD5_Button1, 360, 780, ME_Y_LINE1, &FontT48, "###", sens, 0, 0, 0); | |
868 | |
869 for(int i=2;i>=0;i--) | |
870 { | |
871 buttonBalanceText_helper(i,text); | |
872 write_field_button(eventListButtonBalance[i],360,500,ME_Y_LINE4-(i*ME_Y_LINE_STEP),&FontT48,text); | |
873 } | |
874 | |
875 | |
876 setEvent(StMHARD5_Button1, (uint32_t)OnAction_Button); | |
877 | |
878 for(int i=2;i>=0;i--) | |
879 { | |
880 setEvent(eventListButtonBalance[i], (uint32_t)OnAction_ButtonBalance); | |
881 } | |
882 | |
883 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); | |
884 } | |
885 | |
886 | |
887 void refresh_ButtonValuesFromPIC(void) | |
888 { | |
889 uint8_t sens[3]; | |
890 char text[64]; | |
891 | |
892 text[0] = '\001'; | |
893 text[1] = TXT_2BYTE; | |
894 text[2] = TXT2BYTE_ButtonSensitivity; | |
895 text[3] = 0; | |
896 write_topline(text); | |
897 | |
898 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); | |
899 | |
525
1f557e5f4b5a
Change color ID used in strings for light grey:
Ideenmodellierer
parents:
394
diff
changeset
|
900 text[0] = '\020'; // '\031'; |
38 | 901 text[1] = TXT_2BYTE; |
902 text[2] = TXT2BYTE_LowerIsLess; | |
903 text[3] = 0; | |
904 write_label_var( 20, 780, ME_Y_LINE5, &FontT42, text); | |
905 | |
906 for(int i=0;i<3;i++) | |
907 { | |
908 text[0] = TXT_2BYTE; | |
909 text[1] = TXT2BYTE_ButtonLeft+i; | |
910 text[2] = 0; | |
911 write_label_var( 20, 300, ME_Y_LINE2+(i*ME_Y_LINE_STEP), &FontT48, text); | |
912 } | |
913 | |
914 for(int i=0;i<3;i++) | |
915 { | |
916 sens[i] = settingsHelperButtonSens_translate_hwOS_values_to_percentage(stateRealGetPointer()->lifeData.buttonPICdata[i]); | |
917 } | |
918 snprintf(text,64,"(%03u %03u %03u)",sens[2],sens[1],sens[0]); | |
919 write_label_var( 20, 340, ME_Y_LINE6, &FontT42, text); | |
920 | |
921 tMenuEdit_refresh_field(StMHARD5_Button1); | |
922 tMenuEdit_refresh_field(StMHARD5_ButtonBalance1); | |
923 tMenuEdit_refresh_field(StMHARD5_ButtonBalance2); | |
924 tMenuEdit_refresh_field(StMHARD5_ButtonBalance3); | |
925 } | |
926 | |
927 | |
928 uint8_t OnAction_Button(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
929 { | |
930 uint8_t digitContentNew, remainder; | |
931 uint32_t newSensitivityGlobal; | |
932 | |
933 if(action == ACTION_BUTTON_NEXT) | |
934 { | |
935 digitContentNew = digitContent - '0'; | |
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
936 if(digitContentNew >= MAX_BUTTONRESPONSIVENESS_GUI) |
38 | 937 { |
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
938 digitContentNew = MIN_BUTTONRESPONSIVENESS_GUI; |
38 | 939 } |
940 else | |
941 { | |
942 remainder = digitContentNew%5; | |
943 digitContentNew += 5 - remainder; | |
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
944 if(digitContentNew >= MAX_BUTTONRESPONSIVENESS_GUI) |
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
945 digitContentNew = MAX_BUTTONRESPONSIVENESS_GUI; |
38 | 946 } |
947 return '0' + digitContentNew; | |
948 } | |
949 | |
950 if(action == ACTION_BUTTON_BACK) | |
951 { | |
952 digitContentNew = digitContent - '0'; | |
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
953 if(digitContentNew <= MIN_BUTTONRESPONSIVENESS_GUI) |
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
954 digitContentNew = MAX_BUTTONRESPONSIVENESS_GUI; |
38 | 955 else |
956 { | |
957 remainder = digitContentNew%5; | |
958 if(remainder) | |
959 digitContentNew -= remainder; | |
960 else | |
961 digitContentNew -= 5; | |
962 } | |
963 return '0' + digitContentNew; | |
964 } | |
965 | |
966 if(action == ACTION_BUTTON_ENTER_FINAL) | |
967 { | |
968 evaluateNewString(editId, &newSensitivityGlobal, 0, 0, 0); | |
969 settingsHelperButtonSens_keepPercentageValues(newSensitivityGlobal, settingsGetPointer()->ButtonResponsiveness); | |
970 setButtonResponsiveness(settingsGetPointer()->ButtonResponsiveness); | |
971 return UNSPECIFIC_RETURN; | |
972 } | |
973 return digitContent; | |
974 } | |
975 | |
976 | |
977 uint8_t OnAction_ButtonBalance(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
978 { | |
979 int8_t idBalance = -1; | |
980 uint8_t *ptrSetting; | |
981 char text[32]; | |
982 | |
983 const uint32_t eventListButtonBalance[3] = {StMHARD5_ButtonBalance1,StMHARD5_ButtonBalance2,StMHARD5_ButtonBalance3}; | |
984 | |
985 idBalance = -1; | |
986 for(int i=0;i<3;i++) | |
987 { | |
988 if(editId == eventListButtonBalance[i]) | |
989 { | |
990 idBalance = i; | |
991 break; | |
992 } | |
993 } | |
994 | |
995 if((idBalance >= 0) && (idBalance < 3)) | |
996 { | |
997 ptrSetting = &settingsGetPointer()->buttonBalance[idBalance]; | |
998 | |
999 *ptrSetting += 1; | |
1000 | |
1001 if(*ptrSetting > 5) | |
1002 *ptrSetting = 2; | |
1003 | |
1004 buttonBalanceText_helper(idBalance,text); | |
1005 tMenuEdit_newButtonText(eventListButtonBalance[idBalance],text); | |
1006 } | |
1007 | |
1008 return UNSPECIFIC_RETURN; | |
1009 } |