annotate Discovery/Src/tHome.c @ 837:18946846b95b Evo_2_23

Bugfixes and code cleanup for BF views: BF views gauge and apnoe were using "dive computer" T3 view functions which caused some problem because these legacy views were not intended to work with customer view selection. A switch condition has been added to skip these kind of functions in case a design other T3 is in use. Another potential problem was that there were two definitions for T3 and T7 views which were basically the same. If they wold not be the same the switching functionality wold not work properly. To avoid this problem in futur the arrays have been merged => the view are handled sing the (newer) cv_view arrays instead of the standard_views which were in used before the user could the views which should be shown.
author ideenmodellierer
date Wed, 27 Dec 2023 19:37:17 +0100
parents 8d6c35655d4d
children aed39d19269c
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/tHome.c
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
5 /// \brief Control for Surface and Dive Templates
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 10-November-2014
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 "tHome.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
31
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
32 #include "data_exchange_main.h" // for dataOutGetPointer()
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
33 #include "gfx_fonts.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
34 #include "t3.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
35 #include "t4_tetris.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
36 #include "t5_gauge.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
37 #include "t6_apnea.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
38 #include "t7.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
39 #include "tDebug.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
40 #include "timer.h" // for timer_Stopwatch_Restart
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
41 #include "tMenu.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
42 #include "tMenuEditGasOC.h" // for openEdit_DiveSelectBetterGas()
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
43 #include "tMenuEditSetpoint.h" // for openEdit_DiveSelectBetterSetpoint()
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
44 #include "simulation.h"
361
b111fc4250e9 Pass action to customer vie update function.
Ideenmodellierer
parents: 289
diff changeset
45 #include "motion.h"
619
8fa2de4414a8 Added t3 quick menu for marker synchronisation:
Ideenmodellierer
parents: 613
diff changeset
46 #include "logbook_miniLive.h"
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
47
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
48 /* Private types -------------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
49
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
50 /* Exported variables --------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
51 _Bool warning_count_high_time = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
52 _Bool display_count_high_time = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
53
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
54 uint8_t errorsInSettings = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
55 /* Private variables ---------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
56 static uint8_t warning_toogle_count;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
57 static uint16_t display_toogle_count;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
58 static uint16_t tHome_tick_count_cview;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
59 static uint16_t tHome_tick_count_field;
576
1105cf7bbf6f Return to o2 values:
Ideenmodellierer
parents: 542
diff changeset
60 static uint16_t tHome_tick_count_o2sens;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
61
805
dd7ce655db26 Adds a simple countdown timer, available as a custom view in surface and dive mode.
heinrichsweikamp
parents: 777
diff changeset
62 const uint8_t cv_changelist[] = {CVIEW_Compass, CVIEW_SummaryOfLeftCorner, CVIEW_Tissues, CVIEW_Profile, CVIEW_EADTime, CVIEW_Gaslist, CVIEW_noneOrDebug, CVIEW_Decolist, CVIEW_sensors,CVIEW_sensors_mV, CVIEW_Timer, CVIEW_END};
594
280c11153080 Added compile switch for new T3 View Profile
Ideenmodellierer
parents: 576
diff changeset
63 const uint8_t cv_changelist_BS[] = {CVIEW_T3_Decostop, CVIEW_sensors, CVIEW_Compass, CVIEW_T3_MaxDepth,CVIEW_T3_StopWatch, CVIEW_T3_TTS, CVIEW_T3_GasList, CVIEW_T3_ppO2andGas, CVIEW_noneOrDebug,
280c11153080 Added compile switch for new T3 View Profile
Ideenmodellierer
parents: 576
diff changeset
64 CVIEW_T3_Navigation, CVIEW_T3_DepthData, CVIEW_T3_DecoTTS,
280c11153080 Added compile switch for new T3 View Profile
Ideenmodellierer
parents: 576
diff changeset
65 #ifdef ENABLE_T3_PROFILE_VIEW
280c11153080 Added compile switch for new T3 View Profile
Ideenmodellierer
parents: 576
diff changeset
66 CVIEW_T3_Profile,
280c11153080 Added compile switch for new T3 View Profile
Ideenmodellierer
parents: 576
diff changeset
67 #endif
836
8d6c35655d4d Bugfix BF temperatur display and cv switching:
ideenmodellierer
parents: 816
diff changeset
68 CVIEW_T3_Temperature,
594
280c11153080 Added compile switch for new T3 View Profile
Ideenmodellierer
parents: 576
diff changeset
69 CVIEW_T3_END};
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
70
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
71 /* Private function prototypes -----------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
72
576
1105cf7bbf6f Return to o2 values:
Ideenmodellierer
parents: 542
diff changeset
73 #define AUTORETURN_O2SENS (200u) /* return to sensor view after 20 seconds in case sensor is connected */
1105cf7bbf6f Return to o2 values:
Ideenmodellierer
parents: 542
diff changeset
74
1105cf7bbf6f Return to o2 values:
Ideenmodellierer
parents: 542
diff changeset
75
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
76 /* Exported functions --------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
77
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
78 void set_globalState_tHome(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
79 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
80 if(stateUsed->mode == MODE_DIVE)
739
4a6bffaa38b3 Enable start dive in Big font display:
Ideenmodellierer
parents: 685
diff changeset
81 {
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
82 set_globalState(StD);
739
4a6bffaa38b3 Enable start dive in Big font display:
Ideenmodellierer
parents: 685
diff changeset
83 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
84 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
85 set_globalState(StS);
816
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 810
diff changeset
86
c4ee952b9425 Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents: 810
diff changeset
87 clearDisabledMenuLines();
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
88 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
89
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
90
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
91 void tHome_init(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
92 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
93 t7_init(); // standard + surface
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
94 t3_init(); // big font
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
95 t4_init(); // game
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
96 t5_init(); // gauge
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
97 t6_init(); // apnea
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
98 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
99
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
100
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
101 void tHome_init_compass(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
102 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
103 init_t7_compass();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
104 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
105
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
106
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
107 void tHome_refresh(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
108 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
109 SSettings* pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
110
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
111 warning_toogle_count++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
112 if(warning_toogle_count >= 2* pSettings->warning_blink_dsec)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
113 warning_toogle_count = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
114
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
115 if(warning_toogle_count >= pSettings->warning_blink_dsec)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
116 warning_count_high_time = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
117 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
118 warning_count_high_time = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
119
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
120
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
121 display_toogle_count++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
122 if(display_toogle_count >= 2* pSettings->display_toogle_desc)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
123 display_toogle_count = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
124
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
125 if(display_toogle_count >= pSettings->display_toogle_desc)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
126 display_count_high_time = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
127 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
128 display_count_high_time = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
129
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
130
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
131 if(pSettings->design == 6)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
132 t6_refresh();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
133 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
134 if(pSettings->design == 5)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
135 t5_refresh();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
136 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
137 if(pSettings->design == 4)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
138 t4_refresh();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
139 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
140 if(pSettings->design == 3)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
141 t3_refresh();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
142 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
143 if(pSettings->design == 7)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
144 t7_refresh();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
145 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
146 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
147 pSettings->design = 7;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
148 t7_refresh();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
149 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
150 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
151
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
152
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
153 void tHome_sleepmode_fun(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
154 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
155 t7_refresh_sleepmode_fun();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
156 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
157
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
158
773
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
159 static void checkSetStateSim(SSettings *settings)
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
160 {
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
161 if (is_stateUsedSetToSim()) {
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
162 if (settings->design != 3) {
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
163 set_globalState(StDSIM1);
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
164 } else {
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
165 #ifdef ENABLE_T3_PPO_SIM
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
166 if (stateUsed->diveSettings.ppo2sensors_deactivated & 0x01 == 0) {
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
167 set_globalState(StDSIM1);
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
168 } else if (stateUsed->diveSettings.ppo2sensors_deactivated & 0x02 == 0) {
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
169 set_globalState(StDSIM3);
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
170 } else if (stateUsed->diveSettings.ppo2sensors_deactivated & 0x04 == 0) {
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
171 set_globalState(StDSIM5);
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
172 } else {
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
173 set_globalState(StD);
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
174 }
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
175 #endif
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
176 }
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
177 } else {
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
178 set_globalState(StD);
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
179 }
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
180 }
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
181
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
182
777
6a8cf91e5b22 This is only showing if one of the compass views is visible. It should make it possible to verify that a correct heading is set as the user can see the compass readout when pushing the button. (mikeller)
heinrichsweikamp
parents: 775
diff changeset
183 static void checkSetStateCompassSim(SSettings *settings)
6a8cf91e5b22 This is only showing if one of the compass views is visible. It should make it possible to verify that a correct heading is set as the user can see the compass readout when pushing the button. (mikeller)
heinrichsweikamp
parents: 775
diff changeset
184 {
6a8cf91e5b22 This is only showing if one of the compass views is visible. It should make it possible to verify that a correct heading is set as the user can see the compass readout when pushing the button. (mikeller)
heinrichsweikamp
parents: 775
diff changeset
185 if (settings->design == 7 && t7_isCompassShowing()) {
6a8cf91e5b22 This is only showing if one of the compass views is visible. It should make it possible to verify that a correct heading is set as the user can see the compass readout when pushing the button. (mikeller)
heinrichsweikamp
parents: 775
diff changeset
186 set_globalState(StDBEAR);
6a8cf91e5b22 This is only showing if one of the compass views is visible. It should make it possible to verify that a correct heading is set as the user can see the compass readout when pushing the button. (mikeller)
heinrichsweikamp
parents: 775
diff changeset
187 } else {
6a8cf91e5b22 This is only showing if one of the compass views is visible. It should make it possible to verify that a correct heading is set as the user can see the compass readout when pushing the button. (mikeller)
heinrichsweikamp
parents: 775
diff changeset
188 checkSetStateSim(settings);
6a8cf91e5b22 This is only showing if one of the compass views is visible. It should make it possible to verify that a correct heading is set as the user can see the compass readout when pushing the button. (mikeller)
heinrichsweikamp
parents: 775
diff changeset
189 }
6a8cf91e5b22 This is only showing if one of the compass views is visible. It should make it possible to verify that a correct heading is set as the user can see the compass readout when pushing the button. (mikeller)
heinrichsweikamp
parents: 775
diff changeset
190 }
6a8cf91e5b22 This is only showing if one of the compass views is visible. It should make it possible to verify that a correct heading is set as the user can see the compass readout when pushing the button. (mikeller)
heinrichsweikamp
parents: 775
diff changeset
191
6a8cf91e5b22 This is only showing if one of the compass views is visible. It should make it possible to verify that a correct heading is set as the user can see the compass readout when pushing the button. (mikeller)
heinrichsweikamp
parents: 775
diff changeset
192
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
193 void tHomeDiveMenuControl(uint8_t sendAction)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
194 {
773
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
195 SSettings *settings = settingsGetPointer();
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
196
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
197 if(sendAction == ACTION_BUTTON_NEXT)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
198 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
199 if(settingsGetPointer()->design == 4)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
200 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
201
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
202 switch(get_globalState())
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
203 {
516
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
204 case StD:
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
205 if(settingsGetPointer()->design == 6)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
206 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
207 if(is_stateUsedSetToSim())
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
208 set_globalState(StDSIM1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
209 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
210 set_globalState(StDQUIT);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
211 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
212 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
213
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
214 if(settingsGetPointer()->design == 5)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
215 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
216 if(t5_getCustomView() == CVIEW_Compass)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
217 set_globalState(StDBEAR);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
218 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
219 set_globalState(StDRAVG);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
220 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
221 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
222
516
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
223 if(settingsGetPointer()->design == 3)
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
224 {
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
225 switch(t3_getCustomView())
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
226 {
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
227 case CVIEW_T3_Navigation:
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
228 case CVIEW_Compass: set_globalState(StDBEAR);
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
229 break;
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
230 case CVIEW_T3_StopWatch: set_globalState(StDRAVG);
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
231 break;
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
232 case CVIEW_T3_GasList: if(stateUsed->warnings.betterGas)
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
233 {
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
234 set_globalState(StDMGAS);
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
235 }
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
236 break;
633
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
237 #ifdef ENABLE_T3_PPO_SIM
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
238 case CVIEW_sensors: if(is_stateUsedSetToSim())
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
239 {
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
240 set_globalState(StDSIM1);
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
241 }
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
242 break;
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
243 #endif
628
db2bcd2f6778 Added compile switch for T3_PROFILE menu operation option
Ideenmodellierer
parents: 619
diff changeset
244 #ifdef ENABLE_T3_PROFILE_VIEW
613
beeb23d18443 Added "Set Marker" to T3 quick menu:
Ideenmodellierer
parents: 594
diff changeset
245 case CVIEW_T3_Profile: set_globalState(StDMARK);
628
db2bcd2f6778 Added compile switch for T3_PROFILE menu operation option
Ideenmodellierer
parents: 619
diff changeset
246 #endif
613
beeb23d18443 Added "Set Marker" to T3 quick menu:
Ideenmodellierer
parents: 594
diff changeset
247 break;
516
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
248 default:
739
4a6bffaa38b3 Enable start dive in Big font display:
Ideenmodellierer
parents: 685
diff changeset
249 set_globalState(StDMENU);
516
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
250 break;
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
251 }
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
252 break;
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
253 }
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
254
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
255 if(stateUsed->warnings.betterGas)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
256 set_globalState(StDMGAS);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
257 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
258 if(stateUsed->warnings.betterSetpoint)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
259 set_globalState(StDMSPT);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
260 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
261 set_globalState(StDMENU);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
262 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
263
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
264 case StDMGAS:
516
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
265 if(settingsGetPointer()->design == 3)
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
266 {
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
267 set_globalState(StD);
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
268 }
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
269 else
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
270 {
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
271 if(stateUsed->warnings.betterSetpoint)
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
272 set_globalState(StDMSPT);
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
273 else
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
274 set_globalState(StDMENU);
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
275 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
276 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
277
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
278 case StDMSPT:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
279 set_globalState(StDMENU);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
280 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
281
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
282 case StDMENU:
773
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
283 if (settings->design == 7 && isLoopMode(settings->dive_mode)) {
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
284 set_globalState(StDBAILOUT);
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
285
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
286 break;
633
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
287 }
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
288
777
6a8cf91e5b22 This is only showing if one of the compass views is visible. It should make it possible to verify that a correct heading is set as the user can see the compass readout when pushing the button. (mikeller)
heinrichsweikamp
parents: 775
diff changeset
289 checkSetStateCompassSim(settings);
773
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
290
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
291 break;
773
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
292 case StDBAILOUT:
775
46c6d2380d4e Add a shortcuts to change the setpoint to the loop to the 'normal' display when diving. It is only shown when diving in CCR mode and on the loop.
heinrichsweikamp
parents: 774
diff changeset
293 if (settingsGetPointer()->dive_mode == DIVEMODE_CCR && isLoopMode(stateUsed->diveSettings.diveMode) && findSwitchToSetpoint()) {
46c6d2380d4e Add a shortcuts to change the setpoint to the loop to the 'normal' display when diving. It is only shown when diving in CCR mode and on the loop.
heinrichsweikamp
parents: 774
diff changeset
294 set_globalState(StDSETPOINT);
46c6d2380d4e Add a shortcuts to change the setpoint to the loop to the 'normal' display when diving. It is only shown when diving in CCR mode and on the loop.
heinrichsweikamp
parents: 774
diff changeset
295
46c6d2380d4e Add a shortcuts to change the setpoint to the loop to the 'normal' display when diving. It is only shown when diving in CCR mode and on the loop.
heinrichsweikamp
parents: 774
diff changeset
296 break;
46c6d2380d4e Add a shortcuts to change the setpoint to the loop to the 'normal' display when diving. It is only shown when diving in CCR mode and on the loop.
heinrichsweikamp
parents: 774
diff changeset
297 }
46c6d2380d4e Add a shortcuts to change the setpoint to the loop to the 'normal' display when diving. It is only shown when diving in CCR mode and on the loop.
heinrichsweikamp
parents: 774
diff changeset
298
777
6a8cf91e5b22 This is only showing if one of the compass views is visible. It should make it possible to verify that a correct heading is set as the user can see the compass readout when pushing the button. (mikeller)
heinrichsweikamp
parents: 775
diff changeset
299 checkSetStateCompassSim(settings);
775
46c6d2380d4e Add a shortcuts to change the setpoint to the loop to the 'normal' display when diving. It is only shown when diving in CCR mode and on the loop.
heinrichsweikamp
parents: 774
diff changeset
300
46c6d2380d4e Add a shortcuts to change the setpoint to the loop to the 'normal' display when diving. It is only shown when diving in CCR mode and on the loop.
heinrichsweikamp
parents: 774
diff changeset
301 break;
46c6d2380d4e Add a shortcuts to change the setpoint to the loop to the 'normal' display when diving. It is only shown when diving in CCR mode and on the loop.
heinrichsweikamp
parents: 774
diff changeset
302 case StDSETPOINT:
777
6a8cf91e5b22 This is only showing if one of the compass views is visible. It should make it possible to verify that a correct heading is set as the user can see the compass readout when pushing the button. (mikeller)
heinrichsweikamp
parents: 775
diff changeset
303 checkSetStateCompassSim(settings);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
304
773
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
305 break;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
306 case StDSIM1:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
307 set_globalState(StDSIM2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
308 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
309
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
310 case StDSIM2:
633
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
311 if(settingsGetPointer()->design != 3)
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
312 {
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
313 set_globalState(StDSIM3);
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
314 }
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
315 else
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
316 {
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
317 #ifdef ENABLE_T3_PPO_SIM
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
318 if((stateUsed->diveSettings.ppo2sensors_deactivated & 0x02) == 0)
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
319 {
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
320 set_globalState(StDSIM3);
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
321 }
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
322 else if((stateUsed->diveSettings.ppo2sensors_deactivated & 0x04) == 0)
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
323 {
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
324 set_globalState(StDSIM5);
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
325 }
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
326 else
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
327 {
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
328 set_globalState(StD);
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
329 }
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
330 #endif
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
331 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
332 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
333
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
334 case StDSIM3:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
335 set_globalState(StDSIM4);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
336 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
337
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
338 case StDSIM4:
633
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
339 if(settingsGetPointer()->design != 3)
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
340 {
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
341 set_globalState(StD);
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
342 }
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
343 else
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
344 {
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
345 #ifdef ENABLE_T3_PPO_SIM
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
346 if((stateUsed->diveSettings.ppo2sensors_deactivated & 0x04) == 0)
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
347 {
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
348 set_globalState(StDSIM5);
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
349 }
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
350 else
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
351 {
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
352 set_globalState(StD);
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
353 }
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
354 #endif
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
355 }
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
356 break;
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
357 #ifdef ENABLE_T3_PPO_SIM
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
358 case StDSIM5:
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
359 set_globalState(StDSIM6);
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
360 break;
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
361
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
362 case StDSIM6:
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
363 set_globalState(StD);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
364 break;
633
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
365 #endif
516
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
366 case StDBEAR:
777
6a8cf91e5b22 This is only showing if one of the compass views is visible. It should make it possible to verify that a correct heading is set as the user can see the compass readout when pushing the button. (mikeller)
heinrichsweikamp
parents: 775
diff changeset
367 if (settingsGetPointer()->design == 7) {
6a8cf91e5b22 This is only showing if one of the compass views is visible. It should make it possible to verify that a correct heading is set as the user can see the compass readout when pushing the button. (mikeller)
heinrichsweikamp
parents: 775
diff changeset
368 checkSetStateSim(settings);
6a8cf91e5b22 This is only showing if one of the compass views is visible. It should make it possible to verify that a correct heading is set as the user can see the compass readout when pushing the button. (mikeller)
heinrichsweikamp
parents: 775
diff changeset
369
6a8cf91e5b22 This is only showing if one of the compass views is visible. It should make it possible to verify that a correct heading is set as the user can see the compass readout when pushing the button. (mikeller)
heinrichsweikamp
parents: 775
diff changeset
370 break;
6a8cf91e5b22 This is only showing if one of the compass views is visible. It should make it possible to verify that a correct heading is set as the user can see the compass readout when pushing the button. (mikeller)
heinrichsweikamp
parents: 775
diff changeset
371 }
6a8cf91e5b22 This is only showing if one of the compass views is visible. It should make it possible to verify that a correct heading is set as the user can see the compass readout when pushing the button. (mikeller)
heinrichsweikamp
parents: 775
diff changeset
372
516
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
373 if(settingsGetPointer()->design == 5)
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
374 {
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
375 set_globalState(StDRAVG);
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
376 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
377
516
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
378 if(settingsGetPointer()->design == 3)
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
379 {
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
380 if(t3_getCustomView() == CVIEW_T3_Navigation)
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
381 {
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
382 set_globalState(StDRAVG);
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
383 }
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
384 else
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
385 {
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
386 set_globalState(StD);
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
387 }
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
388 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
389 break;
516
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
390 case StDRAVG:
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
391 if(settingsGetPointer()->design == 5)
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
392 {
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
393 if(is_stateUsedSetToSim())
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
394 set_globalState(StDSIM1);
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
395 else
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
396 set_globalState(StD);
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
397 break;
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
398 }
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
399 else
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
400 {
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
401 set_globalState(StD);
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
402 }
bd66f4910993 Added quick menu function to big font view:
Ideenmodellierer
parents: 505
diff changeset
403 break;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
404 case StDQUIT: // t6_apnea
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
405 set_globalState(StD);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
406 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
407
619
8fa2de4414a8 Added t3 quick menu for marker synchronisation:
Ideenmodellierer
parents: 613
diff changeset
408 case StDMARK:
8fa2de4414a8 Added t3 quick menu for marker synchronisation:
Ideenmodellierer
parents: 613
diff changeset
409 if((settingsGetPointer()->design == 3) && (MiniLiveLogbook_getNextMarkerIndex(0) != 0))
8fa2de4414a8 Added t3 quick menu for marker synchronisation:
Ideenmodellierer
parents: 613
diff changeset
410 {
8fa2de4414a8 Added t3 quick menu for marker synchronisation:
Ideenmodellierer
parents: 613
diff changeset
411 set_globalState(StDCHECK);
8fa2de4414a8 Added t3 quick menu for marker synchronisation:
Ideenmodellierer
parents: 613
diff changeset
412 }
8fa2de4414a8 Added t3 quick menu for marker synchronisation:
Ideenmodellierer
parents: 613
diff changeset
413 else
8fa2de4414a8 Added t3 quick menu for marker synchronisation:
Ideenmodellierer
parents: 613
diff changeset
414 {
8fa2de4414a8 Added t3 quick menu for marker synchronisation:
Ideenmodellierer
parents: 613
diff changeset
415 set_globalState(StD);
8fa2de4414a8 Added t3 quick menu for marker synchronisation:
Ideenmodellierer
parents: 613
diff changeset
416 }
8fa2de4414a8 Added t3 quick menu for marker synchronisation:
Ideenmodellierer
parents: 613
diff changeset
417 break;
8fa2de4414a8 Added t3 quick menu for marker synchronisation:
Ideenmodellierer
parents: 613
diff changeset
418
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
419 default:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
420 set_globalState(StD);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
421 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
422 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
423
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
424 if(sendAction == ACTION_BUTTON_ENTER)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
425 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
426 if(settingsGetPointer()->design == 4)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
427 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
428
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
429 switch(get_globalState())
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
430 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
431 case StDMGAS:
773
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
432 openEdit_DiveSelectBetterGas(false);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
433 set_globalState(StD);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
434 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
435 case StDMSPT:
773
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
436 openEdit_DiveSelectBetterSetpoint(false);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
437 set_globalState(StD);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
438 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
439
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
440 case StDMENU:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
441 openMenu_first_page_with_OC_gas_update();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
442 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
443
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
444 case StDSIM1:
633
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
445 if(settingsGetPointer()->design != 3)
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
446 {
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
447 Sim_Quit();
633
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
448 }
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
449 else
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
450 {
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
451 Sim_IncreasePPO(0);
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
452 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
453 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
454
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
455 case StDSIM2:
633
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
456 if(settingsGetPointer()->design != 3)
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
457 {
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
458 Sim_Ascend();
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
459 }
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
460 else
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
461 {
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
462 Sim_DecreasePPO(0);
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
463 }
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
464
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
465 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
466
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
467 case StDSIM3:
633
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
468 if(settingsGetPointer()->design != 3)
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
469 {
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
470 Sim_Descend();
633
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
471 }
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
472 else
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
473 {
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
474 Sim_IncreasePPO(1);
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
475 }
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
476
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
477 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
478
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
479 case StDSIM4:
633
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
480 if(settingsGetPointer()->design != 3)
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
481 {
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
482 Sim_Divetime();
633
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
483 }
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
484 else
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
485 {
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
486 Sim_DecreasePPO(1);
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
487 }
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
488
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
489 break;
633
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
490 #ifdef ENABLE_T3_PPO_SIM
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
491 case StDSIM5:
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
492 Sim_IncreasePPO(2);
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
493 break;
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
494 case StDSIM6:
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
495 Sim_DecreasePPO(2);
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
496 break;
68d95049f11a Added menu structure to allow ppo2 modification in simulator mode:
Ideenmodellierer
parents: 628
diff changeset
497 #endif
773
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
498 case StDBAILOUT:
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
499 if (isLoopMode(stateUsed->diveSettings.diveMode)) {
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
500 tMEGas_check_switch_to_bailout();
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
501
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
502 openEdit_DiveSelectBetterGas(true);
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
503 } else {
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
504 checkSwitchToLoop();
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
505
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
506 openEdit_DiveSelectBetterSetpoint(true);
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
507 }
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
508
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
509 set_globalState(StD);
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
510
2c243233c999 Menu shortcut for bailout / return to circuit when diving in CCR mode (mikeller)
heinrichsweikamp
parents: 739
diff changeset
511 break;
775
46c6d2380d4e Add a shortcuts to change the setpoint to the loop to the 'normal' display when diving. It is only shown when diving in CCR mode and on the loop.
heinrichsweikamp
parents: 774
diff changeset
512 case StDSETPOINT:
46c6d2380d4e Add a shortcuts to change the setpoint to the loop to the 'normal' display when diving. It is only shown when diving in CCR mode and on the loop.
heinrichsweikamp
parents: 774
diff changeset
513 checkSwitchSetpoint();
46c6d2380d4e Add a shortcuts to change the setpoint to the loop to the 'normal' display when diving. It is only shown when diving in CCR mode and on the loop.
heinrichsweikamp
parents: 774
diff changeset
514
46c6d2380d4e Add a shortcuts to change the setpoint to the loop to the 'normal' display when diving. It is only shown when diving in CCR mode and on the loop.
heinrichsweikamp
parents: 774
diff changeset
515 set_globalState(StD);
46c6d2380d4e Add a shortcuts to change the setpoint to the loop to the 'normal' display when diving. It is only shown when diving in CCR mode and on the loop.
heinrichsweikamp
parents: 774
diff changeset
516
46c6d2380d4e Add a shortcuts to change the setpoint to the loop to the 'normal' display when diving. It is only shown when diving in CCR mode and on the loop.
heinrichsweikamp
parents: 774
diff changeset
517 break;
777
6a8cf91e5b22 This is only showing if one of the compass views is visible. It should make it possible to verify that a correct heading is set as the user can see the compass readout when pushing the button. (mikeller)
heinrichsweikamp
parents: 775
diff changeset
518 case StDBEAR: // t5_gauge, t7
774
6169309d6eb9 more menu items for the compass menu: Delete bearing, and reset to land based bearing. I have also re-enabled the real time bearing display in the menu - makes it easier to set the correct bearing. (mikeller)
heinrichsweikamp
parents: 773
diff changeset
519 setCompassHeading((uint16_t)stateUsed->lifeData.compass_heading);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
520 set_globalState(StD);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
521 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
522
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
523 case StDRAVG: // t5_gauge
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
524 timer_Stopwatch_Restart();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
525 set_globalState(StD);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
526 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
527
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
528 case StDQUIT: // t6_apnea
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
529 set_globalState(StD); // used to end StDQUIT, is called before everything else because changes are made in the next lines
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
530 if(is_stateUsedSetToSim())
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
531 Sim_Quit();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
532 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
533 dataOutGetPointer()->setEndDive = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
534 break;
613
beeb23d18443 Added "Set Marker" to T3 quick menu:
Ideenmodellierer
parents: 594
diff changeset
535 case StDMARK: stateUsedWrite->events.manualMarker = 1;
beeb23d18443 Added "Set Marker" to T3 quick menu:
Ideenmodellierer
parents: 594
diff changeset
536 set_globalState(StD);
beeb23d18443 Added "Set Marker" to T3 quick menu:
Ideenmodellierer
parents: 594
diff changeset
537 break;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
538
619
8fa2de4414a8 Added t3 quick menu for marker synchronisation:
Ideenmodellierer
parents: 613
diff changeset
539 case StDCHECK: MiniLiveLogbook_checkMarker();
8fa2de4414a8 Added t3 quick menu for marker synchronisation:
Ideenmodellierer
parents: 613
diff changeset
540 break;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
541 default:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
542 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
543 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
544 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
545 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
546
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
547
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
548 void tHome_findNextStop(const uint16_t *list, uint8_t *depthOutMeter, uint16_t *lengthOutSeconds)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
549 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
550 uint8_t ptr = DECOINFO_STRUCT_MAX_STOPS - 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
551
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
552 while(ptr && !list[ptr])
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
553 ptr--;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
554
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
555 *lengthOutSeconds = list[ptr];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
556 if(!(*lengthOutSeconds))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
557 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
558 *depthOutMeter = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
559 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
560 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
561 if(ptr == 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
562 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
563 *depthOutMeter = (uint8_t)((stateUsed->diveSettings.last_stop_depth_bar*10.0f) + 0.1f);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
564 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
565 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
566 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
567 ptr -= 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
568 *depthOutMeter = (uint8_t)(((stateUsed->diveSettings.input_second_to_last_stop_depth_bar + (stateUsed->diveSettings.input_next_stop_increment_depth_bar * ptr))*10.0f) + 0.1f);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
569 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
570 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
571
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
572
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
573 void tHome_change_field_button_pressed(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
574 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
575 tHome_tick_count_field = 0;
576
1105cf7bbf6f Return to o2 values:
Ideenmodellierer
parents: 542
diff changeset
576 tHome_tick_count_o2sens = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
577 if(settingsGetPointer()->design == 7)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
578 t7_change_field();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
579 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
580
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
581
361
b111fc4250e9 Pass action to customer vie update function.
Ideenmodellierer
parents: 289
diff changeset
582 void tHome_change_customview_button_pressed(uint8_t action)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
583 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
584 tHome_tick_count_cview = 0;
576
1105cf7bbf6f Return to o2 values:
Ideenmodellierer
parents: 542
diff changeset
585 tHome_tick_count_o2sens = 0;
1105cf7bbf6f Return to o2 values:
Ideenmodellierer
parents: 542
diff changeset
586
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
587 if(settingsGetPointer()->design == 7)
361
b111fc4250e9 Pass action to customer vie update function.
Ideenmodellierer
parents: 289
diff changeset
588 t7_change_customview(action);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
589 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
590 if(settingsGetPointer()->design == 3)
386
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
591 t3_change_customview(action);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
592 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
593 if(settingsGetPointer()->design == 5)
386
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
594 t5_change_customview(action);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
595 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
596 if(settingsGetPointer()->design == 6)
386
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
597 t6_change_customview(action);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
598 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
599
505
06b21f1e47a5 Removed second big font profile
Ideenmodellierer
parents: 493
diff changeset
600 uint8_t tHome_getNumberOfAvailableCVs(const uint8_t* pcv_list)
06b21f1e47a5 Removed second big font profile
Ideenmodellierer
parents: 493
diff changeset
601 {
06b21f1e47a5 Removed second big font profile
Ideenmodellierer
parents: 493
diff changeset
602 uint8_t cnt = 0;
06b21f1e47a5 Removed second big font profile
Ideenmodellierer
parents: 493
diff changeset
603
06b21f1e47a5 Removed second big font profile
Ideenmodellierer
parents: 493
diff changeset
604 while((pcv_list[cnt] != CVIEW_END) && (pcv_list[cnt] != CVIEW_T3_END))
06b21f1e47a5 Removed second big font profile
Ideenmodellierer
parents: 493
diff changeset
605 {
06b21f1e47a5 Removed second big font profile
Ideenmodellierer
parents: 493
diff changeset
606 cnt++;
06b21f1e47a5 Removed second big font profile
Ideenmodellierer
parents: 493
diff changeset
607 if (cnt > 100) /* just in case an invalid list has been provided... */
06b21f1e47a5 Removed second big font profile
Ideenmodellierer
parents: 493
diff changeset
608 {
06b21f1e47a5 Removed second big font profile
Ideenmodellierer
parents: 493
diff changeset
609 break;
06b21f1e47a5 Removed second big font profile
Ideenmodellierer
parents: 493
diff changeset
610 }
06b21f1e47a5 Removed second big font profile
Ideenmodellierer
parents: 493
diff changeset
611 }
06b21f1e47a5 Removed second big font profile
Ideenmodellierer
parents: 493
diff changeset
612 cnt--; /* do not count end token */
06b21f1e47a5 Removed second big font profile
Ideenmodellierer
parents: 493
diff changeset
613 return cnt;
06b21f1e47a5 Removed second big font profile
Ideenmodellierer
parents: 493
diff changeset
614 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
615
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
616 void tHome_tick(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
617 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
618 uint16_t field = settingsGetPointer()->tX_userselectedLeftLowerCornerTimeout;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
619 uint16_t cview = settingsGetPointer()->tX_customViewTimeout;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
620
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
621 if(field)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
622 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
623 tHome_tick_count_field++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
624 if(tHome_tick_count_field > (field * 10))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
625 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
626 tHome_tick_count_field = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
627 if(settingsGetPointer()->design == 7)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
628 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
629 t7_set_field_to_primary();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
630 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
631 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
632 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
633
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
634 if(cview)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
635 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
636 tHome_tick_count_cview++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
637 if(tHome_tick_count_cview > (cview *10))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
638 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
639 tHome_tick_count_cview = 0;
805
dd7ce655db26 Adds a simple countdown timer, available as a custom view in surface and dive mode.
heinrichsweikamp
parents: 777
diff changeset
640 if (settingsGetPointer()->design == 7 && !t7_isTimerRunning(false)) {
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
641 t7_set_customview_to_primary();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
642 }
541
6fbf7cd391cb Added default view selection and auto return to view to t3 visualization:
Ideenmodellierer
parents: 516
diff changeset
643 if(settingsGetPointer()->design == 3)
6fbf7cd391cb Added default view selection and auto return to view to t3 visualization:
Ideenmodellierer
parents: 516
diff changeset
644 {
6fbf7cd391cb Added default view selection and auto return to view to t3 visualization:
Ideenmodellierer
parents: 516
diff changeset
645 t3_set_customview_to_primary();
6fbf7cd391cb Added default view selection and auto return to view to t3 visualization:
Ideenmodellierer
parents: 516
diff changeset
646 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
647 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
648 }
576
1105cf7bbf6f Return to o2 values:
Ideenmodellierer
parents: 542
diff changeset
649
810
e6827fcd7604 Only jump to Sensor view during charging if sensors are connected:
Ideenmodellierer
parents: 805
diff changeset
650 if((stateUsed->mode == MODE_SURFACE) && (!t7_customview_disabled(CVIEW_sensors)))
576
1105cf7bbf6f Return to o2 values:
Ideenmodellierer
parents: 542
diff changeset
651 {
1105cf7bbf6f Return to o2 values:
Ideenmodellierer
parents: 542
diff changeset
652 tHome_tick_count_o2sens++;
1105cf7bbf6f Return to o2 values:
Ideenmodellierer
parents: 542
diff changeset
653 if(tHome_tick_count_o2sens > AUTORETURN_O2SENS)
1105cf7bbf6f Return to o2 values:
Ideenmodellierer
parents: 542
diff changeset
654 {
1105cf7bbf6f Return to o2 values:
Ideenmodellierer
parents: 542
diff changeset
655 tHome_tick_count_o2sens = 0;
810
e6827fcd7604 Only jump to Sensor view during charging if sensors are connected:
Ideenmodellierer
parents: 805
diff changeset
656 if((stateUsed->chargeStatus == CHARGER_off)
e6827fcd7604 Only jump to Sensor view during charging if sensors are connected:
Ideenmodellierer
parents: 805
diff changeset
657 || (stateUsed->lifeData.ppO2Sensor_bar[0] != 0.0)
e6827fcd7604 Only jump to Sensor view during charging if sensors are connected:
Ideenmodellierer
parents: 805
diff changeset
658 || (stateUsed->lifeData.ppO2Sensor_bar[1] != 0.0)
e6827fcd7604 Only jump to Sensor view during charging if sensors are connected:
Ideenmodellierer
parents: 805
diff changeset
659 || (stateUsed->lifeData.ppO2Sensor_bar[2] != 0.0))
e6827fcd7604 Only jump to Sensor view during charging if sensors are connected:
Ideenmodellierer
parents: 805
diff changeset
660 {
e6827fcd7604 Only jump to Sensor view during charging if sensors are connected:
Ideenmodellierer
parents: 805
diff changeset
661 t7_select_customview(CVIEW_sensors);
e6827fcd7604 Only jump to Sensor view during charging if sensors are connected:
Ideenmodellierer
parents: 805
diff changeset
662 }
576
1105cf7bbf6f Return to o2 values:
Ideenmodellierer
parents: 542
diff changeset
663 }
1105cf7bbf6f Return to o2 values:
Ideenmodellierer
parents: 542
diff changeset
664 }
805
dd7ce655db26 Adds a simple countdown timer, available as a custom view in surface and dive mode.
heinrichsweikamp
parents: 777
diff changeset
665
dd7ce655db26 Adds a simple countdown timer, available as a custom view in surface and dive mode.
heinrichsweikamp
parents: 777
diff changeset
666 t7_tick();
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
667 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
668
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
669
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
670 uint32_t tHome_DateCode(RTC_DateTypeDef *dateInput)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
671 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
672 uint32_t answer = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
673
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
674 answer = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
675 answer += (dateInput->Year & 0x7F)<< 9;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
676 answer += (dateInput->Month & 0x0F)<< 5;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
677 answer += (dateInput->Date & 0x1F);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
678
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
679 return answer;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
680 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
681
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
682
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
683 uint8_t tHome_gas_writer(uint8_t oxygen_percentage, uint8_t helium_percentage, char *text)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
684 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
685 if(oxygen_percentage == 100)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
686 return (uint8_t) snprintf(text,10,"Oxy");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
687 else if((oxygen_percentage == 21) && (!helium_percentage))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
688 return (uint8_t) snprintf(text,10,"Air");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
689 else if(!helium_percentage)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
690 return (uint8_t) snprintf(text,10,"NX%02i",oxygen_percentage);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
691 else if((oxygen_percentage + helium_percentage) == 100)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
692 return (uint8_t) snprintf(text,10,"HX%02i",oxygen_percentage);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
693 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
694 return (uint8_t) snprintf(text,10,"%02i/%02i",oxygen_percentage,helium_percentage);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
695 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
696
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
697 uint8_t tHome_show_lost_connection_count(GFX_DrawCfgScreen *ScreenToWriteOn)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
698 {
208
9fc06e1e0f66 Update SPI error display and handling
ideenmodellierer
parents: 191
diff changeset
699 static uint8_t LastKnowRTEState = SPI_RX_STATE_INVALID;
9fc06e1e0f66 Update SPI error display and handling
ideenmodellierer
parents: 191
diff changeset
700
99
6a2308b9a3d4 Config for debug data
Dmitry Romanov <kitt@bk.ru>
parents: 84
diff changeset
701 if(!SPI_MIN_ERROR_SHOW) return 0;
172
c659fda83e44 Minor: Button defaults, release date adjusted, use SPI_SHOW_SYNC_STATS
heinrichsweikamp
parents: 138
diff changeset
702 if(DataEX_lost_connection_count()>=SPI_MIN_ERROR_SHOW && SPI_SHOW_SYNC_STATS){
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
703
99
6a2308b9a3d4 Config for debug data
Dmitry Romanov <kitt@bk.ru>
parents: 84
diff changeset
704 char text[64];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
705
82
a6f0881074a4 +i2c analog noise filtering
Dmitry Romanov <kitt@bk.ru>
parents: 38
diff changeset
706 SDataExchangeSlaveToMaster* dataIn=get_dataInPointer();
208
9fc06e1e0f66 Update SPI error display and handling
ideenmodellierer
parents: 191
diff changeset
707 SDataReceiveFromMaster* pDataOut = dataOutGetPointer();
82
a6f0881074a4 +i2c analog noise filtering
Dmitry Romanov <kitt@bk.ru>
parents: 38
diff changeset
708
493
b560e474e319 Added possibility to switch between "classic" bigfont views and a selection with a new information combination
Ideenmodellierer
parents: 386
diff changeset
709 snprintf(text,32,"spi err:\002 %ld/%ld",DataEX_lost_connection_count(),get_num_SPI_CALLBACKS());
99
6a2308b9a3d4 Config for debug data
Dmitry Romanov <kitt@bk.ru>
parents: 84
diff changeset
710 Gfx_write_label_var(ScreenToWriteOn, 100,300, 0,&FontT24,CLUT_ButtonSymbols,text);
82
a6f0881074a4 +i2c analog noise filtering
Dmitry Romanov <kitt@bk.ru>
parents: 38
diff changeset
711
104
22a1094545f3 Tested and alive.
Dmitry Romanov <kitt@bk.ru>
parents: 99
diff changeset
712 // snprintf(text,32,"header:\002%X%X%X%X",dataIn->header.checkCode[0],dataIn->header.checkCode[1],dataIn->header.checkCode[2],dataIn->header.checkCode[3]);
22a1094545f3 Tested and alive.
Dmitry Romanov <kitt@bk.ru>
parents: 99
diff changeset
713 // Gfx_write_label_var(ScreenToWriteOn, 350,550, 0,&FontT24,CLUT_ButtonSymbols,text);
82
a6f0881074a4 +i2c analog noise filtering
Dmitry Romanov <kitt@bk.ru>
parents: 38
diff changeset
714
208
9fc06e1e0f66 Update SPI error display and handling
ideenmodellierer
parents: 191
diff changeset
715 //snprintf(text,32,"footer:\002%X%X%X%X",dataIn->footer.checkCode[0],dataIn->footer.checkCode[1],dataIn->footer.checkCode[2],dataIn->footer.checkCode[3]);
9fc06e1e0f66 Update SPI error display and handling
ideenmodellierer
parents: 191
diff changeset
716
9fc06e1e0f66 Update SPI error display and handling
ideenmodellierer
parents: 191
diff changeset
717 /* data shifted => ignore received data */
9fc06e1e0f66 Update SPI error display and handling
ideenmodellierer
parents: 191
diff changeset
718 if((pDataOut->header.checkCode[SPI_HEADER_INDEX_RX_STATE] == SPI_RX_STATE_SHIFTED) || (pDataOut->header.checkCode[SPI_HEADER_INDEX_RX_STATE] == SPI_RX_STATE_OFFLINE))
9fc06e1e0f66 Update SPI error display and handling
ideenmodellierer
parents: 191
diff changeset
719 {
9fc06e1e0f66 Update SPI error display and handling
ideenmodellierer
parents: 191
diff changeset
720 dataIn->header.checkCode[SPI_HEADER_INDEX_RX_STATE] = LastKnowRTEState;
9fc06e1e0f66 Update SPI error display and handling
ideenmodellierer
parents: 191
diff changeset
721 }
9fc06e1e0f66 Update SPI error display and handling
ideenmodellierer
parents: 191
diff changeset
722 else
9fc06e1e0f66 Update SPI error display and handling
ideenmodellierer
parents: 191
diff changeset
723 {
9fc06e1e0f66 Update SPI error display and handling
ideenmodellierer
parents: 191
diff changeset
724 LastKnowRTEState =dataIn->header.checkCode[SPI_HEADER_INDEX_RX_STATE];
9fc06e1e0f66 Update SPI error display and handling
ideenmodellierer
parents: 191
diff changeset
725 }
9fc06e1e0f66 Update SPI error display and handling
ideenmodellierer
parents: 191
diff changeset
726 snprintf(text,32,"RX State M|R:\002%X|%X",pDataOut->header.checkCode[SPI_HEADER_INDEX_RX_STATE], dataIn->header.checkCode[SPI_HEADER_INDEX_RX_STATE] );
99
6a2308b9a3d4 Config for debug data
Dmitry Romanov <kitt@bk.ru>
parents: 84
diff changeset
727 Gfx_write_label_var(ScreenToWriteOn, 600,800, 0,&FontT24,CLUT_ButtonSymbols,text);
6a2308b9a3d4 Config for debug data
Dmitry Romanov <kitt@bk.ru>
parents: 84
diff changeset
728 }
82
a6f0881074a4 +i2c analog noise filtering
Dmitry Romanov <kitt@bk.ru>
parents: 38
diff changeset
729
99
6a2308b9a3d4 Config for debug data
Dmitry Romanov <kitt@bk.ru>
parents: 84
diff changeset
730
6a2308b9a3d4 Config for debug data
Dmitry Romanov <kitt@bk.ru>
parents: 84
diff changeset
731
6a2308b9a3d4 Config for debug data
Dmitry Romanov <kitt@bk.ru>
parents: 84
diff changeset
732 // snprintf(text,32,"cpt:\002%i",get_num_SPI_CALLBACKS());
6a2308b9a3d4 Config for debug data
Dmitry Romanov <kitt@bk.ru>
parents: 84
diff changeset
733 // Gfx_write_label_var(ScreenToWriteOn, 600,800, 90,&FontT24,CLUT_ButtonSymbols,text);
82
a6f0881074a4 +i2c analog noise filtering
Dmitry Romanov <kitt@bk.ru>
parents: 38
diff changeset
734
a6f0881074a4 +i2c analog noise filtering
Dmitry Romanov <kitt@bk.ru>
parents: 38
diff changeset
735 // snprintf(text,10,"i2c:\002%i",get_DataEX_Error_place());
a6f0881074a4 +i2c analog noise filtering
Dmitry Romanov <kitt@bk.ru>
parents: 38
diff changeset
736 // Gfx_write_label_var(ScreenToWriteOn, 600,800, 90,&FontT24,CLUT_ButtonSymbols,text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
737
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
738 return DataEX_lost_connection_count();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
739 }