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"
|
|
45
|
|
46 extern const uint16_t BigFontSeperationLeftRight; // in t3.c
|
|
47 extern const uint16_t BigFontSeperationTopBottom; // in t3.c
|
|
48
|
|
49 #define MAX_AGE_DECOINFO_MS (120000)
|
|
50
|
|
51 enum EXTRADISPLAYS
|
|
52 {
|
|
53 EXTRADISPLAY_none = 0,
|
|
54 EXTRADISPLAY_BIGFONT,
|
|
55 EXTRADISPLAY_DECOGAME,
|
|
56 EXTRADISPLAY_END
|
|
57 };
|
|
58
|
|
59 enum CUSTOMVIEWS
|
|
60 {
|
|
61 CVIEW_noneOrDebug = 0,
|
|
62 CVIEW_sensors,
|
|
63 CVIEW_Compass,
|
|
64 CVIEW_Decolist,
|
|
65 CVIEW_Tissues,
|
|
66 CVIEW_Profile,
|
|
67 CVIEW_EADTime,
|
|
68 CVIEW_Gaslist,
|
|
69 CVIEW_sensors_mV,
|
|
70 CVIEW_Hello,
|
|
71 CVIEW_CompassDebug,
|
|
72 CVIEW_SummaryOfLeftCorner,
|
|
73 CVIEW_END,
|
|
74 CVIEW_T3_Decostop,
|
|
75 CVIEW_T3_TTS,
|
|
76 CVIEW_T3_MaxDepth,
|
|
77 CVIEW_T3_ppO2andGas,
|
|
78 CVIEW_T3_StopWatch,
|
|
79 CVIEW_T3_GasList,
|
|
80 CVIEW_T3_Temperature,
|
|
81 CVIEW_T3_ApnoeSurfaceInfo,
|
|
82 CVIEW_T3_END
|
|
83 };
|
|
84
|
|
85 // for custom view switch on/off 161122 hw
|
|
86 extern const uint8_t cv_changelist[6];
|
|
87 extern uint32_t cv_configuration;
|
|
88 #define CHECK_BIT_THOME(var,pos) (((var)>>(pos)) & 1)
|
|
89
|
|
90 typedef struct
|
|
91 {
|
|
92 uint16_t Hours;
|
|
93 uint16_t Minutes;
|
|
94 uint16_t Seconds;
|
|
95 uint32_t Total;
|
|
96
|
|
97 } SDivetime;
|
|
98
|
|
99
|
|
100 typedef struct
|
|
101 {
|
|
102 uint8_t Days;
|
|
103 uint8_t Hours;
|
|
104 uint8_t Minutes;
|
|
105 uint8_t Seconds;
|
|
106 uint32_t Total;
|
|
107 } SSurfacetime;
|
|
108
|
|
109
|
|
110 extern _Bool warning_count_high_time;
|
|
111 extern _Bool display_count_high_time;
|
|
112 extern uint8_t errorsInSettings;
|
|
113
|
|
114
|
|
115 void tHome_init(void);
|
|
116 void tHome_refresh(void);
|
|
117 void tHome_sleepmode_fun(void);
|
|
118 void set_globalState_tHome(void);
|
|
119 void switch_to_SimData_tHome(void);
|
|
120 void switch_to_RealData_tHome(void);
|
|
121 void tHome_change_field_button_pressed(void);
|
|
122 void tHome_change_customview_button_pressed(void);
|
|
123
|
|
124 void tHome_findNextStop(const uint16_t *list, uint8_t *depthOut, uint16_t *lengthOut);
|
|
125 void tHomeDiveMenuControl(uint8_t sendAction);
|
|
126 void tHome_tick(void);
|
|
127
|
|
128 uint8_t tHome_gas_writer(uint8_t oxygen_percentage, uint8_t helium_percentage, char *text);
|
|
129 uint32_t tHome_DateCode(RTC_DateTypeDef *dateInput);
|
|
130
|
|
131 void tHome_init_compass(void);
|
|
132
|
|
133 float t3_basics_lines_depth_and_divetime(GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXl1, GFX_DrawCfgWindow* tXr1, uint8_t mode);
|
|
134 void t3_basics_battery_low_customview_extra(GFX_DrawCfgWindow* tXc1);
|
|
135 void t3_basics_show_customview_warnings(GFX_DrawCfgWindow* tXc1);
|
|
136 void t3_basics_refresh_customview(float depth, uint8_t tX_selection_customview, GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXc1, GFX_DrawCfgWindow* tXc2, uint8_t mode);
|
|
137 void t3_basics_refresh_apnoeRight(float depth, uint8_t tX_selection_customview, GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXc1, GFX_DrawCfgWindow* tXc2, uint8_t mode);
|
|
138 //void _findNextStop(const uint16_t *list, uint8_t *depthOut, uint16_t *lengthOut);
|
|
139 void t3_basics_colorscheme_mod(char *text);
|
|
140 void t3_basics_change_customview(uint8_t *tX_selection_customview, const uint8_t *tX_customviews);
|
|
141
|
|
142 uint8_t tHome_show_lost_connection_count(GFX_DrawCfgScreen *ScreenToWriteOn);
|
|
143
|
|
144 #endif /* THOME_H */
|