Mercurial > public > ostc4
annotate Discovery/Inc/tHome.h @ 693:79ce499e26aa Betatest
Improvment charge percent visualization:
The percent display is now clipped to 100.0%. As small deviation may happen between physical battery and the theoretical counter value, percent > 100 may happen. To avoid confusion values > 100% are no longer displayed. In addition a small % has been added to the visualization of the value.
| author | Ideenmodellierer |
|---|---|
| date | Fri, 05 Aug 2022 16:04:52 +0200 |
| parents | c00a80f26641 |
| children | 5078da3845c0 |
| 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" | |
|
493
b560e474e319
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, | |
| 672 | 74 CVIEW_Charger, |
| 38 | 75 CVIEW_END, |
| 76 CVIEW_T3_Decostop, | |
| 77 CVIEW_T3_TTS, | |
| 78 CVIEW_T3_MaxDepth, | |
| 79 CVIEW_T3_ppO2andGas, | |
| 80 CVIEW_T3_StopWatch, | |
| 81 CVIEW_T3_GasList, | |
| 82 CVIEW_T3_Temperature, | |
| 83 CVIEW_T3_ApnoeSurfaceInfo, | |
|
493
b560e474e319
Added possibility to switch between "classic" bigfont views and a selection with a new information combination
Ideenmodellierer
parents:
386
diff
changeset
|
84 CVIEW_T3_Navigation, |
|
b560e474e319
Added possibility to switch between "classic" bigfont views and a selection with a new information combination
Ideenmodellierer
parents:
386
diff
changeset
|
85 CVIEW_T3_DepthData, |
|
542
6960df7ddb09
Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents:
505
diff
changeset
|
86 CVIEW_T3_DecoTTS, |
|
594
280c11153080
Added compile switch for new T3 View Profile
Ideenmodellierer
parents:
542
diff
changeset
|
87 #ifdef ENABLE_T3_PROFILE_VIEW |
|
280c11153080
Added compile switch for new T3 View Profile
Ideenmodellierer
parents:
542
diff
changeset
|
88 CVIEW_T3_Profile, |
|
280c11153080
Added compile switch for new T3 View Profile
Ideenmodellierer
parents:
542
diff
changeset
|
89 #endif |
| 38 | 90 CVIEW_T3_END |
| 91 }; | |
| 92 | |
| 93 // for custom view switch on/off 161122 hw | |
| 379 | 94 extern const uint8_t cv_changelist[]; |
|
493
b560e474e319
Added possibility to switch between "classic" bigfont views and a selection with a new information combination
Ideenmodellierer
parents:
386
diff
changeset
|
95 extern const uint8_t cv_changelist_BS[]; |
|
b560e474e319
Added possibility to switch between "classic" bigfont views and a selection with a new information combination
Ideenmodellierer
parents:
386
diff
changeset
|
96 |
| 38 | 97 #define CHECK_BIT_THOME(var,pos) (((var)>>(pos)) & 1) |
| 98 | |
| 99 typedef struct | |
| 100 { | |
| 101 uint16_t Hours; | |
| 102 uint16_t Minutes; | |
| 103 uint16_t Seconds; | |
| 104 uint32_t Total; | |
| 105 | |
| 106 } SDivetime; | |
| 107 | |
| 108 | |
| 109 typedef struct | |
| 110 { | |
| 111 uint8_t Days; | |
| 112 uint8_t Hours; | |
| 113 uint8_t Minutes; | |
| 114 uint8_t Seconds; | |
| 115 uint32_t Total; | |
| 116 } SSurfacetime; | |
| 117 | |
| 118 | |
| 119 extern _Bool warning_count_high_time; | |
| 120 extern _Bool display_count_high_time; | |
| 121 extern uint8_t errorsInSettings; | |
| 122 | |
| 123 | |
| 124 void tHome_init(void); | |
| 125 void tHome_refresh(void); | |
| 126 void tHome_sleepmode_fun(void); | |
| 127 void set_globalState_tHome(void); | |
| 128 void tHome_change_field_button_pressed(void); | |
|
361
b111fc4250e9
Pass action to customer vie update function.
Ideenmodellierer
parents:
289
diff
changeset
|
129 void tHome_change_customview_button_pressed(uint8_t action); |
| 38 | 130 |
| 131 void tHome_findNextStop(const uint16_t *list, uint8_t *depthOut, uint16_t *lengthOut); | |
| 132 void tHomeDiveMenuControl(uint8_t sendAction); | |
| 133 void tHome_tick(void); | |
| 134 | |
| 135 uint8_t tHome_gas_writer(uint8_t oxygen_percentage, uint8_t helium_percentage, char *text); | |
| 136 uint32_t tHome_DateCode(RTC_DateTypeDef *dateInput); | |
| 137 | |
| 138 void tHome_init_compass(void); | |
| 505 | 139 uint8_t tHome_getNumberOfAvailableCVs(const uint8_t* pcv_list); |
| 38 | 140 |
| 141 float t3_basics_lines_depth_and_divetime(GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXl1, GFX_DrawCfgWindow* tXr1, uint8_t mode); | |
| 142 void t3_basics_battery_low_customview_extra(GFX_DrawCfgWindow* tXc1); | |
| 143 void t3_basics_show_customview_warnings(GFX_DrawCfgWindow* tXc1); | |
| 144 void t3_basics_refresh_customview(float depth, uint8_t tX_selection_customview, GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXc1, GFX_DrawCfgWindow* tXc2, uint8_t mode); | |
| 145 void t3_basics_refresh_apnoeRight(float depth, uint8_t tX_selection_customview, GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXc1, GFX_DrawCfgWindow* tXc2, uint8_t mode); | |
| 146 //void _findNextStop(const uint16_t *list, uint8_t *depthOut, uint16_t *lengthOut); | |
| 147 void t3_basics_colorscheme_mod(char *text); | |
| 505 | 148 void t3_basics_change_customview(uint8_t *tX_selection_customview, const uint8_t *tX_customviews, uint8_t action); |
| 38 | 149 |
| 150 uint8_t tHome_show_lost_connection_count(GFX_DrawCfgScreen *ScreenToWriteOn); | |
| 151 | |
| 152 #endif /* THOME_H */ |
