annotate Discovery/Src/tMenuCustom.c @ 1007:65d35e66efb9 GasConsumption

Improve compass calibration dialog: The previous calibration dialog showed some "magic" numbers and a 60 second count down. The new version is trying to guide the user through the calibration process: first rotate pitch, then roll and at last yaw angle. A step to the next angle is taken when enough data per angle is collected (change from red to green). To enable the yaw visualization a simple calibration is done while rotating the axis. The function behind the calibration was not modified => the suggested process can be ignored and the same handling as the with old dialog may be applied. With the new process the dialog may be left early. Anyhow it will still be left after 60 seconds and the fine calibration is performed in the same way as before.
author Ideenmodellierer
date Mon, 05 May 2025 21:02:34 +0200
parents 85f7e19c6688
children
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
1005
85f7e19c6688 Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents: 999
diff changeset
123 if((line == 0) || (line == 5))
951
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
124 {
1005
85f7e19c6688 Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents: 999
diff changeset
125 text[textPointer++] = TXT_2BYTE;
85f7e19c6688 Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents: 999
diff changeset
126 text[textPointer++] = TXT2BYTE_FLIPDISPLAY;
85f7e19c6688 Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents: 999
diff changeset
127 text[textPointer++] = '\t';
85f7e19c6688 Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents: 999
diff changeset
128 if(settingsGetPointer()->FlipDisplay)
85f7e19c6688 Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents: 999
diff changeset
129 text[textPointer++] = '\005';
85f7e19c6688 Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents: 999
diff changeset
130 else
85f7e19c6688 Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents: 999
diff changeset
131 text[textPointer++] = '\006';
85f7e19c6688 Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents: 999
diff changeset
132 text[textPointer] = 0;
85f7e19c6688 Switch menu position of Buzzer and flipdisplay option:
Ideenmodellierer
parents: 999
diff changeset
133
951
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
134 }
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
135
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
136 strcpy(&text[textPointer],"\n\r");
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
137 textPointer += 2;
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 739
diff changeset
138
506
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
139 return StMCustom;
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
140 }
998529b3e142 Added new top level menu for customization of views
Ideenmodellierer
parents:
diff changeset
141