comparison Discovery/Inc/tHome.h @ 38:5f11787b4f42

include in ostc4 repository
author heinrichsweikamp
date Sat, 28 Apr 2018 11:52:34 +0200
parents
children cc9c18075e00
comparison
equal deleted inserted replaced
37:ccc45c0e1ea2 38:5f11787b4f42
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_Scooter,
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,
83 CVIEW_T3_END
84 };
85
86 // for custom view switch on/off 161122 hw
87 extern const uint8_t cv_changelist[6];
88 extern uint32_t cv_configuration;
89 #define CHECK_BIT_THOME(var,pos) (((var)>>(pos)) & 1)
90
91 typedef struct
92 {
93 uint16_t Hours;
94 uint16_t Minutes;
95 uint16_t Seconds;
96 uint32_t Total;
97
98 } SDivetime;
99
100
101 typedef struct
102 {
103 uint8_t Days;
104 uint8_t Hours;
105 uint8_t Minutes;
106 uint8_t Seconds;
107 uint32_t Total;
108 } SSurfacetime;
109
110
111 extern _Bool warning_count_high_time;
112 extern _Bool display_count_high_time;
113 extern uint8_t errorsInSettings;
114
115
116 void tHome_init(void);
117 void tHome_refresh(void);
118 void tHome_sleepmode_fun(void);
119 void set_globalState_tHome(void);
120 void switch_to_SimData_tHome(void);
121 void switch_to_RealData_tHome(void);
122 void tHome_change_field_button_pressed(void);
123 void tHome_change_customview_button_pressed(void);
124
125 void tHome_findNextStop(const uint16_t *list, uint8_t *depthOut, uint16_t *lengthOut);
126 void tHomeDiveMenuControl(uint8_t sendAction);
127 void tHome_tick(void);
128
129 uint8_t tHome_gas_writer(uint8_t oxygen_percentage, uint8_t helium_percentage, char *text);
130 uint32_t tHome_DateCode(RTC_DateTypeDef *dateInput);
131
132 void tHome_init_compass(void);
133
134 float t3_basics_lines_depth_and_divetime(GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXl1, GFX_DrawCfgWindow* tXr1, uint8_t mode);
135 void t3_basics_battery_low_customview_extra(GFX_DrawCfgWindow* tXc1);
136 void t3_basics_battery_scooter_customview_extra(GFX_DrawCfgWindow* tXc1);
137 void t3_basics_show_customview_warnings(GFX_DrawCfgWindow* tXc1);
138 void t3_basics_refresh_customview(float depth, uint8_t tX_selection_customview, GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXc1, GFX_DrawCfgWindow* tXc2, uint8_t mode);
139 void t3_basics_refresh_apnoeRight(float depth, uint8_t tX_selection_customview, GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXc1, GFX_DrawCfgWindow* tXc2, uint8_t mode);
140 //void _findNextStop(const uint16_t *list, uint8_t *depthOut, uint16_t *lengthOut);
141 void t3_basics_colorscheme_mod(char *text);
142 void t3_basics_change_customview(uint8_t *tX_selection_customview, const uint8_t *tX_customviews);
143
144 uint8_t tHome_show_lost_connection_count(GFX_DrawCfgScreen *ScreenToWriteOn);
145
146 #endif /* THOME_H */