annotate Discovery/Src/tMenuEditSystem.c @ 1046:1d7c7a36df15 GasConsumption

Bugfix OSTC5 BT and enabling fast mode: The OSTC5 BT was operating at default speed of 115200. To enable the faster communication some init steps have been added to set speed to 460800. Having the UART enabled while the module was shut down caused problems during initialisation. To avoid these the BT UART is now initialized after the the module is powered on and deinitialized while the module is switched off.
author Ideenmodellierer
date Fri, 14 Nov 2025 18:54:20 +0100
parents 2af07aa38531
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1 ///////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2 /// -*- coding: UTF-8 -*-
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
3 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
4 /// \file Discovery/Src/tMenuEditSystem.c
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
5 /// \brief Main Template file for Menu Edit System settings
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
6 /// \author heinrichs weikamp gmbh
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
7 /// \date 05-Aug-2014
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
8 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
9 /// \details
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
10 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
11 /// $Id$
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
12 ///////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
13 /// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
14 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
15 /// This program is free software: you can redistribute it and/or modify
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
16 /// it under the terms of the GNU General Public License as published by
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
17 /// the Free Software Foundation, either version 3 of the License, or
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
18 /// (at your option) any later version.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
19 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
20 /// This program is distributed in the hope that it will be useful,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
21 /// but WITHOUT ANY WARRANTY; without even the implied warranty of
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
22 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
23 /// GNU General Public License for more details.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
24 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
25 /// You should have received a copy of the GNU General Public License
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
26 /// along with this program. If not, see <http://www.gnu.org/licenses/>.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
27 //////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
28
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
29 /* Includes ------------------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
30 #include "tMenuEditSystem.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
31
138
cc9c18075e00 Removed no longer supported scooter code
Ideenmodellierer
parents: 118
diff changeset
32 #include "data_exchange_main.h"
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
33 #include "externLogbookFlash.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
34 #include "gfx_fonts.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
35 #include "ostc.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
36 #include "settings.h" // for getLicence()
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
37 #include "tHome.h" // for enum CUSTOMVIEWS and init_t7_compass()
343
c9d217b110cc Added compile switch to enable debug view option in system menu
ideenmodellierer
parents: 259
diff changeset
38 #include "tMenu.h"
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
39 #include "tMenuEdit.h"
343
c9d217b110cc Added compile switch to enable debug view option in system menu
ideenmodellierer
parents: 259
diff changeset
40 #include "tMenuSystem.h"
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
41 #include "tMenuEditCustom.h"
389
ebc2b571a0b9 Fix case for case sensitive OS
Jan Mulder <jan@jlmulder.nl>
parents: 384
diff changeset
42 #include "motion.h"
343
c9d217b110cc Added compile switch to enable debug view option in system menu
ideenmodellierer
parents: 259
diff changeset
43 #include "t7.h"
959
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
44 #include "math.h"
343
c9d217b110cc Added compile switch to enable debug view option in system menu
ideenmodellierer
parents: 259
diff changeset
45
493
b560e474e319 Added possibility to switch between "classic" bigfont views and a selection with a new information combination
Ideenmodellierer
parents: 468
diff changeset
46
343
c9d217b110cc Added compile switch to enable debug view option in system menu
ideenmodellierer
parents: 259
diff changeset
47 /*#define HAVE_DEBUG_VIEW */
379
0dbf550dc743 Added missing customerview selection
ideenmodellierer
parents: 373
diff changeset
48 static uint8_t infoPage = 0;
1037
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
49 #ifdef ENABLE_SETTING_PROFILES
1027
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
50 static uint32_t profileStartCrc[NUMBER_OF_PROFILES];
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
51 static uint8_t profileActiveStart = 0;
1037
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
52 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
53
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
54 /* Private function prototypes -----------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
55 void openEdit_DateTime(void);
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
56 void openEdit_DateFormat(void);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
57 void openEdit_Language(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
58 void openEdit_Design(void);
1037
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
59 #ifdef ENABLE_SETTING_PROFILES
1027
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
60 void openEdit_Profile(void);
1037
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
61 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
62 void openEdit_Information(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
63 void openEdit_Reset(void);
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
64 void openEdit_Maintenance(void);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
65 //void openEdit_ShowDebugInfo(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
66 //void openEdit_Salinity(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
67
1017
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
68 static uint32_t swapBytes(uint32_t source)
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
69 {
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
70 uint32_t ret = 0;
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
71
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
72 ret = ((source & 0x000000FF) << 24)
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
73 | ((source & 0x0000FF00) << 8)
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
74 | ((source & 0x00FF0000) >> 8)
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
75 | ((source & 0xFF000000) >> 24);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
76
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
77 return ret;
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
78 }
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
79
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
80
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
81 /* Announced function prototypes -----------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
82 uint8_t OnAction_Date (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
83 uint8_t OnAction_Time (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
567
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
84 uint8_t OnAction_12HR (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
85 uint8_t OnAction_Format (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
86 uint8_t OnAction_DDMMYY (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
87 uint8_t OnAction_MMDDYY (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
88 uint8_t OnAction_YYMMDD (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
89 uint8_t OnAction_DST (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
90 uint8_t OnAction_UTC (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
91 uint8_t OnAction_SetGnss (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
92 uint8_t OnAction_English (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
93 uint8_t OnAction_German (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
94 uint8_t OnAction_French (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
95 uint8_t OnAction_Italian (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
96 uint8_t OnAction_Espanol (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
97 //uint8_t OnAction_Design_t7 (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
98 //uint8_t OnAction_Design_t7ft (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
99 //uint8_t OnAction_Design_t3 (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
100
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
101 uint8_t OnAction_Units (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
102 uint8_t OnAction_Colorscheme (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
103 uint8_t OnAction_DebugInfo (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
1037
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
104 #ifdef ENABLE_SETTING_PROFILES
1027
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
105 uint8_t OnAction_Profile(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
106 uint8_t OnAction_SetProfile(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
1037
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
107 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
108 uint8_t OnAction_Exit (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
109 uint8_t OnAction_Confirm (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
110 uint8_t OnAction_Maintenance (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
111 uint8_t OnAction_RebootRTE (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
112 uint8_t OnAction_ResetDeco (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
113 uint8_t OnAction_ResetAll (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
114 uint8_t OnAction_ResetLogbook (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
115 uint8_t OnAction_RebootMainCPU (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
116 uint8_t OnAction_Nothing (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
117 uint8_t OnAction_LogbookOffset(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
118 uint8_t OnAction_SetFactoryDefaults(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
119 uint8_t OnAction_SetBatteryCharge(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
120 uint8_t OnAction_AdjustSurfacePressure (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
468
aa1d71875e25 Moved and deactivated analyse sample buffer switch:
ideenmodellierer
parents: 446
diff changeset
121 #ifdef ENABLE_ANALYSE_SAMPLES
424
2b31cf1ebbcc Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents: 404
diff changeset
122 uint8_t OnAction_RecoverSampleIdx(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
468
aa1d71875e25 Moved and deactivated analyse sample buffer switch:
ideenmodellierer
parents: 446
diff changeset
123 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
124 #ifdef SCREENTEST
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
125 uint8_t OnAction_ScreenTest (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
126 #endif
1017
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
127 uint8_t OnAction_Information (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
128 uint8_t OnAction_FlashBootloader (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
129
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
130 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
131 uint8_t OnAction_Salinity (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
132 uint8_t OnAction_TestCLog (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
133 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
134
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
135 /* Exported functions --------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
136
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
137 void openEdit_System(uint8_t line)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
138 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
139 set_globalState_Menu_Line(line);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
140 resetMenuEdit(CLUT_MenuPageSystem);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
141
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
142 if(actual_menu_content == MENU_SURFACE)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
143 {
1027
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
144
1037
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
145 if(line == get_lineOfID(StMSYS1_DateTime))
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
146 {
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
147 openEdit_DateTime();
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
148 }
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
149 else if(line == get_lineOfID(StMSYS2_English))
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
150 {
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
151 openEdit_Language();
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
152 }
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
153 else if(line == get_lineOfID(StMSYS3_Units))
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
154 {
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
155 openEdit_Design();
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
156 }
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
157 else if(line == get_lineOfID(StMSYS4_Info))
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
158 {
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
159 openEdit_Information();
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
160 }
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
161 else if(line == get_lineOfID(StMSYS5_ResetAll))
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
162 {
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
163 openEdit_Reset();
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
164 }
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
165 #ifdef ENABLE_SETTING_PROFILES
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
166 else if(line == get_lineOfID(StMSYS_Profile))
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
167 {
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
168 openEdit_Profile();
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
169 }
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
170 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
171 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
172 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
173 {
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
174 openEdit_CustomviewDivemodeMenu(line);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
175 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
176
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
177 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
178
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
179 /* Private functions ---------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
180
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
181
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
182 void refresh_DateTime()
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
183 {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
184 RTC_DateTypeDef Sdate;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
185 RTC_TimeTypeDef Stime;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
186 uint8_t day,month,year,hour,minute;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
187 char text[32];
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
188 char formatStr[20];
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
189 SSettings *pSettings;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
190 const SFirmwareData *pFirmwareInfo;
988
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 959
diff changeset
191 #if defined ENABLE_GNSS_INTERN || defined ENABLE_GNSS_EXTERN
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
192 uint8_t localHours = 0;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
193 uint8_t localMinutes = 0;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
194 #endif
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
195 pFirmwareInfo = firmwareDataGetPointer();
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
196 const SDiveState * pStateReal = stateRealGetPointer();
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
197
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
198 pSettings = settingsGetPointer();
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
199
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
200 translateDate(pStateReal->lifeData.dateBinaryFormat, &Sdate);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
201 translateTime(pStateReal->lifeData.timeBinaryFormat, &Stime);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
202 year = Sdate.Year;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
203 month = Sdate.Month;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
204 day = Sdate.Date;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
205 hour = Stime.Hours;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
206 minute= Stime.Minutes;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
207
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
208 if(year < pFirmwareInfo->release_year)
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
209 year = pFirmwareInfo->release_year;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
210
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
211 if(month < 1)
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
212 month = 1;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
213
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
214 if(day < 1)
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
215 day = 1;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
216
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
217 getStringOfFormat_DDMMYY(formatStr, 20);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
218
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
219 text[0] = '\001';
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
220 text[1] = TXT_DateAndTime;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
221 text[2] = 0;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
222
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
223 write_topline(text);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
224
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
225 write_label_fix( 20, 340, ME_Y_LINE1, &FontT42, TXT_TimeConfig);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
226 write_label_fix( 20, 340, ME_Y_LINE2, &FontT42, TXT_Format);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
227 write_label_fix( 20, 340, ME_Y_LINE3, &FontT42, TXT_DateConfig);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
228 write_label_fix( 20, 790, ME_Y_LINE4, &FontT42, TXT_Format);
988
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 959
diff changeset
229 #if defined ENABLE_GNSS_INTERN || defined ENABLE_GNSS_EXTERN
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
230 write_label_var( 20, 340, ME_Y_LINE5, &FontT42, "GNSS");
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
231 snprintf(text, 32, "%c%c", TXT_2BYTE, TXT2BYTE_TIMEZONE);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
232 write_label_var( 20, 340, ME_Y_LINE6, &FontT42, text);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
233 #endif
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
234
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
235
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
236 tMenuEdit_newInput(StMSYS1_Time, hour, minute, 0, 0);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
237 tMenuEdit_set_on_off(StMSYS1_12HR, pSettings->amPMTime);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
238
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
239 switch(pSettings->date_format)
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
240 {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
241 default:
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
242 case DDMMYY: tMenuEdit_newInput(StMSYS1_Date, day, month, year, 0);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
243 break;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
244 case MMDDYY: tMenuEdit_newInput(StMSYS1_Date, month, day, year, 0);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
245 break;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
246 case YYMMDD: tMenuEdit_newInput(StMSYS1_Date, year, month, day, 0);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
247 break;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
248 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
249 tMenuEdit_newButtonText(StMSYS1_FORMAT, formatStr);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
250
988
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 959
diff changeset
251 #if defined ENABLE_GNSS_INTERN || defined ENABLE_GNSS_EXTERN
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
252 if(pStateReal->lifeData.gnssData.alive & GNSS_ALIVE_STATE_TIME)
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
253 {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
254 convertUTCToLocal(pStateReal->lifeData.gnssData.DateTime.hour, pStateReal->lifeData.gnssData.DateTime.min, &localHours, &localMinutes);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
255 convertStringOfDate_DDMMYY(formatStr, 20, pStateReal->lifeData.gnssData.DateTime.day
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
256 , pStateReal->lifeData.gnssData.DateTime.month
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
257 , pStateReal->lifeData.gnssData.DateTime.year);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
258 snprintf(text, 32, "%02d:%02d - %s", localHours, localMinutes, formatStr);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
259 tMenuEdit_newButtonText(StMSYS1_GNSSDT, text);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
260 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
261 else
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
262 {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
263 snprintf(text, 32, "--:--");
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
264 write_label_var( 320, 790, ME_Y_LINE5, &FontT42, text);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
265 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
266 tMenuEdit_newInput(StMSYS1_ZONE, pSettings->timeZone.hours, pSettings->timeZone.minutes, 0, 0);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
267 #endif
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
268 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
269 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
270 void openEdit_DateTime(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
271 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
272 RTC_DateTypeDef Sdate;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
273 RTC_TimeTypeDef Stime;
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
274 uint8_t day,month,year,hour,minute;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
275 char text[32];
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
276 char formatStr[20];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
277 SSettings *pSettings;
730
9c65d226f4f6 Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents: 720
diff changeset
278 const SFirmwareData *pFirmwareInfo;
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
279
720
4f70155362d2 Bugfix set date (year):
Ideenmodellierer
parents: 671
diff changeset
280 pFirmwareInfo = firmwareDataGetPointer();
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
281 const SDiveState * pStateReal = stateRealGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
282
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
283 pSettings = settingsGetPointer();
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
284
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
285 set_globalState(StMSYS1_DateTime);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
286 resetMenuEdit(CLUT_MenuPageSystem);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
287
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
288 translateDate(pStateReal->lifeData.dateBinaryFormat, &Sdate);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
289 translateTime(pStateReal->lifeData.timeBinaryFormat, &Stime);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
290 year = Sdate.Year;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
291 month = Sdate.Month;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
292 day = Sdate.Date;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
293 hour = Stime.Hours;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
294 minute= Stime.Minutes;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
295
720
4f70155362d2 Bugfix set date (year):
Ideenmodellierer
parents: 671
diff changeset
296 if(year < pFirmwareInfo->release_year)
4f70155362d2 Bugfix set date (year):
Ideenmodellierer
parents: 671
diff changeset
297 year = pFirmwareInfo->release_year;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
298
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
299 if(month < 1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
300 month = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
301
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
302 if(day < 1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
303 day = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
304
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
305 getStringOfFormat_DDMMYY(formatStr, 20);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
306
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
307 text[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
308 text[1] = TXT_DateAndTime;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
309 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
310
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
311 write_topline(text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
312
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
313 write_label_fix( 20, 340, ME_Y_LINE1, &FontT42, TXT_TimeConfig);
567
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
314 write_label_fix( 20, 340, ME_Y_LINE2, &FontT42, TXT_Format);
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
315 write_label_fix( 20, 340, ME_Y_LINE3, &FontT42, TXT_DateConfig);
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
316 write_label_fix( 20, 790, ME_Y_LINE4, &FontT42, TXT_Format);
988
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 959
diff changeset
317 #if defined ENABLE_GNSS_INTERN || defined ENABLE_GNSS_EXTERN
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
318 write_label_var( 20, 340, ME_Y_LINE5, &FontT42, "GNSS");
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
319 snprintf(text, 32, "%c%c", TXT_2BYTE, TXT2BYTE_TIMEZONE);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
320 write_label_var( 20, 340, ME_Y_LINE6, &FontT42, text);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
321 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
322
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
323 write_field_2digit(StMSYS1_Time, 320, 780, ME_Y_LINE1, &FontT48, "##:##", (uint32_t)hour, (uint32_t)minute, 0, 0);
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
324 write_field_on_off(StMSYS1_12HR, 320, 790, ME_Y_LINE2, &FontT48, "12 HR", pSettings->amPMTime);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
325
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
326 switch(pSettings->date_format)
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
327 {
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
328 default:
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
329 case DDMMYY: write_field_2digit(StMSYS1_Date, 320, 780, ME_Y_LINE3, &FontT48, "##-##-20##", (uint32_t)day, (uint32_t)month, (uint32_t)year, 0);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
330 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
331 case MMDDYY: write_field_2digit(StMSYS1_Date, 320, 780, ME_Y_LINE3, &FontT48, "##-##-20##", (uint32_t)month, (uint32_t)day, (uint32_t)year, 0);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
332 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
333 case YYMMDD: write_field_2digit(StMSYS1_Date, 320, 780, ME_Y_LINE3, &FontT48, "20##-##-##", (uint32_t)year, (uint32_t)month, (uint32_t)day, 0);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
334 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
335 }
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
336
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
337 write_field_button(StMSYS1_FORMAT, 320, 790, ME_Y_LINE4, &FontT48, formatStr);
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
338
988
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 959
diff changeset
339 #if defined ENABLE_GNSS_INTERN || defined ENABLE_GNSS_EXTERN
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
340 snprintf(text, 32, "--:--");
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
341 write_field_button(StMSYS1_GNSSDT, 320, 790, ME_Y_LINE5, &FontT48, text);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
342 write_field_sdigit(StMSYS1_ZONE, 320, 780, ME_Y_LINE6, &FontT48, "UTC: ###:###", pSettings->timeZone.hours, pSettings->timeZone.minutes,0,0);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
343 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
344
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
345 setEvent(StMSYS1_Date, (uint32_t)OnAction_Date);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
346 setEvent(StMSYS1_Time, (uint32_t)OnAction_Time);
567
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
347 setEvent(StMSYS1_12HR, (uint32_t)OnAction_12HR);
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
348 setEvent(StMSYS1_FORMAT, (uint32_t)OnAction_Format);
988
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 959
diff changeset
349 #if defined ENABLE_GNSS_INTERN || defined ENABLE_GNSS_EXTERN
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
350 setEvent(StMSYS1_GNSSDT, (uint32_t)OnAction_SetGnss);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
351 setEvent(StMSYS1_ZONE, (uint32_t)OnAction_UTC);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
352 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
353 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
354 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
355
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
356
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
357 uint8_t OnAction_Date(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
358 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
359 uint8_t digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
360 uint32_t newDay, newMonth, newYear;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
361 RTC_DateTypeDef sdatestructure;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
362
730
9c65d226f4f6 Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents: 720
diff changeset
363 const SFirmwareData *pFirmwareInfo;
720
4f70155362d2 Bugfix set date (year):
Ideenmodellierer
parents: 671
diff changeset
364 pFirmwareInfo = firmwareDataGetPointer();
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
365
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
366 uint8_t mapDMY[3];
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
367 switch(settingsGetPointer()->date_format)
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
368 {
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
369 default:
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
370 case DDMMYY: mapDMY[0] = 0;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
371 mapDMY[1] = 1;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
372 mapDMY[2] = 2;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
373 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
374 case MMDDYY: mapDMY[0] = 1;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
375 mapDMY[1] = 0;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
376 mapDMY[2] = 2;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
377 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
378 case YYMMDD: mapDMY[0] = 2;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
379 mapDMY[1] = 1;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
380 mapDMY[2] = 0;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
381 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
382 }
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
383
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
384 if(action == ACTION_BUTTON_ENTER)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
385 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
386 return digitContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
387 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
388 if(action == ACTION_BUTTON_ENTER_FINAL)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
389 {
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
390 switch(settingsGetPointer()->date_format)
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
391 {
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
392 default:
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
393 case DDMMYY: evaluateNewString(editId, &newDay, &newMonth, &newYear, 0);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
394 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
395 case MMDDYY: evaluateNewString(editId, &newMonth, &newDay, &newYear, 0);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
396 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
397 case YYMMDD: evaluateNewString(editId, &newYear, &newMonth, &newDay, 0);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
398 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
399 }
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
400
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
401 if(newDay == 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
402 newDay = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
403 if(newDay > 31)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
404 newDay = 31;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
405 if(newMonth == 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
406 newMonth = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
407 if(newMonth > 12)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
408 newMonth = 12;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
409 if((newMonth == 2) && (newDay > 29))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
410 newDay = 29;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
411 if((newDay > 30) && ((newMonth == 4) ||(newMonth == 6) ||(newMonth == 9) ||(newMonth == 11)))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
412 newDay = 30;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
413 if(newYear < 17)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
414 newYear = 17;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
415 if(newYear > 99)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
416 newYear = 99;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
417
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
418 sdatestructure.Date = newDay;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
419 sdatestructure.Month = newMonth;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
420 sdatestructure.Year = newYear;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
421 setWeekday(&sdatestructure);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
422
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
423 setDate(sdatestructure);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
424
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
425 switch(settingsGetPointer()->date_format)
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
426 {
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
427 default:
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
428 case DDMMYY: tMenuEdit_newInput(editId, newDay, newMonth, newYear, 0);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
429 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
430 case MMDDYY: tMenuEdit_newInput(editId, newMonth, newDay, newYear, 0);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
431 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
432 case YYMMDD: tMenuEdit_newInput(editId, newYear, newMonth, newDay, 0);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
433 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
434 }
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
435
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
436 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
437 }
720
4f70155362d2 Bugfix set date (year):
Ideenmodellierer
parents: 671
diff changeset
438 if(action == ACTION_BUTTON_NEXT) /* clip values to a specific range e.g. 12 months */
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
439 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
440 digitContentNew = digitContent + 1;
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
441
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
442 if((blockNumber == mapDMY[0]) && (digitContentNew > '0' + 31))
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
443 {
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
444 digitContentNew = '1';
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
445 }
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
446 if((blockNumber == mapDMY[1]) && (digitContentNew > '0' + 12))
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
447 {
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
448 digitContentNew = '1';
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
449 }
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
450 if((blockNumber == mapDMY[2]) && (digitContentNew > '0' + pFirmwareInfo->release_year + 10))
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
451 {
720
4f70155362d2 Bugfix set date (year):
Ideenmodellierer
parents: 671
diff changeset
452 digitContentNew = '0' + pFirmwareInfo->release_year;
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
453 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
454 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
455 }
720
4f70155362d2 Bugfix set date (year):
Ideenmodellierer
parents: 671
diff changeset
456 if(action == ACTION_BUTTON_BACK) /* clip values to a specific range e.g. 12 months */
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
457 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
458 digitContentNew = digitContent - 1;
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
459 if((blockNumber == mapDMY[0]) && (digitContentNew < '1'))
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
460 {
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
461 digitContentNew = '0' + 31;
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
462 }
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
463 if((blockNumber == mapDMY[1]) && (digitContentNew < '1'))
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
464 {
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
465 digitContentNew = '0' + 12;
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
466 }
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
467 if((blockNumber == mapDMY[2]) && (digitContentNew < '0' + pFirmwareInfo->release_year))
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
468 {
720
4f70155362d2 Bugfix set date (year):
Ideenmodellierer
parents: 671
diff changeset
469 digitContentNew = '0' + pFirmwareInfo->release_year + 10;
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
470 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
471 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
472 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
473 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
474 if(action == ACTION_BUTTON_NEXT)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
475 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
476 digitContentNew = digitContent + 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
477 if((blockNumber == 2) && (digitNumber == 0) && (digitContentNew > '2'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
478 digitContentNew = '1';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
479 if((blockNumber == 0) && (digitNumber == 0) && (digitContentNew > '3'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
480 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
481 if((blockNumber == 1) && (digitNumber == 0) && (digitContentNew > '1'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
482 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
483 if(digitContentNew > '9')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
484 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
485 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
486 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
487 if(action == ACTION_BUTTON_BACK)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
488 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
489 digitContentNew = digitContent - 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
490 if((blockNumber == 2) && (digitNumber == 0) && (digitContentNew < '1'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
491 digitContentNew = '2';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
492 if((blockNumber == 0) && (digitNumber == 0) && (digitContentNew < '0'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
493 digitContentNew = '3';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
494 if((blockNumber == 1) && (digitNumber == 0) && (digitContentNew < '0'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
495 digitContentNew = '1';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
496 if(digitContentNew < '0')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
497 digitContentNew = '9';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
498 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
499 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
500 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
501 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
502 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
503
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
504
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
505 uint8_t OnAction_Time(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
506 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
507 uint8_t digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
508 uint32_t newHour, newMinute;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
509 RTC_TimeTypeDef stimestructure;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
510
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
511 if(action == ACTION_BUTTON_ENTER)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
512 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
513 return digitContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
514 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
515 if(action == ACTION_BUTTON_ENTER_FINAL)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
516 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
517 evaluateNewString(editId, &newHour, &newMinute, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
518 if(newHour > 23)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
519 newHour = 23;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
520 if(newMinute > 59)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
521 newMinute = 59;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
522
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
523 stimestructure.Hours = newHour;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
524 stimestructure.Minutes = newMinute;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
525 stimestructure.Seconds = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
526
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
527 setTime(stimestructure);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
528
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
529 tMenuEdit_newInput(editId, newHour, newMinute, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
530 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
531 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
532 if(action == ACTION_BUTTON_NEXT)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
533 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
534 digitContentNew = digitContent + 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
535 if((blockNumber == 0) && (digitContentNew > '0' + 23))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
536 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
537 if((blockNumber == 1) && (digitContentNew > '0' + 59))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
538 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
539 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
540 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
541 if(action == ACTION_BUTTON_BACK)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
542 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
543 digitContentNew = digitContent - 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
544 if((blockNumber == 0) && (digitContentNew < '0'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
545 digitContentNew = '0' + 23;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
546 if((blockNumber == 1) && (digitContentNew < '0'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
547 digitContentNew = '0' + 59;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
548 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
549 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
550 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
551 if(action == ACTION_BUTTON_NEXT)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
552 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
553 digitContentNew = digitContent + 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
554 if((blockNumber == 0) && (digitNumber == 0) && (digitContentNew > '2'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
555 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
556 if((blockNumber == 1) && (digitNumber == 0) && (digitContentNew > '5'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
557 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
558 if(digitContentNew > '9')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
559 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
560 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
561 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
562 if(action == ACTION_BUTTON_BACK)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
563 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
564 digitContentNew = digitContent - 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
565 if((blockNumber == 0) && (digitNumber == 0) && (digitContentNew < '0'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
566 digitContentNew = '2';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
567 if((blockNumber == 1) && (digitNumber == 0) && (digitContentNew < '0'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
568 digitContentNew = '5';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
569 if(digitContentNew < '0')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
570 digitContentNew = '9';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
571 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
572 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
573 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
574 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
575 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
576
567
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
577 uint8_t OnAction_12HR(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
578 {
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
579 SSettings *pSettings;
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
580
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
581 pSettings = settingsGetPointer();
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
582 pSettings->amPMTime = !(pSettings->amPMTime);
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
583
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
584 tMenuEdit_set_on_off(editId, pSettings->amPMTime);
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
585
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
586 return UNSPECIFIC_RETURN;
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
587 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
588
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
589 uint8_t OnAction_SetGnss(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
590 {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
591 RTC_DateTypeDef sdatestructure;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
592 RTC_TimeTypeDef stimestructure;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
593 uint8_t localHours = 0;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
594 uint8_t localMinutes = 0;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
595
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
596 const SDiveState * pStateReal = stateRealGetPointer();
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
597
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
598 if(pStateReal->lifeData.gnssData.alive & GNSS_ALIVE_STATE_TIME)
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
599 {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
600 convertUTCToLocal(pStateReal->lifeData.gnssData.DateTime.hour, pStateReal->lifeData.gnssData.DateTime.min, &localHours, &localMinutes);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
601 stimestructure.Hours = localHours;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
602 stimestructure.Minutes = localMinutes;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
603 stimestructure.Seconds = 0;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
604 setTime(stimestructure);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
605
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
606 sdatestructure.Date = pStateReal->lifeData.gnssData.DateTime.day;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
607 sdatestructure.Month = pStateReal->lifeData.gnssData.DateTime.month;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
608 sdatestructure.Year = pStateReal->lifeData.gnssData.DateTime.year;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
609 setWeekday(&sdatestructure);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
610 setDate(sdatestructure);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
611 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
612 return UNSPECIFIC_RETURN;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
613 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
614
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
615 void openEdit_DateFormat(void)
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
616 {
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
617 char text[32];
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
618 SSettings *pSettings;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
619
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
620 uint8_t ddmmyy = 0;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
621 uint8_t mmddyy= 0;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
622 uint8_t yymmdd = 0;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
623
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
624 pSettings = settingsGetPointer();
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
625
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
626
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
627 set_globalState(StMSYS1_FORMAT);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
628 resetMenuEdit(CLUT_MenuPageSystem);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
629 setBackMenu((uint32_t)openEdit_DateTime,0,4);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
630
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
631 switch(pSettings->date_format)
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
632 {
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
633 default:
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
634 case DDMMYY: ddmmyy = 1;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
635 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
636 case MMDDYY: mmddyy = 1;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
637 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
638 case YYMMDD: yymmdd = 1;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
639 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
640 };
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
641
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
642 text[0] = '\001';
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
643 text[1] = TXT_Format;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
644 text[2] = 0;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
645
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
646 write_topline(text);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
647
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
648 write_label_fix( 20, 790, ME_Y_LINE2, &FontT42, TXT_Format);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
649
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
650 write_field_on_off(StMSYS1_DDMMYY, 320, 790, ME_Y_LINE1, &FontT48, "DDMMYY", ddmmyy);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
651 write_field_on_off(StMSYS1_MMDDYY, 320, 790, ME_Y_LINE2, &FontT48, "MMDDYY", mmddyy);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
652 write_field_on_off(StMSYS1_YYMMDD, 320, 790, ME_Y_LINE3, &FontT48, "YYMMDD", yymmdd);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
653
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
654 setEvent(StMSYS1_DDMMYY, (uint32_t)OnAction_DDMMYY);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
655 setEvent(StMSYS1_MMDDYY, (uint32_t)OnAction_MMDDYY);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
656 setEvent(StMSYS1_YYMMDD, (uint32_t)OnAction_YYMMDD);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
657
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
658 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
659 }
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
660
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
661 uint8_t OnAction_Format(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
662 {
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
663 openEdit_DateFormat();
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
664
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
665 return UNSPECIFIC_RETURN;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
666 }
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
667
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
668 uint8_t OnAction_DDMMYY(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
669 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
670 SSettings *pSettings;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
671
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
672 pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
673 pSettings->date_format = DDMMYY;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
674
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
675 tMenuEdit_set_on_off(editId, 1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
676 tMenuEdit_set_on_off(StMSYS1_MMDDYY, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
677 tMenuEdit_set_on_off(StMSYS1_YYMMDD, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
678
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
679 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
680 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
681
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
682
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
683 uint8_t OnAction_MMDDYY(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
684 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
685 SSettings *pSettings;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
686
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
687 pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
688 pSettings->date_format = MMDDYY;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
689
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
690 tMenuEdit_set_on_off(editId, 1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
691 tMenuEdit_set_on_off(StMSYS1_DDMMYY, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
692 tMenuEdit_set_on_off(StMSYS1_YYMMDD, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
693
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
694 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
695 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
696
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
697
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
698 uint8_t OnAction_YYMMDD(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
699 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
700 SSettings *pSettings;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
701
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
702 pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
703 pSettings->date_format = YYMMDD;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
704
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
705 tMenuEdit_set_on_off(editId, 1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
706 tMenuEdit_set_on_off(StMSYS1_MMDDYY, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
707 tMenuEdit_set_on_off(StMSYS1_DDMMYY, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
708
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
709 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
710 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
711
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
712 uint8_t OnAction_UTC(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
713 {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
714 SSettings *settings = settingsGetPointer();
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
715 const SDiveState * pStateReal = stateRealGetPointer();
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
716 int32_t utcHour;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
717 uint32_t utcMinutes;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
718 uint8_t digitContentNew;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
719 uint8_t localHours = 0;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
720 uint8_t localMinutes = 0;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
721 char text[32];
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
722 char timeStr[20];
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
723
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
724 switch (action) {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
725 case ACTION_BUTTON_ENTER:
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
726
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
727 return digitContent;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
728 case ACTION_BUTTON_ENTER_FINAL:
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
729 {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
730
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
731 evaluateNewString(editId, (uint32_t *)&utcHour, &utcMinutes, NULL, NULL);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
732
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
733 if (utcHour > 14) {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
734 utcHour = 14;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
735 } else if (utcHour < -12) {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
736 utcHour = -12;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
737 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
738
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
739 if (utcMinutes % 15 != 0)
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
740 {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
741 utcMinutes = (utcMinutes / 15) * 15;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
742 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
743 if(utcMinutes > 45)
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
744 {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
745 utcMinutes = 45;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
746 } else if (utcMinutes < 0) {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
747 utcMinutes = 0;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
748 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
749 settings->timeZone.hours = utcHour;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
750 settings->timeZone.minutes = utcMinutes;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
751
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
752 tMenuEdit_newInput(editId, ((input_u)utcHour).uint32, utcMinutes, 0, 0);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
753 convertUTCToLocal(pStateReal->lifeData.gnssData.DateTime.hour, pStateReal->lifeData.gnssData.DateTime.min, &localHours, &localMinutes);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
754 convertStringOfDate_DDMMYY(timeStr, 20, pStateReal->lifeData.gnssData.DateTime.day
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
755 , pStateReal->lifeData.gnssData.DateTime.month
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
756 , pStateReal->lifeData.gnssData.DateTime.year);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
757 snprintf(text, 32, "%2d:%2d - %s", localHours, localMinutes, timeStr);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
758 tMenuEdit_newButtonText(StMSYS1_GNSSDT, text);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
759 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
760
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
761 break;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
762 case ACTION_BUTTON_NEXT:
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
763 if ((blockNumber == 0) && (digitNumber == 0)) {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
764 digitContentNew = togglePlusMinus(digitContent);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
765 } else {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
766 digitContentNew = digitContent + 1;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
767 if (digitContentNew > '9') {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
768 digitContentNew = '0';
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
769 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
770 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
771
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
772 return digitContentNew;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
773 case ACTION_BUTTON_BACK:
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
774 if ((blockNumber == 0) && (digitNumber == 0)) {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
775 digitContentNew = togglePlusMinus(digitContent);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
776 } else {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
777 digitContentNew = digitContent - 1;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
778 if (digitContentNew < '0') {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
779 digitContentNew = '9';
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
780 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
781 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
782 return digitContentNew;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
783 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
784 return UNSPECIFIC_RETURN;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
785 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
786
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
787
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
788 uint8_t OnAction_DST(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
789 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
790 RTC_TimeTypeDef stimestructure;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
791 uint8_t newDST;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
792
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
793 get_RTC_DateTime(0, &stimestructure);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
794 newDST = stimestructure.DayLightSaving;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
795 if(newDST)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
796 newDST = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
797 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
798 newDST = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
799 stimestructure.DayLightSaving = newDST;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
800 set_RTC_DateTime(0, &stimestructure);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
801
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
802 tMenuEdit_set_on_off(editId, newDST);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
803
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
804 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
805 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
806
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
807
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
808 void openEdit_Language(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
809 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
810 char text[32];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
811 uint8_t actualLanguage, active;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
812 SSettings *pSettings;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
813
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
814 pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
815 actualLanguage = pSettings->selected_language;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
816
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
817 text[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
818 text[1] = TXT_Language;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
819 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
820 write_topline(text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
821
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
822 text[0] = TXT_LanguageName;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
823 text[1] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
824
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
825 pSettings->selected_language = LANGUAGE_English;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
826 if( actualLanguage == pSettings->selected_language)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
827 active = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
828 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
829 active = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
830 write_field_on_off(StMSYS2_English, 30, 500, ME_Y_LINE1, &FontT48, text, active);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
831
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
832 pSettings->selected_language = LANGUAGE_German;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
833 if( actualLanguage == pSettings->selected_language)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
834 active = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
835 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
836 active = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
837 write_field_on_off(StMSYS2_German, 30, 800, ME_Y_LINE2, &FontT48, text, active);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
838
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
839 pSettings->selected_language = LANGUAGE_French;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
840 if( actualLanguage == pSettings->selected_language)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
841 active = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
842 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
843 active = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
844 write_field_on_off(StMSYS2_French, 30, 800, ME_Y_LINE3, &FontT48, text, active);
55
a7683f9765da Italian activated (needs some fine tuning), special characters (?,?,?,?,? and others) currently not working...
heinrichsweikamp
parents: 38
diff changeset
845
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
846
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
847 pSettings->selected_language = LANGUAGE_Italian;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
848 if( actualLanguage == pSettings->selected_language)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
849 active = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
850 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
851 active = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
852 write_field_on_off(StMSYS2_Italian, 30, 800, ME_Y_LINE4, &FontT48, text, active);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
853
102
4276d56eb37c hPa instead of mbar, enabled Spanish language
heinrichsweikamp
parents: 64
diff changeset
854
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
855 pSettings->selected_language = LANGUAGE_Espanol;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
856 if( actualLanguage == pSettings->selected_language)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
857 active = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
858 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
859 active = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
860 write_field_on_off(StMSYS2_Espanol, 30, 800, ME_Y_LINE5, &FontT48, text, active);
102
4276d56eb37c hPa instead of mbar, enabled Spanish language
heinrichsweikamp
parents: 64
diff changeset
861
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
862 pSettings->selected_language = actualLanguage;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
863
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
864 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
865
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
866 setEvent(StMSYS2_English, (uint32_t)OnAction_English);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
867 setEvent(StMSYS2_German, (uint32_t)OnAction_German);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
868 setEvent(StMSYS2_French, (uint32_t)OnAction_French);
55
a7683f9765da Italian activated (needs some fine tuning), special characters (?,?,?,?,? and others) currently not working...
heinrichsweikamp
parents: 38
diff changeset
869 setEvent(StMSYS2_Italian, (uint32_t)OnAction_Italian);
102
4276d56eb37c hPa instead of mbar, enabled Spanish language
heinrichsweikamp
parents: 64
diff changeset
870 setEvent(StMSYS2_Espanol, (uint32_t)OnAction_Espanol);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
871 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
872
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
873
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
874 uint8_t OnAction_English (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
875 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
876 SSettings *pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
877 pSettings->selected_language = LANGUAGE_English;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
878 return EXIT_TO_MENU_WITH_LOGO;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
879 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
880
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
881
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
882 uint8_t OnAction_German (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
883 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
884 SSettings *pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
885 pSettings->selected_language = LANGUAGE_German;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
886 return EXIT_TO_MENU_WITH_LOGO;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
887 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
888
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
889
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
890 uint8_t OnAction_French (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
891 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
892 SSettings *pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
893 pSettings->selected_language = LANGUAGE_French;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
894 return EXIT_TO_MENU_WITH_LOGO;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
895 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
896
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
897
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
898 uint8_t OnAction_Italian (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
899 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
900 SSettings *pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
901 pSettings->selected_language = LANGUAGE_Italian;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
902 return EXIT_TO_MENU_WITH_LOGO;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
903 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
904
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
905
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
906 uint8_t OnAction_Espanol (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
907 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
908 SSettings *pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
909 pSettings->selected_language = LANGUAGE_Espanol;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
910 return EXIT_TO_MENU_WITH_LOGO;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
911 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
912
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
913
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
914 void openEdit_Design(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
915 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
916 refresh_Design();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
917
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
918 write_field_button(StMSYS3_Units, 400, 700, ME_Y_LINE1, &FontT48, "");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
919 write_field_button(StMSYS3_Colors, 400, 700, ME_Y_LINE2, &FontT48, "");
343
c9d217b110cc Added compile switch to enable debug view option in system menu
ideenmodellierer
parents: 259
diff changeset
920 #ifdef HAVE_DEBUG_VIEW
c9d217b110cc Added compile switch to enable debug view option in system menu
ideenmodellierer
parents: 259
diff changeset
921 write_field_button(StMSYS3_Debug, 400, 700, ME_Y_LINE3, &FontT48, "");
c9d217b110cc Added compile switch to enable debug view option in system menu
ideenmodellierer
parents: 259
diff changeset
922 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
923 setEvent(StMSYS3_Units, (uint32_t)OnAction_Units);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
924 setEvent(StMSYS3_Colors, (uint32_t)OnAction_Colorscheme);
343
c9d217b110cc Added compile switch to enable debug view option in system menu
ideenmodellierer
parents: 259
diff changeset
925 #ifdef HAVE_DEBUG_VIEW
c9d217b110cc Added compile switch to enable debug view option in system menu
ideenmodellierer
parents: 259
diff changeset
926 setEvent(StMSYS3_Debug, (uint32_t)OnAction_DebugInfo);
c9d217b110cc Added compile switch to enable debug view option in system menu
ideenmodellierer
parents: 259
diff changeset
927 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
928 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
929
1037
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
930 #ifdef ENABLE_SETTING_PROFILES
1027
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
931 void changeActiveProfil(uint8_t newProfile)
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
932 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
933 SSettings *pSettings = settingsGetPointer();
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
934 SSettings* pOldProfile = profileGetPointer(pSettings->activeProfile);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
935 SSettings* pNewProfile = profileGetPointer(newProfile);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
936 uint16_t personalDiveCountBackup;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
937 uint8_t lastDiveLogIdBackup;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
938 uint32_t sampleStartBackup;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
939 char customTextBackup[60];
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
940
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
941 if( newProfile < NUMBER_OF_PROFILES)
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
942 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
943 /* some data needs to be the same in all profiles => make backup before gettings the new profile */
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
944 personalDiveCountBackup = pSettings->personalDiveCount;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
945 lastDiveLogIdBackup = pSettings->lastDiveLogId;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
946 sampleStartBackup = pSettings->logFlashNextSampleStartAddress;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
947 memcpy(customTextBackup, pSettings->customtext, 60);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
948
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
949
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
950 memcpy(pOldProfile,pSettings,sizeof(SSettings));
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
951 memcpy(pSettings,pNewProfile,sizeof(SSettings));
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
952
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
953 set_new_settings_missing_in_ext_flash(EF_PROFILE0 + newProfile);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
954 check_and_correct_settings(EF_PROFILE0 + newProfile);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
955
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
956 pSettings->personalDiveCount = personalDiveCountBackup;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
957 pSettings->lastDiveLogId = lastDiveLogIdBackup;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
958 pSettings->logFlashNextSampleStartAddress = sampleStartBackup;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
959
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
960 pSettings->firmwareVersion[0] = firmware_FirmwareData.versionFirst;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
961 pSettings->firmwareVersion[1] = firmware_FirmwareData.versionSecond;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
962 pSettings->firmwareVersion[2] = firmware_FirmwareData.versionThird;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
963 pSettings->firmwareVersion[3] = firmware_FirmwareData.versionBeta;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
964
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
965 memcpy(pSettings->customtext, customTextBackup, 60);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
966
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
967 if(pOldProfile->tX_colorscheme != pSettings->tX_colorscheme)
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
968 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
969 GFX_use_colorscheme(pSettings->tX_colorscheme);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
970 tHome_init_compass();
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
971 }
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
972 }
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
973 }
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
974
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
975 void exitMenuProfil()
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
976 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
977 uint8_t index = 0;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
978 SSettings* pProfile;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
979 uint8_t writeFlash = 0;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
980 uint32_t profileExitCrc;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
981
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
982 for(index = 0; index < NUMBER_OF_PROFILES; index++)
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
983 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
984 pProfile = profileGetPointer(index);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
985 profileExitCrc = CalcFletcher32((uint32_t)pProfile, (uint32_t)pProfile + sizeof(SSettings));
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
986
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
987 if(profileExitCrc != profileStartCrc[index])
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
988 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
989 writeFlash = 1;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
990 break;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
991 }
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
992 }
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
993 if(writeFlash)
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
994 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
995 for(index = EF_PROFILE0; index <= EF_PROFILE3; index++)
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
996 ext_flash_write_settings(index,0);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
997 }
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
998 if(profileActiveStart != settingsGetPointer()->activeProfile)
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
999 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1000 createDiveSettings();
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1001 }
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1002 exitMenuEdit(1);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1003 }
1037
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
1004 #endif
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
1005 #ifdef ENABLE_SETTING_PROFILES
1027
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1006 void openEdit_Profile(void)
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1007 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1008 char text[50];
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1009 uint8_t index = 0;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1010 SSettings *pSettings = settingsGetPointer();
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1011 SSettings* pProfile;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1012
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1013 setBackMenu((uint32_t)exitMenuProfil,0,0);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1014
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1015 profileActiveStart = pSettings->activeProfile;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1016
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1017 /* read profiles from flash */
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1018 for(index = EF_PROFILE0; index <= EF_PROFILE3; index++)
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1019 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1020 set_settings_to_Standard(index); /* this is needed because details like header version are used by the read block function */
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1021 ext_flash_read_settings(index); /* will overwrite standard settings if reading is successfull */
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1022 pProfile = profileGetPointer(index - EF_PROFILE0);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1023 profileStartCrc[index - EF_PROFILE0] = CalcFletcher32((uint32_t)pProfile, (uint32_t)pProfile + sizeof(SSettings));
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1024 set_new_settings_missing_in_ext_flash(index);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1025 check_and_correct_settings(index);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1026 }
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1027
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1028 sprintf(text,"\001%c%c",TXT_2BYTE,TXT2BYTE_Profile);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1029 write_topline(text);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1030
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1031 sprintf(text,"%c %c%c:",TXT_Active,TXT_2BYTE,TXT2BYTE_Profile);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1032 write_label_var( 30, 300, ME_Y_LINE1, &FontT48, text);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1033 sprintf(text,"%s",pSettings->profileName[pSettings->activeProfile]);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1034 write_field_button(StMSYS_Profile, 400, 700, ME_Y_LINE1, &FontT48, text);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1035 write_field_text(StMSYS_ProfileA, 400, 700, ME_Y_LINE3, &FontT48, "########", pSettings->profileName[0]);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1036 write_field_text(StMSYS_ProfileB, 400, 700, ME_Y_LINE4, &FontT48, "########", pSettings->profileName[1]);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1037 write_field_text(StMSYS_ProfileC, 400, 700, ME_Y_LINE5, &FontT48, "########", pSettings->profileName[2]);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1038 write_field_text(StMSYS_ProfileD, 400, 700, ME_Y_LINE6, &FontT48, "########", pSettings->profileName[3]);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1039
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1040 setEvent(StMSYS_Profile, (uint32_t)OnAction_SetProfile);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1041 setEvent(StMSYS_ProfileA, (uint32_t)OnAction_Profile);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1042 setEvent(StMSYS_ProfileB, (uint32_t)OnAction_Profile);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1043 setEvent(StMSYS_ProfileC, (uint32_t)OnAction_Profile);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1044 setEvent(StMSYS_ProfileD, (uint32_t)OnAction_Profile);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1045
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1046 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1047 }
1037
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
1048 #endif
1027
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1049
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1050
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1051 void refresh_Design(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1052 {
1027
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1053 char text[32];
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1054 SSettings *pSettings = settingsGetPointer();
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1055
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1056 // header
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1057 text[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1058 text[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1059 text[2] = TXT2BYTE_Layout;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1060 text[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1061 write_topline(text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1062
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1063 // units
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1064 text[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1065 text[1] = TXT2BYTE_Units;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1066 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1067 write_label_var( 30, 200, ME_Y_LINE1, &FontT48, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1068
1027
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1069 if(pSettings->nonMetricalSystem)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1070 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1071 text[1] = TXT2BYTE_Units_feet;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1072 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1073 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1074 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1075 text[1] = TXT2BYTE_Units_metric;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1076 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1077 write_label_var( 400, 700, ME_Y_LINE1, &FontT48, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1078
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1079 // colorscheme
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1080 text[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1081 text[1] = TXT2BYTE_Farbschema;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1082 text[2] = 0;
118
ee7f2cd9b9b4 Enlarge text limits to get string displayed completly
Ideenmodellierer
parents: 103
diff changeset
1083 write_label_var( 30, 300, ME_Y_LINE2, &FontT48, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1084
1027
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1085 text[0] = '0' + pSettings->tX_colorscheme;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1086 text[1] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1087 write_label_var( 400, 700, ME_Y_LINE2, &FontT48, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1088
343
c9d217b110cc Added compile switch to enable debug view option in system menu
ideenmodellierer
parents: 259
diff changeset
1089 #ifdef HAVE_DEBUG_VIEW
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1090 // specials
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1091 text[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1092 text[1] = TXT2BYTE_ShowDebug;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1093 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1094 write_label_var( 30, 700, ME_Y_LINE3, &FontT48, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1095
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1096 if(settingsGetPointer()->showDebugInfo)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1097 text[0] = '\005';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1098 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1099 text[0] = '\006';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1100 text[1] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1101 write_label_var( 400, 700, ME_Y_LINE3, &FontT48, text);
343
c9d217b110cc Added compile switch to enable debug view option in system menu
ideenmodellierer
parents: 259
diff changeset
1102 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1103
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1104 // design
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1105 text[0] = TXT_Depth;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1106 text[1] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1107 write_content( 30, 700, ME_Y_LINE4, &FontT24, text, CLUT_Font031);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1108 write_content( 30, 700, ME_Y_LINE4 + 30 + 70, &FontT48, "___________", CLUT_DIVE_FieldSeperatorLines);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1109 write_content(280, 700, ME_Y_LINE4 + 30 + 70 - 3, &FontT48, "|", CLUT_DIVE_pluginbox);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1110 write_content(290, 700, ME_Y_LINE4 + 30 + 70 - 37, &FontT48, "_______________", CLUT_DIVE_pluginbox);
884
940f8e132638 Minor screen cleanup:
Ideenmodellierer
parents: 854
diff changeset
1111 write_content( 30, 700, ME_Y_LINE4 + 42, &FontT144, "24.7", CLUT_Font027);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1112
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1113 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1114 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1115
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1116
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1117 uint8_t OnAction_Units(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1118 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1119 settingsGetPointer()->nonMetricalSystem = !(settingsGetPointer()->nonMetricalSystem);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1120 return EXIT_TO_MENU_WITH_LOGO;//UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1121 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1122
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1123
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1124 uint8_t OnAction_Colorscheme(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1125 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1126 uint8_t newColorscheme;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1127
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1128 newColorscheme = settingsGetPointer()->tX_colorscheme + 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1129
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1130 if(newColorscheme > 3)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1131 newColorscheme = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1132
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1133 settingsGetPointer()->tX_colorscheme = newColorscheme;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1134 GFX_use_colorscheme(newColorscheme);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1135 tHome_init_compass();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1136 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1137 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1138
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1139
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1140 uint8_t OnAction_DebugInfo(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1141 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1142 settingsGetPointer()->showDebugInfo = !(settingsGetPointer()->showDebugInfo);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1143 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1144 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1145
1037
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
1146 #ifdef ENABLE_SETTING_PROFILES
1027
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1147 uint8_t OnAction_SetProfile(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1148 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1149 SSettings *pSettings = settingsGetPointer();
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1150
1027
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1151 uint8_t newProfile = pSettings->activeProfile + 1;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1152
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1153 if(newProfile == NUMBER_OF_PROFILES)
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1154 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1155 newProfile = 0;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1156 }
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1157 changeActiveProfil(newProfile);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1158 pSettings->activeProfile = newProfile;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1159
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1160 tMenuEdit_newButtonText(editId,(char*)pSettings->profileName[pSettings->activeProfile]);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1161 return UNSPECIFIC_RETURN;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1162 }
1037
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
1163
1027
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1164 uint8_t OnAction_Profile(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1165 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1166 SSettings *pSettings = settingsGetPointer();
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1167 SSettings *pProfile;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1168 uint8_t digitContentNew;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1169 uint8_t profilName[9];
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1170 uint8_t updateProfilIndex = 0;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1171 uint8_t index = 0;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1172
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1173 uint8_t returnValue = UNSPECIFIC_RETURN;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1174
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1175 switch (editId)
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1176 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1177 default:
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1178 case StMSYS_ProfileA: updateProfilIndex = 0;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1179 break;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1180 case StMSYS_ProfileB: updateProfilIndex = 1;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1181 break;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1182 case StMSYS_ProfileC: updateProfilIndex = 2;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1183 break;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1184 case StMSYS_ProfileD: updateProfilIndex = 3;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1185 break;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1186 }
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1187
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1188 switch (action)
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1189 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1190 case ACTION_BUTTON_ENTER: returnValue = digitContent;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1191 break;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1192 case ACTION_BUTTON_ENTER_FINAL:
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1193 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1194 evaluateNewStringText(editId, profilName);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1195 tMenuEdit_newInputText(editId, profilName);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1196 if(pSettings->activeProfile == updateProfilIndex)
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1197 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1198 tMenuEdit_newButtonText(StMSYS_Profile, (char*)profilName);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1199 }
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1200 strcpy((char*)pSettings->profileName[updateProfilIndex],(char*)profilName);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1201 for (index = 0; index < NUMBER_OF_PROFILES; index++)
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1202 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1203 pProfile = profileGetPointer(index);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1204 strcpy((char*)pProfile->profileName[updateProfilIndex],(char*)profilName);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1205 }
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1206 }
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1207
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1208 break;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1209 case ACTION_BUTTON_NEXT:
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1210 if(digitContent == 'Z')
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1211 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1212 digitContentNew = '_';
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1213 }
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1214 else if (digitContent == '_')
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1215 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1216 digitContentNew = 'A';
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1217 }
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1218 else
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1219 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1220 digitContentNew = digitContent + 1;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1221 }
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1222 returnValue = digitContentNew;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1223 break;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1224 case ACTION_BUTTON_BACK:
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1225 if(digitContent == 'A')
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1226 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1227 digitContentNew = '_';
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1228 }
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1229 else if (digitContent == '_')
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1230 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1231 digitContentNew = 'Z';
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1232 }
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1233 else
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1234 {
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1235 digitContentNew = digitContent - 1;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1236 }
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1237 returnValue = digitContentNew;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1238 break;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1239 }
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1240 return returnValue;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1241 }
1037
2af07aa38531 Merge with external development branches:
Ideenmodellierer
parents: 1027
diff changeset
1242 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1243
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1244 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1245 uint8_t OnAction_Design_t7ft (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1246 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1247 SSettings *pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1248 if((pSettings->design == 7) && pSettings->nonMetricalSystem)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1249 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1250 pSettings->design = 7;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1251 pSettings->nonMetricalSystem = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1252 tMenuEdit_set_on_off(StMSYS3_t7, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1253 tMenuEdit_set_on_off(StMSYS3_t7ft, 1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1254 tMenuEdit_set_on_off(StMSYS3_t3, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1255 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1256 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1257
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1258
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1259 uint8_t OnAction_Design_t7 (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1260 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1261 SSettings *pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1262 if((pSettings->design == 7) && (pSettings->nonMetricalSystem == 0))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1263 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1264 pSettings->design = 7;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1265 pSettings->nonMetricalSystem = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1266 tMenuEdit_set_on_off(StMSYS3_t7, 1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1267 tMenuEdit_set_on_off(StMSYS3_t7ft, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1268 tMenuEdit_set_on_off(StMSYS3_t3, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1269 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1270 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1271
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1272
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1273 uint8_t OnAction_Design_t3 (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1274 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1275 SSettings *pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1276 if(pSettings->design == 3)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1277 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1278 pSettings->design = 3;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1279 pSettings->nonMetricalSystem = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1280 tMenuEdit_set_on_off(StMSYS3_t7, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1281 tMenuEdit_set_on_off(StMSYS3_t7ft,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1282 tMenuEdit_set_on_off(StMSYS3_t3, 1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1283 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1284 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1285 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1286
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1287
368
50ea68c7a153 Added menu item for motion detection. There are several possibility to use motion detection for user action input. To select of the a new menu entry has been added to the Sys2 =>Custom View Menu (Variables in german)
ideenmodellierer
parents: 259
diff changeset
1288
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1289 void openEdit_Information(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1290 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1291 char text[70];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1292
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1293 infoPage = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1294
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1295 text[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1296 text[1] = TXT_Information;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1297 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1298 write_topline(text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1299
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1300 text[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1301 text[1] = TXT2BYTE_ButtonNext;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1302 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1303
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1304 write_field_button(StMSYS4_Info, 30, 800, ME_Y_LINE6, &FontT48, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1305
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1306 setEvent(StMSYS4_Info, (uint32_t)OnAction_Information);
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 844
diff changeset
1307 tMenuEdit_select(StMSYS4_Info);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1308 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1309
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1310
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1311 uint8_t OnAction_Information (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1312 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1313 resetEnterPressedToStateBeforeButtonAction();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1314
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1315 infoPage++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1316 if(infoPage > 3)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1317 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1318 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1319 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1320 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1321
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1322
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1323 void refresh_InformationPage(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1324 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1325 char text_header[5];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1326 char text_button[5];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1327 char text_content[256];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1328 uint8_t date[3], year,month,day;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1329
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1330 RTC_DateTypeDef Sdate, Sdate2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1331 float temperature1, temperature2, voltage, offsetTemperature;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1332
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1333 //RTC_TimeTypeDef Stime;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1334
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1335 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1336 SDeviceLine batteryChargeCycles;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1337 SDeviceLine batteryChargeCompleteCycles;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1338 SDeviceLine temperatureMinimum;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1339 SDeviceLine temperatureMaximum;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1340 SDeviceLine depthMaximum;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1341 SDeviceLine diveCycles;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1342 SDeviceLine voltageMinimum;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1343 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1344
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1345 switch(infoPage)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1346 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1347 case 0:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1348 text_header[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1349 text_header[1] = TXT_Information;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1350 text_header[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1351
1013
fa1af49319e5 Update Information view:
Ideenmodellierer
parents: 999
diff changeset
1352 if(isNewDisplay())
fa1af49319e5 Update Information view:
Ideenmodellierer
parents: 999
diff changeset
1353 {
fa1af49319e5 Update Information view:
Ideenmodellierer
parents: 999
diff changeset
1354 write_label_var( 20, 800, ME_Y_LINE1, &FontT42, "Dive Computer OSTC5");
fa1af49319e5 Update Information view:
Ideenmodellierer
parents: 999
diff changeset
1355 }
fa1af49319e5 Update Information view:
Ideenmodellierer
parents: 999
diff changeset
1356 else
fa1af49319e5 Update Information view:
Ideenmodellierer
parents: 999
diff changeset
1357 {
fa1af49319e5 Update Information view:
Ideenmodellierer
parents: 999
diff changeset
1358 write_label_var( 20, 800, ME_Y_LINE1, &FontT42, "Dive Computer OSTC4");
fa1af49319e5 Update Information view:
Ideenmodellierer
parents: 999
diff changeset
1359 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1360 write_label_var( 20, 800, ME_Y_LINE2, &FontT42, "Design heinrichs/weikamp");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1361
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1362 Sdate.Year = firmwareDataGetPointer()->release_year;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1363 Sdate.Month = firmwareDataGetPointer()->release_month;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1364 Sdate.Date = firmwareDataGetPointer()->release_day;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1365
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1366 if(settingsGetPointer()->date_format == DDMMYY)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1367 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1368 day = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1369 month = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1370 year = 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1371 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1372 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1373 if(settingsGetPointer()->date_format == MMDDYY)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1374 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1375 day = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1376 month = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1377 year = 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1378 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1379 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1380 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1381 day = 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1382 month = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1383 year = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1384 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1385 date[day] = Sdate.Date;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1386 date[month] = Sdate.Month;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1387 date[year] = Sdate.Year;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1388 snprintf(text_content,40,"Firmware release date: %02d.%02d.%02d",date[0],date[1],date[2]);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1389 write_label_var( 20, 800, ME_Y_LINE3, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1390 write_label_var( 20, 800, ME_Y_LINE4, &FontT42, "for more information");
64
98b479d0618f typo in info menu...
heinrichsweikamp
parents: 57
diff changeset
1391 write_label_var( 20, 800, ME_Y_LINE5, &FontT42, "info@heinrichsweikamp.com");
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1392
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1393 text_button[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1394 text_button[1] = TXT2BYTE_ButtonNext;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1395 text_button[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1396 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1397
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1398 case 1:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1399 text_header[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1400 text_header[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1401 text_header[2] = TXT2BYTE_Usage_Battery;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1402 text_header[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1403
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1404 text_content[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1405 text_content[1] = TXT2BYTE_ChargeCycles;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1406 text_content[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1407 write_label_var( 20, 800, ME_Y_LINE1, &FontT42, text_content);
646
0fc1b47d2482 Remove battery charge counter from information menu:
Ideenmodellierer
parents: 567
diff changeset
1408 /* snprintf(text_content,80,"%ld (%ld)",stateDeviceGetPointer()->batteryChargeCycles.value_int32,stateDeviceGetPointer()->batteryChargeCompleteCycles.value_int32);
0fc1b47d2482 Remove battery charge counter from information menu:
Ideenmodellierer
parents: 567
diff changeset
1409 write_label_var( 20, 800, ME_Y_LINE2, &FontT42, text_content); */
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1410
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1411 translateDate(stateDeviceGetPointer()->batteryChargeCycles.date_rtc_dr, &Sdate);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1412 translateDate(stateDeviceGetPointer()->batteryChargeCompleteCycles.date_rtc_dr, &Sdate2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1413 snprintf(text_content,80,"%u.%u.20%02u (%u.%u.20%02u)",Sdate.Date,Sdate.Month,Sdate.Year, Sdate2.Date,Sdate2.Month,Sdate2.Year);
646
0fc1b47d2482 Remove battery charge counter from information menu:
Ideenmodellierer
parents: 567
diff changeset
1414 write_label_var( 20, 800, ME_Y_LINE2, &FontT42, text_content);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1415
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1416 text_content[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1417 text_content[1] = TXT2BYTE_LowestVoltage;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1418 text_content[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1419 write_label_var( 20, 800, ME_Y_LINE4, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1420
404
e729b8e7654d Bugfix: display of time of minimum voltag:
ideenmodellierer
parents: 389
diff changeset
1421 translateDate(stateDeviceGetPointer()->voltageMinimum.date_rtc_dr, &Sdate);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1422 voltage = ((float)stateDeviceGetPointer()->voltageMinimum.value_int32) / 1000;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1423 snprintf(text_content,80,"%0.3fV (%u.%u.20%02u)",voltage, Sdate.Date,Sdate.Month,Sdate.Year);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1424 write_label_var( 20, 800, ME_Y_LINE5, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1425
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1426 text_button[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1427 text_button[1] = TXT2BYTE_ButtonNext;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1428 text_button[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1429 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1430
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1431 case 2:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1432 text_header[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1433 text_header[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1434 text_header[2] = TXT2BYTE_Usage_Dives;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1435 text_header[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1436
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1437 text_content[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1438 text_content[1] = TXT2BYTE_NumberOfDives;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1439 text_content[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1440 write_label_var( 20, 800, ME_Y_LINE1, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1441
57
e941c9e49f73 Resolve format warnings
Ideenmodellierer
parents: 55
diff changeset
1442 snprintf(text_content,80,"%ld (%ld)",stateDeviceGetPointer()->diveCycles.value_int32,(stateDeviceGetPointer()->depthMaximum.value_int32 - 1000) / 100);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1443 write_label_var( 20, 800, ME_Y_LINE2, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1444
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1445 translateDate(stateDeviceGetPointer()->diveCycles.date_rtc_dr, &Sdate);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1446 translateDate(stateDeviceGetPointer()->depthMaximum.date_rtc_dr, &Sdate2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1447 snprintf(text_content,80,"%u.%u.20%02u (%u.%u.20%02u)",Sdate.Date,Sdate.Month,Sdate.Year, Sdate2.Date,Sdate2.Month,Sdate2.Year);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1448 write_label_var( 20, 800, ME_Y_LINE3, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1449
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1450 text_content[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1451 text_content[1] = TXT2BYTE_HoursOfOperation;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1452 text_content[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1453 write_label_var( 20, 800, ME_Y_LINE4, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1454
57
e941c9e49f73 Resolve format warnings
Ideenmodellierer
parents: 55
diff changeset
1455 snprintf(text_content,80,"%ld",(stateDeviceGetPointer()->hoursOfOperation.value_int32)/3600);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1456 write_label_var( 20, 800, ME_Y_LINE5, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1457
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1458 text_button[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1459 text_button[1] = TXT2BYTE_ButtonNext;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1460 text_button[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1461 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1462
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1463 case 3:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1464 text_header[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1465 text_header[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1466 text_header[2] = TXT2BYTE_Usage_Environment;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1467 text_header[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1468
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1469 text_content[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1470 text_content[1] = TXT2BYTE_AmbientTemperature;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1471 text_content[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1472 write_label_var( 20, 800, ME_Y_LINE1, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1473
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1474 temperature1 = ((float)stateDeviceGetPointer()->temperatureMinimum.value_int32) / 100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1475 temperature2 = ((float)stateDeviceGetPointer()->temperatureMaximum.value_int32) / 100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1476 snprintf(text_content,80,"%0.2f\140C / %0.2f\140C",temperature1,temperature2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1477 write_label_var( 20, 800, ME_Y_LINE2, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1478
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1479 translateDate(stateDeviceGetPointer()->temperatureMinimum.date_rtc_dr, &Sdate);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1480 translateDate(stateDeviceGetPointer()->temperatureMaximum.date_rtc_dr, &Sdate2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1481 snprintf(text_content,80,"(%u.%u.20%02u / %u.%u.20%02u)",Sdate.Date,Sdate.Month,Sdate.Year, Sdate2.Date,Sdate2.Month,Sdate2.Year);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1482 write_label_var( 20, 800, ME_Y_LINE3, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1483
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1484 text_content[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1485 text_content[1] = TXT2BYTE_Korrekturwerte;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1486 text_content[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1487 write_label_var( 20, 800, ME_Y_LINE4, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1488
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1489 offsetTemperature = ((float)settingsGetPointer()->offsetTemperature_centigrad) / 10;
103
f5d2f02dc73f Generalize TEXT of pressure unit
Dmitry Romanov <kitt@bk.ru>
parents: 102
diff changeset
1490 snprintf(text_content,80,"%i %s / %0.2f\140C",settingsGetPointer()->offsetPressure_mbar, TEXT_PRESSURE_UNIT, offsetTemperature);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1491 write_label_var( 20, 800, ME_Y_LINE5, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1492
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1493 text_button[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1494 text_button[1] = TXT2BYTE_Exit;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1495 text_button[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1496 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1497 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1498
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1499 write_topline(text_header);
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1500 tMenuEdit_newButtonText(StMSYS4_Info, text_button);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1501 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonNext,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1502 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1503
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1504
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1505 void openEdit_Reset(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1506 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1507 char text[32];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1508
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1509 text[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1510 text[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1511 text[2] = TXT2BYTE_ResetMenu;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1512 text[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1513 write_topline(text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1514
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1515 text[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1516 text[1] = TXT2BYTE_LogbookOffset;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1517 text[7] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1518
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1519 write_label_var( 30, 400, ME_Y_LINE1, &FontT48, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1520
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1521 write_field_udigit(StMSYS5_LogbookOffset,420, 800, ME_Y_LINE1, &FontT48, "####", settingsGetPointer()->logbookOffset,0,0,0);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1522
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1523 text[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1524 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1525
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1526 text[1] = TXT2BYTE_ResetAll;
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1527 write_field_button(StMSYS5_ResetAll, 30, 800, ME_Y_LINE2, &FontT48, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1528
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1529 text[1] = TXT2BYTE_ResetDeco;
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1530 write_field_button(StMSYS5_ResetDeco, 30, 800, ME_Y_LINE3, &FontT48, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1531
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1532 text[1] = TXT2BYTE_Reboot;
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1533 write_field_button(StMSYS5_Reboot, 30, 800, ME_Y_LINE4, &FontT48, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1534
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1535 text[1] = TXT2BYTE_Maintenance;
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1536 write_field_button(StMSYS5_Maintenance, 30, 800, ME_Y_LINE5, &FontT48, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1537
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1538 #ifndef RESETLOGBLOCK
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1539 text[1] = TXT2BYTE_ResetLogbook;
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1540 write_field_button(StMSYS5_ResetLogbook,30, 800, ME_Y_LINE6, &FontT48, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1541 #else
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 520
diff changeset
1542 text[0] = '\031';
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1543 text[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1544 text[2] = TXT2BYTE_ResetLogbook;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1545 text[3] = 0;
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1546 write_field_button(StMSYS5_ResetLogbook,30, 800, ME_Y_LINE6, &FontT48, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1547 text[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1548 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1549 #endif
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1550
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1551 setEvent(StMSYS5_LogbookOffset, (uint32_t)OnAction_LogbookOffset);
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1552 setEvent(StMSYS5_ResetAll, (uint32_t)OnAction_Confirm);
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1553 setEvent(StMSYS5_ResetDeco, (uint32_t)OnAction_Confirm);
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1554 setEvent(StMSYS5_Reboot, (uint32_t)OnAction_Confirm);
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1555 setEvent(StMSYS5_Maintenance, (uint32_t)OnAction_Maintenance);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1556 #ifndef RESETLOGBLOCK
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1557 setEvent(StMSYS5_ResetLogbook, (uint32_t)OnAction_Confirm);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1558 #else
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1559 setEvent(StMSYS5_ResetLogbook, (uint32_t)OnAction_Nothing);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1560 #endif
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1561
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1562 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1563 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1564
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1565
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1566 void openEdit_ResetConfirmation(uint32_t editIdOfCaller)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1567 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1568 char text[32];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1569
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1570 resetMenuEdit(CLUT_MenuPageSystem);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1571
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1572 text[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1573 text[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1574 text[2] = TXT2BYTE_AreYouSure;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1575 text[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1576 write_topline(text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1577
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1578 text[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1579 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1580 text[1] = TXT2BYTE_Abort;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1581
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1582 write_field_button(StMSYS5_Exit, 30, 800, ME_Y_LINE1, &FontT48, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1583
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1584 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1585 text[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1586 switch(editIdOfCaller)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1587 {
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1588 case StMSYS5_Reboot:
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1589 case StMSYS5_RebootRTE:
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1590 case StMSYS5_RebootMainCPU:
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1591 text[1] = TXT2BYTE_RebootMainCPU;
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1592 write_field_button(StMSYS5_RebootMainCPU, 30, 800, ME_Y_LINE2, &FontT48, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1593 text[1] = TXT2BYTE_RebootRTE;
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1594 write_field_button(StMSYS5_RebootRTE, 30, 800, ME_Y_LINE3, &FontT48, text);
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1595 setEvent(StMSYS5_Exit, (uint32_t)OnAction_Exit);
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1596 setEvent(StMSYS5_RebootMainCPU, (uint32_t)OnAction_RebootMainCPU);
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1597 setEvent(StMSYS5_RebootRTE, (uint32_t)OnAction_RebootRTE);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1598 text[0] = '\025';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1599 text[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1600 text[2] = TXT2BYTE_DecoDataLost;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1601 text[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1602 write_label_var( 30, 800, ME_Y_LINE4, &FontT48, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1603 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1604
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1605 case StMSYS5_ResetDeco:
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1606 text[1] = TXT2BYTE_ResetDeco;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1607 write_field_button(editIdOfCaller, 30, 800, ME_Y_LINE2, &FontT48, text);
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1608 setEvent(StMSYS5_Exit, (uint32_t)OnAction_Exit);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1609 setEvent(editIdOfCaller, (uint32_t)OnAction_ResetDeco);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1610 text[0] = '\025';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1611 text[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1612 text[2] = TXT2BYTE_DecoDataLost;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1613 text[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1614 write_label_var( 30, 800, ME_Y_LINE4, &FontT48, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1615 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1616
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1617 case StMSYS5_ResetAll:
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1618 text[1] = TXT2BYTE_ResetAll;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1619 write_field_button(editIdOfCaller, 30, 800, ME_Y_LINE2, &FontT48, text);
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1620 setEvent(StMSYS5_Exit, (uint32_t)OnAction_Exit);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1621 setEvent(editIdOfCaller, (uint32_t)OnAction_ResetAll);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1622 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1623
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1624 case StMSYS5_ResetLogbook:
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1625 text[1] = TXT2BYTE_ResetLogbook;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1626 write_field_button(editIdOfCaller, 30, 800, ME_Y_LINE2, &FontT48, text);
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1627 setEvent(StMSYS5_Exit, (uint32_t)OnAction_Exit);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1628 setEvent(editIdOfCaller, (uint32_t)OnAction_ResetLogbook);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1629 break;
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1630 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1631
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1632 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1633 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1634
1017
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1635 customBlockInfo_t blockInfo;
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1636
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1637 void openEdit_Maintenance(void)
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1638 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1639 char text[32];
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1640 unsigned char index = 0;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1641 SSettings *pSettings = settingsGetPointer();
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1642 SSensorDataDiveO2* pDiveO2Data = NULL;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1643
1017
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1644 customBlockInfo_t* pCustumBlockInfo = (customBlockInfo_t *) CUSTOM_BLOCK_INFO_ADDR;
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1645
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1646 blockInfo.Type = swapBytes(pCustumBlockInfo->Type);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1647 blockInfo.fletcher = swapBytes(pCustumBlockInfo->fletcher);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1648 blockInfo.length = swapBytes(pCustumBlockInfo->length);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1649
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1650 resetMenuEdit(CLUT_MenuPageSystem);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1651
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1652 text[0] = '\001';
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1653 text[1] = TXT_2BYTE;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1654 text[2] = TXT2BYTE_Maintenance;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1655 text[3] = 0;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1656 write_topline(text);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1657
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1658 text[0] = TXT_2BYTE;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1659 text[1] = TXT2BYTE_SetFactoryDefaults;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1660 text[2] = 0;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1661 write_field_button(StMSYS5_SetFactoryBC, 30, 800, ME_Y_LINE1, &FontT48, text);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1662
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1663
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1664 if(stateRealGetPointer()->lifeData.battery_charge <= 0)
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1665 {
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1666 text[0] = TXT_2BYTE;
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1667 text[1] = TXT2BYTE_SetBatteryCharge;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1668 text[2] = 0;
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1669 snprintf(&text[2],10,": %u%%",pSettings->lastKnownBatteryPercentage);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1670 write_field_button(StMSYS5_SetBattCharge, 30, 800, ME_Y_LINE2, &FontT48, text);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1671 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1672
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1673 if((pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANADIG) || (pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_DIGITAL))
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1674 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1675 for (index = 0; index < 3; index++)
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1676 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1677 if(pSettings->ext_sensor_map[index] == SENSOR_DIGO2M)
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1678 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1679 pDiveO2Data = (SSensorDataDiveO2*)stateRealGetPointer()->lifeData.extIf_sensor_data[index];
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1680 if(pDiveO2Data->pressure != 0)
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1681 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1682 snprintf(text,32,"%c%c (%1.3lf => %1.3f)\016\016Bar",TXT_2BYTE,TXT2BYTE_AdjustAmbPressure,(float)(pDiveO2Data->pressure/1000000.0),
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1683 stateRealGetPointer()->lifeData.pressure_surface_bar);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1684
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1685 write_field_button(StMSYS5_AdjustSurfPres, 30, 800, ME_Y_LINE4, &FontT48, text);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1686 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1687 break;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1688 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1689 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1690 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1691
1017
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1692 if((blockInfo.Type & 0x0000FF00)== 0x0100)
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1693 {
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1694 snprintf(text,32,"Flash Bootloader");
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1695 write_field_button(StMSYS5_FlashBoot, 30, 800, ME_Y_LINE4, &FontT48, text);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1696 }
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1697
424
2b31cf1ebbcc Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents: 404
diff changeset
1698 #ifdef ENABLE_ANALYSE_SAMPLES
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1699 text[0] = TXT_2BYTE;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1700 text[1] = TXT2BYTE_SetSampleIndex;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1701 text[2] = 0;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1702 write_field_button(StMSYS5_SetSampleIndx, 30, 800, ME_Y_LINE4, &FontT48, text);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1703 #endif
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1704
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1705 setEvent(StMSYS5_SetFactoryBC, (uint32_t)OnAction_SetFactoryDefaults);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1706 if(stateRealGetPointer()->lifeData.battery_charge <= 0)
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1707 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1708 setEvent(StMSYS5_SetBattCharge, (uint32_t)OnAction_SetBatteryCharge);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1709 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1710 if((pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANADIG) || (pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_DIGITAL))
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1711 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1712 if(pDiveO2Data != NULL)
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1713 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1714 setEvent(StMSYS5_AdjustSurfPres, (uint32_t)OnAction_AdjustSurfacePressure);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1715 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1716 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1717 #ifdef ENABLE_ANALYSE_SAMPLES
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1718 setEvent(StMSYS5_SetSampleIndx, (uint32_t)OnAction_RecoverSampleIdx);
424
2b31cf1ebbcc Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents: 404
diff changeset
1719 #endif
2b31cf1ebbcc Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents: 404
diff changeset
1720
1017
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1721 if((blockInfo.Type & 0x0000FF00)== 0x0100)
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1722 {
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1723 setEvent(StMSYS5_FlashBoot, (uint32_t)OnAction_FlashBootloader);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1724 }
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1725
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1726
424
2b31cf1ebbcc Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents: 404
diff changeset
1727
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1728 text[0] = TXT_2BYTE;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1729 text[1] = TXT2BYTE_WarnBatteryLow;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1730 text[2] = 0;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1731 snprintf(&text[2],10,": %01.2fV",stateRealGetPointer()->lifeData.battery_voltage);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1732 write_label_var( 30, 800, ME_Y_LINE5, &FontT42, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1733
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1734 snprintf(&text[0],30,"Code: %X",getLicence());
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1735 write_label_var( 30, 800, ME_Y_LINE6, &FontT42, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1736
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1737 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1738 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1739
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1740 uint8_t OnAction_LogbookOffset(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1741 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1742 uint8_t digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1743 uint32_t newOffset;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1744
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1745 if(action == ACTION_BUTTON_ENTER)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1746 return digitContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1747
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1748 if(action == ACTION_BUTTON_ENTER_FINAL)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1749 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1750 evaluateNewString(editId, &newOffset, 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1751 if(newOffset > 9000)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1752 newOffset = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1753 tMenuEdit_newInput(editId, newOffset, 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1754 settingsGetPointer()->logbookOffset = (uint16_t)newOffset;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1755 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1756 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1757
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1758 if(action == ACTION_BUTTON_NEXT)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1759 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1760 digitContentNew = digitContent + 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1761 if(digitContentNew > '9')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1762 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1763 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1764 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1765
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1766 if(action == ACTION_BUTTON_BACK)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1767 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1768 digitContentNew = digitContent - 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1769 if(digitContentNew < '0')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1770 digitContentNew = '9';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1771 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1772 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1773 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1774 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1775
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1776 uint8_t OnAction_Nothing (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1777 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1778 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1779 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1780
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1781 uint8_t OnAction_Exit (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1782 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1783 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1784 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1785 uint8_t OnAction_Confirm (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1786 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1787 openEdit_ResetConfirmation(editId);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1788 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1789 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1790
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1791 uint8_t OnAction_Maintenance (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1792 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1793 openEdit_Maintenance();
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1794 return UNSPECIFIC_RETURN;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1795 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1796
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1797 uint8_t OnAction_RebootRTE (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1798 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1799 MX_SmallCPU_Reset_To_Standard();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1800 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1801 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1802
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1803 uint8_t OnAction_ResetDeco (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1804 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1805 clearDeco();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1806 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1807 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1808
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1809 uint8_t OnAction_ResetAll (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1810 {
1027
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1811 set_settings_to_Standard(EF_SETTINGS);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 1017
diff changeset
1812 check_and_correct_settings(EF_SETTINGS);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1813
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1814 return UPDATE_AND_EXIT_TO_HOME;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1815 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1816
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1817 uint8_t OnAction_ResetLogbook (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1818 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1819 write_label_var( 430, 740, 350, &FontT42, "Wait");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1820 ext_flash_erase_logbook();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1821
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1822 SSettings * pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1823 pSettings->lastDiveLogId = 255;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1824 pSettings->logFlashNextSampleStartAddress = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1825
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1826 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1827 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1828
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1829 uint8_t OnAction_RebootMainCPU (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1830 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1831 settingsGetPointer()->showDebugInfo = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1832 extern uint8_t bootToBootloader;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1833 bootToBootloader = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1834 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1835 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1836
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1837
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1838 uint8_t OnAction_SetFactoryDefaults(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1839 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1840 settingsWriteFactoryDefaults(settingsGetPointer()->ButtonResponsiveness[3], settingsGetPointer()->buttonBalance);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1841 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1842 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1843
468
aa1d71875e25 Moved and deactivated analyse sample buffer switch:
ideenmodellierer
parents: 446
diff changeset
1844 #ifdef ENABLE_ANALYSE_SAMPLES
424
2b31cf1ebbcc Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents: 404
diff changeset
1845 uint8_t OnAction_RecoverSampleIdx(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
2b31cf1ebbcc Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents: 404
diff changeset
1846 {
2b31cf1ebbcc Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents: 404
diff changeset
1847 char text[32];
558
66aef216828b Changed operation mode of RecoverSampleIndex:
Ideenmodellierer
parents: 528
diff changeset
1848 uint8_t openSec;
66aef216828b Changed operation mode of RecoverSampleIndex:
Ideenmodellierer
parents: 528
diff changeset
1849 uint8_t retval = UNSPECIFIC_RETURN;
66aef216828b Changed operation mode of RecoverSampleIndex:
Ideenmodellierer
parents: 528
diff changeset
1850 openSec = ext_flash_AnalyseSampleBuffer();
66aef216828b Changed operation mode of RecoverSampleIndex:
Ideenmodellierer
parents: 528
diff changeset
1851 snprintf(&text[0],30,"OpenSec: %d",openSec);
66aef216828b Changed operation mode of RecoverSampleIndex:
Ideenmodellierer
parents: 528
diff changeset
1852 write_label_var( 30, 800, ME_Y_LINE6, &FontT42, text);
424
2b31cf1ebbcc Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents: 404
diff changeset
1853
558
66aef216828b Changed operation mode of RecoverSampleIndex:
Ideenmodellierer
parents: 528
diff changeset
1854 if(openSec == 2)
66aef216828b Changed operation mode of RecoverSampleIndex:
Ideenmodellierer
parents: 528
diff changeset
1855 {
66aef216828b Changed operation mode of RecoverSampleIndex:
Ideenmodellierer
parents: 528
diff changeset
1856 retval = UPDATE_DIVESETTINGS;
66aef216828b Changed operation mode of RecoverSampleIndex:
Ideenmodellierer
parents: 528
diff changeset
1857 }
66aef216828b Changed operation mode of RecoverSampleIndex:
Ideenmodellierer
parents: 528
diff changeset
1858 return retval;
424
2b31cf1ebbcc Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents: 404
diff changeset
1859 }
468
aa1d71875e25 Moved and deactivated analyse sample buffer switch:
ideenmodellierer
parents: 446
diff changeset
1860 #endif
424
2b31cf1ebbcc Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents: 404
diff changeset
1861
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1862 uint8_t OnAction_SetBatteryCharge(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1863 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1864 setBatteryPercentage(settingsGetPointer()->lastKnownBatteryPercentage);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1865 // setBatteryPercentage(100);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1866 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1867 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1868
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1869 uint8_t OnAction_AdjustSurfacePressure (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1870 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1871 SSensorDataDiveO2* pDiveO2Data;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1872 const SDiveState* pDiveState = stateRealGetPointer();
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1873 SSettings* pSettings = settingsGetPointer();
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1874 uint8_t index = 0;
959
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1875 float orgpressure_surface_mbar;
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1876 float DiveO2_mbar;
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1877 int8_t newOffset_mbar = 0;
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1878
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1879
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1880 char text[32];
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1881
959
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1882
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1883
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1884 for (index = 0; index < 3; index++)
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1885 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1886 if(settingsGetPointer()->ext_sensor_map[index] == SENSOR_DIGO2M)
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1887 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1888 pDiveO2Data = (SSensorDataDiveO2*)stateRealGetPointer()->lifeData.extIf_sensor_data[index];
959
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1889 DiveO2_mbar = (pDiveO2Data->pressure/1000.0);
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1890
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1891 orgpressure_surface_mbar = (pDiveState->lifeData.pressure_surface_bar * 1000) - (settingsGetPointer()->offsetPressure_mbar);
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1892 newOffset_mbar = DiveO2_mbar - orgpressure_surface_mbar;
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1893
959
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1894 if(fabs(orgpressure_surface_mbar + ((float)newOffset_mbar) - DiveO2_mbar) > 0.5) /* there might be a rounding difference => compensate */
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1895 {
959
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1896 if((orgpressure_surface_mbar + ((float)newOffset_mbar)) - (pDiveO2Data->pressure/1000.0) > 0.0)
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1897 {
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1898 newOffset_mbar -=1;
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1899 }
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1900 else
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1901 {
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1902 newOffset_mbar +=1;
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1903 }
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1904 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1905
959
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1906 pSettings->offsetPressure_mbar = newOffset_mbar;
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1907 snprintf(text,32,"%c%c (%1.3lf => %1.3f)\016\016Bar",TXT_2BYTE,TXT2BYTE_AdjustAmbPressure,(float)(pDiveO2Data->pressure/1000000.0), (orgpressure_surface_mbar + pSettings->offsetPressure_mbar) / 1000.0);
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1908 tMenuEdit_newButtonText(StMSYS5_AdjustSurfPres,text);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1909 break;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1910 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1911 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1912
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1913 return UNSPECIFIC_RETURN;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1914 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1915
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1916
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1917 #ifdef SCREENTEST
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1918 uint8_t OnAction_ScreenTest (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1919 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1920 static uint8_t FrameCount = 1; // 0 is invisible frame
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1921 char text[5];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1922 GFX_DrawCfgScreen tTestScreen;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1923 tTestScreen.FBStartAdress = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1924 tTestScreen.ImageHeight = 480;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1925 tTestScreen.ImageWidth = 800;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1926 tTestScreen.LayerIndex = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1927
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1928 set_globalState(StMSYS5_ScreenTest);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1929 tTestScreen.FBStartAdress = getFrameByNumber(FrameCount);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1930 if(tTestScreen.FBStartAdress == 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1931 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1932 extern uint8_t bootToBootloader;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1933 bootToBootloader = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1934 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1935 GFX_fill_buffer(tTestScreen.FBStartAdress, 0xFF, FrameCount);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1936 snprintf(text,5,"%u",FrameCount);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1937 Gfx_write_label_var(&tTestScreen, 10,100,10,&FontT48,CLUT_Font027,text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1938 GFX_SetFramesTopBottom(tTestScreen.FBStartAdress, NULL,480);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1939 FrameCount++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1940 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1941 #endif
1017
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1942
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1943 uint8_t OnAction_FlashBootloader (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1944 {
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1945 SHardwareData HwInfo;
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1946 customBlockInfo_t* pCustumBlockInfo = (customBlockInfo_t *) CUSTOM_BLOCK_INFO_ADDR;
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1947 customBlockInfo_t blockInfo;
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1948 uint32_t checksum;
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1949 uint8_t* pSource = (uint8_t *) 0x08100000;
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1950
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1951 checksum = CalcFletcher32(0x08100000,0x0811FFEF); /* last nibble contains block info => exclude */
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1952
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1953 blockInfo.Type = swapBytes(pCustumBlockInfo->Type);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1954 blockInfo.fletcher = swapBytes(pCustumBlockInfo->fletcher);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1955 blockInfo.length = swapBytes(pCustumBlockInfo->length);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1956
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1957 if(checksum == blockInfo.fletcher)
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1958 {
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1959 memcpy (&HwInfo, hardwareDataGetPointer(), sizeof(SHardwareData)); /* create backup copy because data will be overwritten during flash erase */
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1960
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1961 bootloader_eraseFlashMemory();
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1962 bootloader_programFlashMemory(pSource, blockInfo.length, &HwInfo);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1963 }
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1964 return UNSPECIFIC_RETURN;
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1965 }
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1966
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1967 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1968 uint8_t OnAction_TestCLog (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1969 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1970 write_label_var( 430, 740, 350, &FontT42, "Wait");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1971
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1972 test_log_only(20, 5);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1973 test_log_only(30, 10);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1974 ext_flash_write_settings();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1975 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1976 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1977 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1978