annotate Discovery/Src/tMenuCustom.c @ 999:ac25c35a3c97 GasConsumption

New Tab for dynamic configuration: since more and more functions are added to the OSTC the space in the menus is getting short. To avoid problems a new Tab within the SYS menu has been added which shall focus an functions / views which are configuration dependend. In future this menu may have dynamic content dependend on which views are active or which sensors are connected. The Cview for compass and Timer have been moved to the new tab in the first step
author Ideenmodellierer
date Mon, 28 Apr 2025 19:47:41 +0200
parents d9290c76b840
children 85f7e19c6688
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
506
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
1 ///////////////////////////////////////////////////////////////////////////////
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
2 /// -*- coding: UTF-8 -*-
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
3 ///
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
4 /// \file Discovery/Src/tMenuCustom.c
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
5 /// \brief Menu Custom - Provide access to custom view options
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
6 /// \author heinrichs weikamp gmbh
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
7 /// \date 25-Aug-2020
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
8 ///
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
9 /// \details
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
10 ///
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
11 /// $Id$
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
12 ///////////////////////////////////////////////////////////////////////////////
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
13 /// \par Copyright (c) 2014-2020 Heinrichs Weikamp gmbh
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
14 ///
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
15 /// This program is free software: you can redistribute it and/or modify
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
16 /// it under the terms of the GNU General Public License as published by
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
17 /// the Free Software Foundation, either version 3 of the License, or
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
18 /// (at your option) any later version.
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
19 ///
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
20 /// This program is distributed in the hope that it will be useful,
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
21 /// but WITHOUT ANY WARRANTY; without even the implied warranty of
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
22 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
23 /// GNU General Public License for more details.
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
24 ///
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
25 /// You should have received a copy of the GNU General Public License
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
26 /// along with this program. If not, see <http://www.gnu.org/licenses/>.
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
27 //////////////////////////////////////////////////////////////////////////////
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
28
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
29 /* Includes ------------------------------------------------------------------*/
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
30 #include <stdio.h>
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
31 #include <string.h>
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
32 #include "tMenu.h"
521
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
33 #include "tHome.h"
506
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
34 #include "tStructure.h"
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
35 #include "tMenuCustom.h"
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
36 #include "text_multilanguage.h"
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
37 #include "data_central.h"
521
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
38 #include "motion.h"
552
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 521
diff changeset
39 #include "gfx_fonts.h"
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 521
diff changeset
40 #include "tInfo.h"
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 521
diff changeset
41 #include "motion.h"
999
ac25c35a3c97 New Tab for dynamic configuration:
Ideenmodellierer
parents: 988
diff changeset
42 #include "ostc.h"
506
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
43
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
44
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
45 /* Exported functions --------------------------------------------------------*/
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
46
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
47 uint32_t tMCustom_refresh(uint8_t line, char *text, uint16_t *tab, char *subtext)
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
48 {
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
49 uint8_t textPointer;
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
50
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
51 textPointer = 0;
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
52 *tab = 550;
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
53 *subtext = 0;
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
54
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
55 if((line == 0) || (line == 1))
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
56 {
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
57 text[textPointer++] = TXT_2BYTE;
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
58 text[textPointer++] = TXT2BYTE_Customviews;
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
59 }
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
60 text[textPointer++] = '\n';
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
61 text[textPointer++] = '\r';
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
62 text[textPointer] = 0;
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
63
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
64 if((line == 0) || (line == 2))
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
65 {
521
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
66 text[textPointer++] = TXT_2BYTE;
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
67 text[textPointer++] = TXT2BYTE_ExtraDisplay;
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
68 text[textPointer++] = ' ';
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
69 text[textPointer++] = ' ';
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
70 text[textPointer++] = TXT_2BYTE;
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
71
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
72 switch(settingsGetPointer()->extraDisplay)
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
73 {
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
74 /* BigFont */
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
75 case EXTRADISPLAY_BIGFONT:
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
76 text[textPointer++] = TXT2BYTE_ExtraBigFont;
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
77 break;
739
4a6bffaa38b3 Enable start dive in Big font display:
Ideenmodellierer
parents: 630
diff changeset
78 /* Start screen */
4a6bffaa38b3 Enable start dive in Big font display:
Ideenmodellierer
parents: 630
diff changeset
79 case EXTRADISPLAY_BFACTIVE:
4a6bffaa38b3 Enable start dive in Big font display:
Ideenmodellierer
parents: 630
diff changeset
80 text[textPointer++] = TXT2BYTE_ExtraActive;
521
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
81 break;
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
82 /* none */
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
83 case EXTRADISPLAY_none:
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
84 text[textPointer++] = TXT2BYTE_ExtraNone;
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
85 break;
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
86
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
87 default:
630
b9d4baa4f6fa Warnings:
Ideenmodellierer
parents: 604
diff changeset
88 snprintf(&text[textPointer++],4,"%u",settingsGetPointer()->extraDisplay);
521
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
89 break;
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
90 }
506
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
91 }
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
92 strcpy(&text[textPointer],"\n\r");
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
93 textPointer += 2;
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
94
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
95 if((line == 0) || (line == 3))
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
96 {
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
97 text[textPointer++] = TXT_2BYTE;
521
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
98 text[textPointer++] = TXT2BYTE_SelectCustomviews;
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
99 }
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
100 strcpy(&text[textPointer],"\n\r");
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
101 textPointer += 2;
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
102
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
103 if((line == 0) || (line == 4))
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
104 {
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
105 text[textPointer++] = TXT_2BYTE;
506
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
106 text[textPointer++] = TXT2BYTE_SelectBigFont;
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
107 }
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
108 strcpy(&text[textPointer],"\n\r");
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
109 textPointer += 2;
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
110
521
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
111 #ifdef ENABLE_MOTION_CONTROL
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
112 if((line == 0) || (line == 5))
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
113 {
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
114 /* MotionCtrl */
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
115 text[textPointer++] = TXT_2BYTE;
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
116 text[textPointer++] = TXT2BYTE_MotionCtrl;
552
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 521
diff changeset
117 }
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 521
diff changeset
118
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 521
diff changeset
119 strcpy(&text[textPointer],"\n\r");
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 521
diff changeset
120 textPointer += 2;
521
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 506
diff changeset
121 #endif
951
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
122
988
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
123
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
124 if((isNewDisplay()) && ((line == 0) || (line == 5)))
951
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
125 {
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
126 text[textPointer++] = TXT_2BYTE;
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
127 text[textPointer++] = TXT2BYTE_BUZZER;
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
128 text[textPointer++] = ' ';
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
129 text[textPointer++] = TXT_Warning;
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
130 text[textPointer++] = '\t';
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
131 if(settingsGetPointer()->warningBuzzer)
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
132 text[textPointer++] = '\005';
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
133 else
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
134 text[textPointer++] = '\006';
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
135 }
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
136
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
137 strcpy(&text[textPointer],"\n\r");
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
138 textPointer += 2;
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
139
506
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
140 return StMCustom;
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
141 }
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
142