Mercurial > public > ostc4
annotate Discovery/Src/tMenuEditHardware.c @ 1028:3d9552e4997c GasConsumption
Code improvment: line <=> menu id function:
In generell the structure of the menus is defined by the tStructure.h using global state defines. In some implementation hardcoded line numbers are used. Risk: In case the order of menu items change the update of other code sections could be forgotten (in the case the update of the top menu) causing unintended behavior. To avoid this the hard coded lines have been replaced by a function connecting the intended function to the menu item defined in the tstructure.h.
| author | Ideenmodellierer |
|---|---|
| date | Sun, 07 Sep 2025 19:08:43 +0200 |
| parents | 85f7e19c6688 |
| 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" | |
| 999 | 37 #include "tMenuEdit.h" |
| 38 #include "tHome.h" | |
| 39 #include "tInfo.h" | |
| 40 #include "tInfoLog.h" | |
| 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 |
|
1005
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
46 //extern void tM_build_pages(void); |
| 999 | 47 |
| 38 | 48 /* Private function prototypes -----------------------------------------------*/ |
| 49 void openEdit_Bluetooth(void); | |
| 50 void openEdit_O2Sensors(void); | |
| 51 void openEdit_Brightness(void); | |
| 52 //void openEdit_Luftintegration(void); | |
| 53 void openEdit_ButtonSens(void); | |
|
1005
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
54 void openEdit_WarningBuz(void); |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
55 |
| 38 | 56 |
| 57 /* Announced function prototypes -----------------------------------------------*/ | |
| 58 uint8_t OnAction_Sensor1 (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | |
| 59 uint8_t OnAction_Sensor2 (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | |
| 60 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
|
61 uint8_t OnAction_O2_Calibrate (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
|
62 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
|
63 uint8_t OnAction_Sensor_Detect (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
| 38 | 64 uint8_t OnAction_Button (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
| 65 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
|
66 uint8_t OnAction_ButtonLock (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
| 38 | 67 |
| 68 /* Exported functions --------------------------------------------------------*/ | |
| 69 | |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
70 |
|
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
71 #define O2_CALIB_FRACTION_AIR (0.209F) |
| 605 | 72 #define O2_CALIB_FRACTION_O2 (0.98F) |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
73 |
| 584 | 74 static uint8_t O2_calib_gas = 21; |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
75 |
| 38 | 76 void openEdit_Hardware(uint8_t line) |
| 77 { | |
| 78 set_globalState_Menu_Line(line); | |
| 79 | |
| 80 switch(line) | |
| 81 { | |
| 82 case 1: | |
|
1005
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
83 default: openEdit_Bluetooth(); |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
84 break; |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
85 case 2: openEdit_O2Sensors(); |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
86 break; |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
87 case 3: openEdit_Brightness(); |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
88 break; |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
89 case 4: resetMenuEdit(CLUT_MenuPageHardware); |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
90 openEdit_ButtonSens(); |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
91 break; |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
92 case 5: if(isNewDisplay()) |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
93 { |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
94 openEdit_WarningBuz(); |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
95 } |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
96 break; |
| 38 | 97 } |
| 98 } | |
| 99 | |
| 100 /* Private functions ---------------------------------------------------------*/ | |
| 101 void openEdit_Bluetooth(void) | |
| 102 { | |
| 103 /* does not work like this resetEnterPressedToStateBeforeButtonAction(); */ | |
| 104 | |
| 105 SSettings *pSettings = settingsGetPointer(); | |
| 106 | |
| 107 if(pSettings->bluetoothActive == 0) | |
| 108 { | |
| 109 pSettings->bluetoothActive = 1; | |
| 110 MX_Bluetooth_PowerOn(); | |
|
394
717f335cc5c9
Added start of module configuration after eache modul power on
ideenmodellierer
parents:
314
diff
changeset
|
111 tComm_StartBlueModConfig(); |
| 38 | 112 } |
| 113 else | |
| 114 { | |
| 115 pSettings->bluetoothActive = 0; | |
| 116 MX_Bluetooth_PowerOff(); | |
| 117 } | |
| 118 exitMenuEdit_to_Menu_with_Menu_Update_do_not_write_settings_for_this_only(); | |
| 119 } | |
| 120 | |
|
1005
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
121 void openEdit_WarningBuz(void) |
|
110
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
122 { |
|
1005
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
123 SSettings *pSettings = settingsGetPointer(); |
|
110
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
124 |
|
1005
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
125 if(pSettings->warningBuzzer == 0) |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
126 { |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
127 pSettings->warningBuzzer = 1; |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
128 requestBuzzerActivation(REQUEST_BUZZER_ONCE); |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
129 } |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
130 else |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
131 { |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
132 pSettings->warningBuzzer = 0; |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
133 deactivateBuzzer(); |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
134 } |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
135 exitMenuEdit_to_Menu_with_Menu_Update_do_not_write_settings_for_this_only(); |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
136 } |
|
110
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
137 |
| 38 | 138 |
| 139 void refresh_O2Sensors(void) | |
| 140 { | |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
141 char strSensorId[20]; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
142 char strSensorValue[20]; |
| 38 | 143 uint16_t y_line; |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
144 uint8_t index = 0; |
| 38 | 145 |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
146 const SDiveState *pStateReal = stateRealGetPointer(); |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
147 SSettings *pSettings = settingsGetPointer(); |
| 38 | 148 |
| 797 | 149 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
|
150 { |
| 797 | 151 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
|
152 pSettings->ppo2sensors_deactivated = 0x0; /* deactivation will be done by openEditO2Sensor if need */ |
| 827 | 153 pSettings->co2_sensor_active = 0; |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
154 pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_OPTIC; |
| 827 | 155 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
|
156 { |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
157 switch(pSettings->ext_sensor_map[index]) |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
158 { |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
159 case SENSOR_OPTIC: pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_OPTIC; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
160 break; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
161 case SENSOR_ANALOG: if(pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_DIGITAL) |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
162 { |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
163 pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_ANADIG; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
164 } |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
165 if(pSettings->ppo2sensors_source != O2_SENSOR_SOURCE_ANADIG) |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
166 { |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
167 pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_ANALOG; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
168 } |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
169 break; |
| 797 | 170 case SENSOR_DIGO2M: if(pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANALOG) |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
171 { |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
172 pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_ANADIG; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
173 } |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
174 if(pSettings->ppo2sensors_source != O2_SENSOR_SOURCE_ANADIG) |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
175 { |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
176 pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_DIGITAL; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
177 } |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
178 break; |
| 827 | 179 case SENSOR_CO2: |
| 180 case SENSOR_CO2M: pSettings->co2_sensor_active = 1; | |
| 181 break; | |
| 746 | 182 #ifdef ENABLE_SENTINEL_MODE |
|
842
c3dd461ca3f9
Migrated Sentinel protocol to new UART structure:
Ideenmodellierer
parents:
827
diff
changeset
|
183 case SENSOR_SENTINEL: |
|
c3dd461ca3f9
Migrated Sentinel protocol to new UART structure:
Ideenmodellierer
parents:
827
diff
changeset
|
184 case SENSOR_SENTINELM: pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_SENTINEL; |
| 745 | 185 break; |
| 746 | 186 #endif |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
187 default: |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
188 break; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
189 } |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
190 } |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
191 openEdit_O2Sensors(); |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
192 } |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
193 |
| 783 | 194 strSensorId[0] = '\001'; |
| 195 strSensorId[1] = TXT_o2Sensors; | |
| 196 strSensorId[2] = 0; | |
| 197 write_topline(strSensorId); | |
|
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
198 |
| 783 | 199 strSensorId[0] = TXT_2BYTE; |
| 200 strSensorId[1] = TXT2BYTE_Sensor; | |
| 201 strSensorId[2] = ' '; | |
| 202 strSensorId[3] = TXT_2BYTE; | |
| 203 strSensorId[4] = 'X'; | |
| 204 strSensorId[5] = '1'; | |
| 205 strSensorId[6] = 0; | |
|
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
206 |
| 783 | 207 for(index = 0; index < 3; index++) |
| 208 { | |
| 799 | 209 strSensorId[3] = TXT_2BYTE; |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
210 strSensorId[4] = 'X'; |
| 783 | 211 strSensorId[5] = '1' + index; |
|
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
212 |
| 783 | 213 switch(pSettings->ext_sensor_map[index]) |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
214 { |
| 748 | 215 case SENSOR_SEARCH: strSensorId[1] = TXT2BYTE_SensorDetect; |
| 216 strSensorId[2] = 0; | |
| 217 strSensorId[4] = 0; | |
| 745 | 218 break; |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
219 case SENSOR_OPTIC: strSensorId[4] = TXT2BYTE_O2IFOptic; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
220 break; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
221 case SENSOR_ANALOG: strSensorId[4] = TXT2BYTE_O2IFAnalog; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
222 break; |
| 797 | 223 case SENSOR_DIGO2: |
| 224 case SENSOR_DIGO2M: strSensorId[4] = TXT2BYTE_O2IFDigital; | |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
225 break; |
| 799 | 226 case SENSOR_CO2: |
| 227 case SENSOR_CO2M: strSensorId[3] = 'C'; | |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
228 strSensorId[4] = 'O'; |
| 978 | 229 strSensorId[5] = '2'; |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
230 break; |
|
842
c3dd461ca3f9
Migrated Sentinel protocol to new UART structure:
Ideenmodellierer
parents:
827
diff
changeset
|
231 case SENSOR_SENTINEL: |
|
c3dd461ca3f9
Migrated Sentinel protocol to new UART structure:
Ideenmodellierer
parents:
827
diff
changeset
|
232 case SENSOR_SENTINELM: strSensorId[3] = 'S'; |
| 920 | 233 strSensorId[4] = 'e'; |
| 745 | 234 break; |
| 920 | 235 case SENSOR_GNSS: |
| 236 case SENSOR_GNSSM: strSensorId[3] = 'G'; | |
| 237 strSensorId[4] = 'N'; | |
| 238 break; | |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
239 default: |
| 748 | 240 strSensorId[5] = 0; |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
241 break; |
| 783 | 242 } |
| 243 if(strSensorId[4] != 'X') | |
| 244 { | |
| 245 write_label_var( 96, 340, ME_Y_LINE1 + (index * ME_Y_LINE_STEP), &FontT48, strSensorId); | |
| 246 } | |
| 247 strSensorValue[0] = 0; | |
| 248 if((pSettings->ext_sensor_map[index] >= SENSOR_OPTIC) && (pSettings->ext_sensor_map[index] < SENSOR_TYPE_O2_END)) | |
| 249 { | |
| 250 snprintf(strSensorValue, 20,"%01.2f, %01.1f mV", pStateReal->lifeData.ppO2Sensor_bar[index], pStateReal->lifeData.sensorVoltage_mV[index]); | |
| 251 } | |
| 799 | 252 else if(pSettings->ext_sensor_map[index] == SENSOR_CO2M) |
| 783 | 253 { |
| 254 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
|
255 } |
| 783 | 256 y_line = ME_Y_LINE1 + (index * ME_Y_LINE_STEP); |
| 257 if(strSensorValue[0] != 0) | |
|
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
258 { |
| 783 | 259 write_label_var( 480, 800, y_line, &FontT48, strSensorValue); |
| 260 } | |
| 261 } | |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
262 |
| 783 | 263 if(pSettings->ext_sensor_map[0] == SENSOR_OPTIC) |
| 264 { | |
| 265 strSensorId[0] = TXT_2BYTE; | |
| 266 strSensorId[1] = TXT2BYTE_HUDbattery; | |
| 267 strSensorId[2] = 0; | |
| 268 write_label_var( 30, 340, ME_Y_LINE4, &FontT48, strSensorId); | |
| 269 | |
| 270 snprintf(strSensorId, 20,"%01.3fV", get_HUD_battery_voltage_V()); | |
| 271 write_label_var( 480, 800, ME_Y_LINE4, &FontT48, strSensorId); | |
| 272 } | |
| 273 else | |
| 274 { | |
| 275 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
|
276 #ifdef ENABLE_SENTINEL_MODE |
| 746 | 277 || (pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_SENTINEL) |
| 278 #endif | |
| 279 ) | |
| 783 | 280 { |
| 281 strSensorId[0] = TXT_2BYTE; | |
| 282 strSensorId[1] = TXT2BYTE_O2Calib; | |
| 283 strSensorId[2] = 0; | |
| 284 write_label_var( 30, 340, ME_Y_LINE4, &FontT48, strSensorId); | |
| 285 snprintf(strSensorId, 20,"%d%%", O2_calib_gas); | |
| 286 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
|
287 } |
| 783 | 288 } |
| 289 if(DataEX_external_ADC_Present()) | |
| 290 { | |
| 291 strSensorId[0] = TXT_2BYTE; | |
| 292 strSensorId[1] = TXT2BYTE_SensorDetect; | |
| 293 strSensorId[2] = 0; | |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
294 |
| 783 | 295 write_label_var( 30, 340, ME_Y_LINE6, &FontT48, strSensorId); |
| 296 } | |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
297 |
| 827 | 298 if((pSettings->ext_sensor_map[0] >= SENSOR_OPTIC) && (pSettings->ext_sensor_map[0] < SENSOR_MUX)) |
| 783 | 299 { |
| 300 tMenuEdit_refresh_field(StMHARD3_O2_Sensor1); | |
| 301 } | |
| 827 | 302 if((pSettings->ext_sensor_map[1] >= SENSOR_OPTIC) && (pSettings->ext_sensor_map[1] < SENSOR_MUX)) |
| 783 | 303 { |
| 304 tMenuEdit_refresh_field(StMHARD3_O2_Sensor2); | |
| 305 } | |
| 827 | 306 if((pSettings->ext_sensor_map[2] >= SENSOR_OPTIC) && (pSettings->ext_sensor_map[2] < SENSOR_MUX)) |
| 783 | 307 { |
| 308 tMenuEdit_refresh_field(StMHARD3_O2_Sensor3); | |
|
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
309 } |
| 38 | 310 |
| 584 | 311 if(get_globalState() == StMHARD3_O2_Calibrate) |
| 312 { | |
| 313 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_O2Calib,TXT2BYTE_ButtonPlus); | |
| 314 } | |
| 315 else | |
| 316 { | |
| 317 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); | |
| 318 } | |
| 38 | 319 } |
| 320 | |
| 321 | |
| 322 void openEdit_O2Sensors(void) | |
| 323 { | |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
324 SSettings *pSettings = settingsGetPointer(); |
| 38 | 325 uint8_t sensorActive[3]; |
| 783 | 326 uint8_t index = 0; |
| 746 | 327 char text[3]; |
| 926 | 328 uint32_t firstSensorId = 0; |
| 38 | 329 |
|
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
330 set_globalState(StMHARD3_Sensors); |
|
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
331 resetMenuEdit(CLUT_MenuPageHardware); |
|
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
332 |
| 783 | 333 for(index = 0; index < 3; index++ ) |
| 334 { | |
| 335 if(pSettings->ppo2sensors_deactivated & (0x01 << index)) | |
| 336 { | |
| 337 sensorActive[index] = 0; | |
| 338 } | |
| 339 else | |
| 340 { | |
| 341 sensorActive[index] = 1; | |
| 342 } | |
| 343 } | |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
344 |
| 926 | 345 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
|
346 { |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
347 pSettings->ppo2sensors_deactivated |= 1; |
| 930 | 348 if(pSettings->ext_sensor_map[0] == SENSOR_CO2M) |
| 349 { | |
| 350 write_field_on_off(StMHARD3_O2_Sensor1, 30, 95, ME_Y_LINE1, &FontT48, "", pSettings->co2_sensor_active); | |
| 351 } | |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
352 } |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
353 else |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
354 { |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
355 write_field_on_off(StMHARD3_O2_Sensor1, 30, 95, ME_Y_LINE1, &FontT48, "", sensorActive[0]); |
| 926 | 356 if(firstSensorId == 0) |
| 357 { | |
| 358 firstSensorId = StMHARD3_O2_Sensor1; | |
| 359 } | |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
360 } |
| 926 | 361 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
|
362 { |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
363 pSettings->ppo2sensors_deactivated |= 2; |
| 930 | 364 if(pSettings->ext_sensor_map[1] == SENSOR_CO2M) |
| 365 { | |
| 366 write_field_on_off(StMHARD3_O2_Sensor2, 30, 95, ME_Y_LINE2, &FontT48, "", pSettings->co2_sensor_active); | |
| 367 } | |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
368 } |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
369 else |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
370 { |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
371 write_field_on_off(StMHARD3_O2_Sensor2, 30, 95, ME_Y_LINE2, &FontT48, "", sensorActive[1]); |
| 926 | 372 if(firstSensorId == 0) |
| 373 { | |
| 374 firstSensorId = StMHARD3_O2_Sensor2; | |
| 375 } | |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
376 } |
| 926 | 377 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
|
378 { |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
379 pSettings->ppo2sensors_deactivated |= 4; |
| 930 | 380 if(pSettings->ext_sensor_map[2] == SENSOR_CO2M) |
| 381 { | |
| 382 write_field_on_off(StMHARD3_O2_Sensor3, 30, 95, ME_Y_LINE3, &FontT48, "", pSettings->co2_sensor_active); | |
| 383 } | |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
384 } |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
385 else |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
386 { |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
387 write_field_on_off(StMHARD3_O2_Sensor3, 30, 95, ME_Y_LINE3, &FontT48, "", sensorActive[2]); |
| 926 | 388 if(firstSensorId == 0) |
| 389 { | |
| 390 firstSensorId = StMHARD3_O2_Sensor3; | |
| 391 } | |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
392 } |
|
814
26ae9e8f24fd
Dev Bugfix: O2 values of new detected sensors were shown as invalid:
Ideenmodellierer
parents:
799
diff
changeset
|
393 |
|
26ae9e8f24fd
Dev Bugfix: O2 values of new detected sensors were shown as invalid:
Ideenmodellierer
parents:
799
diff
changeset
|
394 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
|
395 |
| 38 | 396 if(settingsGetPointer()->ppo2sensors_deactivated & 1) |
| 397 sensorActive[0] = 0; | |
| 398 if(settingsGetPointer()->ppo2sensors_deactivated & 2) | |
| 399 sensorActive[1] = 0; | |
| 400 if(settingsGetPointer()->ppo2sensors_deactivated & 4) | |
| 401 sensorActive[2] = 0; | |
| 402 | |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
403 if((pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANALOG) || (pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANADIG) |
| 689 | 404 #ifdef ENABLE_SENTINEL_MODE |
| 405 || (settingsGetPointer()->ppo2sensors_source == O2_SENSOR_SOURCE_SENTINEL) | |
| 406 #endif | |
| 407 ) | |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
408 { |
| 584 | 409 write_label_fix( 30, 800, ME_Y_LINE4, &FontT48, TXT2BYTE_O2Calib); |
| 410 write_label_var( 400, 800, ME_Y_LINE4, &FontT48, "\016\016 %\017"); | |
| 411 | |
|
673
d7c5d592076b
Show 98% in case of Oxygen as the calibrating gas
heinrichsweikamp
parents:
605
diff
changeset
|
412 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
|
413 } |
|
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
414 |
|
754
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
415 if(DataEX_external_ADC_Present()) |
|
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
416 { |
|
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
417 text[0] = TXT_2BYTE; |
|
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
418 text[1] = TXT2BYTE_SensorDetect; |
|
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
419 text[2] = 0; |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
420 |
|
754
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
421 write_label_var( 30, 340, ME_Y_LINE6, &FontT48, text); |
| 745 | 422 |
|
754
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
423 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
|
424 } |
| 745 | 425 |
| 827 | 426 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
|
427 { |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
428 setEvent(StMHARD3_O2_Sensor1, (uint32_t)OnAction_Sensor1); |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
429 } |
| 827 | 430 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
|
431 { |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
432 setEvent(StMHARD3_O2_Sensor2, (uint32_t)OnAction_Sensor2); |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
433 } |
| 827 | 434 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
|
435 { |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
436 setEvent(StMHARD3_O2_Sensor3, (uint32_t)OnAction_Sensor3); |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
437 } |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
438 |
|
703
2f457024049b
Added selection of digital o2 sensor source to HW menu:
Ideenmodellierer
parents:
689
diff
changeset
|
439 if((settingsGetPointer()->ppo2sensors_source == O2_SENSOR_SOURCE_ANALOG) || (settingsGetPointer()->ppo2sensors_source == O2_SENSOR_SOURCE_ANADIG) |
| 689 | 440 #ifdef ENABLE_SENTINEL_MODE |
| 441 || (settingsGetPointer()->ppo2sensors_source == O2_SENSOR_SOURCE_SENTINEL) | |
| 442 #endif | |
| 443 ) | |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
444 { |
|
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
445 setEvent(StMHARD3_O2_Calibrate, (uint32_t)OnAction_O2_Calibrate); |
|
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
446 } |
|
708
7e3bf2c0cd40
Menu cleanup rebreather specific settings:
Ideenmodellierer
parents:
703
diff
changeset
|
447 |
|
754
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
448 if(DataEX_external_ADC_Present()) |
|
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
449 { |
|
ec7b62983a8c
Only show autodetection in sensor menu if external interface is present:
Ideenmodellierer
parents:
748
diff
changeset
|
450 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
|
451 } |
| 38 | 452 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); |
| 926 | 453 |
| 454 switch(firstSensorId) | |
| 455 { | |
| 456 case StMHARD3_O2_Sensor2: tMenuEdit_select(StMHARD3_O2_Sensor2); | |
| 457 break; | |
| 458 case StMHARD3_O2_Sensor3: tMenuEdit_select(StMHARD3_O2_Sensor3); | |
| 459 break; | |
| 460 default: break; | |
| 461 } | |
| 38 | 462 } |
| 463 | |
| 464 | |
| 465 uint8_t OnAction_Sensor1(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
| 466 { | |
| 783 | 467 const SDiveState *pStateReal = stateRealGetPointer(); |
| 468 | |
| 827 | 469 if((pStateReal->lifeData.extIf_sensor_map[0] == SENSOR_DIGO2M) || (pStateReal->lifeData.extIf_sensor_map[0] == SENSOR_CO2M)) |
| 783 | 470 { |
| 471 return EXIT_TO_INFO_SENSOR; | |
| 472 } | |
| 473 else | |
| 474 { | |
| 475 if(settingsGetPointer()->ppo2sensors_deactivated & 1) | |
| 476 { | |
| 477 settingsGetPointer()->ppo2sensors_deactivated &= 4+2; | |
| 478 tMenuEdit_set_on_off(editId, 1); | |
| 479 } | |
| 480 else | |
| 481 { | |
| 482 settingsGetPointer()->ppo2sensors_deactivated |= 1; | |
| 483 tMenuEdit_set_on_off(editId, 0); | |
| 484 } | |
| 485 } | |
| 38 | 486 |
| 487 return UPDATE_DIVESETTINGS; | |
| 488 } | |
| 489 | |
| 490 | |
| 491 uint8_t OnAction_Sensor2(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
| 492 { | |
| 783 | 493 const SDiveState *pStateReal = stateRealGetPointer(); |
| 38 | 494 |
| 827 | 495 if((pStateReal->lifeData.extIf_sensor_map[1] == SENSOR_DIGO2M) || (pStateReal->lifeData.extIf_sensor_map[1] == SENSOR_CO2M)) |
| 783 | 496 { |
| 497 return EXIT_TO_INFO_SENSOR; | |
| 498 } | |
| 499 else | |
| 500 { | |
| 501 if(settingsGetPointer()->ppo2sensors_deactivated & 2) | |
| 502 { | |
| 503 settingsGetPointer()->ppo2sensors_deactivated &= 4+1; | |
| 504 tMenuEdit_set_on_off(editId, 1); | |
| 505 } | |
| 506 else | |
| 507 { | |
| 508 settingsGetPointer()->ppo2sensors_deactivated |= 2; | |
| 509 tMenuEdit_set_on_off(editId, 0); | |
| 510 } | |
| 511 } | |
| 38 | 512 return UPDATE_DIVESETTINGS; |
| 513 } | |
| 514 | |
| 515 | |
| 516 uint8_t OnAction_Sensor3(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
| 517 { | |
| 783 | 518 const SDiveState *pStateReal = stateRealGetPointer(); |
| 519 | |
| 827 | 520 if((pStateReal->lifeData.extIf_sensor_map[2] == SENSOR_DIGO2M) || (pStateReal->lifeData.extIf_sensor_map[2] == SENSOR_CO2M)) |
| 783 | 521 { |
| 522 return EXIT_TO_INFO_SENSOR; | |
| 523 } | |
| 524 else | |
| 525 { | |
| 38 | 526 |
| 783 | 527 if(settingsGetPointer()->ppo2sensors_deactivated & 4) |
| 528 { | |
| 529 settingsGetPointer()->ppo2sensors_deactivated &= 2+1; | |
| 530 tMenuEdit_set_on_off(editId, 1); | |
| 531 } | |
| 532 else | |
| 533 { | |
| 534 settingsGetPointer()->ppo2sensors_deactivated |= 4; | |
| 535 tMenuEdit_set_on_off(editId, 0); | |
| 536 } | |
| 537 } | |
| 38 | 538 return UPDATE_DIVESETTINGS; |
| 539 } | |
| 540 | |
| 541 | |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
542 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
|
543 { |
|
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
544 uint8_t loop; |
|
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
545 const SDiveState *pStateReal = stateRealGetPointer(); |
|
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
546 SSettings* pSettings = settingsGetPointer(); |
| 584 | 547 uint8_t retVal = UNSPECIFIC_RETURN; |
| 548 float compensatedRef; | |
| 38 | 549 |
| 584 | 550 if(action == ACTION_BUTTON_ENTER_FINAL) |
| 551 { | |
| 552 if(O2_calib_gas == 21) | |
| 553 { | |
| 554 compensatedRef = O2_CALIB_FRACTION_AIR * pStateReal->lifeData.pressure_ambient_bar / 1.0; | |
| 555 } | |
| 556 else | |
| 557 { | |
| 605 | 558 compensatedRef = O2_CALIB_FRACTION_O2 * pStateReal->lifeData.pressure_ambient_bar / 1.0; |
| 584 | 559 } |
| 560 for(loop=0;loop<3;loop++) | |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
561 { |
| 584 | 562 if((pSettings->ppo2sensors_deactivated & (0x1 << loop)) == 0) |
| 563 { | |
| 564 if(pStateReal->lifeData.sensorVoltage_mV[loop] > 0.0001) /* sensor connected ?*/ | |
| 565 { | |
|
724
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
566 #ifdef ENABLE_EXTERNAL_PRESSURE |
|
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
567 if(loop == 2) |
|
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
568 { |
|
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
569 compensatedRef = pStateReal->lifeData.pressure_ambient_bar; |
|
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
570 } |
|
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
571 #endif |
|
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
572 |
| 584 | 573 pSettings->ppo2sensors_calibCoeff[loop] = compensatedRef / pStateReal->lifeData.sensorVoltage_mV[loop]; |
| 574 } | |
| 575 else | |
| 576 { | |
| 577 pSettings->ppo2sensors_calibCoeff[loop] = 0.0; | |
| 578 settingsGetPointer()->ppo2sensors_deactivated |= 0x1 << loop; | |
| 579 } | |
| 580 } | |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
581 } |
| 584 | 582 tMenuEdit_newInput(editId, O2_calib_gas, 0, 0, 0); |
| 583 retVal = UPDATE_DIVESETTINGS; | |
| 584 } | |
| 585 if(action == ACTION_BUTTON_NEXT) | |
| 586 { | |
| 587 if(O2_calib_gas == 21) | |
| 588 { | |
|
673
d7c5d592076b
Show 98% in case of Oxygen as the calibrating gas
heinrichsweikamp
parents:
605
diff
changeset
|
589 O2_calib_gas = 98; |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
590 } |
| 584 | 591 else |
| 592 { | |
| 593 O2_calib_gas = 21; | |
| 594 } | |
| 595 } | |
| 596 retVal = O2_calib_gas; | |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
597 |
| 584 | 598 if(action == ACTION_BUTTON_BACK) |
| 599 { | |
| 600 exitMenuEditField(); | |
| 601 } | |
| 602 | |
| 603 return retVal; | |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
604 } |
|
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
605 |
|
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
606 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
|
607 { |
|
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
608 return EXIT_TO_INFO_SENSOR; |
|
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
609 } |
|
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
610 |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
611 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
|
612 { |
|
957
3420e3ba698d
External sensor commands: Add sensor ID to command:
Ideenmodellierer
parents:
949
diff
changeset
|
613 DataEX_setExtInterface_Cmd(EXT_INTERFACE_AUTODETECT, 0); |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
614 return UNSPECIFIC_RETURN; |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
615 } |
|
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
616 |
| 38 | 617 void openEdit_Brightness(void) |
| 618 { | |
| 619 uint8_t actualBrightness; | |
| 620 SSettings *pSettings = settingsGetPointer(); | |
| 621 | |
| 622 actualBrightness = pSettings->brightness; | |
| 623 actualBrightness++; | |
| 624 if(actualBrightness > 4) | |
| 625 actualBrightness = 0; | |
| 626 pSettings->brightness = actualBrightness; | |
| 627 exitEditWithUpdate(); | |
| 628 } | |
| 629 | |
| 630 | |
| 631 void buttonBalanceText_helper(uint8_t idOfButton, char *textOutput) | |
| 632 { | |
| 633 uint8_t txtcount = 0; | |
| 634 | |
| 635 if(idOfButton < 3) | |
| 636 { | |
| 637 textOutput[txtcount++] = '@' + settingsGetPointer()->buttonBalance[idOfButton]; | |
| 638 textOutput[txtcount++] = ' '; | |
| 639 textOutput[txtcount++] = ' '; | |
| 640 textOutput[txtcount++] = '('; | |
| 641 | |
| 642 switch(settingsGetPointer()->buttonBalance[idOfButton]) | |
| 643 { | |
| 644 case 1: | |
| 645 textOutput[txtcount++] = '-'; | |
| 646 textOutput[txtcount++] = '2'; | |
| 647 textOutput[txtcount++] = '0'; | |
| 648 break; | |
| 649 case 2: | |
| 650 textOutput[txtcount++] = '-'; | |
| 651 textOutput[txtcount++] = '1'; | |
| 652 textOutput[txtcount++] = '0'; | |
| 653 break; | |
| 654 case 3: | |
| 655 default: | |
| 656 textOutput[txtcount++] = '0'; | |
| 657 break; | |
| 658 case 4: | |
| 659 textOutput[txtcount++] = '+'; | |
| 660 textOutput[txtcount++] = '1'; | |
| 661 textOutput[txtcount++] = '0'; | |
| 662 break; | |
| 663 case 5: | |
| 664 textOutput[txtcount++] = '+'; | |
| 665 textOutput[txtcount++] = '2'; | |
| 666 textOutput[txtcount++] = '0'; | |
| 667 break; | |
| 668 } | |
| 669 textOutput[txtcount++] = ')'; | |
| 670 } | |
| 671 textOutput[txtcount++] = 0; | |
| 672 } | |
| 673 | |
| 674 /**# | |
| 675 ****************************************************************************** | |
| 676 * @brief BUTTONS | |
| 677 * @author heinrichs weikamp gmbh | |
| 678 * @version V 01 | |
| 679 * @date 15-Sept-2016 | |
| 680 ****************************************************************************** | |
| 681 * Button 0 is right, Button 1 is middle, Button 2 is left !!!! | |
| 682 * 2 1 0 (base value 3) | |
| 683 * Button 3 is used to store the base value, all others are balanced around this one! | |
| 684 * | |
| 685 */ | |
| 686 | |
| 687 void openEdit_ButtonSens(void) | |
| 688 { | |
| 689 char text[32]; | |
| 690 uint8_t sens; | |
| 691 const uint32_t eventListButtonBalance[3] = {StMHARD5_ButtonBalance1,StMHARD5_ButtonBalance2,StMHARD5_ButtonBalance3}; | |
| 692 | |
| 693 sens = (uint8_t)settingsGetPointer()->ButtonResponsiveness[3]; | |
| 694 write_field_3digit(StMHARD5_Button1, 360, 780, ME_Y_LINE1, &FontT48, "###", sens, 0, 0, 0); | |
| 695 | |
| 696 for(int i=2;i>=0;i--) | |
| 697 { | |
| 698 buttonBalanceText_helper(i,text); | |
| 699 write_field_button(eventListButtonBalance[i],360,500,ME_Y_LINE4-(i*ME_Y_LINE_STEP),&FontT48,text); | |
| 700 } | |
| 701 | |
|
740
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
702 snprintf(text,32,"%c",TXT_ButtonLock); |
| 884 | 703 write_field_on_off(StMHARD5_ButtonLock, 30, 700, ME_Y_LINE5, &FontT48, text, settingsGetPointer()->buttonLockActive); |
| 38 | 704 |
| 705 setEvent(StMHARD5_Button1, (uint32_t)OnAction_Button); | |
| 706 | |
| 707 for(int i=2;i>=0;i--) | |
| 708 { | |
| 709 setEvent(eventListButtonBalance[i], (uint32_t)OnAction_ButtonBalance); | |
| 710 } | |
|
740
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
711 setEvent(StMHARD5_ButtonLock, (uint32_t)OnAction_ButtonLock); |
| 38 | 712 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); |
| 713 } | |
| 714 | |
| 715 | |
| 716 void refresh_ButtonValuesFromPIC(void) | |
| 717 { | |
| 718 uint8_t sens[3]; | |
| 719 char text[64]; | |
| 720 | |
| 721 text[0] = '\001'; | |
| 722 text[1] = TXT_2BYTE; | |
| 723 text[2] = TXT2BYTE_ButtonSensitivity; | |
| 724 text[3] = 0; | |
| 725 write_topline(text); | |
| 726 | |
| 727 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); | |
| 728 | |
| 729 for(int i=0;i<3;i++) | |
| 730 { | |
| 731 text[0] = TXT_2BYTE; | |
| 732 text[1] = TXT2BYTE_ButtonLeft+i; | |
| 733 text[2] = 0; | |
| 734 write_label_var( 20, 300, ME_Y_LINE2+(i*ME_Y_LINE_STEP), &FontT48, text); | |
| 735 } | |
| 736 | |
| 737 for(int i=0;i<3;i++) | |
| 738 { | |
| 739 sens[i] = settingsHelperButtonSens_translate_hwOS_values_to_percentage(stateRealGetPointer()->lifeData.buttonPICdata[i]); | |
| 740 } | |
|
740
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
741 snprintf(text,64,"\020\016\016%c%c \017 (%03u %03u %03u)",TXT_2BYTE,TXT2BYTE_LowerIsLess,sens[2],sens[1],sens[0]); |
| 884 | 742 write_label_var( 20, 700, ME_Y_LINE6, &FontT42, text); |
| 38 | 743 |
| 744 tMenuEdit_refresh_field(StMHARD5_Button1); | |
| 745 tMenuEdit_refresh_field(StMHARD5_ButtonBalance1); | |
| 746 tMenuEdit_refresh_field(StMHARD5_ButtonBalance2); | |
| 747 tMenuEdit_refresh_field(StMHARD5_ButtonBalance3); | |
|
740
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
748 tMenuEdit_refresh_field(StMHARD5_ButtonLock); |
| 38 | 749 } |
| 750 | |
| 751 | |
| 752 uint8_t OnAction_Button(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
| 753 { | |
| 754 uint8_t digitContentNew, remainder; | |
| 755 uint32_t newSensitivityGlobal; | |
| 756 | |
| 757 if(action == ACTION_BUTTON_NEXT) | |
| 758 { | |
| 759 digitContentNew = digitContent - '0'; | |
|
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
760 if(digitContentNew >= MAX_BUTTONRESPONSIVENESS_GUI) |
| 38 | 761 { |
|
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
762 digitContentNew = MIN_BUTTONRESPONSIVENESS_GUI; |
| 38 | 763 } |
| 764 else | |
| 765 { | |
| 766 remainder = digitContentNew%5; | |
| 767 digitContentNew += 5 - remainder; | |
|
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
768 if(digitContentNew >= MAX_BUTTONRESPONSIVENESS_GUI) |
|
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
769 digitContentNew = MAX_BUTTONRESPONSIVENESS_GUI; |
| 38 | 770 } |
| 771 return '0' + digitContentNew; | |
| 772 } | |
| 773 | |
| 774 if(action == ACTION_BUTTON_BACK) | |
| 775 { | |
| 776 digitContentNew = digitContent - '0'; | |
|
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
777 if(digitContentNew <= MIN_BUTTONRESPONSIVENESS_GUI) |
|
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
778 digitContentNew = MAX_BUTTONRESPONSIVENESS_GUI; |
| 38 | 779 else |
| 780 { | |
| 781 remainder = digitContentNew%5; | |
| 782 if(remainder) | |
| 783 digitContentNew -= remainder; | |
| 784 else | |
| 785 digitContentNew -= 5; | |
| 786 } | |
| 787 return '0' + digitContentNew; | |
| 788 } | |
| 789 | |
| 790 if(action == ACTION_BUTTON_ENTER_FINAL) | |
| 791 { | |
| 792 evaluateNewString(editId, &newSensitivityGlobal, 0, 0, 0); | |
| 793 settingsHelperButtonSens_keepPercentageValues(newSensitivityGlobal, settingsGetPointer()->ButtonResponsiveness); | |
| 794 setButtonResponsiveness(settingsGetPointer()->ButtonResponsiveness); | |
| 795 return UNSPECIFIC_RETURN; | |
| 796 } | |
| 797 return digitContent; | |
| 798 } | |
| 799 | |
| 800 | |
| 801 uint8_t OnAction_ButtonBalance(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
| 802 { | |
| 803 int8_t idBalance = -1; | |
| 804 uint8_t *ptrSetting; | |
| 805 char text[32]; | |
| 806 | |
| 807 const uint32_t eventListButtonBalance[3] = {StMHARD5_ButtonBalance1,StMHARD5_ButtonBalance2,StMHARD5_ButtonBalance3}; | |
| 808 | |
| 809 idBalance = -1; | |
| 810 for(int i=0;i<3;i++) | |
| 811 { | |
| 812 if(editId == eventListButtonBalance[i]) | |
| 813 { | |
| 814 idBalance = i; | |
| 815 break; | |
| 816 } | |
| 817 } | |
| 818 | |
| 819 if((idBalance >= 0) && (idBalance < 3)) | |
| 820 { | |
| 821 ptrSetting = &settingsGetPointer()->buttonBalance[idBalance]; | |
| 822 | |
| 823 *ptrSetting += 1; | |
| 824 | |
| 825 if(*ptrSetting > 5) | |
| 826 *ptrSetting = 2; | |
| 827 | |
| 828 buttonBalanceText_helper(idBalance,text); | |
| 829 tMenuEdit_newButtonText(eventListButtonBalance[idBalance],text); | |
| 830 } | |
| 831 | |
| 832 return UNSPECIFIC_RETURN; | |
| 833 } | |
|
740
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
834 |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
835 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
|
836 { |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
837 SSettings *pSettings = settingsGetPointer(); |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
838 |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
839 if(pSettings->buttonLockActive) |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
840 { |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
841 pSettings->buttonLockActive = 0; |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
842 tMenuEdit_set_on_off(editId, 0); |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
843 } |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
844 else |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
845 { |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
846 pSettings->buttonLockActive = 1; |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
847 tMenuEdit_set_on_off(editId, 1); |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
848 } |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
849 |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
850 return UNSPECIFIC_RETURN; |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
851 } |
