Mercurial > public > ostc4
annotate Discovery/Inc/tHome.h @ 529:0e1db77b2aca
Added skip condition in custom view selection:
Decoplan may be selected even nothing was shown due to certain display conditions. These conditions have now been added to selection function to show deco plan only if data is available for visualization.
author | Ideenmodellierer |
---|---|
date | Tue, 15 Sep 2020 20:52:39 +0200 |
parents | 06b21f1e47a5 |
children | 6960df7ddb09 |
rev | line source |
---|---|
38 | 1 /////////////////////////////////////////////////////////////////////////////// |
2 /// -*- coding: UTF-8 -*- | |
3 /// | |
4 /// \file Discovery/Inc/tHome.h | |
5 /// \brief Control for Surface and Dive Templates | |
6 /// \author heinrichs weikamp gmbh | |
7 /// \date 10-November-2014 | |
8 /// | |
9 /// $Id$ | |
10 /////////////////////////////////////////////////////////////////////////////// | |
11 /// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh | |
12 /// | |
13 /// This program is free software: you can redistribute it and/or modify | |
14 /// it under the terms of the GNU General Public License as published by | |
15 /// the Free Software Foundation, either version 3 of the License, or | |
16 /// (at your option) any later version. | |
17 /// | |
18 /// This program is distributed in the hope that it will be useful, | |
19 /// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
20 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
21 /// GNU General Public License for more details. | |
22 /// | |
23 /// You should have received a copy of the GNU General Public License | |
24 /// along with this program. If not, see <http://www.gnu.org/licenses/>. | |
25 ////////////////////////////////////////////////////////////////////////////// | |
26 | |
27 /* Define to prevent recursive inclusion -------------------------------------*/ | |
28 #ifndef THOME_H | |
29 #define THOME_H | |
30 | |
31 /* Includes ------------------------------------------------------------------*/ | |
32 | |
33 #include <stdio.h> | |
34 #include <string.h> | |
35 #include "stm32f4xx_hal.h" | |
36 #include "base.h" | |
37 #include "gfx.h" | |
38 #include "gfx_colors.h" | |
39 #include "gfx_engine.h" | |
40 #include "text_multilanguage.h" | |
41 #include "settings.h" | |
42 #include "data_central.h" | |
43 #include "data_exchange.h" | |
44 #include "check_warning.h" | |
500
0d2449e9d659
Added possibility to switch between "classic" bigfont views and a selection with a new information combination
Ideenmodellierer
parents:
386
diff
changeset
|
45 #include "configuration.h" |
38 | 46 |
47 extern const uint16_t BigFontSeperationLeftRight; // in t3.c | |
48 extern const uint16_t BigFontSeperationTopBottom; // in t3.c | |
49 | |
50 #define MAX_AGE_DECOINFO_MS (120000) | |
51 | |
52 enum EXTRADISPLAYS | |
53 { | |
54 EXTRADISPLAY_none = 0, | |
55 EXTRADISPLAY_BIGFONT, | |
56 EXTRADISPLAY_DECOGAME, | |
57 EXTRADISPLAY_END | |
58 }; | |
59 | |
60 enum CUSTOMVIEWS | |
61 { | |
62 CVIEW_noneOrDebug = 0, | |
63 CVIEW_sensors, | |
64 CVIEW_Compass, | |
65 CVIEW_Decolist, | |
66 CVIEW_Tissues, | |
67 CVIEW_Profile, | |
68 CVIEW_EADTime, | |
69 CVIEW_Gaslist, | |
70 CVIEW_sensors_mV, | |
71 CVIEW_Hello, | |
72 CVIEW_CompassDebug, | |
73 CVIEW_SummaryOfLeftCorner, | |
74 CVIEW_END, | |
75 CVIEW_T3_Decostop, | |
76 CVIEW_T3_TTS, | |
77 CVIEW_T3_MaxDepth, | |
78 CVIEW_T3_ppO2andGas, | |
79 CVIEW_T3_StopWatch, | |
80 CVIEW_T3_GasList, | |
81 CVIEW_T3_Temperature, | |
82 CVIEW_T3_ApnoeSurfaceInfo, | |
500
0d2449e9d659
Added possibility to switch between "classic" bigfont views and a selection with a new information combination
Ideenmodellierer
parents:
386
diff
changeset
|
83 CVIEW_T3_Navigation, |
0d2449e9d659
Added possibility to switch between "classic" bigfont views and a selection with a new information combination
Ideenmodellierer
parents:
386
diff
changeset
|
84 CVIEW_T3_DepthData, |
38 | 85 CVIEW_T3_END |
86 }; | |
87 | |
88 // for custom view switch on/off 161122 hw | |
379 | 89 extern const uint8_t cv_changelist[]; |
500
0d2449e9d659
Added possibility to switch between "classic" bigfont views and a selection with a new information combination
Ideenmodellierer
parents:
386
diff
changeset
|
90 extern const uint8_t cv_changelist_BS[]; |
0d2449e9d659
Added possibility to switch between "classic" bigfont views and a selection with a new information combination
Ideenmodellierer
parents:
386
diff
changeset
|
91 |
38 | 92 #define CHECK_BIT_THOME(var,pos) (((var)>>(pos)) & 1) |
93 | |
94 typedef struct | |
95 { | |
96 uint16_t Hours; | |
97 uint16_t Minutes; | |
98 uint16_t Seconds; | |
99 uint32_t Total; | |
100 | |
101 } SDivetime; | |
102 | |
103 | |
104 typedef struct | |
105 { | |
106 uint8_t Days; | |
107 uint8_t Hours; | |
108 uint8_t Minutes; | |
109 uint8_t Seconds; | |
110 uint32_t Total; | |
111 } SSurfacetime; | |
112 | |
113 | |
114 extern _Bool warning_count_high_time; | |
115 extern _Bool display_count_high_time; | |
116 extern uint8_t errorsInSettings; | |
117 | |
118 | |
119 void tHome_init(void); | |
120 void tHome_refresh(void); | |
121 void tHome_sleepmode_fun(void); | |
122 void set_globalState_tHome(void); | |
123 void tHome_change_field_button_pressed(void); | |
361
b111fc4250e9
Pass action to customer vie update function.
Ideenmodellierer
parents:
289
diff
changeset
|
124 void tHome_change_customview_button_pressed(uint8_t action); |
38 | 125 |
126 void tHome_findNextStop(const uint16_t *list, uint8_t *depthOut, uint16_t *lengthOut); | |
127 void tHomeDiveMenuControl(uint8_t sendAction); | |
128 void tHome_tick(void); | |
129 | |
130 uint8_t tHome_gas_writer(uint8_t oxygen_percentage, uint8_t helium_percentage, char *text); | |
131 uint32_t tHome_DateCode(RTC_DateTypeDef *dateInput); | |
132 | |
133 void tHome_init_compass(void); | |
505 | 134 uint8_t tHome_getNumberOfAvailableCVs(const uint8_t* pcv_list); |
38 | 135 |
136 float t3_basics_lines_depth_and_divetime(GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXl1, GFX_DrawCfgWindow* tXr1, uint8_t mode); | |
137 void t3_basics_battery_low_customview_extra(GFX_DrawCfgWindow* tXc1); | |
138 void t3_basics_show_customview_warnings(GFX_DrawCfgWindow* tXc1); | |
139 void t3_basics_refresh_customview(float depth, uint8_t tX_selection_customview, GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXc1, GFX_DrawCfgWindow* tXc2, uint8_t mode); | |
140 void t3_basics_refresh_apnoeRight(float depth, uint8_t tX_selection_customview, GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXc1, GFX_DrawCfgWindow* tXc2, uint8_t mode); | |
141 //void _findNextStop(const uint16_t *list, uint8_t *depthOut, uint16_t *lengthOut); | |
142 void t3_basics_colorscheme_mod(char *text); | |
505 | 143 void t3_basics_change_customview(uint8_t *tX_selection_customview, const uint8_t *tX_customviews, uint8_t action); |
38 | 144 |
145 uint8_t tHome_show_lost_connection_count(GFX_DrawCfgScreen *ScreenToWriteOn); | |
146 | |
147 #endif /* THOME_H */ |