annotate Discovery/Src/tMenuEditSystem.c @ 1022:ca713e199f22 GasConsumption

Add model ID 0x44 for the OSTC5 to the 0x60 (HARDWARE2) endpoint. The OSTC4 stays at model ID 0x43. (mikeller)
author heinrichsweikamp
date Sun, 29 Jun 2025 13:45:56 +0200
parents 5924a2d1d3ba
children 158100a84ebd
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;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
49
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
50 /* Private function prototypes -----------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
51 void openEdit_DateTime(void);
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
52 void openEdit_DateFormat(void);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
53 void openEdit_Language(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
54 void openEdit_Design(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
55 void openEdit_Information(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
56 void openEdit_Reset(void);
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
57 void openEdit_Maintenance(void);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
58 //void openEdit_ShowDebugInfo(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
59 //void openEdit_Salinity(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
60
1017
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
61 static uint32_t swapBytes(uint32_t source)
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
62 {
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
63 uint32_t ret = 0;
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
64
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
65 ret = ((source & 0x000000FF) << 24)
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
66 | ((source & 0x0000FF00) << 8)
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
67 | ((source & 0x00FF0000) >> 8)
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
68 | ((source & 0xFF000000) >> 24);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
69
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
70 return ret;
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
71 }
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
72
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
73
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
74 /* Announced function prototypes -----------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
75 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
76 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
77 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
78 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
79 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
80 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
81 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
82 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
83 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
84 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
85 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
86 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
87 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
88 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
89 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
90 //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
91 //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
92 //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
93
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
94 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
95 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
96 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
97
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
98 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
99 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
100 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
101 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
102 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
103 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
104 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
105 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
106 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
107 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
108 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
109 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
110 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
111 #ifdef ENABLE_ANALYSE_SAMPLES
424
2b31cf1ebbcc Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents: 404
diff changeset
112 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
113 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
114 #ifdef SCREENTEST
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
115 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
116 #endif
1017
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
117 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
118 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
119
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
120 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
121 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
122 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
123 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
124
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
125 /* Exported functions --------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
126
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
127 void openEdit_System(uint8_t line)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
128 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
129 set_globalState_Menu_Line(line);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
130 resetMenuEdit(CLUT_MenuPageSystem);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
131
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
132 if(actual_menu_content == MENU_SURFACE)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
133 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
134 switch(line)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
135 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
136 case 1:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
137 default:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
138 openEdit_DateTime();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
139 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
140 case 2:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
141 openEdit_Language();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
142 break;
999
ac25c35a3c97 New Tab for dynamic configuration:
Ideenmodellierer
parents: 988
diff changeset
143 case 3:
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
144 openEdit_Design();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
145 break;
999
ac25c35a3c97 New Tab for dynamic configuration:
Ideenmodellierer
parents: 988
diff changeset
146 case 4:
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
147 openEdit_Information();
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
148 break;
999
ac25c35a3c97 New Tab for dynamic configuration:
Ideenmodellierer
parents: 988
diff changeset
149 case 5:
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
150 openEdit_Reset();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
151 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
152 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
153 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
154 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
155 {
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
156 openEdit_CustomviewDivemodeMenu(line);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
157 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
158
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
159 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
160
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
161 /* Private functions ---------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
162
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
163
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
164 void refresh_DateTime()
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
165 {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
166 RTC_DateTypeDef Sdate;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
167 RTC_TimeTypeDef Stime;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
168 uint8_t day,month,year,hour,minute;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
169 char text[32];
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
170 char formatStr[20];
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
171 SSettings *pSettings;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
172 const SFirmwareData *pFirmwareInfo;
988
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 959
diff changeset
173 #if defined ENABLE_GNSS_INTERN || defined ENABLE_GNSS_EXTERN
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
174 uint8_t localHours = 0;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
175 uint8_t localMinutes = 0;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
176 #endif
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
177 pFirmwareInfo = firmwareDataGetPointer();
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
178 const SDiveState * pStateReal = stateRealGetPointer();
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
179
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
180 pSettings = settingsGetPointer();
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
181
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
182 translateDate(pStateReal->lifeData.dateBinaryFormat, &Sdate);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
183 translateTime(pStateReal->lifeData.timeBinaryFormat, &Stime);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
184 year = Sdate.Year;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
185 month = Sdate.Month;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
186 day = Sdate.Date;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
187 hour = Stime.Hours;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
188 minute= Stime.Minutes;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
189
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
190 if(year < pFirmwareInfo->release_year)
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
191 year = pFirmwareInfo->release_year;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
192
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
193 if(month < 1)
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
194 month = 1;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
195
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
196 if(day < 1)
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
197 day = 1;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
198
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
199 getStringOfFormat_DDMMYY(formatStr, 20);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
200
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
201 text[0] = '\001';
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
202 text[1] = TXT_DateAndTime;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
203 text[2] = 0;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
204
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
205 write_topline(text);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
206
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
207 write_label_fix( 20, 340, ME_Y_LINE1, &FontT42, TXT_TimeConfig);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
208 write_label_fix( 20, 340, ME_Y_LINE2, &FontT42, TXT_Format);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
209 write_label_fix( 20, 340, ME_Y_LINE3, &FontT42, TXT_DateConfig);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
210 write_label_fix( 20, 790, ME_Y_LINE4, &FontT42, TXT_Format);
988
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 959
diff changeset
211 #if defined ENABLE_GNSS_INTERN || defined ENABLE_GNSS_EXTERN
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
212 write_label_var( 20, 340, ME_Y_LINE5, &FontT42, "GNSS");
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
213 snprintf(text, 32, "%c%c", TXT_2BYTE, TXT2BYTE_TIMEZONE);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
214 write_label_var( 20, 340, ME_Y_LINE6, &FontT42, text);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
215 #endif
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
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
218 tMenuEdit_newInput(StMSYS1_Time, hour, minute, 0, 0);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
219 tMenuEdit_set_on_off(StMSYS1_12HR, pSettings->amPMTime);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
220
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
221 switch(pSettings->date_format)
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 default:
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
224 case DDMMYY: tMenuEdit_newInput(StMSYS1_Date, day, month, year, 0);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
225 break;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
226 case MMDDYY: tMenuEdit_newInput(StMSYS1_Date, month, day, year, 0);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
227 break;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
228 case YYMMDD: tMenuEdit_newInput(StMSYS1_Date, year, month, day, 0);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
229 break;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
230 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
231 tMenuEdit_newButtonText(StMSYS1_FORMAT, formatStr);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
232
988
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 959
diff changeset
233 #if defined ENABLE_GNSS_INTERN || defined ENABLE_GNSS_EXTERN
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
234 if(pStateReal->lifeData.gnssData.alive & GNSS_ALIVE_STATE_TIME)
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 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
237 convertStringOfDate_DDMMYY(formatStr, 20, pStateReal->lifeData.gnssData.DateTime.day
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
238 , pStateReal->lifeData.gnssData.DateTime.month
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
239 , pStateReal->lifeData.gnssData.DateTime.year);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
240 snprintf(text, 32, "%02d:%02d - %s", localHours, localMinutes, formatStr);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
241 tMenuEdit_newButtonText(StMSYS1_GNSSDT, text);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
242 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
243 else
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
244 {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
245 snprintf(text, 32, "--:--");
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
246 write_label_var( 320, 790, ME_Y_LINE5, &FontT42, text);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
247 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
248 tMenuEdit_newInput(StMSYS1_ZONE, pSettings->timeZone.hours, pSettings->timeZone.minutes, 0, 0);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
249 #endif
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
250 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
251 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
252 void openEdit_DateTime(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
253 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
254 RTC_DateTypeDef Sdate;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
255 RTC_TimeTypeDef Stime;
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
256 uint8_t day,month,year,hour,minute;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
257 char text[32];
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
258 char formatStr[20];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
259 SSettings *pSettings;
730
9c65d226f4f6 Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents: 720
diff changeset
260 const SFirmwareData *pFirmwareInfo;
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
261
720
4f70155362d2 Bugfix set date (year):
Ideenmodellierer
parents: 671
diff changeset
262 pFirmwareInfo = firmwareDataGetPointer();
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
263 const SDiveState * pStateReal = stateRealGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
264
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
265 pSettings = settingsGetPointer();
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
266
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
267 set_globalState(StMSYS1_DateTime);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
268 resetMenuEdit(CLUT_MenuPageSystem);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
269
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
270 translateDate(pStateReal->lifeData.dateBinaryFormat, &Sdate);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
271 translateTime(pStateReal->lifeData.timeBinaryFormat, &Stime);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
272 year = Sdate.Year;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
273 month = Sdate.Month;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
274 day = Sdate.Date;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
275 hour = Stime.Hours;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
276 minute= Stime.Minutes;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
277
720
4f70155362d2 Bugfix set date (year):
Ideenmodellierer
parents: 671
diff changeset
278 if(year < pFirmwareInfo->release_year)
4f70155362d2 Bugfix set date (year):
Ideenmodellierer
parents: 671
diff changeset
279 year = pFirmwareInfo->release_year;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
280
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
281 if(month < 1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
282 month = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
283
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
284 if(day < 1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
285 day = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
286
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
287 getStringOfFormat_DDMMYY(formatStr, 20);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
288
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
289 text[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
290 text[1] = TXT_DateAndTime;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
291 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
292
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
293 write_topline(text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
294
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
295 write_label_fix( 20, 340, ME_Y_LINE1, &FontT42, TXT_TimeConfig);
567
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
296 write_label_fix( 20, 340, ME_Y_LINE2, &FontT42, TXT_Format);
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
297 write_label_fix( 20, 340, ME_Y_LINE3, &FontT42, TXT_DateConfig);
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
298 write_label_fix( 20, 790, ME_Y_LINE4, &FontT42, TXT_Format);
988
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 959
diff changeset
299 #if defined ENABLE_GNSS_INTERN || defined ENABLE_GNSS_EXTERN
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
300 write_label_var( 20, 340, ME_Y_LINE5, &FontT42, "GNSS");
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
301 snprintf(text, 32, "%c%c", TXT_2BYTE, TXT2BYTE_TIMEZONE);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
302 write_label_var( 20, 340, ME_Y_LINE6, &FontT42, text);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
303 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
304
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
305 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
306 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
307
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
308 switch(pSettings->date_format)
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
309 {
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
310 default:
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
311 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
312 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
313 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
314 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
315 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
316 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
317 }
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
318
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
319 write_field_button(StMSYS1_FORMAT, 320, 790, ME_Y_LINE4, &FontT48, formatStr);
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
320
988
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 959
diff changeset
321 #if defined ENABLE_GNSS_INTERN || defined ENABLE_GNSS_EXTERN
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
322 snprintf(text, 32, "--:--");
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
323 write_field_button(StMSYS1_GNSSDT, 320, 790, ME_Y_LINE5, &FontT48, text);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
324 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
325 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
326
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
327 setEvent(StMSYS1_Date, (uint32_t)OnAction_Date);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
328 setEvent(StMSYS1_Time, (uint32_t)OnAction_Time);
567
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
329 setEvent(StMSYS1_12HR, (uint32_t)OnAction_12HR);
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
330 setEvent(StMSYS1_FORMAT, (uint32_t)OnAction_Format);
988
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 959
diff changeset
331 #if defined ENABLE_GNSS_INTERN || defined ENABLE_GNSS_EXTERN
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
332 setEvent(StMSYS1_GNSSDT, (uint32_t)OnAction_SetGnss);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
333 setEvent(StMSYS1_ZONE, (uint32_t)OnAction_UTC);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
334 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
335 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
336 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
337
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
338
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
339 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
340 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
341 uint8_t digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
342 uint32_t newDay, newMonth, newYear;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
343 RTC_DateTypeDef sdatestructure;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
344
730
9c65d226f4f6 Update sensor menu support for automatic sensor detection:
Ideenmodellierer
parents: 720
diff changeset
345 const SFirmwareData *pFirmwareInfo;
720
4f70155362d2 Bugfix set date (year):
Ideenmodellierer
parents: 671
diff changeset
346 pFirmwareInfo = firmwareDataGetPointer();
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
347
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
348 uint8_t mapDMY[3];
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
349 switch(settingsGetPointer()->date_format)
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
350 {
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
351 default:
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
352 case DDMMYY: mapDMY[0] = 0;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
353 mapDMY[1] = 1;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
354 mapDMY[2] = 2;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
355 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
356 case MMDDYY: mapDMY[0] = 1;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
357 mapDMY[1] = 0;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
358 mapDMY[2] = 2;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
359 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
360 case YYMMDD: mapDMY[0] = 2;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
361 mapDMY[1] = 1;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
362 mapDMY[2] = 0;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
363 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
364 }
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
365
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
366 if(action == ACTION_BUTTON_ENTER)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
367 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
368 return digitContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
369 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
370 if(action == ACTION_BUTTON_ENTER_FINAL)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
371 {
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
372 switch(settingsGetPointer()->date_format)
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
373 {
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
374 default:
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
375 case DDMMYY: evaluateNewString(editId, &newDay, &newMonth, &newYear, 0);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
376 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
377 case MMDDYY: evaluateNewString(editId, &newMonth, &newDay, &newYear, 0);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
378 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
379 case YYMMDD: evaluateNewString(editId, &newYear, &newMonth, &newDay, 0);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
380 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
381 }
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
382
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
383 if(newDay == 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
384 newDay = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
385 if(newDay > 31)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
386 newDay = 31;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
387 if(newMonth == 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
388 newMonth = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
389 if(newMonth > 12)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
390 newMonth = 12;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
391 if((newMonth == 2) && (newDay > 29))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
392 newDay = 29;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
393 if((newDay > 30) && ((newMonth == 4) ||(newMonth == 6) ||(newMonth == 9) ||(newMonth == 11)))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
394 newDay = 30;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
395 if(newYear < 17)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
396 newYear = 17;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
397 if(newYear > 99)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
398 newYear = 99;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
399
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
400 sdatestructure.Date = newDay;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
401 sdatestructure.Month = newMonth;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
402 sdatestructure.Year = newYear;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
403 setWeekday(&sdatestructure);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
404
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
405 setDate(sdatestructure);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
406
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
407 switch(settingsGetPointer()->date_format)
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
408 {
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
409 default:
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
410 case DDMMYY: tMenuEdit_newInput(editId, newDay, newMonth, newYear, 0);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
411 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
412 case MMDDYY: tMenuEdit_newInput(editId, newMonth, newDay, newYear, 0);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
413 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
414 case YYMMDD: tMenuEdit_newInput(editId, newYear, newMonth, newDay, 0);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
415 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
416 }
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
417
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
418 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
419 }
720
4f70155362d2 Bugfix set date (year):
Ideenmodellierer
parents: 671
diff changeset
420 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
421 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
422 digitContentNew = digitContent + 1;
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
423
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
424 if((blockNumber == mapDMY[0]) && (digitContentNew > '0' + 31))
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
425 {
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
426 digitContentNew = '1';
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
427 }
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
428 if((blockNumber == mapDMY[1]) && (digitContentNew > '0' + 12))
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
429 {
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
430 digitContentNew = '1';
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
431 }
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
432 if((blockNumber == mapDMY[2]) && (digitContentNew > '0' + pFirmwareInfo->release_year + 10))
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
433 {
720
4f70155362d2 Bugfix set date (year):
Ideenmodellierer
parents: 671
diff changeset
434 digitContentNew = '0' + pFirmwareInfo->release_year;
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
435 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
436 return digitContentNew;
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_BACK) /* 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 if((blockNumber == mapDMY[0]) && (digitContentNew < '1'))
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
442 {
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
443 digitContentNew = '0' + 31;
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
444 }
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
445 if((blockNumber == mapDMY[1]) && (digitContentNew < '1'))
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
446 {
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
447 digitContentNew = '0' + 12;
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
448 }
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
449 if((blockNumber == mapDMY[2]) && (digitContentNew < '0' + pFirmwareInfo->release_year))
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
450 {
720
4f70155362d2 Bugfix set date (year):
Ideenmodellierer
parents: 671
diff changeset
451 digitContentNew = '0' + pFirmwareInfo->release_year + 10;
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
452 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
453 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
454 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
455 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
456 if(action == ACTION_BUTTON_NEXT)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
457 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
458 digitContentNew = digitContent + 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
459 if((blockNumber == 2) && (digitNumber == 0) && (digitContentNew > '2'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
460 digitContentNew = '1';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
461 if((blockNumber == 0) && (digitNumber == 0) && (digitContentNew > '3'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
462 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
463 if((blockNumber == 1) && (digitNumber == 0) && (digitContentNew > '1'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
464 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
465 if(digitContentNew > '9')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
466 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
467 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
468 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
469 if(action == ACTION_BUTTON_BACK)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
470 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
471 digitContentNew = digitContent - 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
472 if((blockNumber == 2) && (digitNumber == 0) && (digitContentNew < '1'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
473 digitContentNew = '2';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
474 if((blockNumber == 0) && (digitNumber == 0) && (digitContentNew < '0'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
475 digitContentNew = '3';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
476 if((blockNumber == 1) && (digitNumber == 0) && (digitContentNew < '0'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
477 digitContentNew = '1';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
478 if(digitContentNew < '0')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
479 digitContentNew = '9';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
480 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
481 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
482 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
483 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
484 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
485
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
486
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
487 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
488 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
489 uint8_t digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
490 uint32_t newHour, newMinute;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
491 RTC_TimeTypeDef stimestructure;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
492
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
493 if(action == ACTION_BUTTON_ENTER)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
494 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
495 return digitContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
496 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
497 if(action == ACTION_BUTTON_ENTER_FINAL)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
498 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
499 evaluateNewString(editId, &newHour, &newMinute, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
500 if(newHour > 23)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
501 newHour = 23;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
502 if(newMinute > 59)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
503 newMinute = 59;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
504
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
505 stimestructure.Hours = newHour;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
506 stimestructure.Minutes = newMinute;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
507 stimestructure.Seconds = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
508
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
509 setTime(stimestructure);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
510
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
511 tMenuEdit_newInput(editId, newHour, newMinute, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
512 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
513 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
514 if(action == ACTION_BUTTON_NEXT)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
515 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
516 digitContentNew = digitContent + 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
517 if((blockNumber == 0) && (digitContentNew > '0' + 23))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
518 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
519 if((blockNumber == 1) && (digitContentNew > '0' + 59))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
520 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
521 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
522 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
523 if(action == ACTION_BUTTON_BACK)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
524 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
525 digitContentNew = digitContent - 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
526 if((blockNumber == 0) && (digitContentNew < '0'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
527 digitContentNew = '0' + 23;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
528 if((blockNumber == 1) && (digitContentNew < '0'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
529 digitContentNew = '0' + 59;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
530 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
531 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
532 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
533 if(action == ACTION_BUTTON_NEXT)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
534 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
535 digitContentNew = digitContent + 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
536 if((blockNumber == 0) && (digitNumber == 0) && (digitContentNew > '2'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
537 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
538 if((blockNumber == 1) && (digitNumber == 0) && (digitContentNew > '5'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
539 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
540 if(digitContentNew > '9')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
541 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
542 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
543 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
544 if(action == ACTION_BUTTON_BACK)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
545 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
546 digitContentNew = digitContent - 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
547 if((blockNumber == 0) && (digitNumber == 0) && (digitContentNew < '0'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
548 digitContentNew = '2';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
549 if((blockNumber == 1) && (digitNumber == 0) && (digitContentNew < '0'))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
550 digitContentNew = '5';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
551 if(digitContentNew < '0')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
552 digitContentNew = '9';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
553 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
554 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
555 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
556 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
557 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
558
567
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
559 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
560 {
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
561 SSettings *pSettings;
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
562
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
563 pSettings = settingsGetPointer();
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
564 pSettings->amPMTime = !(pSettings->amPMTime);
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
565
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
566 tMenuEdit_set_on_off(editId, pSettings->amPMTime);
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
567
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
568 return UNSPECIFIC_RETURN;
1c95f811967c -Add 12HR Time Support
izzni
parents: 558
diff changeset
569 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
570
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
571 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
572 {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
573 RTC_DateTypeDef sdatestructure;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
574 RTC_TimeTypeDef stimestructure;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
575 uint8_t localHours = 0;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
576 uint8_t localMinutes = 0;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
577
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
578 const SDiveState * pStateReal = stateRealGetPointer();
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
579
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
580 if(pStateReal->lifeData.gnssData.alive & GNSS_ALIVE_STATE_TIME)
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
581 {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
582 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
583 stimestructure.Hours = localHours;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
584 stimestructure.Minutes = localMinutes;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
585 stimestructure.Seconds = 0;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
586 setTime(stimestructure);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
587
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
588 sdatestructure.Date = pStateReal->lifeData.gnssData.DateTime.day;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
589 sdatestructure.Month = pStateReal->lifeData.gnssData.DateTime.month;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
590 sdatestructure.Year = pStateReal->lifeData.gnssData.DateTime.year;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
591 setWeekday(&sdatestructure);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
592 setDate(sdatestructure);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
593 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
594 return UNSPECIFIC_RETURN;
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
944
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
597 void openEdit_DateFormat(void)
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
598 {
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
599 char text[32];
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
600 SSettings *pSettings;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
601
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
602 uint8_t ddmmyy = 0;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
603 uint8_t mmddyy= 0;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
604 uint8_t yymmdd = 0;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
605
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
606 pSettings = settingsGetPointer();
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
607
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
608
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
609 set_globalState(StMSYS1_FORMAT);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
610 resetMenuEdit(CLUT_MenuPageSystem);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
611 setBackMenu((uint32_t)openEdit_DateTime,0,4);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
612
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
613 switch(pSettings->date_format)
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
614 {
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
615 default:
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
616 case DDMMYY: ddmmyy = 1;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
617 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
618 case MMDDYY: mmddyy = 1;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
619 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
620 case YYMMDD: yymmdd = 1;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
621 break;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
622 };
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
623
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
624 text[0] = '\001';
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
625 text[1] = TXT_Format;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
626 text[2] = 0;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
627
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
628 write_topline(text);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
629
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
630 write_label_fix( 20, 790, ME_Y_LINE2, &FontT42, TXT_Format);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
631
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
632 write_field_on_off(StMSYS1_DDMMYY, 320, 790, ME_Y_LINE1, &FontT48, "DDMMYY", ddmmyy);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
633 write_field_on_off(StMSYS1_MMDDYY, 320, 790, ME_Y_LINE2, &FontT48, "MMDDYY", mmddyy);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
634 write_field_on_off(StMSYS1_YYMMDD, 320, 790, ME_Y_LINE3, &FontT48, "YYMMDD", yymmdd);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
635
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
636 setEvent(StMSYS1_DDMMYY, (uint32_t)OnAction_DDMMYY);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
637 setEvent(StMSYS1_MMDDYY, (uint32_t)OnAction_MMDDYY);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
638 setEvent(StMSYS1_YYMMDD, (uint32_t)OnAction_YYMMDD);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
639
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
640 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
641 }
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
642
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
643 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
644 {
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
645 openEdit_DateFormat();
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
646
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
647 return UNSPECIFIC_RETURN;
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
648 }
44599695df41 Restructure Date/Time menu:
Ideenmodellierer
parents: 884
diff changeset
649
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
650 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
651 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
652 SSettings *pSettings;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
653
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
654 pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
655 pSettings->date_format = DDMMYY;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
656
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
657 tMenuEdit_set_on_off(editId, 1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
658 tMenuEdit_set_on_off(StMSYS1_MMDDYY, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
659 tMenuEdit_set_on_off(StMSYS1_YYMMDD, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
660
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
661 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
662 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
663
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
664
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
665 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
666 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
667 SSettings *pSettings;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
668
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
669 pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
670 pSettings->date_format = MMDDYY;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
671
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
672 tMenuEdit_set_on_off(editId, 1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
673 tMenuEdit_set_on_off(StMSYS1_DDMMYY, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
674 tMenuEdit_set_on_off(StMSYS1_YYMMDD, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
675
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
676 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
677 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
678
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
679
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
680 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
681 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
682 SSettings *pSettings;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
683
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
684 pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
685 pSettings->date_format = YYMMDD;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
686
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
687 tMenuEdit_set_on_off(editId, 1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
688 tMenuEdit_set_on_off(StMSYS1_MMDDYY, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
689 tMenuEdit_set_on_off(StMSYS1_DDMMYY, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
690
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
691 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
692 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
693
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
694 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
695 {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
696 SSettings *settings = settingsGetPointer();
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
697 const SDiveState * pStateReal = stateRealGetPointer();
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
698 int32_t utcHour;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
699 uint32_t utcMinutes;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
700 uint8_t digitContentNew;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
701 uint8_t localHours = 0;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
702 uint8_t localMinutes = 0;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
703 char text[32];
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
704 char timeStr[20];
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
705
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
706 switch (action) {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
707 case ACTION_BUTTON_ENTER:
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
708
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
709 return digitContent;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
710 case ACTION_BUTTON_ENTER_FINAL:
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
711 {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
712
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
713 evaluateNewString(editId, (uint32_t *)&utcHour, &utcMinutes, NULL, NULL);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
714
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
715 if (utcHour > 14) {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
716 utcHour = 14;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
717 } else if (utcHour < -12) {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
718 utcHour = -12;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
719 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
720
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
721 if (utcMinutes % 15 != 0)
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
722 {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
723 utcMinutes = (utcMinutes / 15) * 15;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
724 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
725 if(utcMinutes > 45)
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 utcMinutes = 45;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
728 } else if (utcMinutes < 0) {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
729 utcMinutes = 0;
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 settings->timeZone.hours = utcHour;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
732 settings->timeZone.minutes = utcMinutes;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
733
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
734 tMenuEdit_newInput(editId, ((input_u)utcHour).uint32, utcMinutes, 0, 0);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
735 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
736 convertStringOfDate_DDMMYY(timeStr, 20, pStateReal->lifeData.gnssData.DateTime.day
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
737 , pStateReal->lifeData.gnssData.DateTime.month
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
738 , pStateReal->lifeData.gnssData.DateTime.year);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
739 snprintf(text, 32, "%2d:%2d - %s", localHours, localMinutes, timeStr);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
740 tMenuEdit_newButtonText(StMSYS1_GNSSDT, text);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
741 }
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 break;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
744 case ACTION_BUTTON_NEXT:
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
745 if ((blockNumber == 0) && (digitNumber == 0)) {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
746 digitContentNew = togglePlusMinus(digitContent);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
747 } else {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
748 digitContentNew = digitContent + 1;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
749 if (digitContentNew > '9') {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
750 digitContentNew = '0';
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 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
753
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
754 return digitContentNew;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
755 case ACTION_BUTTON_BACK:
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
756 if ((blockNumber == 0) && (digitNumber == 0)) {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
757 digitContentNew = togglePlusMinus(digitContent);
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
758 } else {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
759 digitContentNew = digitContent - 1;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
760 if (digitContentNew < '0') {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
761 digitContentNew = '9';
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
762 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
763 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
764 return digitContentNew;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
765 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
766 return UNSPECIFIC_RETURN;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
767 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 944
diff changeset
768
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
769
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
770 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
771 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
772 RTC_TimeTypeDef stimestructure;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
773 uint8_t newDST;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
774
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
775 get_RTC_DateTime(0, &stimestructure);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
776 newDST = stimestructure.DayLightSaving;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
777 if(newDST)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
778 newDST = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
779 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
780 newDST = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
781 stimestructure.DayLightSaving = newDST;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
782 set_RTC_DateTime(0, &stimestructure);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
783
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
784 tMenuEdit_set_on_off(editId, newDST);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
785
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
786 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
787 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
788
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
789
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
790 void openEdit_Language(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
791 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
792 char text[32];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
793 uint8_t actualLanguage, active;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
794 SSettings *pSettings;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
795
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
796 pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
797 actualLanguage = pSettings->selected_language;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
798
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
799 text[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
800 text[1] = TXT_Language;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
801 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
802 write_topline(text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
803
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
804 text[0] = TXT_LanguageName;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
805 text[1] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
806
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
807 pSettings->selected_language = LANGUAGE_English;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
808 if( actualLanguage == pSettings->selected_language)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
809 active = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
810 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
811 active = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
812 write_field_on_off(StMSYS2_English, 30, 500, ME_Y_LINE1, &FontT48, text, active);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
813
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
814 pSettings->selected_language = LANGUAGE_German;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
815 if( actualLanguage == pSettings->selected_language)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
816 active = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
817 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
818 active = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
819 write_field_on_off(StMSYS2_German, 30, 800, ME_Y_LINE2, &FontT48, text, active);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
820
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
821 pSettings->selected_language = LANGUAGE_French;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
822 if( actualLanguage == pSettings->selected_language)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
823 active = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
824 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
825 active = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
826 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
827
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
828
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
829 pSettings->selected_language = LANGUAGE_Italian;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
830 if( actualLanguage == pSettings->selected_language)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
831 active = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
832 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
833 active = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
834 write_field_on_off(StMSYS2_Italian, 30, 800, ME_Y_LINE4, &FontT48, text, active);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
835
102
4276d56eb37c hPa instead of mbar, enabled Spanish language
heinrichsweikamp
parents: 64
diff changeset
836
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
837 pSettings->selected_language = LANGUAGE_Espanol;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
838 if( actualLanguage == pSettings->selected_language)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
839 active = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
840 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
841 active = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
842 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
843
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
844 pSettings->selected_language = actualLanguage;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
845
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
846 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
847
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
848 setEvent(StMSYS2_English, (uint32_t)OnAction_English);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
849 setEvent(StMSYS2_German, (uint32_t)OnAction_German);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
850 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
851 setEvent(StMSYS2_Italian, (uint32_t)OnAction_Italian);
102
4276d56eb37c hPa instead of mbar, enabled Spanish language
heinrichsweikamp
parents: 64
diff changeset
852 setEvent(StMSYS2_Espanol, (uint32_t)OnAction_Espanol);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
853 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
854
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
855
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
856 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
857 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
858 SSettings *pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
859 pSettings->selected_language = LANGUAGE_English;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
860 return EXIT_TO_MENU_WITH_LOGO;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
861 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
862
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
863
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
864 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
865 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
866 SSettings *pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
867 pSettings->selected_language = LANGUAGE_German;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
868 return EXIT_TO_MENU_WITH_LOGO;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
869 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
870
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
871
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
872 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
873 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
874 SSettings *pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
875 pSettings->selected_language = LANGUAGE_French;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
876 return EXIT_TO_MENU_WITH_LOGO;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
877 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
878
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
879
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
880 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
881 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
882 SSettings *pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
883 pSettings->selected_language = LANGUAGE_Italian;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
884 return EXIT_TO_MENU_WITH_LOGO;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
885 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
886
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
887
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
888 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
889 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
890 SSettings *pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
891 pSettings->selected_language = LANGUAGE_Espanol;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
892 return EXIT_TO_MENU_WITH_LOGO;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
893 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
894
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
895
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
896 void openEdit_Design(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
897 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
898 refresh_Design();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
899
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
900 write_field_button(StMSYS3_Units, 400, 700, ME_Y_LINE1, &FontT48, "");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
901 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
902 #ifdef HAVE_DEBUG_VIEW
c9d217b110cc Added compile switch to enable debug view option in system menu
ideenmodellierer
parents: 259
diff changeset
903 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
904 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
905 setEvent(StMSYS3_Units, (uint32_t)OnAction_Units);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
906 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
907 #ifdef HAVE_DEBUG_VIEW
c9d217b110cc Added compile switch to enable debug view option in system menu
ideenmodellierer
parents: 259
diff changeset
908 setEvent(StMSYS3_Debug, (uint32_t)OnAction_DebugInfo);
c9d217b110cc Added compile switch to enable debug view option in system menu
ideenmodellierer
parents: 259
diff changeset
909 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
910 }
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 void refresh_Design(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
914 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
915 char text[32];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
916
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
917 // header
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
918 text[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
919 text[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
920 text[2] = TXT2BYTE_Layout;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
921 text[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
922 write_topline(text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
923
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
924 // units
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
925 text[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
926 text[1] = TXT2BYTE_Units;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
927 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
928 write_label_var( 30, 200, ME_Y_LINE1, &FontT48, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
929
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
930 if(settingsGetPointer()->nonMetricalSystem)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
931 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
932 text[1] = TXT2BYTE_Units_feet;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
933 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
934 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
935 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
936 text[1] = TXT2BYTE_Units_metric;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
937 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
938 write_label_var( 400, 700, ME_Y_LINE1, &FontT48, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
939
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
940 // colorscheme
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
941 text[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
942 text[1] = TXT2BYTE_Farbschema;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
943 text[2] = 0;
118
ee7f2cd9b9b4 Enlarge text limits to get string displayed completly
Ideenmodellierer
parents: 103
diff changeset
944 write_label_var( 30, 300, ME_Y_LINE2, &FontT48, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
945
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
946 text[0] = '0' + settingsGetPointer()->tX_colorscheme;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
947 text[1] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
948 write_label_var( 400, 700, ME_Y_LINE2, &FontT48, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
949
343
c9d217b110cc Added compile switch to enable debug view option in system menu
ideenmodellierer
parents: 259
diff changeset
950 #ifdef HAVE_DEBUG_VIEW
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
951 // specials
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
952 text[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
953 text[1] = TXT2BYTE_ShowDebug;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
954 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
955 write_label_var( 30, 700, ME_Y_LINE3, &FontT48, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
956
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
957 if(settingsGetPointer()->showDebugInfo)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
958 text[0] = '\005';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
959 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
960 text[0] = '\006';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
961 text[1] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
962 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
963 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
964
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
965 // design
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
966 text[0] = TXT_Depth;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
967 text[1] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
968 write_content( 30, 700, ME_Y_LINE4, &FontT24, text, CLUT_Font031);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
969 write_content( 30, 700, ME_Y_LINE4 + 30 + 70, &FontT48, "___________", CLUT_DIVE_FieldSeperatorLines);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
970 write_content(280, 700, ME_Y_LINE4 + 30 + 70 - 3, &FontT48, "|", CLUT_DIVE_pluginbox);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
971 write_content(290, 700, ME_Y_LINE4 + 30 + 70 - 37, &FontT48, "_______________", CLUT_DIVE_pluginbox);
884
940f8e132638 Minor screen cleanup:
Ideenmodellierer
parents: 854
diff changeset
972 write_content( 30, 700, ME_Y_LINE4 + 42, &FontT144, "24.7", CLUT_Font027);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
973
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
974 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
975 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
976
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
977
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
978 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
979 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
980 settingsGetPointer()->nonMetricalSystem = !(settingsGetPointer()->nonMetricalSystem);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
981 return EXIT_TO_MENU_WITH_LOGO;//UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
982 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
983
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
984
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
985 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
986 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
987 uint8_t newColorscheme;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
988
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
989 newColorscheme = settingsGetPointer()->tX_colorscheme + 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
990
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
991 if(newColorscheme > 3)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
992 newColorscheme = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
993
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
994 settingsGetPointer()->tX_colorscheme = newColorscheme;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
995 GFX_use_colorscheme(newColorscheme);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
996 tHome_init_compass();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
997 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
998 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
999
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1000
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1001 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
1002 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1003 settingsGetPointer()->showDebugInfo = !(settingsGetPointer()->showDebugInfo);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1004 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1005 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1006
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1007
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1008
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1009
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1010 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1011 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
1012 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1013 SSettings *pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1014 if((pSettings->design == 7) && pSettings->nonMetricalSystem)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1015 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1016 pSettings->design = 7;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1017 pSettings->nonMetricalSystem = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1018 tMenuEdit_set_on_off(StMSYS3_t7, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1019 tMenuEdit_set_on_off(StMSYS3_t7ft, 1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1020 tMenuEdit_set_on_off(StMSYS3_t3, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1021 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1022 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1023
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1024
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1025 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
1026 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1027 SSettings *pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1028 if((pSettings->design == 7) && (pSettings->nonMetricalSystem == 0))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1029 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1030 pSettings->design = 7;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1031 pSettings->nonMetricalSystem = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1032 tMenuEdit_set_on_off(StMSYS3_t7, 1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1033 tMenuEdit_set_on_off(StMSYS3_t7ft, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1034 tMenuEdit_set_on_off(StMSYS3_t3, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1035 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1036 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1037
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1038
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1039 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
1040 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1041 SSettings *pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1042 if(pSettings->design == 3)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1043 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1044 pSettings->design = 3;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1045 pSettings->nonMetricalSystem = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1046 tMenuEdit_set_on_off(StMSYS3_t7, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1047 tMenuEdit_set_on_off(StMSYS3_t7ft,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1048 tMenuEdit_set_on_off(StMSYS3_t3, 1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1049 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1050 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1051 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1052
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1053
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
1054
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1055 void openEdit_Information(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1056 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1057 char text[70];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1058
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1059 infoPage = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1060
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1061 text[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1062 text[1] = TXT_Information;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1063 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1064 write_topline(text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1065
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1066 text[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1067 text[1] = TXT2BYTE_ButtonNext;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1068 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1069
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1070 write_field_button(StMSYS4_Info, 30, 800, ME_Y_LINE6, &FontT48, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1071
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1072 setEvent(StMSYS4_Info, (uint32_t)OnAction_Information);
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 844
diff changeset
1073 tMenuEdit_select(StMSYS4_Info);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1074 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1075
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1076
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1077 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
1078 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1079 resetEnterPressedToStateBeforeButtonAction();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1080
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1081 infoPage++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1082 if(infoPage > 3)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1083 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1084 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1085 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1086 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1087
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1088
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1089 void refresh_InformationPage(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1090 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1091 char text_header[5];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1092 char text_button[5];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1093 char text_content[256];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1094 uint8_t date[3], year,month,day;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1095
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1096 RTC_DateTypeDef Sdate, Sdate2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1097 float temperature1, temperature2, voltage, offsetTemperature;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1098
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1099 //RTC_TimeTypeDef Stime;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1100
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1101 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1102 SDeviceLine batteryChargeCycles;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1103 SDeviceLine batteryChargeCompleteCycles;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1104 SDeviceLine temperatureMinimum;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1105 SDeviceLine temperatureMaximum;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1106 SDeviceLine depthMaximum;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1107 SDeviceLine diveCycles;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1108 SDeviceLine voltageMinimum;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1109 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1110
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1111 switch(infoPage)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1112 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1113 case 0:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1114 text_header[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1115 text_header[1] = TXT_Information;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1116 text_header[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1117
1013
fa1af49319e5 Update Information view:
Ideenmodellierer
parents: 999
diff changeset
1118 if(isNewDisplay())
fa1af49319e5 Update Information view:
Ideenmodellierer
parents: 999
diff changeset
1119 {
fa1af49319e5 Update Information view:
Ideenmodellierer
parents: 999
diff changeset
1120 write_label_var( 20, 800, ME_Y_LINE1, &FontT42, "Dive Computer OSTC5");
fa1af49319e5 Update Information view:
Ideenmodellierer
parents: 999
diff changeset
1121 }
fa1af49319e5 Update Information view:
Ideenmodellierer
parents: 999
diff changeset
1122 else
fa1af49319e5 Update Information view:
Ideenmodellierer
parents: 999
diff changeset
1123 {
fa1af49319e5 Update Information view:
Ideenmodellierer
parents: 999
diff changeset
1124 write_label_var( 20, 800, ME_Y_LINE1, &FontT42, "Dive Computer OSTC4");
fa1af49319e5 Update Information view:
Ideenmodellierer
parents: 999
diff changeset
1125 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1126 write_label_var( 20, 800, ME_Y_LINE2, &FontT42, "Design heinrichs/weikamp");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1127
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1128 Sdate.Year = firmwareDataGetPointer()->release_year;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1129 Sdate.Month = firmwareDataGetPointer()->release_month;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1130 Sdate.Date = firmwareDataGetPointer()->release_day;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1131
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1132 if(settingsGetPointer()->date_format == DDMMYY)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1133 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1134 day = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1135 month = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1136 year = 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1137 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1138 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1139 if(settingsGetPointer()->date_format == MMDDYY)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1140 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1141 day = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1142 month = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1143 year = 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1144 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1145 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1146 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1147 day = 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1148 month = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1149 year = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1150 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1151 date[day] = Sdate.Date;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1152 date[month] = Sdate.Month;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1153 date[year] = Sdate.Year;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1154 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
1155 write_label_var( 20, 800, ME_Y_LINE3, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1156 write_label_var( 20, 800, ME_Y_LINE4, &FontT42, "for more information");
64
98b479d0618f typo in info menu...
heinrichsweikamp
parents: 57
diff changeset
1157 write_label_var( 20, 800, ME_Y_LINE5, &FontT42, "info@heinrichsweikamp.com");
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1158
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1159 text_button[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1160 text_button[1] = TXT2BYTE_ButtonNext;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1161 text_button[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1162 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1163
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1164 case 1:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1165 text_header[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1166 text_header[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1167 text_header[2] = TXT2BYTE_Usage_Battery;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1168 text_header[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1169
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1170 text_content[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1171 text_content[1] = TXT2BYTE_ChargeCycles;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1172 text_content[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1173 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
1174 /* 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
1175 write_label_var( 20, 800, ME_Y_LINE2, &FontT42, text_content); */
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1176
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1177 translateDate(stateDeviceGetPointer()->batteryChargeCycles.date_rtc_dr, &Sdate);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1178 translateDate(stateDeviceGetPointer()->batteryChargeCompleteCycles.date_rtc_dr, &Sdate2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1179 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
1180 write_label_var( 20, 800, ME_Y_LINE2, &FontT42, text_content);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1181
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1182 text_content[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1183 text_content[1] = TXT2BYTE_LowestVoltage;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1184 text_content[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1185 write_label_var( 20, 800, ME_Y_LINE4, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1186
404
e729b8e7654d Bugfix: display of time of minimum voltag:
ideenmodellierer
parents: 389
diff changeset
1187 translateDate(stateDeviceGetPointer()->voltageMinimum.date_rtc_dr, &Sdate);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1188 voltage = ((float)stateDeviceGetPointer()->voltageMinimum.value_int32) / 1000;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1189 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
1190 write_label_var( 20, 800, ME_Y_LINE5, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1191
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1192 text_button[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1193 text_button[1] = TXT2BYTE_ButtonNext;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1194 text_button[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1195 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1196
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1197 case 2:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1198 text_header[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1199 text_header[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1200 text_header[2] = TXT2BYTE_Usage_Dives;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1201 text_header[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1202
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1203 text_content[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1204 text_content[1] = TXT2BYTE_NumberOfDives;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1205 text_content[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1206 write_label_var( 20, 800, ME_Y_LINE1, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1207
57
e941c9e49f73 Resolve format warnings
Ideenmodellierer
parents: 55
diff changeset
1208 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
1209 write_label_var( 20, 800, ME_Y_LINE2, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1210
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1211 translateDate(stateDeviceGetPointer()->diveCycles.date_rtc_dr, &Sdate);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1212 translateDate(stateDeviceGetPointer()->depthMaximum.date_rtc_dr, &Sdate2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1213 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
1214 write_label_var( 20, 800, ME_Y_LINE3, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1215
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1216 text_content[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1217 text_content[1] = TXT2BYTE_HoursOfOperation;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1218 text_content[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1219 write_label_var( 20, 800, ME_Y_LINE4, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1220
57
e941c9e49f73 Resolve format warnings
Ideenmodellierer
parents: 55
diff changeset
1221 snprintf(text_content,80,"%ld",(stateDeviceGetPointer()->hoursOfOperation.value_int32)/3600);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1222 write_label_var( 20, 800, ME_Y_LINE5, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1223
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1224 text_button[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1225 text_button[1] = TXT2BYTE_ButtonNext;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1226 text_button[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1227 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1228
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1229 case 3:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1230 text_header[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1231 text_header[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1232 text_header[2] = TXT2BYTE_Usage_Environment;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1233 text_header[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1234
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1235 text_content[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1236 text_content[1] = TXT2BYTE_AmbientTemperature;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1237 text_content[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1238 write_label_var( 20, 800, ME_Y_LINE1, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1239
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1240 temperature1 = ((float)stateDeviceGetPointer()->temperatureMinimum.value_int32) / 100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1241 temperature2 = ((float)stateDeviceGetPointer()->temperatureMaximum.value_int32) / 100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1242 snprintf(text_content,80,"%0.2f\140C / %0.2f\140C",temperature1,temperature2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1243 write_label_var( 20, 800, ME_Y_LINE2, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1244
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1245 translateDate(stateDeviceGetPointer()->temperatureMinimum.date_rtc_dr, &Sdate);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1246 translateDate(stateDeviceGetPointer()->temperatureMaximum.date_rtc_dr, &Sdate2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1247 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
1248 write_label_var( 20, 800, ME_Y_LINE3, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1249
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1250 text_content[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1251 text_content[1] = TXT2BYTE_Korrekturwerte;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1252 text_content[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1253 write_label_var( 20, 800, ME_Y_LINE4, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1254
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1255 offsetTemperature = ((float)settingsGetPointer()->offsetTemperature_centigrad) / 10;
103
f5d2f02dc73f Generalize TEXT of pressure unit
Dmitry Romanov <kitt@bk.ru>
parents: 102
diff changeset
1256 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
1257 write_label_var( 20, 800, ME_Y_LINE5, &FontT42, text_content);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1258
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1259 text_button[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1260 text_button[1] = TXT2BYTE_Exit;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1261 text_button[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1262 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1263 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1264
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1265 write_topline(text_header);
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1266 tMenuEdit_newButtonText(StMSYS4_Info, text_button);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1267 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonNext,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1268 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1269
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1270
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1271 void openEdit_Reset(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1272 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1273 char text[32];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1274
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1275 text[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1276 text[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1277 text[2] = TXT2BYTE_ResetMenu;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1278 text[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1279 write_topline(text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1280
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1281 text[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1282 text[1] = TXT2BYTE_LogbookOffset;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1283 text[7] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1284
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1285 write_label_var( 30, 400, ME_Y_LINE1, &FontT48, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1286
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1287 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
1288
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1289 text[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1290 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1291
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1292 text[1] = TXT2BYTE_ResetAll;
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1293 write_field_button(StMSYS5_ResetAll, 30, 800, ME_Y_LINE2, &FontT48, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1294
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1295 text[1] = TXT2BYTE_ResetDeco;
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1296 write_field_button(StMSYS5_ResetDeco, 30, 800, ME_Y_LINE3, &FontT48, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1297
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1298 text[1] = TXT2BYTE_Reboot;
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1299 write_field_button(StMSYS5_Reboot, 30, 800, ME_Y_LINE4, &FontT48, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1300
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1301 text[1] = TXT2BYTE_Maintenance;
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1302 write_field_button(StMSYS5_Maintenance, 30, 800, ME_Y_LINE5, &FontT48, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1303
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1304 #ifndef RESETLOGBLOCK
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1305 text[1] = TXT2BYTE_ResetLogbook;
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1306 write_field_button(StMSYS5_ResetLogbook,30, 800, ME_Y_LINE6, &FontT48, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1307 #else
528
a9c195be907e Added new option to gas configuration: "Off":
Ideenmodellierer
parents: 520
diff changeset
1308 text[0] = '\031';
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1309 text[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1310 text[2] = TXT2BYTE_ResetLogbook;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1311 text[3] = 0;
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1312 write_field_button(StMSYS5_ResetLogbook,30, 800, ME_Y_LINE6, &FontT48, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1313 text[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1314 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1315 #endif
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1316
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1317 setEvent(StMSYS5_LogbookOffset, (uint32_t)OnAction_LogbookOffset);
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1318 setEvent(StMSYS5_ResetAll, (uint32_t)OnAction_Confirm);
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1319 setEvent(StMSYS5_ResetDeco, (uint32_t)OnAction_Confirm);
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1320 setEvent(StMSYS5_Reboot, (uint32_t)OnAction_Confirm);
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1321 setEvent(StMSYS5_Maintenance, (uint32_t)OnAction_Maintenance);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1322 #ifndef RESETLOGBLOCK
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1323 setEvent(StMSYS5_ResetLogbook, (uint32_t)OnAction_Confirm);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1324 #else
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1325 setEvent(StMSYS5_ResetLogbook, (uint32_t)OnAction_Nothing);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1326 #endif
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1327
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1328 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1329 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1330
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1331
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1332 void openEdit_ResetConfirmation(uint32_t editIdOfCaller)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1333 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1334 char text[32];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1335
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1336 resetMenuEdit(CLUT_MenuPageSystem);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1337
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1338 text[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1339 text[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1340 text[2] = TXT2BYTE_AreYouSure;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1341 text[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1342 write_topline(text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1343
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1344 text[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1345 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1346 text[1] = TXT2BYTE_Abort;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1347
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1348 write_field_button(StMSYS5_Exit, 30, 800, ME_Y_LINE1, &FontT48, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1349
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1350 text[2] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1351 text[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1352 switch(editIdOfCaller)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1353 {
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1354 case StMSYS5_Reboot:
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1355 case StMSYS5_RebootRTE:
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1356 case StMSYS5_RebootMainCPU:
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1357 text[1] = TXT2BYTE_RebootMainCPU;
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1358 write_field_button(StMSYS5_RebootMainCPU, 30, 800, ME_Y_LINE2, &FontT48, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1359 text[1] = TXT2BYTE_RebootRTE;
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1360 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
1361 setEvent(StMSYS5_Exit, (uint32_t)OnAction_Exit);
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1362 setEvent(StMSYS5_RebootMainCPU, (uint32_t)OnAction_RebootMainCPU);
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1363 setEvent(StMSYS5_RebootRTE, (uint32_t)OnAction_RebootRTE);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1364 text[0] = '\025';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1365 text[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1366 text[2] = TXT2BYTE_DecoDataLost;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1367 text[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1368 write_label_var( 30, 800, ME_Y_LINE4, &FontT48, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1369 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1370
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1371 case StMSYS5_ResetDeco:
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1372 text[1] = TXT2BYTE_ResetDeco;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1373 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
1374 setEvent(StMSYS5_Exit, (uint32_t)OnAction_Exit);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1375 setEvent(editIdOfCaller, (uint32_t)OnAction_ResetDeco);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1376 text[0] = '\025';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1377 text[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1378 text[2] = TXT2BYTE_DecoDataLost;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1379 text[3] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1380 write_label_var( 30, 800, ME_Y_LINE4, &FontT48, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1381 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1382
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1383 case StMSYS5_ResetAll:
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1384 text[1] = TXT2BYTE_ResetAll;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1385 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
1386 setEvent(StMSYS5_Exit, (uint32_t)OnAction_Exit);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1387 setEvent(editIdOfCaller, (uint32_t)OnAction_ResetAll);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1388 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1389
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1390 case StMSYS5_ResetLogbook:
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1391 text[1] = TXT2BYTE_ResetLogbook;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1392 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
1393 setEvent(StMSYS5_Exit, (uint32_t)OnAction_Exit);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1394 setEvent(editIdOfCaller, (uint32_t)OnAction_ResetLogbook);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1395 break;
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1396 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1397
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1398 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1399 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1400
1017
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1401 customBlockInfo_t blockInfo;
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1402
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1403 void openEdit_Maintenance(void)
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1404 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1405 char text[32];
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1406 unsigned char index = 0;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1407 SSettings *pSettings = settingsGetPointer();
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1408 SSensorDataDiveO2* pDiveO2Data = NULL;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1409
1017
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1410 customBlockInfo_t* pCustumBlockInfo = (customBlockInfo_t *) CUSTOM_BLOCK_INFO_ADDR;
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1411
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1412 blockInfo.Type = swapBytes(pCustumBlockInfo->Type);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1413 blockInfo.fletcher = swapBytes(pCustumBlockInfo->fletcher);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1414 blockInfo.length = swapBytes(pCustumBlockInfo->length);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1415
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1416 resetMenuEdit(CLUT_MenuPageSystem);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1417
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1418 text[0] = '\001';
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1419 text[1] = TXT_2BYTE;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1420 text[2] = TXT2BYTE_Maintenance;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1421 text[3] = 0;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1422 write_topline(text);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1423
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1424 text[0] = TXT_2BYTE;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1425 text[1] = TXT2BYTE_SetFactoryDefaults;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1426 text[2] = 0;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1427 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
1428
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1429
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1430 if(stateRealGetPointer()->lifeData.battery_charge <= 0)
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1431 {
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1432 text[0] = TXT_2BYTE;
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1433 text[1] = TXT2BYTE_SetBatteryCharge;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1434 text[2] = 0;
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1435 snprintf(&text[2],10,": %u%%",pSettings->lastKnownBatteryPercentage);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1436 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
1437 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1438
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1439 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
1440 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1441 for (index = 0; index < 3; index++)
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1442 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1443 if(pSettings->ext_sensor_map[index] == SENSOR_DIGO2M)
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1444 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1445 pDiveO2Data = (SSensorDataDiveO2*)stateRealGetPointer()->lifeData.extIf_sensor_data[index];
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1446 if(pDiveO2Data->pressure != 0)
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1447 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1448 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
1449 stateRealGetPointer()->lifeData.pressure_surface_bar);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1450
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1451 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
1452 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1453 break;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1454 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1455 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1456 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1457
1017
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1458 if((blockInfo.Type & 0x0000FF00)== 0x0100)
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1459 {
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1460 snprintf(text,32,"Flash Bootloader");
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1461 write_field_button(StMSYS5_FlashBoot, 30, 800, ME_Y_LINE4, &FontT48, text);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1462 }
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1463
424
2b31cf1ebbcc Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents: 404
diff changeset
1464 #ifdef ENABLE_ANALYSE_SAMPLES
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1465 text[0] = TXT_2BYTE;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1466 text[1] = TXT2BYTE_SetSampleIndex;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1467 text[2] = 0;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1468 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
1469 #endif
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1470
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1471 setEvent(StMSYS5_SetFactoryBC, (uint32_t)OnAction_SetFactoryDefaults);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1472 if(stateRealGetPointer()->lifeData.battery_charge <= 0)
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1473 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1474 setEvent(StMSYS5_SetBattCharge, (uint32_t)OnAction_SetBatteryCharge);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1475 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1476 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
1477 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1478 if(pDiveO2Data != NULL)
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1479 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1480 setEvent(StMSYS5_AdjustSurfPres, (uint32_t)OnAction_AdjustSurfacePressure);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1481 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1482 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1483 #ifdef ENABLE_ANALYSE_SAMPLES
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1484 setEvent(StMSYS5_SetSampleIndx, (uint32_t)OnAction_RecoverSampleIdx);
424
2b31cf1ebbcc Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents: 404
diff changeset
1485 #endif
2b31cf1ebbcc Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents: 404
diff changeset
1486
1017
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1487 if((blockInfo.Type & 0x0000FF00)== 0x0100)
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1488 {
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1489 setEvent(StMSYS5_FlashBoot, (uint32_t)OnAction_FlashBootloader);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1490 }
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1491
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1492
424
2b31cf1ebbcc Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents: 404
diff changeset
1493
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1494 text[0] = TXT_2BYTE;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1495 text[1] = TXT2BYTE_WarnBatteryLow;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1496 text[2] = 0;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1497 snprintf(&text[2],10,": %01.2fV",stateRealGetPointer()->lifeData.battery_voltage);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1498 write_label_var( 30, 800, ME_Y_LINE5, &FontT42, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1499
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1500 snprintf(&text[0],30,"Code: %X",getLicence());
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1501 write_label_var( 30, 800, ME_Y_LINE6, &FontT42, text);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1502
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1503 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1504 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1505
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1506 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
1507 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1508 uint8_t digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1509 uint32_t newOffset;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1510
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1511 if(action == ACTION_BUTTON_ENTER)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1512 return digitContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1513
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1514 if(action == ACTION_BUTTON_ENTER_FINAL)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1515 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1516 evaluateNewString(editId, &newOffset, 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1517 if(newOffset > 9000)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1518 newOffset = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1519 tMenuEdit_newInput(editId, newOffset, 0, 0, 0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1520 settingsGetPointer()->logbookOffset = (uint16_t)newOffset;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1521 return UPDATE_DIVESETTINGS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1522 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1523
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1524 if(action == ACTION_BUTTON_NEXT)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1525 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1526 digitContentNew = digitContent + 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1527 if(digitContentNew > '9')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1528 digitContentNew = '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1529 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1530 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1531
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1532 if(action == ACTION_BUTTON_BACK)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1533 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1534 digitContentNew = digitContent - 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1535 if(digitContentNew < '0')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1536 digitContentNew = '9';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1537 return digitContentNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1538 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1539 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1540 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1541
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1542 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
1543 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1544 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1545 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1546
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1547 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
1548 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1549 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1550 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1551 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
1552 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1553 openEdit_ResetConfirmation(editId);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1554 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1555 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1556
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1557 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
1558 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1559 openEdit_Maintenance();
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1560 return UNSPECIFIC_RETURN;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1561 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1562
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1563 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
1564 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1565 MX_SmallCPU_Reset_To_Standard();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1566 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1567 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1568
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1569 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
1570 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1571 clearDeco();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1572 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1573 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1574
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1575 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
1576 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1577 set_settings_to_Standard();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1578 check_and_correct_settings();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1579
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1580 return UPDATE_AND_EXIT_TO_HOME;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1581 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1582
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1583 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
1584 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1585 write_label_var( 430, 740, 350, &FontT42, "Wait");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1586 ext_flash_erase_logbook();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1587
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1588 SSettings * pSettings = settingsGetPointer();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1589 pSettings->lastDiveLogId = 255;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1590 pSettings->logFlashNextSampleStartAddress = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1591
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1592 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1593 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1594
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1595 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
1596 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1597 settingsGetPointer()->showDebugInfo = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1598 extern uint8_t bootToBootloader;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1599 bootToBootloader = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1600 return UNSPECIFIC_RETURN;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1601 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1602
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1603
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1604 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
1605 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1606 settingsWriteFactoryDefaults(settingsGetPointer()->ButtonResponsiveness[3], settingsGetPointer()->buttonBalance);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1607 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1608 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1609
468
aa1d71875e25 Moved and deactivated analyse sample buffer switch:
ideenmodellierer
parents: 446
diff changeset
1610 #ifdef ENABLE_ANALYSE_SAMPLES
424
2b31cf1ebbcc Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents: 404
diff changeset
1611 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
1612 {
2b31cf1ebbcc Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents: 404
diff changeset
1613 char text[32];
558
66aef216828b Changed operation mode of RecoverSampleIndex:
Ideenmodellierer
parents: 528
diff changeset
1614 uint8_t openSec;
66aef216828b Changed operation mode of RecoverSampleIndex:
Ideenmodellierer
parents: 528
diff changeset
1615 uint8_t retval = UNSPECIFIC_RETURN;
66aef216828b Changed operation mode of RecoverSampleIndex:
Ideenmodellierer
parents: 528
diff changeset
1616 openSec = ext_flash_AnalyseSampleBuffer();
66aef216828b Changed operation mode of RecoverSampleIndex:
Ideenmodellierer
parents: 528
diff changeset
1617 snprintf(&text[0],30,"OpenSec: %d",openSec);
66aef216828b Changed operation mode of RecoverSampleIndex:
Ideenmodellierer
parents: 528
diff changeset
1618 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
1619
558
66aef216828b Changed operation mode of RecoverSampleIndex:
Ideenmodellierer
parents: 528
diff changeset
1620 if(openSec == 2)
66aef216828b Changed operation mode of RecoverSampleIndex:
Ideenmodellierer
parents: 528
diff changeset
1621 {
66aef216828b Changed operation mode of RecoverSampleIndex:
Ideenmodellierer
parents: 528
diff changeset
1622 retval = UPDATE_DIVESETTINGS;
66aef216828b Changed operation mode of RecoverSampleIndex:
Ideenmodellierer
parents: 528
diff changeset
1623 }
66aef216828b Changed operation mode of RecoverSampleIndex:
Ideenmodellierer
parents: 528
diff changeset
1624 return retval;
424
2b31cf1ebbcc Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents: 404
diff changeset
1625 }
468
aa1d71875e25 Moved and deactivated analyse sample buffer switch:
ideenmodellierer
parents: 446
diff changeset
1626 #endif
424
2b31cf1ebbcc Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents: 404
diff changeset
1627
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1628 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
1629 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1630 setBatteryPercentage(settingsGetPointer()->lastKnownBatteryPercentage);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1631 // setBatteryPercentage(100);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1632 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1633 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1634
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1635 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
1636 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1637 SSensorDataDiveO2* pDiveO2Data;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1638 const SDiveState* pDiveState = stateRealGetPointer();
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1639 SSettings* pSettings = settingsGetPointer();
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1640 uint8_t index = 0;
959
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1641 float orgpressure_surface_mbar;
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1642 float DiveO2_mbar;
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1643 int8_t newOffset_mbar = 0;
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1644
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1645
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1646 char text[32];
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1647
959
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1648
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1649
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1650 for (index = 0; index < 3; index++)
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 if(settingsGetPointer()->ext_sensor_map[index] == SENSOR_DIGO2M)
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1653 {
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1654 pDiveO2Data = (SSensorDataDiveO2*)stateRealGetPointer()->lifeData.extIf_sensor_data[index];
959
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1655 DiveO2_mbar = (pDiveO2Data->pressure/1000.0);
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1656
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1657 orgpressure_surface_mbar = (pDiveState->lifeData.pressure_surface_bar * 1000) - (settingsGetPointer()->offsetPressure_mbar);
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1658 newOffset_mbar = DiveO2_mbar - orgpressure_surface_mbar;
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1659
959
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1660 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
1661 {
959
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1662 if((orgpressure_surface_mbar + ((float)newOffset_mbar)) - (pDiveO2Data->pressure/1000.0) > 0.0)
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1663 {
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1664 newOffset_mbar -=1;
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1665 }
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1666 else
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1667 {
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1668 newOffset_mbar +=1;
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1669 }
844
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1670 }
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1671
959
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1672 pSettings->offsetPressure_mbar = newOffset_mbar;
5d5fa0a3b409 Devbugfix: external surface pressure calibration:
Ideenmodellierer
parents: 949
diff changeset
1673 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
1674 tMenuEdit_newButtonText(StMSYS5_AdjustSurfPres,text);
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1675 break;
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 }
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 return UNSPECIFIC_RETURN;
e04d7dd199fb Added option to adjust pressure to diveO2 reference:
Ideenmodellierer
parents: 805
diff changeset
1680 }
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
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1683 #ifdef SCREENTEST
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1684 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
1685 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1686 static uint8_t FrameCount = 1; // 0 is invisible frame
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1687 char text[5];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1688 GFX_DrawCfgScreen tTestScreen;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1689 tTestScreen.FBStartAdress = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1690 tTestScreen.ImageHeight = 480;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1691 tTestScreen.ImageWidth = 800;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1692 tTestScreen.LayerIndex = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1693
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 505
diff changeset
1694 set_globalState(StMSYS5_ScreenTest);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1695 tTestScreen.FBStartAdress = getFrameByNumber(FrameCount);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1696 if(tTestScreen.FBStartAdress == 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1697 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1698 extern uint8_t bootToBootloader;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1699 bootToBootloader = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1700 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1701 GFX_fill_buffer(tTestScreen.FBStartAdress, 0xFF, FrameCount);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1702 snprintf(text,5,"%u",FrameCount);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1703 Gfx_write_label_var(&tTestScreen, 10,100,10,&FontT48,CLUT_Font027,text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1704 GFX_SetFramesTopBottom(tTestScreen.FBStartAdress, NULL,480);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1705 FrameCount++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1706 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1707 #endif
1017
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1708
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1709 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
1710 {
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1711 SHardwareData HwInfo;
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1712 customBlockInfo_t* pCustumBlockInfo = (customBlockInfo_t *) CUSTOM_BLOCK_INFO_ADDR;
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1713 customBlockInfo_t blockInfo;
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1714 uint32_t checksum;
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1715 uint8_t* pSource = (uint8_t *) 0x08100000;
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1716
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1717 checksum = CalcFletcher32(0x08100000,0x0811FFEF); /* last nibble contains block info => exclude */
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1718
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1719 blockInfo.Type = swapBytes(pCustumBlockInfo->Type);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1720 blockInfo.fletcher = swapBytes(pCustumBlockInfo->fletcher);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1721 blockInfo.length = swapBytes(pCustumBlockInfo->length);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1722
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1723 if(checksum == blockInfo.fletcher)
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1724 {
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1725 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
1726
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1727 bootloader_eraseFlashMemory();
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1728 bootloader_programFlashMemory(pSource, blockInfo.length, &HwInfo);
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1729 }
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1730 return UNSPECIFIC_RETURN;
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1731 }
5924a2d1d3ba Prepare custom block update function:
Ideenmodellierer
parents: 1013
diff changeset
1732
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1733 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1734 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
1735 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1736 write_label_var( 430, 740, 350, &FontT42, "Wait");
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1737
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1738 test_log_only(20, 5);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1739 test_log_only(30, 10);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1740 ext_flash_write_settings();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1741 return EXIT_TO_MENU;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1742 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1743 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1744