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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1 ///////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2 /// -*- coding: UTF-8 -*-
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
3 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
4 /// \file Discovery/Src/tMenuEditHardware.c
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
5 /// \brief BUTTONS
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
6 /// \author heinrichs weikamp gmbh
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
7 /// \date 15-Sept-2016
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
8 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
9 /// \details
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
10 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
11 /// $Id$
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
12 ///////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
13 /// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
14 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
15 /// This program is free software: you can redistribute it and/or modify
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
16 /// it under the terms of the GNU General Public License as published by
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
17 /// the Free Software Foundation, either version 3 of the License, or
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
18 /// (at your option) any later version.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
19 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
20 /// This program is distributed in the hope that it will be useful,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
21 /// but WITHOUT ANY WARRANTY; without even the implied warranty of
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
22 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
23 /// GNU General Public License for more details.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
24 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
25 /// You should have received a copy of the GNU General Public License
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
26 /// along with this program. If not, see <http://www.gnu.org/licenses/>.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
27 //////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
28
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
29 /* Includes ------------------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
30 #include "tMenuEditHardware.h"
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
31 #include "tMenuEdit.h"
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
32
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
33 #include "externCPU2bootloader.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
34 #include "gfx_fonts.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
35 #include "ostc.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
36 #include "tCCR.h"
999
ac25c35a3c97 New Tab for dynamic configuration:
Ideenmodellierer
parents: 993
diff changeset
37 #include "tMenuEdit.h"
ac25c35a3c97 New Tab for dynamic configuration:
Ideenmodellierer
parents: 993
diff changeset
38 #include "tHome.h"
ac25c35a3c97 New Tab for dynamic configuration:
Ideenmodellierer
parents: 993
diff changeset
39 #include "tInfo.h"
ac25c35a3c97 New Tab for dynamic configuration:
Ideenmodellierer
parents: 993
diff changeset
40 #include "tInfoLog.h"
ac25c35a3c97 New Tab for dynamic configuration:
Ideenmodellierer
parents: 993
diff changeset
41 #include "tInfoSensor.h"
394
717f335cc5c9 Added start of module configuration after eache modul power on
ideenmodellierer
parents: 314
diff changeset
42 #include "tComm.h"
562
ec76fa85009e Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents: 539
diff changeset
43 #include "data_exchange_main.h"
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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
46
748
be25ab2d902c Added display of co2 ppm values:
Ideenmodellierer
parents: 746
diff changeset
47
1005
85f7e19c6688 Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents: 1001
diff changeset
48 //extern void tM_build_pages(void);
999
ac25c35a3c97 New Tab for dynamic configuration:
Ideenmodellierer
parents: 993
diff changeset
49
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
50 /* Private function prototypes -----------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
53 void openEdit_Brightness(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
54 //void openEdit_Luftintegration(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
58
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
59 /* Announced function prototypes -----------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
60 uint8_t OnAction_Sensor1 (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
61 uint8_t OnAction_Sensor2 (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
67 uint8_t OnAction_Button (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
70 uint8_t OnAction_LedSequence (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
77 /* Exported functions --------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
1f665e31aca2 change O2_CALIB_FRACTION_O2 to 0.98
heinrichsweikamp
parents: 584
diff changeset
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
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
92 void openEdit_Hardware(uint8_t line)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
93 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
94 set_globalState_Menu_Line(line);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
95
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
96 switch(line)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
97 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
113 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
114 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
115
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
116 /* Private functions ---------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
117 void openEdit_Bluetooth(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
118 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
119 /* does not work like this resetEnterPressedToStateBeforeButtonAction(); */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
120
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
121 SSettings *pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
122
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
123 if(pSettings->bluetoothActive == 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
124 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
125 pSettings->bluetoothActive = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
128 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
129 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
130 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
131 pSettings->bluetoothActive = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
132 MX_Bluetooth_PowerOff();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
133 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
134 exitMenuEdit_to_Menu_with_Menu_Update_do_not_write_settings_for_this_only();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
135 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
154
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
155 void refresh_O2Sensors(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
156 {
1078
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
157 static uint8_t HUD_cmdUpdateCnt = 20;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
158
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
159 char strSensorId[20];
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
160 char strSensorValue[30];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
acf6614dc396 Use mirror sensortype for visualization:
Ideenmodellierer
parents: 783
diff changeset
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
ffb1036c27c2 Moved CO2 Menu from Xtra to Hardware:
Ideenmodellierer
parents: 814
diff changeset
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
ffb1036c27c2 Moved CO2 Menu from Xtra to Hardware:
Ideenmodellierer
parents: 814
diff changeset
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
acf6614dc396 Use mirror sensortype for visualization:
Ideenmodellierer
parents: 783
diff changeset
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
ffb1036c27c2 Moved CO2 Menu from Xtra to Hardware:
Ideenmodellierer
parents: 814
diff changeset
201 case SENSOR_CO2:
ffb1036c27c2 Moved CO2 Menu from Xtra to Hardware:
Ideenmodellierer
parents: 814
diff changeset
202 case SENSOR_CO2M: pSettings->co2_sensor_active = 1;
ffb1036c27c2 Moved CO2 Menu from Xtra to Hardware:
Ideenmodellierer
parents: 814
diff changeset
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
7e84ae1513b6 Code cleanup sensors under development:
Ideenmodellierer
parents: 745
diff changeset
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
b392524753fb Update Sentinel protocol:
Ideenmodellierer
parents: 740
diff changeset
211 break;
746
7e84ae1513b6 Code cleanup sensors under development:
Ideenmodellierer
parents: 745
diff changeset
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
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
231 strSensorId[0] = '\001';
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
232 strSensorId[1] = TXT_o2Sensors;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
233 strSensorId[2] = 0;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
234 write_topline(strSensorId);
718
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 709
diff changeset
235
1078
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
236 memset(strSensorId,0,20);
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
237 strSensorId[0] = TXT_2BYTE;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
238 strSensorId[1] = TXT2BYTE_Sensor;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
239 strSensorId[2] = ' ';
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
240 strSensorId[3] = TXT_2BYTE;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
241 strSensorId[4] = 'X';
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
242 strSensorId[5] = '1';
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
243 strSensorId[6] = 0;
718
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 709
diff changeset
244
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
245 for(index = 0; index < 3; index++)
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
246 {
799
1e3c12d772eb Added CO2 mirrow instance:
Ideenmodellierer
parents: 797
diff changeset
247 strSensorId[3] = TXT_2BYTE;
734
190e5814b2f5 Removed interface selection from sensor menu:
Ideenmodellierer
parents: 730
diff changeset
248 strSensorId[4] = 'X';
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
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
be25ab2d902c Added display of co2 ppm values:
Ideenmodellierer
parents: 746
diff changeset
253 case SENSOR_SEARCH: strSensorId[1] = TXT2BYTE_SensorDetect;
be25ab2d902c Added display of co2 ppm values:
Ideenmodellierer
parents: 746
diff changeset
254 strSensorId[2] = 0;
be25ab2d902c Added display of co2 ppm values:
Ideenmodellierer
parents: 746
diff changeset
255 strSensorId[4] = 0;
745
b392524753fb Update Sentinel protocol:
Ideenmodellierer
parents: 740
diff changeset
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
acf6614dc396 Use mirror sensortype for visualization:
Ideenmodellierer
parents: 783
diff changeset
261 case SENSOR_DIGO2:
acf6614dc396 Use mirror sensortype for visualization:
Ideenmodellierer
parents: 783
diff changeset
262 case SENSOR_DIGO2M: strSensorId[4] = TXT2BYTE_O2IFDigital;
734
190e5814b2f5 Removed interface selection from sensor menu:
Ideenmodellierer
parents: 730
diff changeset
263 break;
799
1e3c12d772eb Added CO2 mirrow instance:
Ideenmodellierer
parents: 797
diff changeset
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
b392524753fb Update Sentinel protocol:
Ideenmodellierer
parents: 740
diff changeset
272 break;
920
c4c9850a2039 Added view for position data:
Ideenmodellierer
parents: 884
diff changeset
273 case SENSOR_GNSS:
c4c9850a2039 Added view for position data:
Ideenmodellierer
parents: 884
diff changeset
274 case SENSOR_GNSSM: strSensorId[3] = 'G';
c4c9850a2039 Added view for position data:
Ideenmodellierer
parents: 884
diff changeset
275 strSensorId[4] = 'N';
c4c9850a2039 Added view for position data:
Ideenmodellierer
parents: 884
diff changeset
276 break;
1078
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
277 case SENSOR_HUD: strSensorId[3] = 'H';
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
278 strSensorId[4] = 'U';
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
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
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
283 break;
734
190e5814b2f5 Removed interface selection from sensor menu:
Ideenmodellierer
parents: 730
diff changeset
284 default:
748
be25ab2d902c Added display of co2 ppm values:
Ideenmodellierer
parents: 746
diff changeset
285 strSensorId[5] = 0;
734
190e5814b2f5 Removed interface selection from sensor menu:
Ideenmodellierer
parents: 730
diff changeset
286 break;
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
287 }
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
288 if(strSensorId[4] != 'X')
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
289 {
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
290 write_label_var( 96, 340, ME_Y_LINE1 + (index * ME_Y_LINE_STEP), &FontT48, strSensorId);
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
291 }
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
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
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
294 {
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
295 snprintf(strSensorValue, 20,"%01.2f, %01.1f mV", pStateReal->lifeData.ppO2Sensor_bar[index], pStateReal->lifeData.sensorVoltage_mV[index]);
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
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
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
298 {
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
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
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
301 else if(localSensorMap[index] == SENSOR_HUD)
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
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
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
327 pStateReal->lifeData.HUD_led_sequence[2] - pStateReal->lifeData.HUD_led_sequence[3],
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
328 pStateReal->lifeData.HUD_led_sequence[4] - pStateReal->lifeData.HUD_led_sequence[5],
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
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
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
349 }
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
350 y_line = ME_Y_LINE1 + (index * ME_Y_LINE_STEP);
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
351 if(strSensorValue[0] != 0)
718
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 709
diff changeset
352 {
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
353 write_label_var( 480, 800, y_line, &FontT48, strSensorValue);
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
354 }
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
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
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
358 {
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
359 strSensorId[0] = TXT_2BYTE;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
360 strSensorId[1] = TXT2BYTE_HUDbattery;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
361 strSensorId[2] = 0;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
362 write_label_var( 30, 340, ME_Y_LINE4, &FontT48, strSensorId);
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
363
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
364 snprintf(strSensorId, 20,"%01.3fV", get_HUD_battery_voltage_V());
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
365 write_label_var( 480, 800, ME_Y_LINE4, &FontT48, strSensorId);
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
366 }
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
367 else
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
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
7e84ae1513b6 Code cleanup sensors under development:
Ideenmodellierer
parents: 745
diff changeset
371 || (pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_SENTINEL)
7e84ae1513b6 Code cleanup sensors under development:
Ideenmodellierer
parents: 745
diff changeset
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
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
374 {
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
375 strSensorId[0] = TXT_2BYTE;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
376 strSensorId[1] = TXT2BYTE_O2Calib;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
377 strSensorId[2] = 0;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
378 write_label_var( 30, 340, ME_Y_LINE4, &FontT48, strSensorId);
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
379 snprintf(strSensorId, 20,"%d%%", O2_calib_gas);
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
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
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
390 }
1078
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
391 if(sensorFilter == SENSOR_NONE)
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
392 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
393 for(index = EXT_INTERFACE_MUX_OFFSET; index < EXT_INTERFACE_SENSOR_CNT; index++)
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
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
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
396 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
397 uartSensorCnt++;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
398 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
399 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
400 if(uartSensorCnt != 0)
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
401 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
402 snprintf(strSensorId, 20,"%c: %d", TXT_o2Sensors, uartSensorCnt);
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
403 write_label_var( 30, 340, ME_Y_LINE5, &FontT48, strSensorId);
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
404 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
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
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
407 {
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
408 strSensorId[0] = TXT_2BYTE;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
409 strSensorId[1] = TXT2BYTE_SensorDetect;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
410 strSensorId[2] = 0;
734
190e5814b2f5 Removed interface selection from sensor menu:
Ideenmodellierer
parents: 730
diff changeset
411
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
412 write_label_var( 30, 340, ME_Y_LINE6, &FontT48, strSensorId);
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
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
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
416 {
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
417 tMenuEdit_refresh_field(StMHARD3_O2_Sensor1);
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
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
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
420 {
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
421 tMenuEdit_refresh_field(StMHARD3_O2_Sensor2);
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
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
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
424 {
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
427
584
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
428 if(get_globalState() == StMHARD3_O2_Calibrate)
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
429 {
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
430 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_O2Calib,TXT2BYTE_ButtonPlus);
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
431 }
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
432 else
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
433 {
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
434 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
435 }
1078
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
436
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
437 if(localSensorMap[0] == SENSOR_HUD)
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
438 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
439 HUD_cmdUpdateCnt--;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
440 if(HUD_cmdUpdateCnt == 0)
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
441 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
442 HUD_cmdUpdateCnt = 20;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
443 for(index = EXT_INTERFACE_MUX_OFFSET; index < EXT_INTERFACE_SENSOR_CNT; index++)
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
444 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
445 if(pSettings->ext_sensor_map[index] == SENSOR_HUD)
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
446 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
447 DataEX_setExtInterface_Cmd(EXT_INTERFACE_HUD_UPDATE, index);
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
448 break;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
449 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
450 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
451
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
452 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
453 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
454 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
455
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
462 const SDiveState* pRealState = stateRealGetPointer();
1082
1aa45000f92c Added configuration menu for HUD functions:
Ideenmodellierer
parents: 1078
diff changeset
463 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
464 uint8_t sensorActive[3];
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
465 uint8_t index = 0;
746
7e84ae1513b6 Code cleanup sensors under development:
Ideenmodellierer
parents: 745
diff changeset
466 char text[3];
926
875933272056 Bugfix sensor de-/activation handling:
Ideenmodellierer
parents: 920
diff changeset
467 uint32_t firstSensorId = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
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
875933272056 Bugfix sensor de-/activation handling:
Ideenmodellierer
parents: 920
diff changeset
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
25948e805406 DevBugfix Co2 sensor details:
Ideenmodellierer
parents: 926
diff changeset
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
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
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
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
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
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
556 switch(sensorFilter)
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
557 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
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 */
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
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
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
565 default: write_field_button(StMHARD3_O2_Sensor1, 30, 95, ME_Y_LINE1, &FontT48, "");
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
566 break;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
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
875933272056 Bugfix sensor de-/activation handling:
Ideenmodellierer
parents: 920
diff changeset
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
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
650 pRealState->lifeData.HUD_led_sequence[0] - pRealState->lifeData.HUD_led_sequence[1],
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
651 pRealState->lifeData.HUD_led_sequence[2] - pRealState->lifeData.HUD_led_sequence[3],
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
652 pRealState->lifeData.HUD_led_sequence[4] - pRealState->lifeData.HUD_led_sequence[5],
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
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
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
660
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
661
1082
1aa45000f92c Added configuration menu for HUD functions:
Ideenmodellierer
parents: 1078
diff changeset
662 #ifndef ENABLE_HUD_TESTING
1078
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
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
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
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
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
676 localSensorMap[0] = SENSOR_HUD;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
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
875933272056 Bugfix sensor de-/activation handling:
Ideenmodellierer
parents: 920
diff changeset
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
b392524753fb Update Sentinel protocol:
Ideenmodellierer
parents: 740
diff changeset
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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
721 }
1078
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
722 void openEdit_SensorsHUD()
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
723 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
724 openEdit_Sensors(SENSOR_HUD);
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
725 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
726
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
727 uint8_t OnAction_Sensor1(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
728 {
1078
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
729 if((localSensorMap[0] == SENSOR_DIGO2M) || (localSensorMap[0] == SENSOR_CO2M) || (localSensorMap[0] == SENSOR_CO2M) || (localSensorMap[0] == SENSOR_HUD))
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
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
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
732 return EXIT_TO_INFO_SENSOR;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
733 }
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
734 else
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
735 {
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
736 if(settingsGetPointer()->ppo2sensors_deactivated & 1)
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
737 {
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
738 settingsGetPointer()->ppo2sensors_deactivated &= 4+2;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
739 tMenuEdit_set_on_off(editId, 1);
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
740 }
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
741 else
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
742 {
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
743 settingsGetPointer()->ppo2sensors_deactivated |= 1;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
744 tMenuEdit_set_on_off(editId, 0);
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
745 }
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
746 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
747
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
748 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
749 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
750
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
751
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
752 uint8_t OnAction_Sensor2(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
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
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
757 return EXIT_TO_INFO_SENSOR;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
758 }
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
759 else
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
760 {
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
761 if(settingsGetPointer()->ppo2sensors_deactivated & 2)
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
762 {
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
763 settingsGetPointer()->ppo2sensors_deactivated &= 4+1;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
764 tMenuEdit_set_on_off(editId, 1);
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
765 }
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
766 else
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
767 {
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
768 settingsGetPointer()->ppo2sensors_deactivated |= 2;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
769 tMenuEdit_set_on_off(editId, 0);
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
770 }
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
771 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
772 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
773 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
774
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
775
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
776 uint8_t OnAction_Sensor3(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
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
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
781 return EXIT_TO_INFO_SENSOR;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
782 }
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
783 else
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
784 {
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
785
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
786 if(settingsGetPointer()->ppo2sensors_deactivated & 4)
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
787 {
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
788 settingsGetPointer()->ppo2sensors_deactivated &= 2+1;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
789 tMenuEdit_set_on_off(editId, 1);
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
790 }
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
791 else
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
792 {
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
793 settingsGetPointer()->ppo2sensors_deactivated |= 4;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
794 tMenuEdit_set_on_off(editId, 0);
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
795 }
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
796 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
797 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
798 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
799
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
823 uint8_t retVal = UNSPECIFIC_RETURN;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
824 float compensatedRef;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
825
584
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
826 if(action == ACTION_BUTTON_ENTER_FINAL)
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
827 {
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
828 if(O2_calib_gas == 21)
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
829 {
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
830 compensatedRef = O2_CALIB_FRACTION_AIR * pStateReal->lifeData.pressure_ambient_bar / 1.0;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
831 }
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
832 else
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
833 {
605
1f665e31aca2 change O2_CALIB_FRACTION_O2 to 0.98
heinrichsweikamp
parents: 584
diff changeset
834 compensatedRef = O2_CALIB_FRACTION_O2 * pStateReal->lifeData.pressure_ambient_bar / 1.0;
584
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
835 }
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
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
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
838 if((pSettings->ppo2sensors_deactivated & (0x1 << loop)) == 0)
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
839 {
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
840 if(pStateReal->lifeData.sensorVoltage_mV[loop] > 0.0001) /* sensor connected ?*/
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
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
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
849 pSettings->ppo2sensors_calibCoeff[loop] = compensatedRef / pStateReal->lifeData.sensorVoltage_mV[loop];
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
850 }
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
851 else
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
852 {
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
853 pSettings->ppo2sensors_calibCoeff[loop] = 0.0;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
854 settingsGetPointer()->ppo2sensors_deactivated |= 0x1 << loop;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
855 }
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
856 }
562
ec76fa85009e Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents: 539
diff changeset
857 }
584
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
858 tMenuEdit_newInput(editId, O2_calib_gas, 0, 0, 0);
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
859 retVal = UPDATE_DIVESETTINGS;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
860 }
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
861 if(action == ACTION_BUTTON_NEXT)
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
862 {
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
863 if(O2_calib_gas == 21)
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
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
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
867 else
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
868 {
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
869 O2_calib_gas = 21;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
870 }
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
871 }
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
872 retVal = O2_calib_gas;
562
ec76fa85009e Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents: 539
diff changeset
873
584
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
874 if(action == ACTION_BUTTON_BACK)
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
875 {
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
876 exitMenuEditField();
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
877 }
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
878
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
893 void openEdit_Brightness(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
894 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
895 uint8_t actualBrightness;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
896 SSettings *pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
897
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
898 actualBrightness = pSettings->brightness;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
899 actualBrightness++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
900 if(actualBrightness > 4)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
901 actualBrightness = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
902 pSettings->brightness = actualBrightness;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
903 exitEditWithUpdate();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
904 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
905
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
906
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
907 void buttonBalanceText_helper(uint8_t idOfButton, char *textOutput)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
908 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
909 uint8_t txtcount = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
910
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
911 if(idOfButton < 3)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
912 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
913 textOutput[txtcount++] = '@' + settingsGetPointer()->buttonBalance[idOfButton];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
914 textOutput[txtcount++] = ' ';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
915 textOutput[txtcount++] = ' ';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
916 textOutput[txtcount++] = '(';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
917
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
918 switch(settingsGetPointer()->buttonBalance[idOfButton])
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
919 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
920 case 1:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
921 textOutput[txtcount++] = '-';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
922 textOutput[txtcount++] = '2';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
923 textOutput[txtcount++] = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
924 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
925 case 2:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
926 textOutput[txtcount++] = '-';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
927 textOutput[txtcount++] = '1';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
928 textOutput[txtcount++] = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
929 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
930 case 3:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
931 default:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
932 textOutput[txtcount++] = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
933 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
934 case 4:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
935 textOutput[txtcount++] = '+';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
936 textOutput[txtcount++] = '1';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
937 textOutput[txtcount++] = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
938 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
939 case 5:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
940 textOutput[txtcount++] = '+';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
941 textOutput[txtcount++] = '2';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
942 textOutput[txtcount++] = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
943 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
944 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
945 textOutput[txtcount++] = ')';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
946 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
947 textOutput[txtcount++] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
948 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
949
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
950 /**#
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
951 ******************************************************************************
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
952 * @brief BUTTONS
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
953 * @author heinrichs weikamp gmbh
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
954 * @version V 01
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
955 * @date 15-Sept-2016
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
956 ******************************************************************************
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
957 * Button 0 is right, Button 1 is middle, Button 2 is left !!!!
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
958 * 2 1 0 (base value 3)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
959 * Button 3 is used to store the base value, all others are balanced around this one!
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
960 *
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
961 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
962
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
963 void openEdit_ButtonSens(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
964 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
965 char text[32];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
966 uint8_t sens;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
967 const uint32_t eventListButtonBalance[3] = {StMHARD5_ButtonBalance1,StMHARD5_ButtonBalance2,StMHARD5_ButtonBalance3};
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
968
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
969 sens = (uint8_t)settingsGetPointer()->ButtonResponsiveness[3];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
970 write_field_3digit(StMHARD5_Button1, 360, 780, ME_Y_LINE1, &FontT48, "###", sens, 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
971
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
972 for(int i=2;i>=0;i--)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
973 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
974 buttonBalanceText_helper(i,text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
975 write_field_button(eventListButtonBalance[i],360,500,ME_Y_LINE4-(i*ME_Y_LINE_STEP),&FontT48,text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
976 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
977
740
5078da3845c0 Added button lock after wakeup in surface mode:
Ideenmodellierer
parents: 734
diff changeset
978 snprintf(text,32,"%c",TXT_ButtonLock);
884
940f8e132638 Minor screen cleanup:
Ideenmodellierer
parents: 854
diff changeset
979 write_field_on_off(StMHARD5_ButtonLock, 30, 700, ME_Y_LINE5, &FontT48, text, settingsGetPointer()->buttonLockActive);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
980
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
981 setEvent(StMHARD5_Button1, (uint32_t)OnAction_Button);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
982
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
983 for(int i=2;i>=0;i--)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
984 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
985 setEvent(eventListButtonBalance[i], (uint32_t)OnAction_ButtonBalance);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
988 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
989 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
990
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
991
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
992 void refresh_ButtonValuesFromPIC(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
993 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
994 uint8_t sens[3];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
995 char text[64];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
996
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
997 text[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
998 text[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
999 text[2] = TXT2BYTE_ButtonSensitivity;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1000 text[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1001 write_topline(text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1002
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1003 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1004
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1005 for(int i=0;i<3;i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1006 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1007 text[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1008 text[1] = TXT2BYTE_ButtonLeft+i;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1009 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1010 write_label_var( 20, 300, ME_Y_LINE2+(i*ME_Y_LINE_STEP), &FontT48, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1011 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1012
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1013 for(int i=0;i<3;i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1014 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1015 sens[i] = settingsHelperButtonSens_translate_hwOS_values_to_percentage(stateRealGetPointer()->lifeData.buttonPICdata[i]);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
940f8e132638 Minor screen cleanup:
Ideenmodellierer
parents: 854
diff changeset
1018 write_label_var( 20, 700, ME_Y_LINE6, &FontT42, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1019
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1020 tMenuEdit_refresh_field(StMHARD5_Button1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1021 tMenuEdit_refresh_field(StMHARD5_ButtonBalance1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1022 tMenuEdit_refresh_field(StMHARD5_ButtonBalance2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1025 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1026
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1027
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1028 uint8_t OnAction_Button(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1029 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1030 uint8_t digitContentNew, remainder;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1031 uint32_t newSensitivityGlobal;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1032
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1033 if(action == ACTION_BUTTON_NEXT)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1034 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1039 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1040 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1041 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1042 remainder = digitContentNew%5;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1046 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1047 return '0' + digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1048 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1049
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1050 if(action == ACTION_BUTTON_BACK)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1051 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1055 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1056 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1057 remainder = digitContentNew%5;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1058 if(remainder)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1059 digitContentNew -= remainder;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1060 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1061 digitContentNew -= 5;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1062 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1063 return '0' + digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1064 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1065
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1066 if(action == ACTION_BUTTON_ENTER_FINAL)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1067 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1068 evaluateNewString(editId, &newSensitivityGlobal, 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1069 settingsHelperButtonSens_keepPercentageValues(newSensitivityGlobal, settingsGetPointer()->ButtonResponsiveness);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1070 setButtonResponsiveness(settingsGetPointer()->ButtonResponsiveness);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1071 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1072 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1073 return digitContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1074 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1075
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1076
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1077 uint8_t OnAction_ButtonBalance(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1078 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1079 int8_t idBalance = -1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1080 uint8_t *ptrSetting;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1081 char text[32];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1082
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1083 const uint32_t eventListButtonBalance[3] = {StMHARD5_ButtonBalance1,StMHARD5_ButtonBalance2,StMHARD5_ButtonBalance3};
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1084
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1085 idBalance = -1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1086 for(int i=0;i<3;i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1087 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1088 if(editId == eventListButtonBalance[i])
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1089 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1090 idBalance = i;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1091 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1092 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1093 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1094
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1095 if((idBalance >= 0) && (idBalance < 3))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1096 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1097 ptrSetting = &settingsGetPointer()->buttonBalance[idBalance];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1098
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1099 *ptrSetting += 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1100
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1101 if(*ptrSetting > 5)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1102 *ptrSetting = 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1103
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1104 buttonBalanceText_helper(idBalance,text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1105 tMenuEdit_newButtonText(eventListButtonBalance[idBalance],text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1106 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1107
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1108 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
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
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1128
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1129
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1130 uint8_t OnAction_LedBrightness(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1131 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1132 SDiveState * pStateReal = stateRealGetPointerWrite();
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1133
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1134 if(pStateReal->lifeData.HUD_led_brightness == 0)
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1135 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1136 pStateReal->lifeData.HUD_led_brightness = 0xFF;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1137 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1138 else
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1139 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1140 pStateReal->lifeData.HUD_led_brightness = 0;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1141 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1142
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1143 return UNSPECIFIC_RETURN;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1144 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1145
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1146 uint8_t OnAction_LedSequence(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1147 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1148 SDiveState * pStateReal = stateRealGetPointerWrite();
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1149 int32_t ledSeq[4];
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1150 uint8_t digitContentNew;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1151 uint8_t index = 0;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1152
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1153
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1154 switch (action) {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1155 case ACTION_BUTTON_ENTER:
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1156
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1157 return digitContent;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1158 case ACTION_BUTTON_ENTER_FINAL:
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1159 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1160 evaluateNewString(editId, (uint32_t*) &ledSeq[0], (uint32_t*)&ledSeq[1], (uint32_t*)&ledSeq[2], (uint32_t*)&ledSeq[3]);
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1161
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1162 for(index = 0; index < 3; index++)
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1163 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1164 if (ledSeq[index] > 16)
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1165 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1166 ledSeq[index] = 16;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1167 } else if (ledSeq[index] < -16)
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1168 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1169 ledSeq[index] = -16;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1170 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1171 pStateReal->lifeData.HUD_led_sequence[(index*2)] = 0; /* every value handles 2 LEDs depending on +/- sign */
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1172 pStateReal->lifeData.HUD_led_sequence[(index*2)+1] = 0;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1173 if(ledSeq[index] > 0)
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1174 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1175 pStateReal->lifeData.HUD_led_sequence[(index*2)] = ledSeq[index];
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1176 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1177 else
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1178 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1179 pStateReal->lifeData.HUD_led_sequence[(index*2 + 1)] = ledSeq[index] * -1;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1180 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1181 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1182 pStateReal->lifeData.HUD_led_sequence[6] = ledSeq[3];
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1183 tMenuEdit_newInput(editId, ledSeq[0], ledSeq[1], ledSeq[2], ledSeq[3]);
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1184 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1185
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1186 break;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1187 case ACTION_BUTTON_NEXT:
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1188 if ((blockNumber < 3) && (digitNumber == 0))
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1189 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1190 digitContentNew = togglePlusMinus(digitContent);
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1191 } else if (digitNumber == 1)
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1192 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1193 digitContentNew = digitContent + 1;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1194 if (digitContentNew > '1') {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1195 digitContentNew = '0';
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1196 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1197 } else
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1198 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1199 digitContentNew = digitContent + 1;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1200 if (digitContentNew > '9') {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1201 digitContentNew = '0';
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1202 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1203 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1204
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1205 return digitContentNew;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1206 case ACTION_BUTTON_BACK:
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1207 if ((blockNumber < 3) && (digitNumber == 0))
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1208 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1209 digitContentNew = togglePlusMinus(digitContent);
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1210 } else if (digitNumber == 1)
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1211 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1212 digitContentNew = digitContent - 1;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1213 if (digitContentNew < '0') {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1214 digitContentNew = '1';
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1215 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1216 }else
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1217 {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1218 digitContentNew = digitContent - 1;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1219 if (digitContentNew < '0') {
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1220 digitContentNew = '9';
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1221 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1222 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1223 return digitContentNew;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1224 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1225 return UNSPECIFIC_RETURN;
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
1226 }
082825daccb5 Added control views for HUD:
Ideenmodellierer
parents: 1073
diff changeset
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