Mercurial > public > ostc4
annotate Discovery/Src/tMenuEditHardware.c @ 983:7891160acde3 GasConsumption
Bugfix calculation of needed gas:
Sometimes a gas was not calculated because of it's change depth calculation. Rootcause was a problem in the setup of the gas change list. The old function collecting milestones like time to first stop etc. has been removed because after the deco compression the complete profile is available. Instead of doing another way of profile calculation the existing profil is now evaluated and the time stamps / gas consumption derived from there.
author | Ideenmodellierer |
---|---|
date | Sun, 02 Mar 2025 21:43:08 +0100 (7 weeks ago) |
parents | 57b82ae99969 |
children |
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" | |
783 | 31 #include "tMenuEdit.h" |
38 | 32 |
33 #include "externCPU2bootloader.h" | |
34 #include "gfx_fonts.h" | |
35 #include "ostc.h" | |
36 #include "tCCR.h" | |
37 #include "tMenuEdit.h" | |
130
b7689d9e888a
Minor changes to improved code quality and to eliminate warnings
Ideenmodellierer
parents:
115
diff
changeset
|
38 #include "tHome.h" |
b7689d9e888a
Minor changes to improved code quality and to eliminate warnings
Ideenmodellierer
parents:
115
diff
changeset
|
39 #include "tInfo.h" |
b7689d9e888a
Minor changes to improved code quality and to eliminate warnings
Ideenmodellierer
parents:
115
diff
changeset
|
40 #include "tInfoLog.h" |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
41 #include "tInfoSensor.h" |
394
717f335cc5c9
Added start of module configuration after eache modul power on
ideenmodellierer
parents:
314
diff
changeset
|
42 #include "tComm.h" |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
43 #include "data_exchange_main.h" |
38 | 44 |
748 | 45 |
130
b7689d9e888a
Minor changes to improved code quality and to eliminate warnings
Ideenmodellierer
parents:
115
diff
changeset
|
46 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
|
47 |
38 | 48 /* Private function prototypes -----------------------------------------------*/ |
49 void openEdit_Bluetooth(void); | |
50 void openEdit_Compass(void); | |
51 void openEdit_O2Sensors(void); | |
52 void openEdit_Brightness(void); | |
53 //void openEdit_Luftintegration(void); | |
54 void openEdit_ButtonSens(void); | |
110
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
55 void openEdit_FlipDisplay(void); |
38 | 56 |
57 /* Announced function prototypes -----------------------------------------------*/ | |
58 uint8_t OnAction_Compass (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | |
59 uint8_t OnAction_Bearing (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | |
60 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
|
61 uint8_t OnAction_InertiaLevel (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
38 | 62 //uint8_t OnAction_ExitHardw (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
63 uint8_t OnAction_Sensor1 (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | |
64 uint8_t OnAction_Sensor2 (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | |
65 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
|
66 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
|
67 //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
|
68 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
|
69 uint8_t OnAction_Sensor_Detect (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
38 | 70 uint8_t OnAction_Button (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
71 uint8_t OnAction_ButtonBalance (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | |
740
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
72 uint8_t OnAction_ButtonLock (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
605 | 73 // not required uint8_t OnAction_Bluetooth (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
38 | 74 |
75 /* Exported functions --------------------------------------------------------*/ | |
76 | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
77 |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
78 #define O2_CALIB_FRACTION_AIR (0.209F) |
605 | 79 #define O2_CALIB_FRACTION_O2 (0.98F) |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
80 |
584 | 81 static uint8_t O2_calib_gas = 21; |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
82 |
38 | 83 void openEdit_Hardware(uint8_t line) |
84 { | |
85 set_globalState_Menu_Line(line); | |
86 | |
87 switch(line) | |
88 { | |
89 case 1: | |
90 default: | |
91 openEdit_Bluetooth(); | |
92 break; | |
93 case 2: | |
708
7e3bf2c0cd40
Menu cleanup rebreather specific settings:
Ideenmodellierer
parents:
703
diff
changeset
|
94 resetMenuEdit(CLUT_MenuPageHardware); |
38 | 95 openEdit_Compass(); |
96 break; | |
97 case 3: | |
98 openEdit_O2Sensors(); | |
99 break; | |
100 case 4: | |
101 openEdit_Brightness(); | |
102 break; | |
103 case 5: | |
708
7e3bf2c0cd40
Menu cleanup rebreather specific settings:
Ideenmodellierer
parents:
703
diff
changeset
|
104 resetMenuEdit(CLUT_MenuPageHardware); |
38 | 105 openEdit_ButtonSens(); |
106 break; | |
107 case 6: | |
138 | 108 openEdit_FlipDisplay(); |
38 | 109 break; |
110 } | |
111 } | |
112 | |
113 /* Private functions ---------------------------------------------------------*/ | |
114 void openEdit_Bluetooth(void) | |
115 { | |
116 /* does not work like this resetEnterPressedToStateBeforeButtonAction(); */ | |
117 | |
118 SSettings *pSettings = settingsGetPointer(); | |
119 | |
120 if(pSettings->bluetoothActive == 0) | |
121 { | |
122 pSettings->bluetoothActive = 1; | |
123 MX_Bluetooth_PowerOn(); | |
394
717f335cc5c9
Added start of module configuration after eache modul power on
ideenmodellierer
parents:
314
diff
changeset
|
124 tComm_StartBlueModConfig(); |
38 | 125 } |
126 else | |
127 { | |
128 pSettings->bluetoothActive = 0; | |
129 MX_Bluetooth_PowerOff(); | |
130 } | |
131 exitMenuEdit_to_Menu_with_Menu_Update_do_not_write_settings_for_this_only(); | |
132 } | |
133 | |
110
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
134 void openEdit_FlipDisplay(void) |
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 /* does not work like this resetEnterPressedToStateBeforeButtonAction(); */ |
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 SSettings *pSettings = settingsGetPointer(); |
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 if(pSettings->FlipDisplay == 0) |
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 pSettings->FlipDisplay = 1; |
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 else |
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 pSettings->FlipDisplay = 0; |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
147 } |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
148 /* reinit all views */ |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
149 tHome_init(); |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
150 tI_init(); |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
151 tM_init(); |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
152 tMenuEdit_init(); |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
153 tInfoLog_init(); |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
154 tM_build_pages(); |
314 | 155 GFX_build_logo_frame(); |
156 GFX_build_hw_background_frame(); | |
110
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
157 |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
158 exitEditWithUpdate(); |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
159 exitMenuEdit_to_Home(); |
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
160 } |
38 | 161 |
776
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
162 static uint8_t OnAction_CompassDeclination(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
163 { |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
164 SSettings *settings = settingsGetPointer(); |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
165 uint8_t digitContentNew; |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
166 switch (action) { |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
167 case ACTION_BUTTON_ENTER: |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
168 |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
169 return digitContent; |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
170 case ACTION_BUTTON_ENTER_FINAL: |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
171 { |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
172 int32_t compassDeclinationDeg; |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
173 evaluateNewString(editId, (uint32_t *)&compassDeclinationDeg, NULL, NULL, NULL); |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
174 |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
175 if (compassDeclinationDeg > 99) { |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
176 compassDeclinationDeg = 99; |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
177 } else if (compassDeclinationDeg < -99) { |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
178 compassDeclinationDeg = -99; |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
179 } |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
180 |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
181 settings->compassDeclinationDeg = compassDeclinationDeg; |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
182 |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
183 tMenuEdit_newInput(editId, ((input_u)compassDeclinationDeg).uint32, 0, 0, 0); |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
184 } |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
185 |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
186 break; |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
187 case ACTION_BUTTON_NEXT: |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
188 if (digitNumber == 0) { |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
189 digitContentNew = togglePlusMinus(digitContent); |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
190 } else { |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
191 digitContentNew = digitContent + 1; |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
192 if (digitContentNew > '9') { |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
193 digitContentNew = '0'; |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
194 } |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
195 } |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
196 |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
197 return digitContentNew; |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
198 case ACTION_BUTTON_BACK: |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
199 if (digitNumber == 0) { |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
200 digitContentNew = togglePlusMinus(digitContent); |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
201 } else { |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
202 digitContentNew = digitContent - 1; |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
203 if (digitContentNew < '0') { |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
204 digitContentNew = '9'; |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
205 } |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
206 } |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
207 |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
208 return digitContentNew; |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
209 } |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
210 |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
211 return UNSPECIFIC_RETURN; |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
212 } |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
213 |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
214 |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
215 static void showCompassDeclination(SSettings *settings, bool isRefresh) |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
216 { |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
217 char text[16]; |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
218 snprintf(text, 16, "%c%c:", TXT_2BYTE, TXT2BYTE_CompassDeclination); |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
219 write_label_var(30, 800, ME_Y_LINE6, &FontT48, text); |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
220 if (isRefresh) { |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
221 tMenuEdit_refresh_field(StMHARD2_Compass_Declination); |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
222 } else { |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
223 write_field_sdigit(StMHARD2_Compass_Declination, 500, 800, ME_Y_LINE6, &FontT48, "\034###`", settings->compassDeclinationDeg, 0, 0, 0); |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
224 } |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
225 } |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
226 |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
227 |
38 | 228 void refresh_CompassEdit(void) |
229 { | |
776
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
230 SSettings *settings = settingsGetPointer(); |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
231 |
38 | 232 uint16_t heading; |
233 char text[32]; | |
539
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
234 uint8_t textIndex = 0; |
38 | 235 |
236 text[0] = '\001'; | |
237 text[1] = TXT_2BYTE; | |
238 text[2] = TXT2BYTE_Compass; | |
239 text[3] = 0; | |
240 write_topline(text); | |
241 | |
776
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
242 if(settings->compassInertia) |
539
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
243 { |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
244 heading = (uint16_t)compass_getCompensated(); |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
245 } |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
246 else |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
247 { |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
248 heading = (uint16_t)stateUsed->lifeData.compass_heading; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
249 } |
38 | 250 snprintf(text,32,"\001%03i`",heading); |
251 write_label_var( 0, 800, ME_Y_LINE1, &FontT54, text); | |
252 | |
253 tMenuEdit_refresh_field(StMHARD2_Compass_SetCourse); | |
254 tMenuEdit_refresh_field(StMHARD2_Compass_Calibrate); | |
255 tMenuEdit_refresh_field(StMHARD2_Compass_ResetCourse); | |
539
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
256 text[textIndex++] = TXT_2BYTE; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
257 text[textIndex++] = TXT2BYTE_CompassInertia; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
258 text[textIndex++] = ':'; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
259 text[textIndex++] = ' '; |
776
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
260 text[textIndex++] = '0' + settings->compassInertia; |
539
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
261 |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
262 write_label_var(30, 800, ME_Y_LINE5, &FontT48, text); |
38 | 263 |
776
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
264 showCompassDeclination(settings, true); |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
265 |
38 | 266 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); |
267 } | |
268 | |
269 | |
270 void openEdit_Compass(void) | |
271 { | |
776
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
272 SSettings *settings = settingsGetPointer(); |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
273 |
539
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
274 char text[10]; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
275 uint8_t textIndex = 0; |
38 | 276 |
854 | 277 |
278 set_globalState(StMHARD2_Compass); | |
279 resetMenuEdit(CLUT_MenuPageHardware); | |
280 | |
539
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
281 text[textIndex++] = '\001'; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
282 text[textIndex++] = TXT_2BYTE; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
283 text[textIndex++] = TXT2BYTE_Compass; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
284 text[textIndex++] = 0; |
38 | 285 write_topline(text); |
286 | |
287 text[0] = TXT_2BYTE; | |
288 text[2] = 0; | |
289 | |
290 text[1] = TXT2BYTE_SetBearing; | |
291 write_field_button(StMHARD2_Compass_SetCourse, 30, 800, ME_Y_LINE2, &FontT48, text); | |
292 | |
776
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
293 text[1] = TXT2BYTE_ResetBearing; |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
294 write_field_button(StMHARD2_Compass_ResetCourse, 30, 800, ME_Y_LINE3, &FontT48, text); |
38 | 295 |
776
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
296 text[1] = TXT2BYTE_CompassCalib; |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
297 write_field_button(StMHARD2_Compass_Calibrate, 30, 800, ME_Y_LINE4, &FontT48, text); |
38 | 298 |
539
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
299 text[1] = TXT2BYTE_CompassInertia; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
300 textIndex = 2; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
301 text[textIndex++] = ':'; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
302 text[textIndex++] = ' '; |
776
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
303 text[textIndex++] = '0' + settings->compassInertia; |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
304 text[textIndex++] = 0; |
539
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
305 |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
306 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
|
307 |
776
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
308 showCompassDeclination(settings, false); |
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
309 |
38 | 310 setEvent(StMHARD2_Compass_SetCourse, (uint32_t)OnAction_Bearing); |
776
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
311 setEvent(StMHARD2_Compass_ResetCourse, (uint32_t)OnAction_BearingClear); |
38 | 312 setEvent(StMHARD2_Compass_Calibrate, (uint32_t)OnAction_Compass); |
539
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
313 setEvent(StMHARD2_Compass_Inertia, (uint32_t)OnAction_InertiaLevel); |
776
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
754
diff
changeset
|
314 setEvent(StMHARD2_Compass_Declination, (uint32_t)OnAction_CompassDeclination); |
38 | 315 |
854 | 316 tMenuEdit_select(StMHARD2_Compass_SetCourse); |
317 | |
38 | 318 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); |
319 } | |
320 | |
321 | |
322 uint8_t OnAction_Compass (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
323 { | |
324 calibrateCompass(); | |
325 return EXIT_TO_INFO_COMPASS; | |
326 } | |
327 | |
328 | |
329 uint8_t OnAction_Bearing (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
330 { | |
709 | 331 if((int16_t)stateUsed->lifeData.compass_heading != -1) |
332 { | |
333 settingsGetPointer()->compassBearing = (int16_t)stateUsed->lifeData.compass_heading; | |
334 } | |
335 else | |
336 { | |
337 settingsGetPointer()->compassBearing = 0; | |
338 } | |
339 | |
38 | 340 if(settingsGetPointer()->compassBearing == 0) |
341 settingsGetPointer()->compassBearing = 360; | |
342 return UPDATE_AND_EXIT_TO_MENU; | |
343 } | |
344 | |
345 | |
346 uint8_t OnAction_BearingClear (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
347 { | |
348 settingsGetPointer()->compassBearing = 0; | |
349 return UPDATE_AND_EXIT_TO_MENU; | |
350 } | |
351 | |
539
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
352 |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
353 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
|
354 { |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
355 uint8_t newLevel = 0; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
356 |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
357 newLevel = settingsGetPointer()->compassInertia + 1; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
358 if(newLevel > MAX_COMPASS_COMP) |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
359 { |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
360 newLevel = 0; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
361 } |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
362 settingsGetPointer()->compassInertia = newLevel; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
363 return UPDATE_DIVESETTINGS; |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
364 } |
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
525
diff
changeset
|
365 |
38 | 366 /* |
367 uint8_t OnAction_ExitHardw (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
368 { | |
369 return EXIT_TO_MENU; | |
370 } | |
371 */ | |
372 | |
373 void refresh_O2Sensors(void) | |
374 { | |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
375 char strSensorId[20]; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
376 char strSensorValue[20]; |
38 | 377 uint16_t y_line; |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
378 uint8_t index = 0; |
38 | 379 |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
380 const SDiveState *pStateReal = stateRealGetPointer(); |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
381 SSettings *pSettings = settingsGetPointer(); |
38 | 382 |
797 | 383 if(memcmp(pSettings->ext_sensor_map, pStateReal->lifeData.extIf_sensor_map, EXT_INTERFACE_SENSOR_CNT) != 0) |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
384 { |
797 | 385 memcpy(pSettings->ext_sensor_map, pStateReal->lifeData.extIf_sensor_map, EXT_INTERFACE_SENSOR_CNT); |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
386 pSettings->ppo2sensors_deactivated = 0x0; /* deactivation will be done by openEditO2Sensor if need */ |
827 | 387 pSettings->co2_sensor_active = 0; |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
388 pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_OPTIC; |
827 | 389 for(index = 0; index < EXT_INTERFACE_SENSOR_CNT - 1; index++) |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
390 { |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
391 switch(pSettings->ext_sensor_map[index]) |
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 case SENSOR_OPTIC: pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_OPTIC; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
394 break; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
395 case SENSOR_ANALOG: if(pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_DIGITAL) |
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 pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_ANADIG; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
398 } |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
399 if(pSettings->ppo2sensors_source != O2_SENSOR_SOURCE_ANADIG) |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
400 { |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
401 pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_ANALOG; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
402 } |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
403 break; |
797 | 404 case SENSOR_DIGO2M: if(pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANALOG) |
734
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 pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_ANADIG; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
407 } |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
408 if(pSettings->ppo2sensors_source != O2_SENSOR_SOURCE_ANADIG) |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
409 { |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
410 pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_DIGITAL; |
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 break; |
827 | 413 case SENSOR_CO2: |
414 case SENSOR_CO2M: pSettings->co2_sensor_active = 1; | |
415 break; | |
746 | 416 #ifdef ENABLE_SENTINEL_MODE |
842
c3dd461ca3f9
Migrated Sentinel protocol to new UART structure:
Ideenmodellierer
parents:
827
diff
changeset
|
417 case SENSOR_SENTINEL: |
c3dd461ca3f9
Migrated Sentinel protocol to new UART structure:
Ideenmodellierer
parents:
827
diff
changeset
|
418 case SENSOR_SENTINELM: pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_SENTINEL; |
745 | 419 break; |
746 | 420 #endif |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
421 default: |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
422 break; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
423 } |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
424 } |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
425 openEdit_O2Sensors(); |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
426 } |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
427 |
783 | 428 strSensorId[0] = '\001'; |
429 strSensorId[1] = TXT_o2Sensors; | |
430 strSensorId[2] = 0; | |
431 write_topline(strSensorId); | |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
432 |
783 | 433 strSensorId[0] = TXT_2BYTE; |
434 strSensorId[1] = TXT2BYTE_Sensor; | |
435 strSensorId[2] = ' '; | |
436 strSensorId[3] = TXT_2BYTE; | |
437 strSensorId[4] = 'X'; | |
438 strSensorId[5] = '1'; | |
439 strSensorId[6] = 0; | |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
440 |
783 | 441 for(index = 0; index < 3; index++) |
442 { | |
799 | 443 strSensorId[3] = TXT_2BYTE; |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
444 strSensorId[4] = 'X'; |
783 | 445 strSensorId[5] = '1' + index; |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
446 |
783 | 447 switch(pSettings->ext_sensor_map[index]) |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
448 { |
748 | 449 case SENSOR_SEARCH: strSensorId[1] = TXT2BYTE_SensorDetect; |
450 strSensorId[2] = 0; | |
451 strSensorId[4] = 0; | |
745 | 452 break; |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
453 case SENSOR_OPTIC: strSensorId[4] = TXT2BYTE_O2IFOptic; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
454 break; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
455 case SENSOR_ANALOG: strSensorId[4] = TXT2BYTE_O2IFAnalog; |
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
456 break; |
797 | 457 case SENSOR_DIGO2: |
458 case SENSOR_DIGO2M: strSensorId[4] = TXT2BYTE_O2IFDigital; | |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
459 break; |
799 | 460 case SENSOR_CO2: |
461 case SENSOR_CO2M: strSensorId[3] = 'C'; | |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
462 strSensorId[4] = 'O'; |
978 | 463 strSensorId[5] = '2'; |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
464 break; |
842
c3dd461ca3f9
Migrated Sentinel protocol to new UART structure:
Ideenmodellierer
parents:
827
diff
changeset
|
465 case SENSOR_SENTINEL: |
c3dd461ca3f9
Migrated Sentinel protocol to new UART structure:
Ideenmodellierer
parents:
827
diff
changeset
|
466 case SENSOR_SENTINELM: strSensorId[3] = 'S'; |
920 | 467 strSensorId[4] = 'e'; |
745 | 468 break; |
920 | 469 case SENSOR_GNSS: |
470 case SENSOR_GNSSM: strSensorId[3] = 'G'; | |
471 strSensorId[4] = 'N'; | |
472 break; | |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
473 default: |
748 | 474 strSensorId[5] = 0; |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
475 break; |
783 | 476 } |
477 if(strSensorId[4] != 'X') | |
478 { | |
479 write_label_var( 96, 340, ME_Y_LINE1 + (index * ME_Y_LINE_STEP), &FontT48, strSensorId); | |
480 } | |
481 strSensorValue[0] = 0; | |
482 if((pSettings->ext_sensor_map[index] >= SENSOR_OPTIC) && (pSettings->ext_sensor_map[index] < SENSOR_TYPE_O2_END)) | |
483 { | |
484 snprintf(strSensorValue, 20,"%01.2f, %01.1f mV", pStateReal->lifeData.ppO2Sensor_bar[index], pStateReal->lifeData.sensorVoltage_mV[index]); | |
485 } | |
799 | 486 else if(pSettings->ext_sensor_map[index] == SENSOR_CO2M) |
783 | 487 { |
488 snprintf(strSensorValue, 20,"%ld ppm", pStateReal->lifeData.CO2_data.CO2_ppm); | |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
489 } |
783 | 490 y_line = ME_Y_LINE1 + (index * ME_Y_LINE_STEP); |
491 if(strSensorValue[0] != 0) | |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
492 { |
783 | 493 write_label_var( 480, 800, y_line, &FontT48, strSensorValue); |
494 } | |
495 } | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
496 |
783 | 497 if(pSettings->ext_sensor_map[0] == SENSOR_OPTIC) |
498 { | |
499 strSensorId[0] = TXT_2BYTE; | |
500 strSensorId[1] = TXT2BYTE_HUDbattery; | |
501 strSensorId[2] = 0; | |
502 write_label_var( 30, 340, ME_Y_LINE4, &FontT48, strSensorId); | |
503 | |
504 snprintf(strSensorId, 20,"%01.3fV", get_HUD_battery_voltage_V()); | |
505 write_label_var( 480, 800, ME_Y_LINE4, &FontT48, strSensorId); | |
506 } | |
507 else | |
508 { | |
509 if((pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANALOG) || (pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANADIG) | |
754
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
510 #ifdef ENABLE_SENTINEL_MODE |
746 | 511 || (pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_SENTINEL) |
512 #endif | |
513 ) | |
783 | 514 { |
515 strSensorId[0] = TXT_2BYTE; | |
516 strSensorId[1] = TXT2BYTE_O2Calib; | |
517 strSensorId[2] = 0; | |
518 write_label_var( 30, 340, ME_Y_LINE4, &FontT48, strSensorId); | |
519 snprintf(strSensorId, 20,"%d%%", O2_calib_gas); | |
520 write_label_var( 480, 800, ME_Y_LINE4, &FontT48, strSensorId); | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
521 } |
783 | 522 } |
523 if(DataEX_external_ADC_Present()) | |
524 { | |
525 strSensorId[0] = TXT_2BYTE; | |
526 strSensorId[1] = TXT2BYTE_SensorDetect; | |
527 strSensorId[2] = 0; | |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
528 |
783 | 529 write_label_var( 30, 340, ME_Y_LINE6, &FontT48, strSensorId); |
530 } | |
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
531 |
827 | 532 if((pSettings->ext_sensor_map[0] >= SENSOR_OPTIC) && (pSettings->ext_sensor_map[0] < SENSOR_MUX)) |
783 | 533 { |
534 tMenuEdit_refresh_field(StMHARD3_O2_Sensor1); | |
535 } | |
827 | 536 if((pSettings->ext_sensor_map[1] >= SENSOR_OPTIC) && (pSettings->ext_sensor_map[1] < SENSOR_MUX)) |
783 | 537 { |
538 tMenuEdit_refresh_field(StMHARD3_O2_Sensor2); | |
539 } | |
827 | 540 if((pSettings->ext_sensor_map[2] >= SENSOR_OPTIC) && (pSettings->ext_sensor_map[2] < SENSOR_MUX)) |
783 | 541 { |
542 tMenuEdit_refresh_field(StMHARD3_O2_Sensor3); | |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
543 } |
38 | 544 |
584 | 545 if(get_globalState() == StMHARD3_O2_Calibrate) |
546 { | |
547 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_O2Calib,TXT2BYTE_ButtonPlus); | |
548 } | |
549 else | |
550 { | |
551 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); | |
552 } | |
38 | 553 } |
554 | |
555 | |
556 void openEdit_O2Sensors(void) | |
557 { | |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
558 SSettings *pSettings = settingsGetPointer(); |
38 | 559 uint8_t sensorActive[3]; |
783 | 560 uint8_t index = 0; |
746 | 561 char text[3]; |
926 | 562 uint32_t firstSensorId = 0; |
38 | 563 |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
564 set_globalState(StMHARD3_Sensors); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
565 resetMenuEdit(CLUT_MenuPageHardware); |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
566 |
783 | 567 for(index = 0; index < 3; index++ ) |
568 { | |
569 if(pSettings->ppo2sensors_deactivated & (0x01 << index)) | |
570 { | |
571 sensorActive[index] = 0; | |
572 } | |
573 else | |
574 { | |
575 sensorActive[index] = 1; | |
576 } | |
577 } | |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
578 |
926 | 579 if(((pSettings->ext_sensor_map[0] < SENSOR_OPTIC) || (pSettings->ext_sensor_map[0] >= SENSOR_TYPE_O2_END))) |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
580 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
581 pSettings->ppo2sensors_deactivated |= 1; |
930 | 582 if(pSettings->ext_sensor_map[0] == SENSOR_CO2M) |
583 { | |
584 write_field_on_off(StMHARD3_O2_Sensor1, 30, 95, ME_Y_LINE1, &FontT48, "", pSettings->co2_sensor_active); | |
585 } | |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
586 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
587 else |
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 write_field_on_off(StMHARD3_O2_Sensor1, 30, 95, ME_Y_LINE1, &FontT48, "", sensorActive[0]); |
926 | 590 if(firstSensorId == 0) |
591 { | |
592 firstSensorId = StMHARD3_O2_Sensor1; | |
593 } | |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
594 } |
926 | 595 if(((pSettings->ext_sensor_map[1] < SENSOR_OPTIC) || (pSettings->ext_sensor_map[1] >= SENSOR_TYPE_O2_END))) |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
596 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
597 pSettings->ppo2sensors_deactivated |= 2; |
930 | 598 if(pSettings->ext_sensor_map[1] == SENSOR_CO2M) |
599 { | |
600 write_field_on_off(StMHARD3_O2_Sensor2, 30, 95, ME_Y_LINE2, &FontT48, "", pSettings->co2_sensor_active); | |
601 } | |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
602 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
603 else |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
604 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
605 write_field_on_off(StMHARD3_O2_Sensor2, 30, 95, ME_Y_LINE2, &FontT48, "", sensorActive[1]); |
926 | 606 if(firstSensorId == 0) |
607 { | |
608 firstSensorId = StMHARD3_O2_Sensor2; | |
609 } | |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
610 } |
926 | 611 if(((pSettings->ext_sensor_map[2] < SENSOR_OPTIC) || (pSettings->ext_sensor_map[2] >= SENSOR_TYPE_O2_END))) |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
612 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
613 pSettings->ppo2sensors_deactivated |= 4; |
930 | 614 if(pSettings->ext_sensor_map[2] == SENSOR_CO2M) |
615 { | |
616 write_field_on_off(StMHARD3_O2_Sensor3, 30, 95, ME_Y_LINE3, &FontT48, "", pSettings->co2_sensor_active); | |
617 } | |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
618 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
619 else |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
620 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
621 write_field_on_off(StMHARD3_O2_Sensor3, 30, 95, ME_Y_LINE3, &FontT48, "", sensorActive[2]); |
926 | 622 if(firstSensorId == 0) |
623 { | |
624 firstSensorId = StMHARD3_O2_Sensor3; | |
625 } | |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
626 } |
814
26ae9e8f24fd
Dev Bugfix: O2 values of new detected sensors were shown as invalid:
Ideenmodellierer
parents:
799
diff
changeset
|
627 |
26ae9e8f24fd
Dev Bugfix: O2 values of new detected sensors were shown as invalid:
Ideenmodellierer
parents:
799
diff
changeset
|
628 stateRealGetPointerWrite()->diveSettings.ppo2sensors_deactivated = pSettings->ppo2sensors_deactivated; |
26ae9e8f24fd
Dev Bugfix: O2 values of new detected sensors were shown as invalid:
Ideenmodellierer
parents:
799
diff
changeset
|
629 |
38 | 630 if(settingsGetPointer()->ppo2sensors_deactivated & 1) |
631 sensorActive[0] = 0; | |
632 if(settingsGetPointer()->ppo2sensors_deactivated & 2) | |
633 sensorActive[1] = 0; | |
634 if(settingsGetPointer()->ppo2sensors_deactivated & 4) | |
635 sensorActive[2] = 0; | |
636 | |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
637 if((pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANALOG) || (pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANADIG) |
689 | 638 #ifdef ENABLE_SENTINEL_MODE |
639 || (settingsGetPointer()->ppo2sensors_source == O2_SENSOR_SOURCE_SENTINEL) | |
640 #endif | |
641 ) | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
642 { |
584 | 643 write_label_fix( 30, 800, ME_Y_LINE4, &FontT48, TXT2BYTE_O2Calib); |
644 write_label_var( 400, 800, ME_Y_LINE4, &FontT48, "\016\016 %\017"); | |
645 | |
673
d7c5d592076b
Show 98% in case of Oxygen as the calibrating gas
heinrichsweikamp
parents:
605
diff
changeset
|
646 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
|
647 } |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
648 |
754
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
649 if(DataEX_external_ADC_Present()) |
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
650 { |
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
651 text[0] = TXT_2BYTE; |
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
652 text[1] = TXT2BYTE_SensorDetect; |
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
653 text[2] = 0; |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
654 |
754
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
655 write_label_var( 30, 340, ME_Y_LINE6, &FontT48, text); |
745 | 656 |
754
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
657 write_field_button(StMHARD3_Sensor_Detect, 30, 800, ME_Y_LINE6, &FontT48, text); |
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
658 } |
745 | 659 |
827 | 660 if((pSettings->ext_sensor_map[0] >= SENSOR_OPTIC) && (pSettings->ext_sensor_map[0] < SENSOR_MUX)) |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
661 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
662 setEvent(StMHARD3_O2_Sensor1, (uint32_t)OnAction_Sensor1); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
663 } |
827 | 664 if((pSettings->ext_sensor_map[1] >= SENSOR_OPTIC) && (pSettings->ext_sensor_map[1] < SENSOR_MUX)) |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
665 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
666 setEvent(StMHARD3_O2_Sensor2, (uint32_t)OnAction_Sensor2); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
667 } |
827 | 668 if((pSettings->ext_sensor_map[2] >= SENSOR_OPTIC) && (pSettings->ext_sensor_map[2] < SENSOR_MUX)) |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
669 { |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
670 setEvent(StMHARD3_O2_Sensor3, (uint32_t)OnAction_Sensor3); |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
671 } |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
672 |
703
2f457024049b
Added selection of digital o2 sensor source to HW menu:
Ideenmodellierer
parents:
689
diff
changeset
|
673 if((settingsGetPointer()->ppo2sensors_source == O2_SENSOR_SOURCE_ANALOG) || (settingsGetPointer()->ppo2sensors_source == O2_SENSOR_SOURCE_ANADIG) |
689 | 674 #ifdef ENABLE_SENTINEL_MODE |
675 || (settingsGetPointer()->ppo2sensors_source == O2_SENSOR_SOURCE_SENTINEL) | |
676 #endif | |
677 ) | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
678 { |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
679 setEvent(StMHARD3_O2_Calibrate, (uint32_t)OnAction_O2_Calibrate); |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
680 } |
708
7e3bf2c0cd40
Menu cleanup rebreather specific settings:
Ideenmodellierer
parents:
703
diff
changeset
|
681 |
754
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
682 if(DataEX_external_ADC_Present()) |
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
683 { |
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
684 setEvent(StMHARD3_Sensor_Detect, (uint32_t)OnAction_Sensor_Detect); |
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
685 } |
38 | 686 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); |
926 | 687 |
688 switch(firstSensorId) | |
689 { | |
690 case StMHARD3_O2_Sensor2: tMenuEdit_select(StMHARD3_O2_Sensor2); | |
691 break; | |
692 case StMHARD3_O2_Sensor3: tMenuEdit_select(StMHARD3_O2_Sensor3); | |
693 break; | |
694 default: break; | |
695 } | |
38 | 696 } |
697 | |
698 | |
699 uint8_t OnAction_Sensor1(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
700 { | |
783 | 701 const SDiveState *pStateReal = stateRealGetPointer(); |
702 | |
827 | 703 if((pStateReal->lifeData.extIf_sensor_map[0] == SENSOR_DIGO2M) || (pStateReal->lifeData.extIf_sensor_map[0] == SENSOR_CO2M)) |
783 | 704 { |
705 return EXIT_TO_INFO_SENSOR; | |
706 } | |
707 else | |
708 { | |
709 if(settingsGetPointer()->ppo2sensors_deactivated & 1) | |
710 { | |
711 settingsGetPointer()->ppo2sensors_deactivated &= 4+2; | |
712 tMenuEdit_set_on_off(editId, 1); | |
713 } | |
714 else | |
715 { | |
716 settingsGetPointer()->ppo2sensors_deactivated |= 1; | |
717 tMenuEdit_set_on_off(editId, 0); | |
718 } | |
719 } | |
38 | 720 |
721 return UPDATE_DIVESETTINGS; | |
722 } | |
723 | |
724 | |
725 uint8_t OnAction_Sensor2(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
726 { | |
783 | 727 const SDiveState *pStateReal = stateRealGetPointer(); |
38 | 728 |
827 | 729 if((pStateReal->lifeData.extIf_sensor_map[1] == SENSOR_DIGO2M) || (pStateReal->lifeData.extIf_sensor_map[1] == SENSOR_CO2M)) |
783 | 730 { |
731 return EXIT_TO_INFO_SENSOR; | |
732 } | |
733 else | |
734 { | |
735 if(settingsGetPointer()->ppo2sensors_deactivated & 2) | |
736 { | |
737 settingsGetPointer()->ppo2sensors_deactivated &= 4+1; | |
738 tMenuEdit_set_on_off(editId, 1); | |
739 } | |
740 else | |
741 { | |
742 settingsGetPointer()->ppo2sensors_deactivated |= 2; | |
743 tMenuEdit_set_on_off(editId, 0); | |
744 } | |
745 } | |
38 | 746 return UPDATE_DIVESETTINGS; |
747 } | |
748 | |
749 | |
750 uint8_t OnAction_Sensor3(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
751 { | |
783 | 752 const SDiveState *pStateReal = stateRealGetPointer(); |
753 | |
827 | 754 if((pStateReal->lifeData.extIf_sensor_map[2] == SENSOR_DIGO2M) || (pStateReal->lifeData.extIf_sensor_map[2] == SENSOR_CO2M)) |
783 | 755 { |
756 return EXIT_TO_INFO_SENSOR; | |
757 } | |
758 else | |
759 { | |
38 | 760 |
783 | 761 if(settingsGetPointer()->ppo2sensors_deactivated & 4) |
762 { | |
763 settingsGetPointer()->ppo2sensors_deactivated &= 2+1; | |
764 tMenuEdit_set_on_off(editId, 1); | |
765 } | |
766 else | |
767 { | |
768 settingsGetPointer()->ppo2sensors_deactivated |= 4; | |
769 tMenuEdit_set_on_off(editId, 0); | |
770 } | |
771 } | |
38 | 772 return UPDATE_DIVESETTINGS; |
773 } | |
774 | |
775 | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
776 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
|
777 { |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
778 uint8_t loop; |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
779 const SDiveState *pStateReal = stateRealGetPointer(); |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
780 SSettings* pSettings = settingsGetPointer(); |
584 | 781 uint8_t retVal = UNSPECIFIC_RETURN; |
782 float compensatedRef; | |
38 | 783 |
584 | 784 if(action == ACTION_BUTTON_ENTER_FINAL) |
785 { | |
786 if(O2_calib_gas == 21) | |
787 { | |
788 compensatedRef = O2_CALIB_FRACTION_AIR * pStateReal->lifeData.pressure_ambient_bar / 1.0; | |
789 } | |
790 else | |
791 { | |
605 | 792 compensatedRef = O2_CALIB_FRACTION_O2 * pStateReal->lifeData.pressure_ambient_bar / 1.0; |
584 | 793 } |
794 for(loop=0;loop<3;loop++) | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
795 { |
584 | 796 if((pSettings->ppo2sensors_deactivated & (0x1 << loop)) == 0) |
797 { | |
798 if(pStateReal->lifeData.sensorVoltage_mV[loop] > 0.0001) /* sensor connected ?*/ | |
799 { | |
724
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
800 #ifdef ENABLE_EXTERNAL_PRESSURE |
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
801 if(loop == 2) |
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
802 { |
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
803 compensatedRef = pStateReal->lifeData.pressure_ambient_bar; |
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
804 } |
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
805 #endif |
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
806 |
584 | 807 pSettings->ppo2sensors_calibCoeff[loop] = compensatedRef / pStateReal->lifeData.sensorVoltage_mV[loop]; |
808 } | |
809 else | |
810 { | |
811 pSettings->ppo2sensors_calibCoeff[loop] = 0.0; | |
812 settingsGetPointer()->ppo2sensors_deactivated |= 0x1 << loop; | |
813 } | |
814 } | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
815 } |
584 | 816 tMenuEdit_newInput(editId, O2_calib_gas, 0, 0, 0); |
817 retVal = UPDATE_DIVESETTINGS; | |
818 } | |
819 if(action == ACTION_BUTTON_NEXT) | |
820 { | |
821 if(O2_calib_gas == 21) | |
822 { | |
673
d7c5d592076b
Show 98% in case of Oxygen as the calibrating gas
heinrichsweikamp
parents:
605
diff
changeset
|
823 O2_calib_gas = 98; |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
824 } |
584 | 825 else |
826 { | |
827 O2_calib_gas = 21; | |
828 } | |
829 } | |
830 retVal = O2_calib_gas; | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
831 |
584 | 832 if(action == ACTION_BUTTON_BACK) |
833 { | |
834 exitMenuEditField(); | |
835 } | |
836 | |
837 return retVal; | |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
838 } |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
839 |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
840 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
|
841 { |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
842 return EXIT_TO_INFO_SENSOR; |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
843 } |
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
844 |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
845 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
|
846 { |
957
3420e3ba698d
External sensor commands: Add sensor ID to command:
Ideenmodellierer
parents:
949
diff
changeset
|
847 DataEX_setExtInterface_Cmd(EXT_INTERFACE_AUTODETECT, 0); |
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
848 return UNSPECIFIC_RETURN; |
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
849 } |
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
850 |
38 | 851 void openEdit_Brightness(void) |
852 { | |
853 uint8_t actualBrightness; | |
854 SSettings *pSettings = settingsGetPointer(); | |
855 | |
856 actualBrightness = pSettings->brightness; | |
857 actualBrightness++; | |
858 if(actualBrightness > 4) | |
859 actualBrightness = 0; | |
860 pSettings->brightness = actualBrightness; | |
861 exitEditWithUpdate(); | |
862 } | |
863 | |
864 | |
865 void buttonBalanceText_helper(uint8_t idOfButton, char *textOutput) | |
866 { | |
867 uint8_t txtcount = 0; | |
868 | |
869 if(idOfButton < 3) | |
870 { | |
871 textOutput[txtcount++] = '@' + settingsGetPointer()->buttonBalance[idOfButton]; | |
872 textOutput[txtcount++] = ' '; | |
873 textOutput[txtcount++] = ' '; | |
874 textOutput[txtcount++] = '('; | |
875 | |
876 switch(settingsGetPointer()->buttonBalance[idOfButton]) | |
877 { | |
878 case 1: | |
879 textOutput[txtcount++] = '-'; | |
880 textOutput[txtcount++] = '2'; | |
881 textOutput[txtcount++] = '0'; | |
882 break; | |
883 case 2: | |
884 textOutput[txtcount++] = '-'; | |
885 textOutput[txtcount++] = '1'; | |
886 textOutput[txtcount++] = '0'; | |
887 break; | |
888 case 3: | |
889 default: | |
890 textOutput[txtcount++] = '0'; | |
891 break; | |
892 case 4: | |
893 textOutput[txtcount++] = '+'; | |
894 textOutput[txtcount++] = '1'; | |
895 textOutput[txtcount++] = '0'; | |
896 break; | |
897 case 5: | |
898 textOutput[txtcount++] = '+'; | |
899 textOutput[txtcount++] = '2'; | |
900 textOutput[txtcount++] = '0'; | |
901 break; | |
902 } | |
903 textOutput[txtcount++] = ')'; | |
904 } | |
905 textOutput[txtcount++] = 0; | |
906 } | |
907 | |
908 /**# | |
909 ****************************************************************************** | |
910 * @brief BUTTONS | |
911 * @author heinrichs weikamp gmbh | |
912 * @version V 01 | |
913 * @date 15-Sept-2016 | |
914 ****************************************************************************** | |
915 * Button 0 is right, Button 1 is middle, Button 2 is left !!!! | |
916 * 2 1 0 (base value 3) | |
917 * Button 3 is used to store the base value, all others are balanced around this one! | |
918 * | |
919 */ | |
920 | |
921 void openEdit_ButtonSens(void) | |
922 { | |
923 char text[32]; | |
924 uint8_t sens; | |
925 const uint32_t eventListButtonBalance[3] = {StMHARD5_ButtonBalance1,StMHARD5_ButtonBalance2,StMHARD5_ButtonBalance3}; | |
926 | |
927 sens = (uint8_t)settingsGetPointer()->ButtonResponsiveness[3]; | |
928 write_field_3digit(StMHARD5_Button1, 360, 780, ME_Y_LINE1, &FontT48, "###", sens, 0, 0, 0); | |
929 | |
930 for(int i=2;i>=0;i--) | |
931 { | |
932 buttonBalanceText_helper(i,text); | |
933 write_field_button(eventListButtonBalance[i],360,500,ME_Y_LINE4-(i*ME_Y_LINE_STEP),&FontT48,text); | |
934 } | |
935 | |
740
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
936 snprintf(text,32,"%c",TXT_ButtonLock); |
884 | 937 write_field_on_off(StMHARD5_ButtonLock, 30, 700, ME_Y_LINE5, &FontT48, text, settingsGetPointer()->buttonLockActive); |
38 | 938 |
939 setEvent(StMHARD5_Button1, (uint32_t)OnAction_Button); | |
940 | |
941 for(int i=2;i>=0;i--) | |
942 { | |
943 setEvent(eventListButtonBalance[i], (uint32_t)OnAction_ButtonBalance); | |
944 } | |
740
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
945 setEvent(StMHARD5_ButtonLock, (uint32_t)OnAction_ButtonLock); |
38 | 946 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); |
947 } | |
948 | |
949 | |
950 void refresh_ButtonValuesFromPIC(void) | |
951 { | |
952 uint8_t sens[3]; | |
953 char text[64]; | |
954 | |
955 text[0] = '\001'; | |
956 text[1] = TXT_2BYTE; | |
957 text[2] = TXT2BYTE_ButtonSensitivity; | |
958 text[3] = 0; | |
959 write_topline(text); | |
960 | |
961 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); | |
962 | |
963 for(int i=0;i<3;i++) | |
964 { | |
965 text[0] = TXT_2BYTE; | |
966 text[1] = TXT2BYTE_ButtonLeft+i; | |
967 text[2] = 0; | |
968 write_label_var( 20, 300, ME_Y_LINE2+(i*ME_Y_LINE_STEP), &FontT48, text); | |
969 } | |
970 | |
971 for(int i=0;i<3;i++) | |
972 { | |
973 sens[i] = settingsHelperButtonSens_translate_hwOS_values_to_percentage(stateRealGetPointer()->lifeData.buttonPICdata[i]); | |
974 } | |
740
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
975 snprintf(text,64,"\020\016\016%c%c \017 (%03u %03u %03u)",TXT_2BYTE,TXT2BYTE_LowerIsLess,sens[2],sens[1],sens[0]); |
884 | 976 write_label_var( 20, 700, ME_Y_LINE6, &FontT42, text); |
38 | 977 |
978 tMenuEdit_refresh_field(StMHARD5_Button1); | |
979 tMenuEdit_refresh_field(StMHARD5_ButtonBalance1); | |
980 tMenuEdit_refresh_field(StMHARD5_ButtonBalance2); | |
981 tMenuEdit_refresh_field(StMHARD5_ButtonBalance3); | |
740
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
982 tMenuEdit_refresh_field(StMHARD5_ButtonLock); |
38 | 983 } |
984 | |
985 | |
986 uint8_t OnAction_Button(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
987 { | |
988 uint8_t digitContentNew, remainder; | |
989 uint32_t newSensitivityGlobal; | |
990 | |
991 if(action == ACTION_BUTTON_NEXT) | |
992 { | |
993 digitContentNew = digitContent - '0'; | |
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
994 if(digitContentNew >= MAX_BUTTONRESPONSIVENESS_GUI) |
38 | 995 { |
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
996 digitContentNew = MIN_BUTTONRESPONSIVENESS_GUI; |
38 | 997 } |
998 else | |
999 { | |
1000 remainder = digitContentNew%5; | |
1001 digitContentNew += 5 - remainder; | |
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
1002 if(digitContentNew >= MAX_BUTTONRESPONSIVENESS_GUI) |
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
1003 digitContentNew = MAX_BUTTONRESPONSIVENESS_GUI; |
38 | 1004 } |
1005 return '0' + digitContentNew; | |
1006 } | |
1007 | |
1008 if(action == ACTION_BUTTON_BACK) | |
1009 { | |
1010 digitContentNew = digitContent - '0'; | |
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
1011 if(digitContentNew <= MIN_BUTTONRESPONSIVENESS_GUI) |
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
1012 digitContentNew = MAX_BUTTONRESPONSIVENESS_GUI; |
38 | 1013 else |
1014 { | |
1015 remainder = digitContentNew%5; | |
1016 if(remainder) | |
1017 digitContentNew -= remainder; | |
1018 else | |
1019 digitContentNew -= 5; | |
1020 } | |
1021 return '0' + digitContentNew; | |
1022 } | |
1023 | |
1024 if(action == ACTION_BUTTON_ENTER_FINAL) | |
1025 { | |
1026 evaluateNewString(editId, &newSensitivityGlobal, 0, 0, 0); | |
1027 settingsHelperButtonSens_keepPercentageValues(newSensitivityGlobal, settingsGetPointer()->ButtonResponsiveness); | |
1028 setButtonResponsiveness(settingsGetPointer()->ButtonResponsiveness); | |
1029 return UNSPECIFIC_RETURN; | |
1030 } | |
1031 return digitContent; | |
1032 } | |
1033 | |
1034 | |
1035 uint8_t OnAction_ButtonBalance(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
1036 { | |
1037 int8_t idBalance = -1; | |
1038 uint8_t *ptrSetting; | |
1039 char text[32]; | |
1040 | |
1041 const uint32_t eventListButtonBalance[3] = {StMHARD5_ButtonBalance1,StMHARD5_ButtonBalance2,StMHARD5_ButtonBalance3}; | |
1042 | |
1043 idBalance = -1; | |
1044 for(int i=0;i<3;i++) | |
1045 { | |
1046 if(editId == eventListButtonBalance[i]) | |
1047 { | |
1048 idBalance = i; | |
1049 break; | |
1050 } | |
1051 } | |
1052 | |
1053 if((idBalance >= 0) && (idBalance < 3)) | |
1054 { | |
1055 ptrSetting = &settingsGetPointer()->buttonBalance[idBalance]; | |
1056 | |
1057 *ptrSetting += 1; | |
1058 | |
1059 if(*ptrSetting > 5) | |
1060 *ptrSetting = 2; | |
1061 | |
1062 buttonBalanceText_helper(idBalance,text); | |
1063 tMenuEdit_newButtonText(eventListButtonBalance[idBalance],text); | |
1064 } | |
1065 | |
1066 return UNSPECIFIC_RETURN; | |
1067 } | |
740
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1068 |
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1069 uint8_t OnAction_ButtonLock(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) |
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1070 { |
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1071 SSettings *pSettings = settingsGetPointer(); |
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1072 |
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1073 if(pSettings->buttonLockActive) |
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1074 { |
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1075 pSettings->buttonLockActive = 0; |
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1076 tMenuEdit_set_on_off(editId, 0); |
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1077 } |
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1078 else |
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1079 { |
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1080 pSettings->buttonLockActive = 1; |
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1081 tMenuEdit_set_on_off(editId, 1); |
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1082 } |
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1083 |
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1084 return UNSPECIFIC_RETURN; |
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1085 } |