Mercurial > public > ostc4
annotate Discovery/Src/tMenuEditHardware.c @ 1082:1aa45000f92c Icon_Integration tip
Added configuration menu for HUD functions:
The V1 HUD has 4 functions (holes) which may be realized by one or two LEDs. The functions (like ppo2 monitoring or ascent speed) may be configurated by the diver using the HUD menu. The functions which may be selected depend on the HW configuration (e.g. the connected sensors) and the number of LEDs which are needed to realize the function. The previous HUD test implementation may still be activate usind the compile switch ENABLE_HUD_TESTING
| author | Ideenmodellierer |
|---|---|
| date | Sun, 15 Mar 2026 21:40:35 +0100 |
| parents | 082825daccb5 |
| 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" |
|
1082
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
45 #include "hud.h" |
| 38 | 46 |
| 748 | 47 |
|
1005
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
48 //extern void tM_build_pages(void); |
| 999 | 49 |
| 38 | 50 /* Private function prototypes -----------------------------------------------*/ |
| 51 void openEdit_Bluetooth(void); | |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
52 void openEdit_Sensors(uint8_t filter); |
| 38 | 53 void openEdit_Brightness(void); |
| 54 //void openEdit_Luftintegration(void); | |
| 55 void openEdit_ButtonSens(void); | |
|
1005
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
56 void openEdit_WarningBuz(void); |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
57 |
| 38 | 58 |
| 59 /* Announced function prototypes -----------------------------------------------*/ | |
| 60 uint8_t OnAction_Sensor1 (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | |
| 61 uint8_t OnAction_Sensor2 (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | |
| 62 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
|
63 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
|
64 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
|
65 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
|
66 uint8_t OnAction_Sensor_Detect (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
| 38 | 67 uint8_t OnAction_Button (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
| 68 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
|
69 uint8_t OnAction_ButtonLock (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
| 1078 | 70 uint8_t OnAction_LedSequence (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
| 71 uint8_t OnAction_LedBrightness (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | |
|
1082
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
72 #ifdef TOBEUSEDIFMORETHAN4FUNCTIONS |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
73 uint8_t OnAction_LedNumber (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
74 #endif |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
75 uint8_t OnAction_LedFunction (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
76 |
| 38 | 77 /* Exported functions --------------------------------------------------------*/ |
| 78 | |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
79 |
|
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
80 #define O2_CALIB_FRACTION_AIR (0.209F) |
| 605 | 81 #define O2_CALIB_FRACTION_O2 (0.98F) |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
82 |
| 584 | 83 static uint8_t O2_calib_gas = 21; |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
84 |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
85 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
|
86 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
|
87 |
|
1082
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
88 #ifdef TOBEUSEDIFMORETHAN4FUNCTIONS |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
89 static uint8_t hudFunctionIndex = 0; /* used for selection of the LED to function mapping */ |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
90 #endif |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
91 |
| 38 | 92 void openEdit_Hardware(uint8_t line) |
| 93 { | |
| 94 set_globalState_Menu_Line(line); | |
| 95 | |
| 96 switch(line) | |
| 97 { | |
| 98 case 1: | |
|
1005
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
99 default: openEdit_Bluetooth(); |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
100 break; |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
101 case 2: openEdit_Sensors(SENSOR_NONE); |
|
1005
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
102 break; |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
103 case 3: openEdit_Brightness(); |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
104 break; |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
105 case 4: resetMenuEdit(CLUT_MenuPageHardware); |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
106 openEdit_ButtonSens(); |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
107 break; |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
108 case 5: if(isNewDisplay()) |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
109 { |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
110 openEdit_WarningBuz(); |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
111 } |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
112 break; |
| 38 | 113 } |
| 114 } | |
| 115 | |
| 116 /* Private functions ---------------------------------------------------------*/ | |
| 117 void openEdit_Bluetooth(void) | |
| 118 { | |
| 119 /* does not work like this resetEnterPressedToStateBeforeButtonAction(); */ | |
| 120 | |
| 121 SSettings *pSettings = settingsGetPointer(); | |
| 122 | |
| 123 if(pSettings->bluetoothActive == 0) | |
| 124 { | |
| 125 pSettings->bluetoothActive = 1; | |
| 126 MX_Bluetooth_PowerOn(); | |
|
394
717f335cc5c9
Added start of module configuration after eache modul power on
ideenmodellierer
parents:
314
diff
changeset
|
127 tComm_StartBlueModConfig(); |
| 38 | 128 } |
| 129 else | |
| 130 { | |
| 131 pSettings->bluetoothActive = 0; | |
| 132 MX_Bluetooth_PowerOff(); | |
| 133 } | |
| 134 exitMenuEdit_to_Menu_with_Menu_Update_do_not_write_settings_for_this_only(); | |
| 135 } | |
| 136 | |
|
1005
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
137 void openEdit_WarningBuz(void) |
|
110
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
138 { |
|
1005
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
139 SSettings *pSettings = settingsGetPointer(); |
|
110
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
140 |
|
1005
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
141 if(pSettings->warningBuzzer == 0) |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
142 { |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
143 pSettings->warningBuzzer = 1; |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
144 requestBuzzerActivation(REQUEST_BUZZER_ONCE); |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
145 } |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
146 else |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
147 { |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
148 pSettings->warningBuzzer = 0; |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
149 deactivateBuzzer(); |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
150 } |
|
85f7e19c6688
Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents:
1001
diff
changeset
|
151 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
|
152 } |
|
110
cc8e24374b83
Added option to handled mirrored display to existing functions
Ideenmodellierer
parents:
38
diff
changeset
|
153 |
| 38 | 154 |
| 155 void refresh_O2Sensors(void) | |
| 156 { | |
| 1078 | 157 static uint8_t HUD_cmdUpdateCnt = 20; |
| 158 | |
| 159 char strSensorId[20]; | |
| 160 char strSensorValue[30]; | |
| 38 | 161 uint16_t y_line; |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
162 uint8_t index = 0; |
|
1082
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
163 uint8_t index2 = 0; |
| 1078 | 164 uint8_t uartSensorCnt = 0; |
|
1082
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
165 #ifndef ENABLE_HUD_TESTING |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
166 uint8_t line; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
167 #endif |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
168 const SDiveState *pStateReal = stateRealGetPointer(); |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
169 SSettings *pSettings = settingsGetPointer(); |
| 38 | 170 |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
171 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
|
172 { |
| 797 | 173 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
|
174 pSettings->ppo2sensors_deactivated = 0x0; /* deactivation will be done by openEditO2Sensor if need */ |
| 827 | 175 pSettings->co2_sensor_active = 0; |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
176 pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_OPTIC; |
| 827 | 177 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
|
178 { |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
179 switch(pSettings->ext_sensor_map[index]) |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
180 { |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
181 case SENSOR_OPTIC: pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_OPTIC; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
182 break; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
183 case SENSOR_ANALOG: if(pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_DIGITAL) |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
184 { |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
185 pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_ANADIG; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
186 } |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
187 if(pSettings->ppo2sensors_source != O2_SENSOR_SOURCE_ANADIG) |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
188 { |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
189 pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_ANALOG; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
190 } |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
191 break; |
| 797 | 192 case SENSOR_DIGO2M: if(pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANALOG) |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
193 { |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
194 pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_ANADIG; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
195 } |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
196 if(pSettings->ppo2sensors_source != O2_SENSOR_SOURCE_ANADIG) |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
197 { |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
198 pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_DIGITAL; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
199 } |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
200 break; |
| 827 | 201 case SENSOR_CO2: |
| 202 case SENSOR_CO2M: pSettings->co2_sensor_active = 1; | |
| 203 break; | |
|
1082
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
204 #ifdef ENABLE_HUD_SUPPORT |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
205 case SENSOR_HUD: hud_Init(); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
206 break; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
207 #endif |
| 746 | 208 #ifdef ENABLE_SENTINEL_MODE |
|
842
c3dd461ca3f9
Migrated Sentinel protocol to new UART structure:
Ideenmodellierer
parents:
827
diff
changeset
|
209 case SENSOR_SENTINEL: |
|
c3dd461ca3f9
Migrated Sentinel protocol to new UART structure:
Ideenmodellierer
parents:
827
diff
changeset
|
210 case SENSOR_SENTINELM: pSettings->ppo2sensors_source = O2_SENSOR_SOURCE_SENTINEL; |
| 745 | 211 break; |
| 746 | 212 #endif |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
213 default: |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
214 break; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
215 } |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
216 } |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
217 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
|
218 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
219 index = tMCvOptText_BuildDynamicContentList(); |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
220 tM_setLinesForPage(StMOption, index); |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
221 openEdit_Sensors(SENSOR_NONE); |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
222 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
223 else |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
224 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
225 openEdit_Sensors(SENSOR_SEARCH); |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
226 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
227 |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
228 |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
229 } |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
230 |
| 783 | 231 strSensorId[0] = '\001'; |
| 232 strSensorId[1] = TXT_o2Sensors; | |
| 233 strSensorId[2] = 0; | |
| 234 write_topline(strSensorId); | |
|
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
235 |
| 1078 | 236 memset(strSensorId,0,20); |
| 783 | 237 strSensorId[0] = TXT_2BYTE; |
| 238 strSensorId[1] = TXT2BYTE_Sensor; | |
| 239 strSensorId[2] = ' '; | |
| 240 strSensorId[3] = TXT_2BYTE; | |
| 241 strSensorId[4] = 'X'; | |
| 242 strSensorId[5] = '1'; | |
| 243 strSensorId[6] = 0; | |
|
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
244 |
| 783 | 245 for(index = 0; index < 3; index++) |
| 246 { | |
| 799 | 247 strSensorId[3] = TXT_2BYTE; |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
248 strSensorId[4] = 'X'; |
| 783 | 249 strSensorId[5] = '1' + index; |
|
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
250 |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
251 switch(localSensorMap[index]) |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
252 { |
| 748 | 253 case SENSOR_SEARCH: strSensorId[1] = TXT2BYTE_SensorDetect; |
| 254 strSensorId[2] = 0; | |
| 255 strSensorId[4] = 0; | |
| 745 | 256 break; |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
257 case SENSOR_OPTIC: strSensorId[4] = TXT2BYTE_O2IFOptic; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
258 break; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
259 case SENSOR_ANALOG: strSensorId[4] = TXT2BYTE_O2IFAnalog; |
|
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
260 break; |
| 797 | 261 case SENSOR_DIGO2: |
| 262 case SENSOR_DIGO2M: strSensorId[4] = TXT2BYTE_O2IFDigital; | |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
263 break; |
| 799 | 264 case SENSOR_CO2: |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
265 case SENSOR_CO2M: strSensorId[3] = 'C'; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
266 strSensorId[4] = 'O'; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
267 strSensorId[5] = '2'; |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
268 break; |
|
842
c3dd461ca3f9
Migrated Sentinel protocol to new UART structure:
Ideenmodellierer
parents:
827
diff
changeset
|
269 case SENSOR_SENTINEL: |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
270 case SENSOR_SENTINELM: strSensorId[3] = 'S'; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
271 strSensorId[4] = 'e'; |
| 745 | 272 break; |
| 920 | 273 case SENSOR_GNSS: |
| 274 case SENSOR_GNSSM: strSensorId[3] = 'G'; | |
| 275 strSensorId[4] = 'N'; | |
| 276 break; | |
| 1078 | 277 case SENSOR_HUD: strSensorId[3] = 'H'; |
| 278 strSensorId[4] = 'U'; | |
| 279 strSensorId[5] = 'D'; | |
|
1082
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
280 #ifdef ENABLE_HUD_TESTING |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
281 strSensorId[4] = 'X'; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
282 #endif |
| 1078 | 283 break; |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
284 default: |
| 748 | 285 strSensorId[5] = 0; |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
286 break; |
| 783 | 287 } |
| 288 if(strSensorId[4] != 'X') | |
| 289 { | |
| 290 write_label_var( 96, 340, ME_Y_LINE1 + (index * ME_Y_LINE_STEP), &FontT48, strSensorId); | |
| 291 } | |
| 292 strSensorValue[0] = 0; | |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
293 if((localSensorMap[index] >= SENSOR_OPTIC) && (localSensorMap[index] < SENSOR_TYPE_O2_END)) |
| 783 | 294 { |
| 295 snprintf(strSensorValue, 20,"%01.2f, %01.1f mV", pStateReal->lifeData.ppO2Sensor_bar[index], pStateReal->lifeData.sensorVoltage_mV[index]); | |
| 296 } | |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
297 else if(localSensorMap[index] == SENSOR_CO2M) |
| 783 | 298 { |
| 299 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
|
300 } |
| 1078 | 301 else if(localSensorMap[index] == SENSOR_HUD) |
| 302 { | |
|
1082
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
303 snprintf(strSensorValue, 30,"LED Brightness: %d",pStateReal->lifeData.HUD_led_brightness); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
304 write_label_var( 30, 340, ME_Y_LINE6, &FontT48, strSensorValue); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
305 |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
306 for(index2 = 0; index2 < NUM_OF_HUD_FCT; index2++) |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
307 { |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
308 hud_GetString(pSettings->hudFunction[index2], (uint8_t*)strSensorId); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
309 snprintf(strSensorValue, 30,"%c%c: %s",TXT_2BYTE, TXT2BYTE_FUNCTION, strSensorId); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
310 write_label_var( 30, 340, ME_Y_LINE2 + (index2 * ME_Y_LINE_STEP), &FontT48, strSensorValue); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
311 } |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
312 |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
313 #ifdef TOBEUSEDIFMORETHAN4FUNCTIONS |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
314 snprintf(strSensorValue, 30,"LED #: %d", hudFunctionIndex); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
315 write_label_var( 30, 340, ME_Y_LINE4, &FontT48, strSensorValue); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
316 |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
317 hud_GetString(pSettings->hudFunction[hudFunctionIndex], (uint8_t*)strSensorId); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
318 snprintf(strSensorValue, 30,"LED %c%c: %s",TXT_2BYTE, TXT2BYTE_FUNCTION, strSensorId); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
319 write_label_var( 30, 340, ME_Y_LINE5, &FontT48, strSensorValue); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
320 #endif |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
321 |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
322 #ifdef ENABLE_HUD_TESTING /* overwrite first line with test field */ |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
323 |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
324 write_label_var( 30, 340, ME_Y_LINE1, &FontT48, "LED Sequence:"); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
325 #if 0 |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
326 tMenuEdit_newInput(StMHARD3_O2_Sensor1, pStateReal->lifeData.HUD_led_sequence[0] - pStateReal->lifeData.HUD_led_sequence[1], |
| 1078 | 327 pStateReal->lifeData.HUD_led_sequence[2] - pStateReal->lifeData.HUD_led_sequence[3], |
| 328 pStateReal->lifeData.HUD_led_sequence[4] - pStateReal->lifeData.HUD_led_sequence[5], | |
| 329 pStateReal->lifeData.HUD_led_sequence[6]); | |
|
1082
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
330 #endif |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
331 strSensorValue[0] = 0; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
332 |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
333 #else |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
334 line = tMenuEdit_getActualId(); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
335 switch(line) |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
336 { |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
337 case 3: snprintf(strSensorValue, 20,"\ao\a o o \023o"); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
338 break; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
339 case 2: snprintf(strSensorValue, 20,"o \ao\a o \023o"); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
340 break; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
341 case 1: snprintf(strSensorValue, 20,"o o \ao\a \023o"); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
342 break; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
343 case 4: snprintf(strSensorValue, 20,"o o o \023\ao\a"); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
344 break; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
345 default: snprintf(strSensorValue, 20,"o o o \023o"); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
346 break; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
347 } |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
348 #endif |
| 1078 | 349 } |
| 783 | 350 y_line = ME_Y_LINE1 + (index * ME_Y_LINE_STEP); |
| 351 if(strSensorValue[0] != 0) | |
|
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
352 { |
| 783 | 353 write_label_var( 480, 800, y_line, &FontT48, strSensorValue); |
| 354 } | |
| 355 } | |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
356 |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
357 if(localSensorMap[0] == SENSOR_OPTIC) |
| 783 | 358 { |
| 359 strSensorId[0] = TXT_2BYTE; | |
| 360 strSensorId[1] = TXT2BYTE_HUDbattery; | |
| 361 strSensorId[2] = 0; | |
| 362 write_label_var( 30, 340, ME_Y_LINE4, &FontT48, strSensorId); | |
| 363 | |
| 364 snprintf(strSensorId, 20,"%01.3fV", get_HUD_battery_voltage_V()); | |
| 365 write_label_var( 480, 800, ME_Y_LINE4, &FontT48, strSensorId); | |
| 366 } | |
| 367 else | |
| 368 { | |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
369 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
|
370 #ifdef ENABLE_SENTINEL_MODE |
| 746 | 371 || (pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_SENTINEL) |
| 372 #endif | |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
373 ) && ((sensorFilter == SENSOR_NONE) || (sensorFilter == SENSOR_DIGO2))) |
| 783 | 374 { |
| 375 strSensorId[0] = TXT_2BYTE; | |
| 376 strSensorId[1] = TXT2BYTE_O2Calib; | |
| 377 strSensorId[2] = 0; | |
| 378 write_label_var( 30, 340, ME_Y_LINE4, &FontT48, strSensorId); | |
| 379 snprintf(strSensorId, 20,"%d%%", O2_calib_gas); | |
| 380 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
|
381 } |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
382 else if(sensorFilter == SENSOR_CO2) |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
383 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
384 strSensorId[0] = TXT_2BYTE; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
385 strSensorId[1] = TXT2BYTE_O2Calib; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
386 strSensorId[2] = 0; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
387 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
|
388 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
389 |
| 783 | 390 } |
| 1078 | 391 if(sensorFilter == SENSOR_NONE) |
| 392 { | |
| 393 for(index = EXT_INTERFACE_MUX_OFFSET; index < EXT_INTERFACE_SENSOR_CNT; index++) | |
| 394 { | |
|
1082
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
395 if((pSettings->ext_sensor_map[index] != SENSOR_NONE) && (pSettings->ext_sensor_map[index] != SENSOR_SEARCH)) |
| 1078 | 396 { |
| 397 uartSensorCnt++; | |
| 398 } | |
| 399 } | |
| 400 if(uartSensorCnt != 0) | |
| 401 { | |
| 402 snprintf(strSensorId, 20,"%c: %d", TXT_o2Sensors, uartSensorCnt); | |
| 403 write_label_var( 30, 340, ME_Y_LINE5, &FontT48, strSensorId); | |
| 404 } | |
| 405 } | |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
406 if((DataEX_external_ADC_Present()) && (sensorFilter == SENSOR_NONE)) |
| 783 | 407 { |
| 408 strSensorId[0] = TXT_2BYTE; | |
| 409 strSensorId[1] = TXT2BYTE_SensorDetect; | |
| 410 strSensorId[2] = 0; | |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
411 |
| 783 | 412 write_label_var( 30, 340, ME_Y_LINE6, &FontT48, strSensorId); |
| 413 } | |
|
734
190e5814b2f5
Removed interface selection from sensor menu:
Ideenmodellierer
parents:
730
diff
changeset
|
414 |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
415 if((localSensorMap[0] >= SENSOR_OPTIC) && (localSensorMap[0] < SENSOR_MUX)) |
| 783 | 416 { |
| 417 tMenuEdit_refresh_field(StMHARD3_O2_Sensor1); | |
| 418 } | |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
419 if((localSensorMap[1] >= SENSOR_OPTIC) && (localSensorMap[1] < SENSOR_MUX)) |
| 783 | 420 { |
| 421 tMenuEdit_refresh_field(StMHARD3_O2_Sensor2); | |
| 422 } | |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
423 if((localSensorMap[2] >= SENSOR_OPTIC) && (localSensorMap[2] < SENSOR_MUX)) |
| 783 | 424 { |
| 425 tMenuEdit_refresh_field(StMHARD3_O2_Sensor3); | |
|
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
426 } |
| 38 | 427 |
| 584 | 428 if(get_globalState() == StMHARD3_O2_Calibrate) |
| 429 { | |
| 430 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_O2Calib,TXT2BYTE_ButtonPlus); | |
| 431 } | |
| 432 else | |
| 433 { | |
| 434 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); | |
| 435 } | |
| 1078 | 436 |
| 437 if(localSensorMap[0] == SENSOR_HUD) | |
| 438 { | |
| 439 HUD_cmdUpdateCnt--; | |
| 440 if(HUD_cmdUpdateCnt == 0) | |
| 441 { | |
| 442 HUD_cmdUpdateCnt = 20; | |
| 443 for(index = EXT_INTERFACE_MUX_OFFSET; index < EXT_INTERFACE_SENSOR_CNT; index++) | |
| 444 { | |
| 445 if(pSettings->ext_sensor_map[index] == SENSOR_HUD) | |
| 446 { | |
| 447 DataEX_setExtInterface_Cmd(EXT_INTERFACE_HUD_UPDATE, index); | |
| 448 break; | |
| 449 } | |
| 450 } | |
| 451 | |
| 452 } | |
| 453 } | |
| 38 | 454 } |
| 455 | |
| 456 | |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
457 void openEdit_Sensors(uint8_t filter) |
| 38 | 458 { |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
459 static externalInterfaceSensorType lastFilter; |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
460 SSettings *pSettings = settingsGetPointer(); |
|
1082
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
461 #ifdef ENABLE_HUD_TESTING |
| 1078 | 462 const SDiveState* pRealState = stateRealGetPointer(); |
|
1082
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
463 #endif |
| 38 | 464 uint8_t sensorActive[3]; |
| 783 | 465 uint8_t index = 0; |
| 746 | 466 char text[3]; |
| 926 | 467 uint32_t firstSensorId = 0; |
| 38 | 468 |
|
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
469 set_globalState(StMHARD3_Sensors); |
|
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
470 resetMenuEdit(CLUT_MenuPageHardware); |
|
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
471 |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
472 if(filter == SENSOR_SEARCH) |
| 783 | 473 { |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
474 for(index = 0; index < 3; index++ ) |
| 926 | 475 { |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
476 localSensorMap[index] = SENSOR_SEARCH; |
| 930 | 477 } |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
478 } |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
479 else |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
480 { |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
481 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
|
482 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
483 sensorFilter = lastFilter; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
484 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
485 else |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
486 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
487 sensorFilter = filter; |
|
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 lastFilter = sensorFilter; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
490 |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
491 for(index = 0; index < 3; index++ ) |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
492 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
493 localSensorMap[index] = SENSOR_NONE; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
494 if(pSettings->ppo2sensors_deactivated & (0x01 << index)) |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
495 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
496 sensorActive[index] = 0; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
497 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
498 else |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
499 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
500 sensorActive[index] = 1; |
|
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 } |
| 1078 | 503 if((sensorFilter == SENSOR_NONE) || (sensorFilter == SENSOR_DIGO2)) |
|
1073
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 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
|
506 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
507 pSettings->ppo2sensors_deactivated |= 1; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
508 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
|
509 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
510 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
|
511 } |
|
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 else |
|
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 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
|
516 if(firstSensorId == 0) |
|
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 firstSensorId = StMHARD3_O2_Sensor1; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
519 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
520 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
521 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
|
522 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
523 pSettings->ppo2sensors_deactivated |= 2; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
524 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
|
525 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
526 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
|
527 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
528 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
529 else |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
530 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
531 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
|
532 if(firstSensorId == 0) |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
533 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
534 firstSensorId = StMHARD3_O2_Sensor2; |
|
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 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
|
538 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
539 pSettings->ppo2sensors_deactivated |= 4; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
540 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
|
541 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
542 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
|
543 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
544 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
545 else |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
546 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
547 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
|
548 if(firstSensorId == 0) |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
549 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
550 firstSensorId = StMHARD3_O2_Sensor3; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
551 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
552 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
553 } |
| 1078 | 554 else /* single, none O2 sensors */ |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
555 { |
| 1078 | 556 switch(sensorFilter) |
| 557 { | |
| 558 case SENSOR_CO2: 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 */ | |
| 559 break; | |
|
1082
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
560 case SENSOR_HUD: |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
561 #ifndef ENABLE_HUD_TESTING |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
562 write_field_button(StMHARD3_O2_Sensor1, 30, 95, ME_Y_LINE1, &FontT48, ""); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
563 #endif |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
564 break; |
| 1078 | 565 default: write_field_button(StMHARD3_O2_Sensor1, 30, 95, ME_Y_LINE1, &FontT48, ""); |
| 566 break; | |
| 567 } | |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
568 firstSensorId = StMHARD3_O2_Sensor1; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
569 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
570 stateRealGetPointerWrite()->diveSettings.ppo2sensors_deactivated = pSettings->ppo2sensors_deactivated; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
571 |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
572 if(settingsGetPointer()->ppo2sensors_deactivated & 1) |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
573 sensorActive[0] = 0; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
574 if(settingsGetPointer()->ppo2sensors_deactivated & 2) |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
575 sensorActive[1] = 0; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
576 if(settingsGetPointer()->ppo2sensors_deactivated & 4) |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
577 sensorActive[2] = 0; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
578 |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
579 if (sensorFilter == SENSOR_CO2) |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
580 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
581 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
|
582 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
583 else |
| 926 | 584 { |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
585 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
|
586 #ifdef ENABLE_SENTINEL_MODE |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
587 || (settingsGetPointer()->ppo2sensors_source == O2_SENSOR_SOURCE_SENTINEL) |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
588 #endif |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
589 ) && ((sensorFilter == SENSOR_NONE) || (sensorFilter == SENSOR_DIGO2))) |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
590 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
591 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
|
592 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
|
593 |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
594 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
|
595 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
596 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
597 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
|
598 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
599 text[0] = TXT_2BYTE; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
600 text[1] = TXT2BYTE_SensorDetect; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
601 text[2] = 0; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
602 |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
603 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
|
604 |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
605 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
|
606 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
607 |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
608 switch(sensorFilter) |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
609 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
610 case SENSOR_NONE: |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
611 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
|
612 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
613 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
|
614 localSensorMap[0] =pSettings->ext_sensor_map[0]; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
615 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
616 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
|
617 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
618 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
|
619 localSensorMap[1] =pSettings->ext_sensor_map[1]; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
620 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
621 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
|
622 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
623 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
|
624 localSensorMap[2] =pSettings->ext_sensor_map[2]; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
625 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
626 break; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
627 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
|
628 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
629 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
|
630 localSensorMap[0] = pSettings->ext_sensor_map[0]; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
631 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
632 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
|
633 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
634 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
|
635 localSensorMap[1] = pSettings->ext_sensor_map[1]; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
636 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
637 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
|
638 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
639 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
|
640 localSensorMap[2] = pSettings->ext_sensor_map[2]; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
641 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
642 break; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
643 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
|
644 localSensorMap[0] = SENSOR_CO2M; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
645 break; |
|
1082
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
646 case SENSOR_HUD: |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
647 #ifdef ENABLE_HUD_TESTING |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
648 write_label_var( 30, 340, ME_Y_LINE1, &FontT48, "LED Sequence:"); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
649 write_field_sdigit(StMHARD3_O2_Sensor1, 400, 800, ME_Y_LINE1, &FontT48, "### ### ### ###", |
| 1078 | 650 pRealState->lifeData.HUD_led_sequence[0] - pRealState->lifeData.HUD_led_sequence[1], |
| 651 pRealState->lifeData.HUD_led_sequence[2] - pRealState->lifeData.HUD_led_sequence[3], | |
| 652 pRealState->lifeData.HUD_led_sequence[4] - pRealState->lifeData.HUD_led_sequence[5], | |
| 653 pRealState->lifeData.HUD_led_sequence[6]); | |
|
1082
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
654 #endif |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
655 write_field_button(StMHARD3_O2_Sensor2, 400, 800, ME_Y_LINE2, &FontT48, ""); /* LED #0 */ |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
656 write_field_button(StMHARD3_O2_Sensor3, 400, 800, ME_Y_LINE3, &FontT48, ""); /* LED #1 */ |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
657 write_field_button(StMHARD3_O2_Calibrate, 400, 800, ME_Y_LINE4, &FontT48, ""); /* LED #2 */ |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
658 write_field_button(StMHARD3_Sensor_Info, 400, 800, ME_Y_LINE5, &FontT48, ""); /* LED #3 */ |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
659 write_field_button(StMHARD3_Sensor_Detect, 400, 800, ME_Y_LINE6, &FontT48, ""); /* LED brightness */ |
| 1078 | 660 |
| 661 | |
|
1082
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
662 #ifndef ENABLE_HUD_TESTING |
| 1078 | 663 setEvent(StMHARD3_O2_Sensor1, (uint32_t)OnAction_Sensor1); |
|
1082
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
664 #else |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
665 setEvent(StMHARD3_O2_Sensor1, (uint32_t)OnAction_LedSequence); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
666 #endif |
| 1078 | 667 |
|
1082
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
668 #ifdef TOBEUSEDIFMORETHAN4FUNCTIONS |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
669 setEvent(StMHARD3_O2_Calibrate, (uint32_t)OnAction_LedNumber); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
670 #endif |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
671 setEvent(StMHARD3_O2_Sensor2, (uint32_t)OnAction_LedFunction); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
672 setEvent(StMHARD3_O2_Sensor3, (uint32_t)OnAction_LedFunction); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
673 setEvent(StMHARD3_O2_Calibrate, (uint32_t)OnAction_LedFunction); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
674 setEvent(StMHARD3_Sensor_Info, (uint32_t)OnAction_LedFunction); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
675 setEvent(StMHARD3_Sensor_Detect, (uint32_t)OnAction_LedBrightness); |
| 1078 | 676 localSensorMap[0] = SENSOR_HUD; |
| 677 break; | |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
678 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
679 |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
680 if (sensorFilter == SENSOR_CO2) |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
681 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
682 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
|
683 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
684 else |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
685 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
686 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
|
687 && ((sensorFilter == SENSOR_NONE) || (sensorFilter == SENSOR_DIGO2))) |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
688 #ifdef ENABLE_SENTINEL_MODE |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
689 || (settingsGetPointer()->ppo2sensors_source == O2_SENSOR_SOURCE_SENTINEL) |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
690 #endif |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
691 ) |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
692 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
693 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
|
694 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
695 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
696 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
|
697 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
698 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
|
699 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
700 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
|
701 |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
702 switch(firstSensorId) |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
703 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
704 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
|
705 break; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
706 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
|
707 break; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
708 default: break; |
| 926 | 709 } |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
710 } |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
711 } |
| 745 | 712 |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
713 void openEdit_SensorsO2() |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
714 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
715 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
|
716 } |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
717 |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
718 void openEdit_SensorsCO2() |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
719 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
720 openEdit_Sensors(SENSOR_CO2); |
| 38 | 721 } |
| 1078 | 722 void openEdit_SensorsHUD() |
| 723 { | |
| 724 openEdit_Sensors(SENSOR_HUD); | |
| 725 } | |
| 38 | 726 |
| 727 uint8_t OnAction_Sensor1(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
| 728 { | |
| 1078 | 729 if((localSensorMap[0] == SENSOR_DIGO2M) || (localSensorMap[0] == SENSOR_CO2M) || (localSensorMap[0] == SENSOR_CO2M) || (localSensorMap[0] == SENSOR_HUD)) |
| 783 | 730 { |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
731 openInfo_SetSensorType(localSensorMap[0]); |
| 783 | 732 return EXIT_TO_INFO_SENSOR; |
| 733 } | |
| 734 else | |
| 735 { | |
| 736 if(settingsGetPointer()->ppo2sensors_deactivated & 1) | |
| 737 { | |
| 738 settingsGetPointer()->ppo2sensors_deactivated &= 4+2; | |
| 739 tMenuEdit_set_on_off(editId, 1); | |
| 740 } | |
| 741 else | |
| 742 { | |
| 743 settingsGetPointer()->ppo2sensors_deactivated |= 1; | |
| 744 tMenuEdit_set_on_off(editId, 0); | |
| 745 } | |
| 746 } | |
| 38 | 747 |
| 748 return UPDATE_DIVESETTINGS; | |
| 749 } | |
| 750 | |
| 751 | |
| 752 uint8_t OnAction_Sensor2(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
| 753 { | |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
754 if((localSensorMap[1] == SENSOR_DIGO2M) || (localSensorMap[1] == SENSOR_CO2M)) |
| 783 | 755 { |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
756 openInfo_SetSensorType(localSensorMap[1]); |
| 783 | 757 return EXIT_TO_INFO_SENSOR; |
| 758 } | |
| 759 else | |
| 760 { | |
| 761 if(settingsGetPointer()->ppo2sensors_deactivated & 2) | |
| 762 { | |
| 763 settingsGetPointer()->ppo2sensors_deactivated &= 4+1; | |
| 764 tMenuEdit_set_on_off(editId, 1); | |
| 765 } | |
| 766 else | |
| 767 { | |
| 768 settingsGetPointer()->ppo2sensors_deactivated |= 2; | |
| 769 tMenuEdit_set_on_off(editId, 0); | |
| 770 } | |
| 771 } | |
| 38 | 772 return UPDATE_DIVESETTINGS; |
| 773 } | |
| 774 | |
| 775 | |
| 776 uint8_t OnAction_Sensor3(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
| 777 { | |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
778 if((localSensorMap[2] == SENSOR_DIGO2M) || (localSensorMap[2] == SENSOR_CO2M)) |
| 783 | 779 { |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
780 openInfo_SetSensorType(localSensorMap[2]); |
| 783 | 781 return EXIT_TO_INFO_SENSOR; |
| 782 } | |
| 783 else | |
| 784 { | |
| 38 | 785 |
| 783 | 786 if(settingsGetPointer()->ppo2sensors_deactivated & 4) |
| 787 { | |
| 788 settingsGetPointer()->ppo2sensors_deactivated &= 2+1; | |
| 789 tMenuEdit_set_on_off(editId, 1); | |
| 790 } | |
| 791 else | |
| 792 { | |
| 793 settingsGetPointer()->ppo2sensors_deactivated |= 4; | |
| 794 tMenuEdit_set_on_off(editId, 0); | |
| 795 } | |
| 796 } | |
| 38 | 797 return UPDATE_DIVESETTINGS; |
| 798 } | |
| 799 | |
| 800 | |
|
1073
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
801 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
|
802 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
803 SSettings* pSettings = settingsGetPointer(); |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
804 uint8_t index = 0; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
805 |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
806 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
|
807 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
808 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
|
809 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
810 |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
811 if(index != EXT_INTERFACE_SENSOR_CNT) |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
812 { |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
813 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
|
814 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
815 return UNSPECIFIC_RETURN; |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
816 } |
|
734f84b72b30
CV Option Menu added sub menus for O2 and CO2 sensors:
Ideenmodellierer
parents:
1005
diff
changeset
|
817 |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
818 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
|
819 { |
|
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
820 uint8_t loop; |
|
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
821 const SDiveState *pStateReal = stateRealGetPointer(); |
|
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
822 SSettings* pSettings = settingsGetPointer(); |
| 584 | 823 uint8_t retVal = UNSPECIFIC_RETURN; |
| 824 float compensatedRef; | |
| 38 | 825 |
| 584 | 826 if(action == ACTION_BUTTON_ENTER_FINAL) |
| 827 { | |
| 828 if(O2_calib_gas == 21) | |
| 829 { | |
| 830 compensatedRef = O2_CALIB_FRACTION_AIR * pStateReal->lifeData.pressure_ambient_bar / 1.0; | |
| 831 } | |
| 832 else | |
| 833 { | |
| 605 | 834 compensatedRef = O2_CALIB_FRACTION_O2 * pStateReal->lifeData.pressure_ambient_bar / 1.0; |
| 584 | 835 } |
| 836 for(loop=0;loop<3;loop++) | |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
837 { |
| 584 | 838 if((pSettings->ppo2sensors_deactivated & (0x1 << loop)) == 0) |
| 839 { | |
| 840 if(pStateReal->lifeData.sensorVoltage_mV[loop] > 0.0001) /* sensor connected ?*/ | |
| 841 { | |
|
724
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
842 #ifdef ENABLE_EXTERNAL_PRESSURE |
|
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
843 if(loop == 2) |
|
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
844 { |
|
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
845 compensatedRef = pStateReal->lifeData.pressure_ambient_bar; |
|
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
846 } |
|
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
847 #endif |
|
f285424f04d9
Development feature: external pressure sensor
Ideenmodellierer
parents:
718
diff
changeset
|
848 |
| 584 | 849 pSettings->ppo2sensors_calibCoeff[loop] = compensatedRef / pStateReal->lifeData.sensorVoltage_mV[loop]; |
| 850 } | |
| 851 else | |
| 852 { | |
| 853 pSettings->ppo2sensors_calibCoeff[loop] = 0.0; | |
| 854 settingsGetPointer()->ppo2sensors_deactivated |= 0x1 << loop; | |
| 855 } | |
| 856 } | |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
857 } |
| 584 | 858 tMenuEdit_newInput(editId, O2_calib_gas, 0, 0, 0); |
| 859 retVal = UPDATE_DIVESETTINGS; | |
| 860 } | |
| 861 if(action == ACTION_BUTTON_NEXT) | |
| 862 { | |
| 863 if(O2_calib_gas == 21) | |
| 864 { | |
|
673
d7c5d592076b
Show 98% in case of Oxygen as the calibrating gas
heinrichsweikamp
parents:
605
diff
changeset
|
865 O2_calib_gas = 98; |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
866 } |
| 584 | 867 else |
| 868 { | |
| 869 O2_calib_gas = 21; | |
| 870 } | |
| 871 } | |
| 872 retVal = O2_calib_gas; | |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
873 |
| 584 | 874 if(action == ACTION_BUTTON_BACK) |
| 875 { | |
| 876 exitMenuEditField(); | |
| 877 } | |
| 878 | |
| 879 return retVal; | |
|
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
880 } |
|
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
539
diff
changeset
|
881 |
|
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
882 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
|
883 { |
|
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
884 return EXIT_TO_INFO_SENSOR; |
|
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
885 } |
|
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
886 |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
887 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
|
888 { |
|
957
3420e3ba698d
External sensor commands: Add sensor ID to command:
Ideenmodellierer
parents:
949
diff
changeset
|
889 DataEX_setExtInterface_Cmd(EXT_INTERFACE_AUTODETECT, 0); |
|
730
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
890 return UNSPECIFIC_RETURN; |
|
9c65d226f4f6
Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents:
724
diff
changeset
|
891 } |
|
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
709
diff
changeset
|
892 |
| 38 | 893 void openEdit_Brightness(void) |
| 894 { | |
| 895 uint8_t actualBrightness; | |
| 896 SSettings *pSettings = settingsGetPointer(); | |
| 897 | |
| 898 actualBrightness = pSettings->brightness; | |
| 899 actualBrightness++; | |
| 900 if(actualBrightness > 4) | |
| 901 actualBrightness = 0; | |
| 902 pSettings->brightness = actualBrightness; | |
| 903 exitEditWithUpdate(); | |
| 904 } | |
| 905 | |
| 906 | |
| 907 void buttonBalanceText_helper(uint8_t idOfButton, char *textOutput) | |
| 908 { | |
| 909 uint8_t txtcount = 0; | |
| 910 | |
| 911 if(idOfButton < 3) | |
| 912 { | |
| 913 textOutput[txtcount++] = '@' + settingsGetPointer()->buttonBalance[idOfButton]; | |
| 914 textOutput[txtcount++] = ' '; | |
| 915 textOutput[txtcount++] = ' '; | |
| 916 textOutput[txtcount++] = '('; | |
| 917 | |
| 918 switch(settingsGetPointer()->buttonBalance[idOfButton]) | |
| 919 { | |
| 920 case 1: | |
| 921 textOutput[txtcount++] = '-'; | |
| 922 textOutput[txtcount++] = '2'; | |
| 923 textOutput[txtcount++] = '0'; | |
| 924 break; | |
| 925 case 2: | |
| 926 textOutput[txtcount++] = '-'; | |
| 927 textOutput[txtcount++] = '1'; | |
| 928 textOutput[txtcount++] = '0'; | |
| 929 break; | |
| 930 case 3: | |
| 931 default: | |
| 932 textOutput[txtcount++] = '0'; | |
| 933 break; | |
| 934 case 4: | |
| 935 textOutput[txtcount++] = '+'; | |
| 936 textOutput[txtcount++] = '1'; | |
| 937 textOutput[txtcount++] = '0'; | |
| 938 break; | |
| 939 case 5: | |
| 940 textOutput[txtcount++] = '+'; | |
| 941 textOutput[txtcount++] = '2'; | |
| 942 textOutput[txtcount++] = '0'; | |
| 943 break; | |
| 944 } | |
| 945 textOutput[txtcount++] = ')'; | |
| 946 } | |
| 947 textOutput[txtcount++] = 0; | |
| 948 } | |
| 949 | |
| 950 /**# | |
| 951 ****************************************************************************** | |
| 952 * @brief BUTTONS | |
| 953 * @author heinrichs weikamp gmbh | |
| 954 * @version V 01 | |
| 955 * @date 15-Sept-2016 | |
| 956 ****************************************************************************** | |
| 957 * Button 0 is right, Button 1 is middle, Button 2 is left !!!! | |
| 958 * 2 1 0 (base value 3) | |
| 959 * Button 3 is used to store the base value, all others are balanced around this one! | |
| 960 * | |
| 961 */ | |
| 962 | |
| 963 void openEdit_ButtonSens(void) | |
| 964 { | |
| 965 char text[32]; | |
| 966 uint8_t sens; | |
| 967 const uint32_t eventListButtonBalance[3] = {StMHARD5_ButtonBalance1,StMHARD5_ButtonBalance2,StMHARD5_ButtonBalance3}; | |
| 968 | |
| 969 sens = (uint8_t)settingsGetPointer()->ButtonResponsiveness[3]; | |
| 970 write_field_3digit(StMHARD5_Button1, 360, 780, ME_Y_LINE1, &FontT48, "###", sens, 0, 0, 0); | |
| 971 | |
| 972 for(int i=2;i>=0;i--) | |
| 973 { | |
| 974 buttonBalanceText_helper(i,text); | |
| 975 write_field_button(eventListButtonBalance[i],360,500,ME_Y_LINE4-(i*ME_Y_LINE_STEP),&FontT48,text); | |
| 976 } | |
| 977 | |
|
740
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
978 snprintf(text,32,"%c",TXT_ButtonLock); |
| 884 | 979 write_field_on_off(StMHARD5_ButtonLock, 30, 700, ME_Y_LINE5, &FontT48, text, settingsGetPointer()->buttonLockActive); |
| 38 | 980 |
| 981 setEvent(StMHARD5_Button1, (uint32_t)OnAction_Button); | |
| 982 | |
| 983 for(int i=2;i>=0;i--) | |
| 984 { | |
| 985 setEvent(eventListButtonBalance[i], (uint32_t)OnAction_ButtonBalance); | |
| 986 } | |
|
740
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
987 setEvent(StMHARD5_ButtonLock, (uint32_t)OnAction_ButtonLock); |
| 38 | 988 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); |
| 989 } | |
| 990 | |
| 991 | |
| 992 void refresh_ButtonValuesFromPIC(void) | |
| 993 { | |
| 994 uint8_t sens[3]; | |
| 995 char text[64]; | |
| 996 | |
| 997 text[0] = '\001'; | |
| 998 text[1] = TXT_2BYTE; | |
| 999 text[2] = TXT2BYTE_ButtonSensitivity; | |
| 1000 text[3] = 0; | |
| 1001 write_topline(text); | |
| 1002 | |
| 1003 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); | |
| 1004 | |
| 1005 for(int i=0;i<3;i++) | |
| 1006 { | |
| 1007 text[0] = TXT_2BYTE; | |
| 1008 text[1] = TXT2BYTE_ButtonLeft+i; | |
| 1009 text[2] = 0; | |
| 1010 write_label_var( 20, 300, ME_Y_LINE2+(i*ME_Y_LINE_STEP), &FontT48, text); | |
| 1011 } | |
| 1012 | |
| 1013 for(int i=0;i<3;i++) | |
| 1014 { | |
| 1015 sens[i] = settingsHelperButtonSens_translate_hwOS_values_to_percentage(stateRealGetPointer()->lifeData.buttonPICdata[i]); | |
| 1016 } | |
|
740
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1017 snprintf(text,64,"\020\016\016%c%c \017 (%03u %03u %03u)",TXT_2BYTE,TXT2BYTE_LowerIsLess,sens[2],sens[1],sens[0]); |
| 884 | 1018 write_label_var( 20, 700, ME_Y_LINE6, &FontT42, text); |
| 38 | 1019 |
| 1020 tMenuEdit_refresh_field(StMHARD5_Button1); | |
| 1021 tMenuEdit_refresh_field(StMHARD5_ButtonBalance1); | |
| 1022 tMenuEdit_refresh_field(StMHARD5_ButtonBalance2); | |
| 1023 tMenuEdit_refresh_field(StMHARD5_ButtonBalance3); | |
|
740
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1024 tMenuEdit_refresh_field(StMHARD5_ButtonLock); |
| 38 | 1025 } |
| 1026 | |
| 1027 | |
| 1028 uint8_t OnAction_Button(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
| 1029 { | |
| 1030 uint8_t digitContentNew, remainder; | |
| 1031 uint32_t newSensitivityGlobal; | |
| 1032 | |
| 1033 if(action == ACTION_BUTTON_NEXT) | |
| 1034 { | |
| 1035 digitContentNew = digitContent - '0'; | |
|
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
1036 if(digitContentNew >= MAX_BUTTONRESPONSIVENESS_GUI) |
| 38 | 1037 { |
|
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
1038 digitContentNew = MIN_BUTTONRESPONSIVENESS_GUI; |
| 38 | 1039 } |
| 1040 else | |
| 1041 { | |
| 1042 remainder = digitContentNew%5; | |
| 1043 digitContentNew += 5 - remainder; | |
|
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
1044 if(digitContentNew >= MAX_BUTTONRESPONSIVENESS_GUI) |
|
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
1045 digitContentNew = MAX_BUTTONRESPONSIVENESS_GUI; |
| 38 | 1046 } |
| 1047 return '0' + digitContentNew; | |
| 1048 } | |
| 1049 | |
| 1050 if(action == ACTION_BUTTON_BACK) | |
| 1051 { | |
| 1052 digitContentNew = digitContent - '0'; | |
|
92
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
1053 if(digitContentNew <= MIN_BUTTONRESPONSIVENESS_GUI) |
|
be35821a4974
Stable to test. button sensitiveness fix. + global_constants.
Dmitry Romanov <kitt@bk.ru>
parents:
38
diff
changeset
|
1054 digitContentNew = MAX_BUTTONRESPONSIVENESS_GUI; |
| 38 | 1055 else |
| 1056 { | |
| 1057 remainder = digitContentNew%5; | |
| 1058 if(remainder) | |
| 1059 digitContentNew -= remainder; | |
| 1060 else | |
| 1061 digitContentNew -= 5; | |
| 1062 } | |
| 1063 return '0' + digitContentNew; | |
| 1064 } | |
| 1065 | |
| 1066 if(action == ACTION_BUTTON_ENTER_FINAL) | |
| 1067 { | |
| 1068 evaluateNewString(editId, &newSensitivityGlobal, 0, 0, 0); | |
| 1069 settingsHelperButtonSens_keepPercentageValues(newSensitivityGlobal, settingsGetPointer()->ButtonResponsiveness); | |
| 1070 setButtonResponsiveness(settingsGetPointer()->ButtonResponsiveness); | |
| 1071 return UNSPECIFIC_RETURN; | |
| 1072 } | |
| 1073 return digitContent; | |
| 1074 } | |
| 1075 | |
| 1076 | |
| 1077 uint8_t OnAction_ButtonBalance(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
| 1078 { | |
| 1079 int8_t idBalance = -1; | |
| 1080 uint8_t *ptrSetting; | |
| 1081 char text[32]; | |
| 1082 | |
| 1083 const uint32_t eventListButtonBalance[3] = {StMHARD5_ButtonBalance1,StMHARD5_ButtonBalance2,StMHARD5_ButtonBalance3}; | |
| 1084 | |
| 1085 idBalance = -1; | |
| 1086 for(int i=0;i<3;i++) | |
| 1087 { | |
| 1088 if(editId == eventListButtonBalance[i]) | |
| 1089 { | |
| 1090 idBalance = i; | |
| 1091 break; | |
| 1092 } | |
| 1093 } | |
| 1094 | |
| 1095 if((idBalance >= 0) && (idBalance < 3)) | |
| 1096 { | |
| 1097 ptrSetting = &settingsGetPointer()->buttonBalance[idBalance]; | |
| 1098 | |
| 1099 *ptrSetting += 1; | |
| 1100 | |
| 1101 if(*ptrSetting > 5) | |
| 1102 *ptrSetting = 2; | |
| 1103 | |
| 1104 buttonBalanceText_helper(idBalance,text); | |
| 1105 tMenuEdit_newButtonText(eventListButtonBalance[idBalance],text); | |
| 1106 } | |
| 1107 | |
| 1108 return UNSPECIFIC_RETURN; | |
| 1109 } | |
|
740
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1110 |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1111 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
|
1112 { |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1113 SSettings *pSettings = settingsGetPointer(); |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1114 |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1115 if(pSettings->buttonLockActive) |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1116 { |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1117 pSettings->buttonLockActive = 0; |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1118 tMenuEdit_set_on_off(editId, 0); |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1119 } |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1120 else |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1121 { |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1122 pSettings->buttonLockActive = 1; |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1123 tMenuEdit_set_on_off(editId, 1); |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1124 } |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1125 |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1126 return UNSPECIFIC_RETURN; |
|
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
734
diff
changeset
|
1127 } |
| 1078 | 1128 |
| 1129 | |
| 1130 uint8_t OnAction_LedBrightness(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
| 1131 { | |
| 1132 SDiveState * pStateReal = stateRealGetPointerWrite(); | |
| 1133 | |
| 1134 if(pStateReal->lifeData.HUD_led_brightness == 0) | |
| 1135 { | |
| 1136 pStateReal->lifeData.HUD_led_brightness = 0xFF; | |
| 1137 } | |
| 1138 else | |
| 1139 { | |
| 1140 pStateReal->lifeData.HUD_led_brightness = 0; | |
| 1141 } | |
| 1142 | |
| 1143 return UNSPECIFIC_RETURN; | |
| 1144 } | |
| 1145 | |
| 1146 uint8_t OnAction_LedSequence(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
| 1147 { | |
| 1148 SDiveState * pStateReal = stateRealGetPointerWrite(); | |
| 1149 int32_t ledSeq[4]; | |
| 1150 uint8_t digitContentNew; | |
| 1151 uint8_t index = 0; | |
| 1152 | |
| 1153 | |
| 1154 switch (action) { | |
| 1155 case ACTION_BUTTON_ENTER: | |
| 1156 | |
| 1157 return digitContent; | |
| 1158 case ACTION_BUTTON_ENTER_FINAL: | |
| 1159 { | |
| 1160 evaluateNewString(editId, (uint32_t*) &ledSeq[0], (uint32_t*)&ledSeq[1], (uint32_t*)&ledSeq[2], (uint32_t*)&ledSeq[3]); | |
| 1161 | |
| 1162 for(index = 0; index < 3; index++) | |
| 1163 { | |
| 1164 if (ledSeq[index] > 16) | |
| 1165 { | |
| 1166 ledSeq[index] = 16; | |
| 1167 } else if (ledSeq[index] < -16) | |
| 1168 { | |
| 1169 ledSeq[index] = -16; | |
| 1170 } | |
| 1171 pStateReal->lifeData.HUD_led_sequence[(index*2)] = 0; /* every value handles 2 LEDs depending on +/- sign */ | |
| 1172 pStateReal->lifeData.HUD_led_sequence[(index*2)+1] = 0; | |
| 1173 if(ledSeq[index] > 0) | |
| 1174 { | |
| 1175 pStateReal->lifeData.HUD_led_sequence[(index*2)] = ledSeq[index]; | |
| 1176 } | |
| 1177 else | |
| 1178 { | |
| 1179 pStateReal->lifeData.HUD_led_sequence[(index*2 + 1)] = ledSeq[index] * -1; | |
| 1180 } | |
| 1181 } | |
| 1182 pStateReal->lifeData.HUD_led_sequence[6] = ledSeq[3]; | |
| 1183 tMenuEdit_newInput(editId, ledSeq[0], ledSeq[1], ledSeq[2], ledSeq[3]); | |
| 1184 } | |
| 1185 | |
| 1186 break; | |
| 1187 case ACTION_BUTTON_NEXT: | |
| 1188 if ((blockNumber < 3) && (digitNumber == 0)) | |
| 1189 { | |
| 1190 digitContentNew = togglePlusMinus(digitContent); | |
| 1191 } else if (digitNumber == 1) | |
| 1192 { | |
| 1193 digitContentNew = digitContent + 1; | |
| 1194 if (digitContentNew > '1') { | |
| 1195 digitContentNew = '0'; | |
| 1196 } | |
| 1197 } else | |
| 1198 { | |
| 1199 digitContentNew = digitContent + 1; | |
| 1200 if (digitContentNew > '9') { | |
| 1201 digitContentNew = '0'; | |
| 1202 } | |
| 1203 } | |
| 1204 | |
| 1205 return digitContentNew; | |
| 1206 case ACTION_BUTTON_BACK: | |
| 1207 if ((blockNumber < 3) && (digitNumber == 0)) | |
| 1208 { | |
| 1209 digitContentNew = togglePlusMinus(digitContent); | |
| 1210 } else if (digitNumber == 1) | |
| 1211 { | |
| 1212 digitContentNew = digitContent - 1; | |
| 1213 if (digitContentNew < '0') { | |
| 1214 digitContentNew = '1'; | |
| 1215 } | |
| 1216 }else | |
| 1217 { | |
| 1218 digitContentNew = digitContent - 1; | |
| 1219 if (digitContentNew < '0') { | |
| 1220 digitContentNew = '9'; | |
| 1221 } | |
| 1222 } | |
| 1223 return digitContentNew; | |
| 1224 } | |
| 1225 return UNSPECIFIC_RETURN; | |
| 1226 } | |
| 1227 | |
|
1082
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1228 #ifdef TOBEUSEDIFMORETHAN4FUNCTIONS |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1229 uint8_t OnAction_LedNumber(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1230 { |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1231 hudFunctionIndex++; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1232 if(hudFunctionIndex == NUM_OF_HUD_FCT) |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1233 { |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1234 hudFunctionIndex = 0; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1235 } |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1236 |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1237 return UNSPECIFIC_RETURN; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1238 } |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1239 #endif |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1240 |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1241 uint8_t OnAction_LedFunction(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1242 { |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1243 SSettings *pSettings = settingsGetPointer(); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1244 uint8_t hudFunctionIndex = 0; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1245 |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1246 switch (editId) |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1247 { |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1248 case StMHARD3_O2_Sensor2: hudFunctionIndex = 0; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1249 break; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1250 case StMHARD3_O2_Sensor3: hudFunctionIndex = 1; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1251 break; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1252 case StMHARD3_O2_Calibrate: hudFunctionIndex = 2; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1253 break; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1254 case StMHARD3_Sensor_Info: hudFunctionIndex = 3; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1255 break; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1256 default: |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1257 break; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1258 } |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1259 |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1260 pSettings->hudFunction[hudFunctionIndex] = hud_NextFct(pSettings->hudFunction[hudFunctionIndex], hudFunctionIndex); |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1261 |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1262 return UNSPECIFIC_RETURN; |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1263 } |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1264 |
|
1aa45000f92c
Added configuration menu for HUD functions:
Ideenmodellierer
parents:
1078
diff
changeset
|
1265 |
