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