Mercurial > public > ostc4
diff Discovery/Inc/tHome.h @ 38:5f11787b4f42
include in ostc4 repository
author | heinrichsweikamp |
---|---|
date | Sat, 28 Apr 2018 11:52:34 +0200 |
parents | |
children | cc9c18075e00 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Discovery/Inc/tHome.h Sat Apr 28 11:52:34 2018 +0200 @@ -0,0 +1,146 @@ +/////////////////////////////////////////////////////////////////////////////// +/// -*- coding: UTF-8 -*- +/// +/// \file Discovery/Inc/tHome.h +/// \brief Control for Surface and Dive Templates +/// \author heinrichs weikamp gmbh +/// \date 10-November-2014 +/// +/// $Id$ +/////////////////////////////////////////////////////////////////////////////// +/// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU General Public License as published by +/// the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU General Public License for more details. +/// +/// You should have received a copy of the GNU General Public License +/// along with this program. If not, see <http://www.gnu.org/licenses/>. +////////////////////////////////////////////////////////////////////////////// + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef THOME_H +#define THOME_H + +/* Includes ------------------------------------------------------------------*/ + +#include <stdio.h> +#include <string.h> +#include "stm32f4xx_hal.h" +#include "base.h" +#include "gfx.h" +#include "gfx_colors.h" +#include "gfx_engine.h" +#include "text_multilanguage.h" +#include "settings.h" +#include "data_central.h" +#include "data_exchange.h" +#include "check_warning.h" + +extern const uint16_t BigFontSeperationLeftRight; // in t3.c +extern const uint16_t BigFontSeperationTopBottom; // in t3.c + +#define MAX_AGE_DECOINFO_MS (120000) + +enum EXTRADISPLAYS +{ + EXTRADISPLAY_none = 0, + EXTRADISPLAY_BIGFONT, + EXTRADISPLAY_DECOGAME, + EXTRADISPLAY_END +}; + +enum CUSTOMVIEWS +{ + CVIEW_noneOrDebug = 0, + CVIEW_sensors, + CVIEW_Compass, + CVIEW_Decolist, + CVIEW_Tissues, + CVIEW_Profile, + CVIEW_EADTime, + CVIEW_Gaslist, + CVIEW_sensors_mV, + CVIEW_Scooter, + CVIEW_Hello, + CVIEW_CompassDebug, + CVIEW_SummaryOfLeftCorner, + CVIEW_END, + CVIEW_T3_Decostop, + CVIEW_T3_TTS, + CVIEW_T3_MaxDepth, + CVIEW_T3_ppO2andGas, + CVIEW_T3_StopWatch, + CVIEW_T3_GasList, + CVIEW_T3_Temperature, + CVIEW_T3_ApnoeSurfaceInfo, + CVIEW_T3_END +}; + +// for custom view switch on/off 161122 hw +extern const uint8_t cv_changelist[6]; +extern uint32_t cv_configuration; +#define CHECK_BIT_THOME(var,pos) (((var)>>(pos)) & 1) + +typedef struct +{ + uint16_t Hours; + uint16_t Minutes; + uint16_t Seconds; + uint32_t Total; + +} SDivetime; + + +typedef struct +{ + uint8_t Days; + uint8_t Hours; + uint8_t Minutes; + uint8_t Seconds; + uint32_t Total; +} SSurfacetime; + + +extern _Bool warning_count_high_time; +extern _Bool display_count_high_time; +extern uint8_t errorsInSettings; + + +void tHome_init(void); +void tHome_refresh(void); +void tHome_sleepmode_fun(void); +void set_globalState_tHome(void); +void switch_to_SimData_tHome(void); +void switch_to_RealData_tHome(void); +void tHome_change_field_button_pressed(void); +void tHome_change_customview_button_pressed(void); + +void tHome_findNextStop(const uint16_t *list, uint8_t *depthOut, uint16_t *lengthOut); +void tHomeDiveMenuControl(uint8_t sendAction); +void tHome_tick(void); + +uint8_t tHome_gas_writer(uint8_t oxygen_percentage, uint8_t helium_percentage, char *text); +uint32_t tHome_DateCode(RTC_DateTypeDef *dateInput); + +void tHome_init_compass(void); + +float t3_basics_lines_depth_and_divetime(GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXl1, GFX_DrawCfgWindow* tXr1, uint8_t mode); +void t3_basics_battery_low_customview_extra(GFX_DrawCfgWindow* tXc1); +void t3_basics_battery_scooter_customview_extra(GFX_DrawCfgWindow* tXc1); +void t3_basics_show_customview_warnings(GFX_DrawCfgWindow* tXc1); +void t3_basics_refresh_customview(float depth, uint8_t tX_selection_customview, GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXc1, GFX_DrawCfgWindow* tXc2, uint8_t mode); +void t3_basics_refresh_apnoeRight(float depth, uint8_t tX_selection_customview, GFX_DrawCfgScreen *tXscreen, GFX_DrawCfgWindow* tXc1, GFX_DrawCfgWindow* tXc2, uint8_t mode); +//void _findNextStop(const uint16_t *list, uint8_t *depthOut, uint16_t *lengthOut); +void t3_basics_colorscheme_mod(char *text); +void t3_basics_change_customview(uint8_t *tX_selection_customview, const uint8_t *tX_customviews); + +uint8_t tHome_show_lost_connection_count(GFX_DrawCfgScreen *ScreenToWriteOn); + +#endif /* THOME_H */