annotate Discovery/Src/t3.c @ 542:6960df7ddb09

Added new t3 view showing first deco stop and tts in parallel: TTS and deco stop may already be shown individually. Now also available in one view where TTS is limited to 99minutes (switch to hours) to avoid string overlap.
author Ideenmodellierer
date Sat, 10 Oct 2020 21:02:05 +0200
parents 6fbf7cd391cb
children 43a2dd4ba30f
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/t3.c
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
5 /// \brief Main Template file for dive mode special scree t3
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-Nov-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 "t3.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"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
33 #include "decom.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
34 #include "gfx_fonts.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
35 #include "math.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
36 #include "tHome.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
37 #include "timer.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
38 #include "unit.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
39
237
ec16fd26e280 Bugfix: do not show NDL in bigscreen mode when zero
Jan Mulder <jlmulder@xs4all.nl>
parents: 214
diff changeset
40 //* Imported function prototypes ---------------------------------------------*/
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
41 extern uint8_t write_gas(char *text, uint8_t oxygen, uint8_t helium);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
42
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
43 /* Exported variables --------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
44
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
45 const uint16_t BigFontSeperationLeftRight = 399;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
46 const uint16_t BigFontSeperationTopBottom = 240;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
47
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
48 /* Private variables ---------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
49 GFX_DrawCfgScreen t3screen;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
50 GFX_DrawCfgWindow t3l1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
51 GFX_DrawCfgWindow t3r1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
52 GFX_DrawCfgWindow t3c1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
53 GFX_DrawCfgWindow t3c2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
54
529
0e1db77b2aca Added skip condition in custom view selection:
Ideenmodellierer
parents: 527
diff changeset
55 uint8_t t3_selection_customview = CVIEW_noneOrDebug;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
56
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
57 /* TEM HAS TO MOVE TO GLOBAL--------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
58
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
59 /* Private types -------------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
60 #define TEXTSIZE 16
384
427ae9f8e28e Consider number of available t3 views in sector handling:
ideenmodellierer
parents: 272
diff changeset
61 #define NUMBER_OF_VIEWS 7 /* number of views defined in the array below */
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
62
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
63 const uint8_t t3_customviewsStandard[] =
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
64 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
65 CVIEW_T3_Decostop,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
66 CVIEW_sensors,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
67 CVIEW_Compass,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
68 CVIEW_T3_MaxDepth,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
69 CVIEW_T3_StopWatch,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
70 CVIEW_T3_TTS,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
71 CVIEW_T3_ppO2andGas,
518
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
72 CVIEW_T3_GasList,
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
73 CVIEW_T3_Navigation,
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
74 CVIEW_T3_DepthData,
541
6fbf7cd391cb Added default view selection and auto return to view to t3 visualization:
Ideenmodellierer
parents: 539
diff changeset
75 CVIEW_noneOrDebug,
542
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
76 CVIEW_T3_DecoTTS,
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
77 CVIEW_T3_END
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
78 };
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
79
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
80 /* Private function prototypes -----------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
81 void t3_refresh_divemode(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
82
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
83 uint8_t t3_test_customview_warnings(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
84 void t3_refresh_customview(float depth);
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
85 void t3_basics_compass(GFX_DrawCfgScreen *tXscreen, point_t center, uint16_t ActualHeading, uint16_t UserSetHeading);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
86
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
87 /* Exported functions --------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
88
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
89 void t3_init(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
90 {
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
91 SSettings* pSettings;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
92 pSettings = settingsGetPointer();
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
93
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
94 t3_selection_customview = t3_customviewsStandard[0];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
95
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
96 t3screen.FBStartAdress = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
97 t3screen.ImageHeight = 480;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
98 t3screen.ImageWidth = 800;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
99 t3screen.LayerIndex = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
100
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
101 t3l1.Image = &t3screen;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
102 t3l1.WindowNumberOfTextLines = 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
103 t3l1.WindowLineSpacing = 19; // Abstand von Y0
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
104 t3l1.WindowTab = 100;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
105
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
106 if(!pSettings->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
107 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
108 t3l1.WindowX0 = 0;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
109 t3l1.WindowX1 = BigFontSeperationLeftRight - 5;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
110 t3l1.WindowY0 = BigFontSeperationTopBottom + 5;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
111 t3l1.WindowY1 = 479;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
112 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
113 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
114 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
115 t3l1.WindowX0 = 800 - BigFontSeperationLeftRight + 5;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
116 t3l1.WindowX1 = 799;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
117 t3l1.WindowY0 = 0;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
118 t3l1.WindowY1 = 479 - BigFontSeperationTopBottom + 5 ;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
119 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
120
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
121 t3r1.Image = &t3screen;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
122 t3r1.WindowNumberOfTextLines = t3l1.WindowNumberOfTextLines;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
123 t3r1.WindowLineSpacing = t3l1.WindowLineSpacing;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
124 t3r1.WindowTab = t3l1.WindowTab;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
125 if(!pSettings->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
126 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
127 t3r1.WindowX0 = BigFontSeperationLeftRight + 5;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
128 t3r1.WindowX1 = 799;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
129 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
130 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
131 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
132 t3r1.WindowX0 = 0;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
133 t3r1.WindowX1 = BigFontSeperationLeftRight - 5;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
134 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
135
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
136 t3r1.WindowY0 = t3l1.WindowY0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
137 t3r1.WindowY1 = t3l1.WindowY1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
138
518
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
139 /* t3c1 is across the complete lower part of the display */
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
140 t3c1.Image = &t3screen;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
141 t3c1.WindowNumberOfTextLines = 2;
518
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
142 t3c1.WindowLineSpacing = 84 + 5; /* double font + spacing */
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
143 t3c1.WindowX0 = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
144 t3c1.WindowX1 = 799;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
145 if(!pSettings->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
146 {
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
147 t3c1.WindowY0 = 5;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
148 t3c1.WindowY1 = BigFontSeperationTopBottom - 5;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
149 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
150 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
151 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
152 t3c1.WindowY0 = 480 - BigFontSeperationTopBottom + 5;
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
153 t3c1.WindowY1 = 479 - 5;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
154 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
155
518
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
156 /* t3c2 is just showing the lower right part of the display */
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
157 t3c2.Image = &t3screen;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
158 t3c2.WindowNumberOfTextLines = 3;
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
159 t3c2.WindowLineSpacing = t3c1.WindowLineSpacing ;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
160 t3c2.WindowX0 = 370;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
161 t3c2.WindowX1 = 799;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
162 t3c2.WindowY0 = t3c1.WindowY0;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
163 t3c2.WindowY1 = t3c1.WindowY1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
164 t3c2.WindowTab = 600;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
165 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
166
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
167
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
168 void t3_refresh(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
169 {
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
170 static uint8_t last_mode = MODE_SURFACE;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
171
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
172 SStateList status;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
173 get_globalStateList(&status);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
174
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
175 if(stateUsed->mode != MODE_DIVE)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
176 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
177 settingsGetPointer()->design = 7;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
178 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
179 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
180
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
181 if(status.base != BaseHome)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
182 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
183
541
6fbf7cd391cb Added default view selection and auto return to view to t3 visualization:
Ideenmodellierer
parents: 539
diff changeset
184 if(last_mode != MODE_DIVE) /* Select custom view */
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
185 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
186 if((settingsGetPointer()->tX_customViewTimeout == 0) && (settingsGetPointer()->showDebugInfo))
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
187 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
188 t3_selection_customview = CVIEW_noneOrDebug;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
189 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
190 else
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
191 {
541
6fbf7cd391cb Added default view selection and auto return to view to t3 visualization:
Ideenmodellierer
parents: 539
diff changeset
192 t3_selection_customview = settingsGetPointer()->tX_customViewPrimaryBF;
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
193 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
194 t3_change_customview(ACTION_END);
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
195 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
196 t3screen.FBStartAdress = getFrame(24);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
197 t3_refresh_divemode();
166
255eedad4155 cleanup: get rid of some compile warnings
Jan Mulder <jlmulder@xs4all.nl>
parents: 138
diff changeset
198 GFX_SetFramesTopBottom(t3screen.FBStartAdress, 0,480);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
199 releaseAllFramesExcept(24,t3screen.FBStartAdress);
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
200 last_mode = stateUsed->mode;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
201 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
202
541
6fbf7cd391cb Added default view selection and auto return to view to t3 visualization:
Ideenmodellierer
parents: 539
diff changeset
203 void t3_set_customview_to_primary(void)
6fbf7cd391cb Added default view selection and auto return to view to t3 visualization:
Ideenmodellierer
parents: 539
diff changeset
204 {
6fbf7cd391cb Added default view selection and auto return to view to t3 visualization:
Ideenmodellierer
parents: 539
diff changeset
205 if(stateUsed->mode == MODE_DIVE)
6fbf7cd391cb Added default view selection and auto return to view to t3 visualization:
Ideenmodellierer
parents: 539
diff changeset
206 {
6fbf7cd391cb Added default view selection and auto return to view to t3 visualization:
Ideenmodellierer
parents: 539
diff changeset
207 t3_selection_customview = settingsGetPointer()->tX_customViewPrimaryBF;
6fbf7cd391cb Added default view selection and auto return to view to t3 visualization:
Ideenmodellierer
parents: 539
diff changeset
208 }
6fbf7cd391cb Added default view selection and auto return to view to t3 visualization:
Ideenmodellierer
parents: 539
diff changeset
209 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
210
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
211 /* Private functions ---------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
212
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
213 float t3_basics_lines_depth_and_divetime(GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXl1, GFX_DrawCfgWindow* tXr1, uint8_t mode)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
214 {
518
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
215 char text[256];
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
216 uint8_t textPointer;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
217 uint8_t color;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
218 uint8_t depthChangeRate;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
219 uint8_t depthChangeAscent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
220 point_t start, stop, startZeroLine;
518
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
221 SDivetime Divetime = {0,0,0,0};
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
222
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
223 SSettings* pSettings;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
224 pSettings = settingsGetPointer();
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
225
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
226 start.x = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
227 stop.x = 799;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
228 stop.y = start.y = BigFontSeperationTopBottom;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
229 GFX_draw_line(tXscreen, start, stop, CLUT_Font020);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
230
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
231 start.y = BigFontSeperationTopBottom;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
232 stop.y = 479;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
233
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
234 stop.x = start.x = BigFontSeperationLeftRight;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
235 GFX_draw_line(tXscreen, start, stop, CLUT_Font020);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
236
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
237 /* depth */
174
ecb71521d004 Bugfix: make max depth move with current depth (part 2)
Jan Mulder <jlmulder@xs4all.nl>
parents: 166
diff changeset
238 float depth = unit_depth_float(stateUsed->lifeData.depth_meter);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
239
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
240 if(depth <= 0.3f)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
241 depth = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
242
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
243 if(settingsGetPointer()->nonMetricalSystem)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
244 snprintf(text,TEXTSIZE,"\032\f[feet]");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
245 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
246 snprintf(text,TEXTSIZE,"\032\f%c",TXT_Depth);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
247 GFX_write_string(&FontT42,tXl1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
248
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
249 if( ((mode == DIVEMODE_Apnea) && ((stateUsed->lifeData.ascent_rate_meter_per_min > 4) || (stateUsed->lifeData.ascent_rate_meter_per_min < -4 )))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
250 || ((mode != DIVEMODE_Apnea) && ((stateUsed->lifeData.ascent_rate_meter_per_min > 8) || (stateUsed->lifeData.ascent_rate_meter_per_min < -10)))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
251 )
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
252 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
253 snprintf(text,TEXTSIZE,"\f\002%.0f %c%c/min "
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
254 , unit_depth_float(stateUsed->lifeData.ascent_rate_meter_per_min)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
255 , unit_depth_char1()
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
256 , unit_depth_char2()
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
257 );
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
258 GFX_write_string(&FontT42,tXl1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
259 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
260
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
261 if( depth < 100)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
262 snprintf(text,TEXTSIZE,"\020\003\016%01.1f",depth);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
263 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
264 snprintf(text,TEXTSIZE,"\020\003\016%01.0f",depth);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
265
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
266 t3_basics_colorscheme_mod(text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
267 GFX_write_string(&FontT105,tXl1,text,1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
268
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
269
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
270 /* ascentrate graph */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
271 if(mode == DIVEMODE_Apnea)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
272 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
273 /* ascentrate graph - apnea mode */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
274 if(stateUsed->lifeData.ascent_rate_meter_per_min > 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
275 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
276 depthChangeAscent = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
277 if(stateUsed->lifeData.ascent_rate_meter_per_min < 200)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
278 depthChangeRate = (uint8_t)stateUsed->lifeData.ascent_rate_meter_per_min;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
279 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
280 depthChangeRate = 200;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
281 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
282 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
283 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
284 depthChangeAscent = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
285 if(stateUsed->lifeData.ascent_rate_meter_per_min > -200)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
286 depthChangeRate = (uint8_t)(0 - stateUsed->lifeData.ascent_rate_meter_per_min);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
287 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
288 depthChangeRate = 200;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
289 }
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
290
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
291 if(!pSettings->FlipDisplay)
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
292 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
293 start.y = tXl1->WindowY0 - 1;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
294 }
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
295 else
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
296 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
297 start.y = tXl1->WindowY1 + 1;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
298 }
386
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
299 startZeroLine.y = start.y;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
300 for(int i = 0; i<5;i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
301 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
302 start.y += 40;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
303 stop.y = start.y;
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
304 if(!pSettings->FlipDisplay)
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
305 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
306 start.x = tXl1->WindowX1 - 1;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
307 }
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
308 else
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
309 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
310 start.x = tXr1->WindowX1 - 1;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
311 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
312 stop.x = start.x - 17;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
313
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
314 if(depthChangeRate <= 6)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
315 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
316 if(i == 2)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
317 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
318 startZeroLine.y = start.y;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
319 stop.x = start.x - 34;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
320 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
321 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
322 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
323 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
324 if(((i == 1) && depthChangeAscent) || ((i == 3) && !depthChangeAscent))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
325 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
326 startZeroLine.y = start.y;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
327 stop.x = start.x - 34;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
328 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
329 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
330 GFX_draw_line(tXscreen, start, stop, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
331 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
332 // new thick bar design Sept. 2015
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
333 if((stateUsed->lifeData.ascent_rate_meter_per_min > 4) || (stateUsed->lifeData.ascent_rate_meter_per_min < -4))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
334 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
335 start.y = startZeroLine.y;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
336 if(depthChangeAscent)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
337 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
338 color = CLUT_EverythingOkayGreen;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
339 start.y += 7; // starte etwas weiter oben
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
340 stop.y = start.y + (uint16_t)(depthChangeRate * 4) - 9; // - x; // wegen der Liniendicke
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
341 if(stop.y > 475)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
342 stop.y = 475;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
343 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
344 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
345 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
346 color = CLUT_Font023;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
347 start.y -= 7;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
348 stop.y = start.y - (uint16_t)(depthChangeRate * 4) + 9;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
349 if(stop.y <= tXl1->WindowY0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
350 stop.y = tXl1->WindowY0 + 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
351 }
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
352 if(!pSettings->FlipDisplay)
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
353 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
354 start.x = tXl1->WindowX1 - 3 - 5;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
355 }
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
356 else
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
357 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
358 start.x = tXr1->WindowX1 - 3 - 5;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
359 }
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
360
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
361 stop.x = start.x;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
362 GFX_draw_thick_line(12,tXscreen, start, stop, color);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
363 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
364 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
365 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
366 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
367 /* ascentrate graph -standard mode */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
368 if(stateUsed->lifeData.ascent_rate_meter_per_min > 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
369 {
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
370 if(!pSettings->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
371 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
372 start.y = tXl1->WindowY0 - 1;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
373 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
374 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
375 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
376 start.y = tXl1->WindowY1 + 1;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
377 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
378
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
379 for(int i = 0; i<4;i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
380 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
381 start.y += 5*8;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
382 stop.y = start.y;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
383 if(!pSettings->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
384 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
385 start.x = tXl1->WindowX1 - 1;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
386 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
387 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
388 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
389 start.x = tXr1->WindowX1 - 1;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
390 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
391 stop.x = start.x - 17;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
392 GFX_draw_line(tXscreen, start, stop, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
393 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
394 // new thick bar design Sept. 2015
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
395 if(!pSettings->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
396 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
397 start.x = tXl1->WindowX1 - 3 - 5;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
398 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
399 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
400 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
401 start.x = tXr1->WindowX1 - 3 - 5;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
402 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
403
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
404 stop.x = start.x;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
405 if(!pSettings->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
406 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
407 start.y = tXl1->WindowY0 - 1;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
408 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
409 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
410 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
411 start.y = tXl1->WindowY1 + 1;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
412 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
413
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
414 stop.y = start.y + (uint16_t)(stateUsed->lifeData.ascent_rate_meter_per_min * 8);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
415 stop.y -= 3; // wegen der Liniendicke von 12 anstelle von 9
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
416 if(stop.y >= 470)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
417 stop.y = 470;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
418 start.y += 7; // starte etwas weiter oben
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
419 if(stateUsed->lifeData.ascent_rate_meter_per_min <= 10)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
420 color = CLUT_EverythingOkayGreen;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
421 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
422 if(stateUsed->lifeData.ascent_rate_meter_per_min <= 15)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
423 color = CLUT_WarningYellow;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
424 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
425 color = CLUT_WarningRed;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
426
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
427 GFX_draw_thick_line(12,tXscreen, start, stop, color);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
428 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
429 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
430
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
431 // divetime
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
432 if(mode == DIVEMODE_Apnea)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
433 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
434 if(stateUsed->lifeData.counterSecondsShallowDepth)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
435 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
436 SDivetime SurfaceBreakTime = {0,0,0,0};
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
437
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
438 SurfaceBreakTime.Total = stateUsed->lifeData.counterSecondsShallowDepth;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
439 SurfaceBreakTime.Minutes = SurfaceBreakTime.Total / 60;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
440 SurfaceBreakTime.Seconds = SurfaceBreakTime.Total - (SurfaceBreakTime.Minutes * 60);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
441
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
442 snprintf(text,TEXTSIZE,"\032\f\002%c%c", TXT_2BYTE,TXT2BYTE_ApneaSurface);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
443 GFX_write_string(&FontT42,tXr1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
444
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
445 snprintf(text,TEXTSIZE,"\020\003\016\002%u:%02u",SurfaceBreakTime.Minutes, SurfaceBreakTime.Seconds);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
446 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
447 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
448 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
449 Divetime.Total = stateUsed->lifeData.dive_time_seconds;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
450 Divetime.Minutes = Divetime.Total / 60;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
451 Divetime.Seconds = Divetime.Total - ( Divetime.Minutes * 60 );
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
452
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
453 snprintf(text,TEXTSIZE,"\032\f\002%c",TXT_Divetime);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
454 GFX_write_string(&FontT42,tXr1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
455
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
456 if(Divetime.Minutes < 100)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
457 snprintf(text,TEXTSIZE,"\020\003\016\002%u:%02u",Divetime.Minutes, Divetime.Seconds);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
458 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
459 snprintf(text,TEXTSIZE,"\020\003\016\002%u'",Divetime.Minutes);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
460 }
518
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
461 t3_basics_colorscheme_mod(text);
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
462 GFX_write_string(&FontT105,tXr1,text,1);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
463 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
464 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
465 {
518
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
466 switch(get_globalState())
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
467 {
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
468 case StDBEAR: snprintf(text,TEXTSIZE,"\a\003\001%c%c", TXT_2BYTE, TXT2BYTE_DiveBearingQ);
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
469 GFX_write_string_color(&FontT42,tXr1,text,1,CLUT_WarningYellow);
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
470 break;
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
471 case StDRAVG: snprintf(text,TEXTSIZE,"\a\003\001%c%c", TXT_2BYTE, TXT2BYTE_DiveResetAvgQ);
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
472 GFX_write_string_color(&FontT42,tXr1,text,1,CLUT_WarningYellow);
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
473 break;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
474
518
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
475 case StDMGAS:
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
476 textPointer = 0;
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
477 text[textPointer++] = '\a';
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
478 text[textPointer++] = '\001';
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
479 text[textPointer++] = ' ';
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
480 textPointer += tHome_gas_writer(stateUsed->diveSettings.gas[actualBetterGasId()].oxygen_percentage,stateUsed->diveSettings.gas[actualBetterGasId()].helium_percentage,&text[textPointer]);
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
481 text[textPointer++] = '?';
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
482 text[textPointer++] = ' ';
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
483 text[textPointer++] = 0;
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
484 GFX_write_string_color(&FontT42,tXr1,text,1,CLUT_WarningYellow);
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
485 break;
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
486 default: /* show divetime */
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
487
518
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
488 Divetime.Total = stateUsed->lifeData.dive_time_seconds_without_surface_time;
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
489 Divetime.Minutes = Divetime.Total / 60;
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
490 Divetime.Seconds = Divetime.Total - ( Divetime.Minutes * 60 );
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
491
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
492 snprintf(text,TEXTSIZE,"\032\f\002%c",TXT_Divetime);
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
493 GFX_write_string(&FontT42,tXr1,text,0);
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
494
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
495 if(Divetime.Minutes < 100)
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
496 snprintf(text,TEXTSIZE,"\020\003\016\002%u:%02u",Divetime.Minutes, Divetime.Seconds);
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
497 else
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
498 snprintf(text,TEXTSIZE,"\020\003\016\002%u'",Divetime.Minutes);
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
499
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
500 t3_basics_colorscheme_mod(text);
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
501 GFX_write_string(&FontT105,tXr1,text,1);
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
502 break;
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
503 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
504 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
505
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
506 return depth;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
507 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
508
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
509
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
510 void t3_refresh_divemode(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
511 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
512 uint8_t customview_warnings = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
513 float depth_meter = 0.0;
527
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
514
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
515 // everything like lines, depth, ascent graph and divetime
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
516 depth_meter = t3_basics_lines_depth_and_divetime(&t3screen, &t3l1, &t3r1, 0); // 0 could be stateUsed->diveSettings.diveMode for CCR specials
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
517
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
518 // customview
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
519 if(stateUsed->warnings.numWarnings)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
520 customview_warnings = t3_test_customview_warnings();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
521
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
522 if(customview_warnings && warning_count_high_time)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
523 t3_basics_show_customview_warnings(&t3c1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
524 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
525 t3_refresh_customview(depth_meter);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
526
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
527 if(stateUsed->warnings.lowBattery)
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
528 t3_basics_battery_low_customview_extra(&t3r1); //t3c1);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
529 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
530
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
531
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
532 void t3_basics_battery_low_customview_extra(GFX_DrawCfgWindow* tXc1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
533 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
534 char TextC1[256];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
535
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
536 TextC1[0] = ' ';//'\002';
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
537 TextC1[1] = '\f';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
538 TextC1[2] = '\025';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
539 TextC1[3] = '3';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
540 TextC1[4] = '1';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
541 TextC1[5] = '1';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
542 TextC1[6] = '1';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
543 TextC1[7] = '1';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
544 TextC1[8] = '1';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
545 TextC1[9] = '1';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
546 TextC1[10] = '1';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
547 TextC1[11] = '1';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
548 TextC1[12] = '1';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
549 TextC1[13] = '1';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
550 TextC1[14] = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
551 TextC1[15] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
552
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
553 if(!warning_count_high_time)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
554 TextC1[4] = '2';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
555
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
556 GFX_write_string(&Batt24,tXc1,TextC1,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
557 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
558
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
559
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
560
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
561 void t3_refresh_customview(float depth)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
562 {
272
74a8296a2318 cleanup: simplify stateUsed usage
Jan Mulder <jlmulder@xs4all.nl>
parents: 237
diff changeset
563 t3_basics_refresh_customview(depth, t3_selection_customview, &t3screen, &t3c1, &t3c2, stateUsedWrite->diveSettings.diveMode);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
564 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
565
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
566
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
567 void t3_basics_refresh_apnoeRight(float depth, uint8_t tX_selection_customview, GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXc1, GFX_DrawCfgWindow* tXc2, uint8_t mode)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
568 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
569 char text[512];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
570 uint16_t textpointer = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
571
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
572 // CVIEW_T3_Temperature
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
573 float temperature;
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
574 SSettings* pSettings;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
575 pSettings = settingsGetPointer();
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
576
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
577 SDivetime TotalDivetime = {0,0,0,0};
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
578 SDivetime LastDivetime = {0,0,0,0};
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
579
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
580 uint16_t tempWinX0;
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
581 uint16_t tempWinX1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
582 uint16_t tempWinY0;
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
583 uint16_t tempWinY1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
584
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
585 tempWinX0 = tXc1->WindowX0;
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
586 tempWinX1 = tXc1->WindowX1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
587 tempWinY0 = tXc1->WindowY0;
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
588 tempWinY1 = tXc1->WindowY1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
589
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
590 tXc1->WindowX0 = 440; // rechte Seite
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
591
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
592 switch(tX_selection_customview)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
593 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
594 case CVIEW_T3_Temperature:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
595 snprintf(text,TEXTSIZE,"\032\f%c",TXT_Temperature);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
596 GFX_write_string(&FontT42,tXc1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
597
189
8b8074080d7b Bugfix: average temperature on arrival from RTE instead of display time
Jan Mulder <jlmulder@xs4all.nl>
parents: 174
diff changeset
598 temperature = unit_temperature_float(stateUsed->lifeData.temperature_celsius);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
599 textpointer = snprintf(text,TEXTSIZE,"\020\003\016%01.0f\016\016\140",temperature); // "\016\016%01.1f `" + C or F
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
600 if(settingsGetPointer()->nonMetricalSystem == 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
601 text[textpointer++] = 'C';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
602 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
603 text[textpointer++] = 'F';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
604 text[textpointer++] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
605 t3_basics_colorscheme_mod(text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
606 GFX_write_string(&FontT105,tXc1,text,1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
607 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
608
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
609 case CVIEW_T3_ApnoeSurfaceInfo:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
610 snprintf(text,TEXTSIZE,"\032\f%c",TXT_Divetime);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
611 GFX_write_string(&FontT42,tXc1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
612
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
613 TotalDivetime.Total = stateUsed->lifeData.dive_time_seconds_without_surface_time;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
614 TotalDivetime.Minutes = TotalDivetime.Total / 60;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
615 TotalDivetime.Seconds = TotalDivetime.Total - ( TotalDivetime.Minutes * 60 );
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
616
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
617 LastDivetime.Total = stateUsed->lifeData.apnea_last_dive_time_seconds;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
618 LastDivetime.Minutes = LastDivetime.Total / 60;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
619 LastDivetime.Seconds = LastDivetime.Total - ( LastDivetime.Minutes * 60 );
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
620
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
621 // tXc1->WindowY0 = 100; // obere Zeile
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
622 if(!pSettings->FlipDisplay)
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
623 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
624 tXc1->WindowY0 = 100;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
625 }
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
626 else
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
627 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
628 tXc1->WindowY1 -= 100; /* jump to upper of two lines */
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
629 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
630
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
631 snprintf(text,TEXTSIZE,"\020\016%u:%02u",LastDivetime.Minutes, LastDivetime.Seconds);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
632 t3_basics_colorscheme_mod(text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
633 GFX_write_string(&FontT105,tXc1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
634
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
635 if(pSettings->FlipDisplay)
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
636 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
637 tXc1->WindowX0 = 0;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
638
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
639 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
640 snprintf(text,TEXTSIZE,"\032\002%c%c",TXT_2BYTE, TXT2BYTE_ApneaLast);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
641 GFX_write_string(&FontT42,tXc1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
642
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
643 if(!pSettings->FlipDisplay)
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
644 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
645 tXc1->WindowY0 = tempWinY0;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
646 }
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
647 else
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
648 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
649 tXc1->WindowX1 = tempWinX1;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
650 tXc1->WindowY1 = tempWinY1; /* jump to upper of two lines */
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
651 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
652
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
653 snprintf(text,TEXTSIZE,"\020\016%u:%02u",TotalDivetime.Minutes, TotalDivetime.Seconds);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
654 t3_basics_colorscheme_mod(text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
655 GFX_write_string(&FontT105,tXc1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
656
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
657 snprintf(text,TEXTSIZE,"\032\002%c%c",TXT_2BYTE, TXT2BYTE_ApneaTotal);
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
658 if(pSettings->FlipDisplay)
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
659 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
660 tXc1->WindowX0 = 0;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
661
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
662 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
663 GFX_write_string(&FontT42,tXc1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
664 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
665 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
666
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
667 tXc1->WindowX0 = tempWinX0;
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
668 tXc1->WindowX1 = tempWinX1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
669 tXc1->WindowY0 = tempWinY0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
670
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
671 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
672
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
673
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
674 void t3_basics_refresh_customview(float depth, uint8_t tX_selection_customview, GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXc1, GFX_DrawCfgWindow* tXc2, uint8_t mode)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
675 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
676 char text[512];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
677 uint16_t textpointer = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
678
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
679 SSettings* pSettings;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
680 pSettings = settingsGetPointer();
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
681
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
682 // CVIEW_T3_Decostop and CVIEW_T3_TTS
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
683 const SDecoinfo * pDecoinfo;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
684 if(stateUsed->diveSettings.deco_type.ub.standard == GF_MODE)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
685 pDecoinfo = &stateUsed->decolistBuehlmann;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
686 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
687 pDecoinfo = &stateUsed->decolistVPM;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
688
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
689 // CVIEW_T3_Decostop
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
690 uint16_t nextstopLengthSeconds = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
691 uint8_t nextstopDepthMeter = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
692 SDivetime SafetyStopTime = {0,0,0,0};
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
693
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
694 // CVIEW_T3_ppO2andGas
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
695 uint8_t oxygen_percentage = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
696
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
697 // CVIEW_T3_Temperature
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
698 float temperature;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
699
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
700 // CVIEW_T3_GasList
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
701 float fPpO2limitHigh, fPpO2limitLow, fPpO2ofGasAtThisDepth;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
702 const SGasLine * pGasLine;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
703 uint8_t oxygen, helium;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
704 uint8_t lineNumber;
527
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
705 uint8_t gasPosIdx;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
706
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
707 /* compass position */
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
708 point_t center;
539
d784f281833a Added inertia simulation for compass heading:
Ideenmodellierer
parents: 529
diff changeset
709 uint16_t heading;
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
710
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
711 // CVIEW_T3_StopWatch
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
712 SDivetime Stopwatch = {0,0,0,0};
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
713 float fAverageDepth, fAverageDepthAbsolute;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
714
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
715 uint16_t tempWinX0;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
716 uint16_t tempWinX1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
717 uint16_t tempWinY0;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
718 uint16_t tempWinY1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
719 uint16_t tempWinC2X0;
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
720 uint16_t tempWinC2Y0;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
721 uint16_t tempWinC2X1;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
722 uint16_t tempWinC2Y1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
723 uint16_t tempWinC2Tab;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
724
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
725 tempWinX0 = tXc1->WindowX0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
726 tempWinY0 = tXc1->WindowY0;
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
727 tempWinX1 = tXc1->WindowX1;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
728 tempWinY1 = tXc1->WindowY1;
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
729
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
730 tempWinC2X0 = tXc2->WindowX0;
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
731 tempWinC2Y0 = tXc2->WindowY0;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
732 tempWinC2X1 = tXc2->WindowX1;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
733 tempWinC2Y1 = tXc2->WindowY1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
734 tempWinC2Tab = tXc2->WindowTab;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
735
539
d784f281833a Added inertia simulation for compass heading:
Ideenmodellierer
parents: 529
diff changeset
736 if(settingsGetPointer()->compassInertia)
d784f281833a Added inertia simulation for compass heading:
Ideenmodellierer
parents: 529
diff changeset
737 {
d784f281833a Added inertia simulation for compass heading:
Ideenmodellierer
parents: 529
diff changeset
738 heading = (uint16_t)compass_getCompensated();
d784f281833a Added inertia simulation for compass heading:
Ideenmodellierer
parents: 529
diff changeset
739 }
d784f281833a Added inertia simulation for compass heading:
Ideenmodellierer
parents: 529
diff changeset
740 else
d784f281833a Added inertia simulation for compass heading:
Ideenmodellierer
parents: 529
diff changeset
741 {
d784f281833a Added inertia simulation for compass heading:
Ideenmodellierer
parents: 529
diff changeset
742 heading = (uint16_t)stateUsed->lifeData.compass_heading;
d784f281833a Added inertia simulation for compass heading:
Ideenmodellierer
parents: 529
diff changeset
743 }
d784f281833a Added inertia simulation for compass heading:
Ideenmodellierer
parents: 529
diff changeset
744
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
745 switch(tX_selection_customview)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
746 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
747 case CVIEW_T3_ApnoeSurfaceInfo:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
748 snprintf(text,TEXTSIZE,"\032\f%c",TXT_MaxDepth);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
749
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
750 if(!pSettings->FlipDisplay)
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
751 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
752 GFX_write_string(&FontT42,tXc1,text,0);
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
753 tXc1->WindowY0 = 100;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
754 }
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
755 else
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
756 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
757 GFX_write_string(&FontT42,tXc2,text,0);
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
758 tXc2->WindowY1 -= 100; /* jump to upper of two lines */
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
759 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
760
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
761 snprintf(text,TEXTSIZE,"\020\016%01.1f",unit_depth_float(stateUsed->lifeData.apnea_last_max_depth_meter));
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
762 t3_basics_colorscheme_mod(text);
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
763
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
764 if(!pSettings->FlipDisplay)
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
765 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
766 GFX_write_string(&FontT105,tXc1,text,0);
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
767 tXc1->WindowY0 = tempWinY0;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
768 }
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
769 else
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
770 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
771 GFX_write_string(&FontT105,tXc2,text,0);
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
772 tXc2->WindowY1 = tempWinC2Y1; /* jump to upper of two lines */
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
773 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
774
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
775
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
776 snprintf(text,TEXTSIZE,"\020\016%01.1f",unit_depth_float(stateUsed->lifeData.apnea_total_max_depth_meter));
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
777 t3_basics_colorscheme_mod(text);
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
778 if(!pSettings->FlipDisplay)
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
779 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
780 GFX_write_string(&FontT105,tXc1,text,0);
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
781 }
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
782 else
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
783 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
784 GFX_write_string(&FontT105,tXc2,text,0);
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
785 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
786 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
787
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
788 case CVIEW_T3_StopWatch:
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
789
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
790 Stopwatch.Total = timer_Stopwatch_GetTime();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
791 Stopwatch.Minutes = Stopwatch.Total / 60;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
792 Stopwatch.Seconds = Stopwatch.Total - ( Stopwatch.Minutes * 60 );
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
793 fAverageDepth = timer_Stopwatch_GetAvarageDepth_Meter();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
794 fAverageDepthAbsolute = stateUsed->lifeData.average_depth_meter;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
795
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
796 snprintf(text,TEXTSIZE,"\032\f%c",TXT_AvgDepth);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
797 GFX_write_string(&FontT42,tXc1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
798 snprintf(text,TEXTSIZE,"\030\003\016%01.1f",unit_depth_float(fAverageDepthAbsolute));
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
799 GFX_write_string(&FontT105,tXc1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
800
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
801 if(!pSettings->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
802 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
803 tXc1->WindowX0 = 480;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
804 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
805 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
806 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
807 tXc1->WindowX1 = 320;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
808 tXc1->WindowY0 = t3c1.WindowY0; /* select customer window */
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
809 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
810 // snprintf(text,TEXTSIZE,"\032\f%c%c - %c",TXT_2BYTE, TXT2BYTE_Clock, TXT_AvgDepth);
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
811
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
812 snprintf(text,TEXTSIZE,"\032\f%c", TXT_Stopwatch);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
813 GFX_write_string(&FontT42,tXc1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
814 snprintf(text,TEXTSIZE,"\030\016%01.1f",unit_depth_float(fAverageDepth));
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
815 GFX_write_string(&FontT105,tXc1,text,0);
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
816 if(!pSettings->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
817 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
818 tXc1->WindowY0 = 100;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
819 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
820 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
821 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
822 tXc1->WindowY1 -= 100; /* jump to upper of two lines */
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
823 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
824
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
825 snprintf(text,TEXTSIZE,"\030%u:\016\016%02u",Stopwatch.Minutes, Stopwatch.Seconds);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
826 GFX_write_string(&FontT105,tXc1,text,0);
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
827
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
828 break;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
829
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
830 case CVIEW_T3_GasList:
527
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
831 gasPosIdx = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
832 snprintf(text,TEXTSIZE,"\032\f%c%c",TXT_2BYTE, TXT2BYTE_Gaslist);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
833 GFX_write_string(&FontT42,tXc1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
834
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
835 textpointer = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
836 tXc2->WindowX0 = 0;
518
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
837 tXc2->WindowTab = 800/3; // /2
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
838
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
839 if(pSettings->FlipDisplay)
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
840 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
841 tXc2->WindowY1 = 0;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
842 }
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
843
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
844 pGasLine = settingsGetPointer()->gas;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
845 if(actualLeftMaxDepth(stateUsed))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
846 fPpO2limitHigh = (float)(settingsGetPointer()->ppO2_max_deco) / 100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
847 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
848 fPpO2limitHigh = (float)(settingsGetPointer()->ppO2_max_std) / 100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
849 fPpO2limitLow = (float)(settingsGetPointer()->ppO2_min) / 100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
850 for(int gasId=1;gasId<=NUM_GASES;gasId++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
851 {
527
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
852 #ifdef ENABLE_UNUSED_GAS_HIDING
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
853 if(!pGasLine[gasId].note.ub.off)
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
854 {
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
855 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
856 textpointer = 0;
518
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
857 text[textpointer++] = '\003';
527
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
858
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
859 lineNumber = 1;
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
860
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
861 switch(gasPosIdx)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
862 {
527
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
863 case 0: lineNumber = 0;
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
864 case 1:
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
865 break;
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
866 case 4: text[textpointer++] = '\001'; /* display centered */
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
867 break;
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
868 case 2: lineNumber = 0;
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
869 case 3: text[textpointer++] = '\002'; /* display right aligned */
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
870 default:
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
871 break;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
872 }
527
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
873 gasPosIdx++;
518
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
874
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
875 fPpO2ofGasAtThisDepth = (stateUsed->lifeData.pressure_ambient_bar - WATER_VAPOUR_PRESSURE) * pGasLine[gasId].oxygen_percentage / 100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
876 if(pGasLine[gasId].note.ub.active == 0)
527
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
877 strcpy(&text[textpointer++],"\031");
518
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
878 else if(stateUsed->lifeData.actualGas.GasIdInSettings == gasId) /* actual selected gas */
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
879 {
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
880 strcpy(&text[textpointer++],"\030");
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
881 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
882 else if((fPpO2ofGasAtThisDepth > fPpO2limitHigh) || (fPpO2ofGasAtThisDepth < fPpO2limitLow))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
883 strcpy(&text[textpointer++],"\025");
518
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
884 else if(actualBetterGasId() == gasId)
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
885 {
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
886 strcpy(&text[textpointer++],"\026"); /* Highlight better gas */
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
887 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
888 else
518
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
889 strcpy(&text[textpointer++],"\023"); /* Blue for travel or deco without special state */
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
890
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
891 text[textpointer++] = ' ';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
892 oxygen = pGasLine[gasId].oxygen_percentage;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
893 helium = pGasLine[gasId].helium_percentage;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
894 textpointer += write_gas(&text[textpointer], oxygen, helium);
527
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
895
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
896 if((pGasLine[gasId].depth_meter) && (gasPosIdx < 5)) /* do not show for potential last gas because of formating issues */
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
897 {
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
898 textpointer += snprintf(&text[textpointer],7,"\016\016%u%c%c",unit_depth_integer(pGasLine[gasId].depth_meter), unit_depth_char1(), unit_depth_char2());
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
899 }
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
900 text[textpointer++] = 0;
518
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
901 GFX_write_string(&FontT42, tXc1, text, lineNumber);
527
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
902 #ifdef ENABLE_UNUSED_GAS_HIDING
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
903 }
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
904 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
905 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
906 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
907
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
908 case CVIEW_T3_Temperature:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
909 snprintf(text,TEXTSIZE,"\032\f%c",TXT_Temperature);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
910 GFX_write_string(&FontT42,tXc1,text,0);
189
8b8074080d7b Bugfix: average temperature on arrival from RTE instead of display time
Jan Mulder <jlmulder@xs4all.nl>
parents: 174
diff changeset
911
8b8074080d7b Bugfix: average temperature on arrival from RTE instead of display time
Jan Mulder <jlmulder@xs4all.nl>
parents: 174
diff changeset
912 temperature = unit_temperature_float(stateUsed->lifeData.temperature_celsius);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
913 textpointer = snprintf(text,TEXTSIZE,"\030\003\016%01.1f \140",temperature); // "\016\016%01.1f `" + C or F
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
914 if(settingsGetPointer()->nonMetricalSystem == 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
915 text[textpointer++] = 'C';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
916 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
917 text[textpointer++] = 'F';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
918 text[textpointer++] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
919 GFX_write_string(&FontT105,tXc1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
920 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
921
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
922 case CVIEW_Compass:
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
923 center.x = 600;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
924 center.y = 116;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
925 snprintf(text,TEXTSIZE,"\032\f%c%c",TXT_2BYTE, TXT2BYTE_Compass);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
926 GFX_write_string(&FontT42,tXc1,text,0);
539
d784f281833a Added inertia simulation for compass heading:
Ideenmodellierer
parents: 529
diff changeset
927 snprintf(text,100,"\030\003%03i`",heading);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
928 GFX_write_string(&FontT105,tXc1,text,0);
539
d784f281833a Added inertia simulation for compass heading:
Ideenmodellierer
parents: 529
diff changeset
929 t3_basics_compass(tXscreen, center, heading, stateUsed->diveSettings.compassHeading);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
930 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
931
542
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
932 case CVIEW_T3_DecoTTS:
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
933 case CVIEW_T3_Decostop:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
934 default:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
935 // decostop
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
936 if(pDecoinfo->output_time_to_surface_seconds)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
937 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
938 tHome_findNextStop(pDecoinfo->output_stop_length_seconds, &nextstopDepthMeter, &nextstopLengthSeconds);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
939 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
940 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
941 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
942 nextstopDepthMeter = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
943 nextstopLengthSeconds = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
944 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
945
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
946 SafetyStopTime.Total = timer_Safetystop_GetCountDown();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
947 SafetyStopTime.Minutes = SafetyStopTime.Total / 60;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
948 SafetyStopTime.Seconds = SafetyStopTime.Total - (SafetyStopTime.Minutes * 60);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
949
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
950 if(nextstopDepthMeter)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
951 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
952 snprintf(text,TEXTSIZE,"\032\f%c",TXT_Decostop);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
953 GFX_write_string(&FontT42,tXc1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
954
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
955 textpointer = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
956 snprintf(&text[textpointer],TEXTSIZE,"\020\003%u%c%c %u'"
542
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
957 , unit_depth_integer(nextstopDepthMeter)
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
958 , unit_depth_char1_T105()
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
959 , unit_depth_char2_T105()
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
960 , (nextstopLengthSeconds+59)/60);
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
961 t3_basics_colorscheme_mod(text);
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
962 GFX_write_string(&FontT105,tXc1,text,0);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
963 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
964 else if(SafetyStopTime.Total && (depth > timer_Safetystop_GetDepthUpperLimit()))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
965 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
966 textpointer = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
967 snprintf(&text[textpointer],TEXTSIZE,"\032\f%c%c",TXT_2BYTE,TXT2BYTE_SafetyStop2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
968 GFX_write_string(&FontT42,tXc1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
969
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
970 textpointer = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
971 snprintf(&text[textpointer],TEXTSIZE,"\020\003\016%u:%02u",SafetyStopTime.Minutes,SafetyStopTime.Seconds);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
972 t3_basics_colorscheme_mod(text);
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
973 GFX_write_string(&FontT105,tXc1,text,0);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
974 }
237
ec16fd26e280 Bugfix: do not show NDL in bigscreen mode when zero
Jan Mulder <jlmulder@xs4all.nl>
parents: 214
diff changeset
975 else if(pDecoinfo->output_ndl_seconds) // NDL
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
976 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
977 snprintf(text,TEXTSIZE,"\032\f%c",TXT_Nullzeit);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
978 GFX_write_string(&FontT42,tXc1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
979 if(pDecoinfo->output_ndl_seconds < 1000 * 60)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
980 snprintf(text,TEXTSIZE,"\020\003%i'",pDecoinfo->output_ndl_seconds/60);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
981 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
982 snprintf(text,TEXTSIZE,"\020\003%ih",pDecoinfo->output_ndl_seconds/3600);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
983 t3_basics_colorscheme_mod(text);
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
984 GFX_write_string(&FontT105,tXc1,text,0);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
985 }
542
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
986
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
987 if(tX_selection_customview == CVIEW_T3_DecoTTS) /* add tts data on right side of screen */
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
988 {
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
989 snprintf(text,TEXTSIZE,"\002\032\f%c",TXT_TTS);
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
990 GFX_write_string(&FontT42,tXc1,text,0);
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
991 if(pDecoinfo->output_time_to_surface_seconds)
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
992 {
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
993 if(pDecoinfo->output_time_to_surface_seconds < 100 * 60)
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
994 snprintf(text,TEXTSIZE,"\020\003\002%i'",(pDecoinfo->output_time_to_surface_seconds + 59)/ 60);
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
995 else
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
996 snprintf(text,TEXTSIZE,"\020\003\002%ih",(pDecoinfo->output_time_to_surface_seconds + 59)/ 3600);
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
997 t3_basics_colorscheme_mod(text);
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
998 GFX_write_string(&FontT105,tXc1,text,0);
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
999 }
6960df7ddb09 Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents: 541
diff changeset
1000 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1001 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1002
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1003 case CVIEW_sensors:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1004 snprintf(text,TEXTSIZE,"\032\f%c%c",TXT_2BYTE,TXT2BYTE_O2monitor);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1005 GFX_write_string(&FontT42,tXc1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1006
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1007 for(int i=0;i<3;i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1008 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1009 textpointer = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1010 text[textpointer++] = '\030';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1011 if(i==1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1012 text[textpointer++] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1013 else if(i==2)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1014 text[textpointer++] = '\002';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1015 if(stateUsed->diveSettings.ppo2sensors_deactivated & (1<<i))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1016 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1017 text[textpointer++] = '\031';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1018 text[textpointer++] = ' ';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1019 text[textpointer++] = '-';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1020 text[textpointer++] = ' ';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1021 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1022 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1023 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1024 if(stateUsed->warnings.sensorOutOfBounds[i])
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1025 text[textpointer++] = '\025';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1026 textpointer += snprintf(&text[textpointer],TEXTSIZE,"%.1f",stateUsed->lifeData.ppO2Sensor_bar[i]);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1027 }
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1028 GFX_write_string(&FontT144,tXc1,text,0);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1029 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1030 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1031
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1032 case CVIEW_T3_MaxDepth:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1033 snprintf(text,TEXTSIZE,"\032\f%c",TXT_MaxDepth);
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1034 if(pSettings->FlipDisplay)
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1035 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1036 if(mode == DIVEMODE_Apnea)
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1037 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1038 GFX_write_string(&FontT42,tXc2,text,0);
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1039 }
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1040 else
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1041 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1042 GFX_write_string(&FontT42,tXc1,text,0);
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1043 }
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1044 }
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1045 else
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1046 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1047 GFX_write_string(&FontT42,tXc1,text,0);
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1048 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1049 snprintf(text,TEXTSIZE,"\020\003\016%01.1f",unit_depth_float(stateUsed->lifeData.max_depth_meter));
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1050 t3_basics_colorscheme_mod(text);
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1051 if(pSettings->FlipDisplay)
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1052 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1053 if(mode == DIVEMODE_Apnea)
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1054 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1055 GFX_write_string(&FontT105,tXc2,text,0);
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1056 }
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1057 else
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1058 {
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1059 GFX_write_string(&FontT105,tXc1,text,0);
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1060 }
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1061 }
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1062 else
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1063 {
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1064 GFX_write_string(&FontT105,tXc1,text,0);
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1065 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1066 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1067
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1068 case CVIEW_T3_TTS:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1069 snprintf(text,TEXTSIZE,"\032\f%c",TXT_TTS);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1070 GFX_write_string(&FontT42,tXc1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1071 if(pDecoinfo->output_time_to_surface_seconds)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1072 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1073 if(pDecoinfo->output_time_to_surface_seconds < 1000 * 60)
214
51a3aeffc6b3 Bugfix: handle rounding of TTS and future TTS consistently
Jan Mulder <jlmulder@xs4all.nl>
parents: 189
diff changeset
1074 snprintf(text,TEXTSIZE,"\020\003\002%i'",(pDecoinfo->output_time_to_surface_seconds + 59)/ 60);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1075 else
214
51a3aeffc6b3 Bugfix: handle rounding of TTS and future TTS consistently
Jan Mulder <jlmulder@xs4all.nl>
parents: 189
diff changeset
1076 snprintf(text,TEXTSIZE,"\020\003\002%ih",(pDecoinfo->output_time_to_surface_seconds + 59)/ 3600);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1077 t3_basics_colorscheme_mod(text);
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1078 GFX_write_string(&FontT105,tXc1,text,0);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1079 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1080 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1081
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1082 case CVIEW_T3_ppO2andGas:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1083 snprintf(text,TEXTSIZE,"\032\f%c",TXT_ppO2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1084 GFX_write_string(&FontT42,tXc1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1085 snprintf(text,TEXTSIZE,"\020\003%01.2f",stateUsed->lifeData.ppO2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1086 t3_basics_colorscheme_mod(text);
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1087 GFX_write_string(&FontT105,tXc1,text,0);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1088
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1089 textpointer = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1090 text[textpointer++] = '\020';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1091 text[textpointer++] = '\003';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1092 oxygen_percentage = 100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1093 oxygen_percentage -= stateUsed->lifeData.actualGas.nitrogen_percentage;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1094 oxygen_percentage -= stateUsed->lifeData.actualGas.helium_percentage;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1095 text[textpointer++] = '\002';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1096 tHome_gas_writer(oxygen_percentage,stateUsed->lifeData.actualGas.helium_percentage,&text[textpointer]);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1097 //textpointer = snprintf(&text[textpointer],TEXTSIZE,"\020\002%02u/%02u",oxygen_percentage, stateUsed->lifeData.actualGas.helium_percentage);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1098 t3_basics_colorscheme_mod(text);
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1099 GFX_write_string(&FontT48,tXc1,text,0);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1100 break;
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1101
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1102 case CVIEW_T3_Navigation:
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1103 Stopwatch.Total = timer_Stopwatch_GetTime();
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1104 Stopwatch.Minutes = Stopwatch.Total / 60;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1105 Stopwatch.Seconds = Stopwatch.Total - ( Stopwatch.Minutes * 60 );
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1106 fAverageDepth = timer_Stopwatch_GetAvarageDepth_Meter();
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1107
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1108 if(!pSettings->FlipDisplay)
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1109 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1110 tXc2->WindowX0 = 550;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1111 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1112 else
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1113 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1114 tXc2->WindowX1 = 800;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1115 tXc2->WindowY0 = t3c2.WindowY0; /* select customer window */
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1116 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1117
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1118 snprintf(text,TEXTSIZE,"\032\002\f%c", TXT_Stopwatch);
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1119 GFX_write_string(&FontT42,tXc1,text,0);
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1120 snprintf(text,TEXTSIZE,"\030\016\002%01.1f",unit_depth_float(fAverageDepth));
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1121 GFX_write_string(&FontT105,tXc1,text,0);
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1122 if(!pSettings->FlipDisplay)
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1123 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1124 tXc2->WindowY0 = 100;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1125 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1126 else
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1127 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1128 tXc2->WindowY1 -= 100; /* jump to upper of two lines */
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1129 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1130
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1131 snprintf(text,TEXTSIZE,"\030\002%u:\016\016%02u",Stopwatch.Minutes, Stopwatch.Seconds);
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1132 GFX_write_string(&FontT105,tXc1,text,1);
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1133
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1134
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1135 center.x = 400;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1136 center.y = 116;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1137
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1138 snprintf(text,TEXTSIZE,"\032\f%c%c",TXT_2BYTE, TXT2BYTE_Compass);
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1139 GFX_write_string(&FontT42,tXc1,text,0);
539
d784f281833a Added inertia simulation for compass heading:
Ideenmodellierer
parents: 529
diff changeset
1140 snprintf(text,100,"\030%03i`",heading);
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1141 GFX_write_string(&FontT144,tXc1,text,0);
539
d784f281833a Added inertia simulation for compass heading:
Ideenmodellierer
parents: 529
diff changeset
1142 t3_basics_compass(tXscreen, center, heading, stateUsed->diveSettings.compassHeading);
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1143
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1144 break;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1145
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1146 case CVIEW_T3_DepthData:
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1147 snprintf(text,TEXTSIZE,"\032\f%c",TXT_MaxDepth);
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1148 if(pSettings->FlipDisplay)
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1149 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1150 if(mode == DIVEMODE_Apnea)
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1151 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1152 GFX_write_string(&FontT42,tXc2,text,0);
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1153 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1154 else
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1155 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1156 GFX_write_string(&FontT42,tXc1,text,0);
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1157 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1158 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1159 else
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1160 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1161 GFX_write_string(&FontT42,tXc1,text,0);
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1162 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1163 snprintf(text,TEXTSIZE,"\020\003\016%01.1f",unit_depth_float(stateUsed->lifeData.max_depth_meter));
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1164 t3_basics_colorscheme_mod(text);
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1165 if(pSettings->FlipDisplay)
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1166 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1167 if(mode == DIVEMODE_Apnea)
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1168 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1169 GFX_write_string(&FontT105,tXc2,text,0);
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1170 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1171 else
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1172 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1173 GFX_write_string(&FontT105,tXc1,text,0);
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1174 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1175 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1176 else
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1177 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1178 GFX_write_string(&FontT105,tXc1,text,0);
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1179 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1180 fAverageDepthAbsolute = stateUsed->lifeData.average_depth_meter;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1181 snprintf(text,TEXTSIZE,"\032\002\f%c",TXT_AvgDepth);
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1182 GFX_write_string(&FontT42,tXc1,text,0);
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1183
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1184 snprintf(text,TEXTSIZE,"\020\003\016\002\%01.1f",unit_depth_float(fAverageDepthAbsolute));
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1185 GFX_write_string(&FontT105,tXc1,text,0);
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1186 break;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1187 }
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1188
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1189
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1190
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1191 tXc1->WindowX0 = tempWinX0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1192 tXc1->WindowY0 = tempWinY0;
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1193 tXc1->WindowX1 = tempWinX1;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1194 tXc1->WindowY1 = tempWinY1;
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1195
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1196 tXc2->WindowX0 = tempWinC2X0;
413
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1197 tXc2->WindowY0 = tempWinC2Y0;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1198 tXc2->WindowX1 = tempWinC2X1;
65c7b009136f Bugfix Flipdisplay Gauge and Apnoe mode:
ideenmodellierer
parents: 386
diff changeset
1199 tXc2->WindowY1 = tempWinC2Y1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1200 tXc2->WindowTab = tempWinC2Tab;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1201 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1202
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1203
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1204 uint8_t t3_test_customview_warnings(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1205 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1206 uint8_t count = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1207
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1208 count = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1209 count += stateUsed->warnings.decoMissed;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1210 count += stateUsed->warnings.ppO2Low;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1211 count += stateUsed->warnings.ppO2High;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1212 //count += stateUsed->warnings.lowBattery;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1213 count += stateUsed->warnings.sensorLinkLost;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1214 count += stateUsed->warnings.fallback;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1215
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1216 return count;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1217 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1218
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1219 //void t3_show_customview_warnings(GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXl1, GFX_DrawCfgWindow* tXr1, uint8_t mode)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1220 void t3_basics_show_customview_warnings(GFX_DrawCfgWindow* tXc1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1221 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1222 char text[256], textMain[256];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1223 uint8_t textpointer, textpointerMain, lineFree, more;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1224
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1225 snprintf(text,TEXTSIZE,"\025\f%c",TXT_Warning);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1226 GFX_write_string(&FontT42,&t3c1,text,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1227
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1228 lineFree = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1229 more = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1230
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1231 textpointerMain = 0;
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1232 textMain[textpointerMain++] = '\025'; /* red */
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1233 textMain[textpointerMain++] = '\003'; /* doublesize */
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1234
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1235 textpointer = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1236
527
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
1237 text[textpointer++] = '\031';
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1238 text[textpointer++] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1239 text[textpointer++] = TXT2BYTE_WarnDecoMissed;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1240 if(stateUsed->warnings.decoMissed)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1241 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1242 text[textpointer - 3] = '\025';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1243 if(lineFree)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1244 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1245 textMain[textpointerMain++] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1246 textMain[textpointerMain++] = text[textpointer - 1];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1247 textMain[textpointerMain] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1248 lineFree--;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1249 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1250 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1251 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1252 more++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1253 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1254 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1255
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1256 text[textpointer++] = '\t';
527
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
1257 text[textpointer++] = '\031';
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1258 text[textpointer++] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1259 text[textpointer++] = TXT2BYTE_WarnPPO2Low;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1260 if(stateUsed->warnings.ppO2Low)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1261 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1262 text[textpointer - 3] = '\025';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1263 if(lineFree)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1264 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1265 textMain[textpointerMain++] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1266 textMain[textpointerMain++] = text[textpointer - 1];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1267 textMain[textpointerMain] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1268 lineFree--;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1269 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1270 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1271 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1272 more++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1273 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1274 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1275
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1276 text[textpointer++] = '\n';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1277 text[textpointer++] = '\r';
527
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
1278 text[textpointer++] = '\031';
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1279 text[textpointer++] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1280 text[textpointer++] = TXT2BYTE_WarnPPO2High;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1281 if(stateUsed->warnings.ppO2High)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1282 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1283 text[textpointer - 3] = '\025';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1284 if(lineFree)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1285 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1286 textMain[textpointerMain++] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1287 textMain[textpointerMain++] = text[textpointer - 1];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1288 textMain[textpointerMain] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1289 lineFree--;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1290 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1291 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1292 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1293 more++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1294 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1295 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1296
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1297 text[textpointer++] = '\t';
527
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
1298 text[textpointer++] = '\031';
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1299 text[textpointer++] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1300 text[textpointer++] = TXT2BYTE_WarnFallback;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1301 if(stateUsed->warnings.fallback)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1302 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1303 text[textpointer - 3] = '\025';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1304 if(lineFree)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1305 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1306 textMain[textpointerMain++] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1307 textMain[textpointerMain++] = text[textpointer - 1];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1308 textMain[textpointerMain] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1309 lineFree--;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1310 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1311 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1312 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1313 more++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1314 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1315 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1316
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1317 text[textpointer++] = '\n';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1318 text[textpointer++] = '\r';
527
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
1319 text[textpointer++] = '\031';
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1320 text[textpointer++] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1321 text[textpointer++] = TXT2BYTE_WarnSensorLinkLost;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1322 if(stateUsed->warnings.sensorLinkLost)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1323 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1324 text[textpointer - 3] = '\025';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1325 if(lineFree)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1326 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1327 textMain[textpointerMain++] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1328 textMain[textpointerMain++] = text[textpointer - 1];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1329 textMain[textpointerMain] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1330 lineFree--;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1331 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1332 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1333 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1334 more++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1335 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1336 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1337
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1338 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1339 text[textpointer++] = '\t';
527
962d7b2c18c6 Do not show gases in "Off" state in custom gas list:
Ideenmodellierer
parents: 518
diff changeset
1340 text[textpointer++] = '\031';
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1341 text[textpointer++] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1342 text[textpointer++] = TXT2BYTE_WarnBatteryLow;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1343 if(stateUsed->warnings.lowBattery)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1344 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1345 text[textpointer - 3] = '\025';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1346 if(lineFree)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1347 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1348 textMain[textpointerMain++] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1349 textMain[textpointerMain++] = text[textpointer - 1];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1350 textMain[textpointerMain] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1351 lineFree--;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1352 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1353 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1354 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1355 more++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1356 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1357 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1358 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1359 text[textpointer] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1360 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1361 if(more)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1362 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1363 text[textpointer++] = '\002';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1364 text[textpointer++] = '+';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1365 if(more < 10)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1366 text[textpointer++] = '0' + more;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1367 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1368 text[textpointer++] = 'X';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1369 text[textpointer] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1370 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1371 */
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1372 GFX_write_string(&FontT48,&t3c1,textMain,0);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1373 if(more)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1374 {
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1375 GFX_write_string(&FontT48,&t3c2,text,0);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1376 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1377 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1378
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1379 uint8_t t3_customview_disabled(uint8_t view)
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1380 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1381 uint8_t i = 0;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1382 uint8_t cv_disabled = 0;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1383 const uint8_t *pcv_changelist;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1384 uint32_t cv_config = settingsGetPointer()->cv_config_BigScreen;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1385
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1386 pcv_changelist = cv_changelist_BS;
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1387
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1388 while(pcv_changelist[i] != CVIEW_T3_END)
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1389 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1390 if((view == pcv_changelist[i]) && !CHECK_BIT_THOME(cv_config, pcv_changelist[i]))
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1391 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1392 cv_disabled = 1;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1393 break;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1394 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1395 i++;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1396 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1397
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1398 if (((view == CVIEW_sensors) || (view == CVIEW_sensors_mV)) &&
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1399 ((stateUsed->diveSettings.ppo2sensors_deactivated) || (stateUsed->diveSettings.ccrOption == 0)))
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1400 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1401 cv_disabled = 1;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1402 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1403
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1404 return cv_disabled;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1405 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1406
386
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
1407 void t3_change_customview(uint8_t action)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1408 {
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1409
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1410 t3_basics_change_customview(&t3_selection_customview, t3_customviewsStandard, action);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1411 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1412
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1413
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1414 void t3_basics_change_customview(uint8_t *tX_selection_customview,const uint8_t *tX_customviews, uint8_t action)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1415 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1416 const SDecoinfo * pDecoinfo;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1417 if(stateUsed->diveSettings.deco_type.ub.standard == GF_MODE)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1418 pDecoinfo = &stateUsed->decolistBuehlmann;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1419 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1420 pDecoinfo = &stateUsed->decolistVPM;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1421
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1422 uint8_t curViewIdx = 0xff;
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1423 uint8_t index = 0;
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1424 uint8_t lastViewIdx = 0;
386
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
1425 uint8_t iterate = 0; /* set to 1 if a view has to be skipped */
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1426
386
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
1427 /* set pointer to currently selected view and count number of entries */
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1428 while((tX_customviews[index] != CVIEW_T3_END))
386
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
1429 {
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1430 if (tX_customviews[index] == *tX_selection_customview)
386
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
1431 {
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1432 curViewIdx = index;
386
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
1433 }
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1434 index++;
386
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
1435 }
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1436 if(curViewIdx == 0xff) /* called with unknown view */
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1437 {
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1438 curViewIdx = 0;
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1439 *tX_selection_customview = tX_customviews[index];
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1440 }
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1441 lastViewIdx = index;
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1442 index = curViewIdx;
386
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
1443 do
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
1444 {
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
1445 iterate = 0;
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1446 switch(action)
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1447 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1448 case ACTION_BUTTON_ENTER:
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1449 case ACTION_PITCH_POS:
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1450
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1451 if(tX_customviews[index] != CVIEW_T3_END)
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1452 {
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1453 index++;
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1454 }
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1455 if(tX_customviews[index] == CVIEW_T3_END)
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1456 {
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1457 index = 0;
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1458 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1459 break;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1460 case ACTION_PITCH_NEG:
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1461 if(index == 0)
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1462 {
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1463 index = lastViewIdx - 1;
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1464 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1465 else
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1466 {
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1467 index--;
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1468 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1469 break;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1470 default:
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1471 break;
386
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
1472 }
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1473
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1474 if(t3_customview_disabled(tX_customviews[index]))
386
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
1475 {
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
1476 iterate = 1;
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
1477 }
529
0e1db77b2aca Added skip condition in custom view selection:
Ideenmodellierer
parents: 527
diff changeset
1478 if((tX_customviews[index] == CVIEW_T3_TTS) && !pDecoinfo->output_time_to_surface_seconds) /* Skip TTS if value is 0 */
386
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
1479 {
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
1480 iterate = 1;
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
1481 }
529
0e1db77b2aca Added skip condition in custom view selection:
Ideenmodellierer
parents: 527
diff changeset
1482 if((tX_customviews[index] == CVIEW_T3_Decostop) && ((!pDecoinfo->output_ndl_seconds) && (!pDecoinfo->output_time_to_surface_seconds) && (timer_Safetystop_GetCountDown() == 0))) /* Skip Deco if NDL is not set */
0e1db77b2aca Added skip condition in custom view selection:
Ideenmodellierer
parents: 527
diff changeset
1483 {
0e1db77b2aca Added skip condition in custom view selection:
Ideenmodellierer
parents: 527
diff changeset
1484 iterate = 1;
0e1db77b2aca Added skip condition in custom view selection:
Ideenmodellierer
parents: 527
diff changeset
1485 }
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1486 if((iterate) && (action == ACTION_END))
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1487 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1488 action = ACTION_BUTTON_ENTER;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1489 }
386
39c147e47c1c Added key direction awarness to t3, t5 and t6 views:
ideenmodellierer
parents: 384
diff changeset
1490 }while (iterate == 1);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1491
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1492 *tX_selection_customview = tX_customviews[index];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1493 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1494
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1495
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1496 void t3_basics_colorscheme_mod(char *text)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1497 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1498 if((text[0] == '\020') && !GFX_is_colorschemeDiveStandard())
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1499 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1500 text[0] = '\027';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1501 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1502 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1503
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1504
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1505 point_t t3_compass_circle(uint8_t id, uint16_t degree, point_t center)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1506 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1507 float fCos, fSin;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1508 const float piMult = ((2 * 3.14159) / 360);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1509 // const int radius[4] = {95,105,115,60};
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1510 const int radius[4] = {85,95,105,90};
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1511 static point_t forcenter = {.x = 900, .y = 500}; /* used to identify change of circle position */
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1512 static point_t r[4][360] = { 0 };
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1513
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1514 if((r[0][0].y == 0) || (forcenter.x != center.x) || (forcenter.y != center.y)) /* calculate values only once during first call or if center position changed */
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1515 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1516 for(int i=0;i<360;i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1517 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1518 fCos = cos(i * piMult);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1519 fSin = sin(i * piMult);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1520 for(int j=0;j<4;j++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1521 {
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1522 r[j][i].x = center.x + (int)(fSin * radius[j]);
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1523 r[j][i].y = center.y + (int)(fCos * radius[j]);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1524 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1525 }
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1526 forcenter.x = center.x;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1527 forcenter.y = center.y;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1528 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1529 if(id > 3) id = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1530 if(degree > 359) degree = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1531 return r[id][degree];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1532 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1533
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1534
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1535 void t3_basics_compass(GFX_DrawCfgScreen *tXscreen, point_t center, uint16_t ActualHeading, uint16_t UserSetHeading)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1536 {
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1537 uint8_t loop = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1538 uint16_t LineHeading;
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1539
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1540 static int32_t LastHeading = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1541 int32_t newHeading = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1542 int32_t diff = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1543 int32_t diff2 = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1544
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1545 int32_t diffAbs = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1546 int32_t diffAbs2 = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1547
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1548 newHeading = ActualHeading;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1549
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1550 diff = newHeading - LastHeading;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1551
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1552 if(newHeading < LastHeading)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1553 diff2 = newHeading + 360 - LastHeading;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1554 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1555 diff2 = newHeading - 360 - LastHeading;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1556
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1557 diffAbs = diff;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1558 if(diffAbs < 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1559 diffAbs *= -1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1560
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1561 diffAbs2 = diff2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1562 if(diffAbs2 < 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1563 diffAbs2 *= -1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1564
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1565 if(diffAbs <= diffAbs2)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1566 newHeading = LastHeading + (diff / 2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1567 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1568 newHeading = LastHeading + (diff2 / 2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1569
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1570 if(newHeading < 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1571 newHeading += 360;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1572 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1573 if(newHeading >= 360)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1574 newHeading -= 360;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1575
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1576 LastHeading = newHeading;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1577 ActualHeading = newHeading;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1578
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1579 if (ActualHeading < 90)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1580 ActualHeading += 360;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1581
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1582 while(ActualHeading > 359) ActualHeading -= 360;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1583
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1584 LineHeading = 360 - ActualHeading;
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1585
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1586 GFX_draw_thick_line(9,tXscreen, t3_compass_circle(0,LineHeading, center), t3_compass_circle(2,LineHeading, center), CLUT_Font030); // North
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1587 LineHeading += 90;
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1588
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1589 for (loop = 0; loop < 3; loop++)
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1590 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1591 if(LineHeading > 359) LineHeading -= 360;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1592 GFX_draw_thick_line(9,tXscreen, t3_compass_circle(0,LineHeading, center), t3_compass_circle(2,LineHeading, center), CLUT_Font031); // Main Ticks
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1593 LineHeading += 90;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1594 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1595
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1596 LineHeading = 360 - ActualHeading;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1597 LineHeading += 45;
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1598
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1599 for (loop = 0; loop < 4; loop++)
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1600 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1601 if(LineHeading > 359) LineHeading -= 360;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1602 GFX_draw_thick_line(5,tXscreen, t3_compass_circle(1,LineHeading, center), t3_compass_circle(2,LineHeading, center), CLUT_Font031); // Subtick
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1603 LineHeading += 90;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1604 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1605
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1606 LineHeading = 360 - ActualHeading;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1607 LineHeading += 22;
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1608 for (loop = 0; loop < 8; loop++)
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1609 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1610 if(LineHeading > 359) LineHeading -= 360;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1611 GFX_draw_thick_line(3,tXscreen, t3_compass_circle(1,LineHeading, center), t3_compass_circle(2,LineHeading, center), CLUT_Font031); // Subtick
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1612 LineHeading += 45;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1613 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1614 if(UserSetHeading)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1615 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1616 LineHeading = UserSetHeading + 360 - ActualHeading;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1617 if(LineHeading > 359) LineHeading -= 360;
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1618 GFX_draw_thick_line(9,tXscreen, t3_compass_circle(3,LineHeading, center), t3_compass_circle(2,LineHeading, center), CLUT_CompassUserHeadingTick);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1619
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1620 // R�ckpeilung, User Back Heading
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1621 LineHeading = UserSetHeading + 360 + 180 - ActualHeading;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1622 if(LineHeading > 359) LineHeading -= 360;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1623 if(LineHeading > 359) LineHeading -= 360;
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1624 GFX_draw_thick_line(9,tXscreen, t3_compass_circle(3,LineHeading, center), t3_compass_circle(2,LineHeading, center), CLUT_CompassUserBackHeadingTick);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1625 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1626
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1627 GFX_draw_circle(tXscreen, center, 106, CLUT_Font030);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1628 GFX_draw_circle(tXscreen, center, 107, CLUT_Font030);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1629 GFX_draw_circle(tXscreen, center, 108, CLUT_Font030);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1630 }
384
427ae9f8e28e Consider number of available t3 views in sector handling:
ideenmodellierer
parents: 272
diff changeset
1631
427ae9f8e28e Consider number of available t3 views in sector handling:
ideenmodellierer
parents: 272
diff changeset
1632 uint8_t t3_GetEnabled_customviews()
427ae9f8e28e Consider number of available t3 views in sector handling:
ideenmodellierer
parents: 272
diff changeset
1633 {
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1634 uint8_t *pViews;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1635 uint8_t increment = 1;
384
427ae9f8e28e Consider number of available t3 views in sector handling:
ideenmodellierer
parents: 272
diff changeset
1636 uint8_t enabledViewCnt = 0;
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1637
511
5185ade91096 Minor adaptions in page layout:
Ideenmodellierer
parents: 496
diff changeset
1638 pViews = (uint8_t*)t3_customviewsStandard;
496
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1639 while((*pViews != CVIEW_T3_END))
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1640 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1641 increment = 1;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1642 /* check if view is enabled */
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1643 if(t3_customview_disabled(*pViews))
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1644 {
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1645 increment = 0;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1646 }
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1647 pViews++;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1648 enabledViewCnt += increment;
9623f166b0c0 Bugfix display of disabled screen.
Ideenmodellierer
parents: 413
diff changeset
1649 }
384
427ae9f8e28e Consider number of available t3 views in sector handling:
ideenmodellierer
parents: 272
diff changeset
1650 return enabledViewCnt;
427ae9f8e28e Consider number of available t3 views in sector handling:
ideenmodellierer
parents: 272
diff changeset
1651 }
427ae9f8e28e Consider number of available t3 views in sector handling:
ideenmodellierer
parents: 272
diff changeset
1652
518
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
1653 uint8_t t3_getCustomView(void)
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
1654 {
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
1655 return t3_selection_customview;
0a09afac969f Added T3_gaslist:
Ideenmodellierer
parents: 511
diff changeset
1656 }