comparison Discovery/Src/tMenuEditSystem.c @ 1037:2af07aa38531 GasConsumption

Merge with external development branches: Some features have been prepared for integration: Profiles, DMA UART on Firmware part, Bluetooth discovery and messges logging for development phase. All these new function are deactivated by compile switch and may be activated using the configuration.h for testing purpose.
author Ideenmodellierer
date Mon, 15 Sep 2025 21:12:44 +0200
parents 158100a84ebd
children
comparison
equal deleted inserted replaced
1029:e938901f6386 1037:2af07aa38531
44 #include "math.h" 44 #include "math.h"
45 45
46 46
47 /*#define HAVE_DEBUG_VIEW */ 47 /*#define HAVE_DEBUG_VIEW */
48 static uint8_t infoPage = 0; 48 static uint8_t infoPage = 0;
49 #ifdef ENABLE_SETTING_PROFILES
49 static uint32_t profileStartCrc[NUMBER_OF_PROFILES]; 50 static uint32_t profileStartCrc[NUMBER_OF_PROFILES];
50 static uint8_t profileActiveStart = 0; 51 static uint8_t profileActiveStart = 0;
51 52 #endif
52 53
53 /* Private function prototypes -----------------------------------------------*/ 54 /* Private function prototypes -----------------------------------------------*/
54 void openEdit_DateTime(void); 55 void openEdit_DateTime(void);
55 void openEdit_DateFormat(void); 56 void openEdit_DateFormat(void);
56 void openEdit_Language(void); 57 void openEdit_Language(void);
57 void openEdit_Design(void); 58 void openEdit_Design(void);
59 #ifdef ENABLE_SETTING_PROFILES
58 void openEdit_Profile(void); 60 void openEdit_Profile(void);
61 #endif
59 void openEdit_Information(void); 62 void openEdit_Information(void);
60 void openEdit_Reset(void); 63 void openEdit_Reset(void);
61 void openEdit_Maintenance(void); 64 void openEdit_Maintenance(void);
62 //void openEdit_ShowDebugInfo(void); 65 //void openEdit_ShowDebugInfo(void);
63 //void openEdit_Salinity(void); 66 //void openEdit_Salinity(void);
96 //uint8_t OnAction_Design_t3 (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); 99 //uint8_t OnAction_Design_t3 (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
97 100
98 uint8_t OnAction_Units (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); 101 uint8_t OnAction_Units (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
99 uint8_t OnAction_Colorscheme (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); 102 uint8_t OnAction_Colorscheme (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
100 uint8_t OnAction_DebugInfo (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); 103 uint8_t OnAction_DebugInfo (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
104 #ifdef ENABLE_SETTING_PROFILES
101 uint8_t OnAction_Profile(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); 105 uint8_t OnAction_Profile(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
102 uint8_t OnAction_SetProfile(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); 106 uint8_t OnAction_SetProfile(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
103 107 #endif
104 uint8_t OnAction_Exit (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); 108 uint8_t OnAction_Exit (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
105 uint8_t OnAction_Confirm (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); 109 uint8_t OnAction_Confirm (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
106 uint8_t OnAction_Maintenance (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); 110 uint8_t OnAction_Maintenance (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
107 uint8_t OnAction_RebootRTE (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); 111 uint8_t OnAction_RebootRTE (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
108 uint8_t OnAction_ResetDeco (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); 112 uint8_t OnAction_ResetDeco (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
135 set_globalState_Menu_Line(line); 139 set_globalState_Menu_Line(line);
136 resetMenuEdit(CLUT_MenuPageSystem); 140 resetMenuEdit(CLUT_MenuPageSystem);
137 141
138 if(actual_menu_content == MENU_SURFACE) 142 if(actual_menu_content == MENU_SURFACE)
139 { 143 {
140 switch(line) 144
141 { 145 if(line == get_lineOfID(StMSYS1_DateTime))
142 case 1: 146 {
143 default: 147 openEdit_DateTime();
144 openEdit_DateTime(); 148 }
145 break; 149 else if(line == get_lineOfID(StMSYS2_English))
146 case 2: 150 {
147 openEdit_Profile(); 151 openEdit_Language();
148 break; 152 }
149 case 3: 153 else if(line == get_lineOfID(StMSYS3_Units))
150 openEdit_Language(); 154 {
151 break; 155 openEdit_Design();
152 case 4: 156 }
153 openEdit_Design(); 157 else if(line == get_lineOfID(StMSYS4_Info))
154 break; 158 {
155 case 5: 159 openEdit_Information();
156 openEdit_Information(); 160 }
157 break; 161 else if(line == get_lineOfID(StMSYS5_ResetAll))
158 case 6: 162 {
159 openEdit_Reset(); 163 openEdit_Reset();
160 break; 164 }
161 165 #ifdef ENABLE_SETTING_PROFILES
162 } 166 else if(line == get_lineOfID(StMSYS_Profile))
167 {
168 openEdit_Profile();
169 }
170 #endif
163 } 171 }
164 else 172 else
165 { 173 {
166 openEdit_CustomviewDivemodeMenu(line); 174 openEdit_CustomviewDivemodeMenu(line);
167 } 175 }
917 #ifdef HAVE_DEBUG_VIEW 925 #ifdef HAVE_DEBUG_VIEW
918 setEvent(StMSYS3_Debug, (uint32_t)OnAction_DebugInfo); 926 setEvent(StMSYS3_Debug, (uint32_t)OnAction_DebugInfo);
919 #endif 927 #endif
920 } 928 }
921 929
930 #ifdef ENABLE_SETTING_PROFILES
922 void changeActiveProfil(uint8_t newProfile) 931 void changeActiveProfil(uint8_t newProfile)
923 { 932 {
924 SSettings *pSettings = settingsGetPointer(); 933 SSettings *pSettings = settingsGetPointer();
925 SSettings* pOldProfile = profileGetPointer(pSettings->activeProfile); 934 SSettings* pOldProfile = profileGetPointer(pSettings->activeProfile);
926 SSettings* pNewProfile = profileGetPointer(newProfile); 935 SSettings* pNewProfile = profileGetPointer(newProfile);
990 { 999 {
991 createDiveSettings(); 1000 createDiveSettings();
992 } 1001 }
993 exitMenuEdit(1); 1002 exitMenuEdit(1);
994 } 1003 }
995 1004 #endif
1005 #ifdef ENABLE_SETTING_PROFILES
996 void openEdit_Profile(void) 1006 void openEdit_Profile(void)
997 { 1007 {
998 char text[50]; 1008 char text[50];
999 uint8_t index = 0; 1009 uint8_t index = 0;
1000 SSettings *pSettings = settingsGetPointer(); 1010 SSettings *pSettings = settingsGetPointer();
1033 setEvent(StMSYS_ProfileC, (uint32_t)OnAction_Profile); 1043 setEvent(StMSYS_ProfileC, (uint32_t)OnAction_Profile);
1034 setEvent(StMSYS_ProfileD, (uint32_t)OnAction_Profile); 1044 setEvent(StMSYS_ProfileD, (uint32_t)OnAction_Profile);
1035 1045
1036 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext); 1046 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
1037 } 1047 }
1038 1048 #endif
1039 1049
1040 1050
1041 void refresh_Design(void) 1051 void refresh_Design(void)
1042 { 1052 {
1043 char text[32]; 1053 char text[32];
1074 1084
1075 text[0] = '0' + pSettings->tX_colorscheme; 1085 text[0] = '0' + pSettings->tX_colorscheme;
1076 text[1] = 0; 1086 text[1] = 0;
1077 write_label_var( 400, 700, ME_Y_LINE2, &FontT48, text); 1087 write_label_var( 400, 700, ME_Y_LINE2, &FontT48, text);
1078 1088
1079 #if 0
1080 /* profile */
1081 sprintf(text,"Profile:");
1082 write_label_var( 30, 300, ME_Y_LINE3, &FontT48, text);
1083
1084 memset(text,0, sizeof(text));
1085 sprintf(text,"%s",pSettings->profileName[pSettings->activeProfile]);
1086 tMenuEdit_newInputText(StMSYS_Profile,(uint8_t*)text);
1087 // write_label_var( 400, 700, ME_Y_LINE3, &FontT48, text);
1088 #endif
1089 #ifdef HAVE_DEBUG_VIEW 1089 #ifdef HAVE_DEBUG_VIEW
1090 // specials 1090 // specials
1091 text[0] = TXT_2BYTE; 1091 text[0] = TXT_2BYTE;
1092 text[1] = TXT2BYTE_ShowDebug; 1092 text[1] = TXT2BYTE_ShowDebug;
1093 text[2] = 0; 1093 text[2] = 0;
1141 { 1141 {
1142 settingsGetPointer()->showDebugInfo = !(settingsGetPointer()->showDebugInfo); 1142 settingsGetPointer()->showDebugInfo = !(settingsGetPointer()->showDebugInfo);
1143 return UPDATE_DIVESETTINGS; 1143 return UPDATE_DIVESETTINGS;
1144 } 1144 }
1145 1145
1146 #ifdef ENABLE_SETTING_PROFILES
1146 uint8_t OnAction_SetProfile(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) 1147 uint8_t OnAction_SetProfile(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
1147 { 1148 {
1148 SSettings *pSettings = settingsGetPointer(); 1149 SSettings *pSettings = settingsGetPointer();
1149 1150
1150 uint8_t newProfile = pSettings->activeProfile + 1; 1151 uint8_t newProfile = pSettings->activeProfile + 1;
1157 pSettings->activeProfile = newProfile; 1158 pSettings->activeProfile = newProfile;
1158 1159
1159 tMenuEdit_newButtonText(editId,(char*)pSettings->profileName[pSettings->activeProfile]); 1160 tMenuEdit_newButtonText(editId,(char*)pSettings->profileName[pSettings->activeProfile]);
1160 return UNSPECIFIC_RETURN; 1161 return UNSPECIFIC_RETURN;
1161 } 1162 }
1163
1162 uint8_t OnAction_Profile(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) 1164 uint8_t OnAction_Profile(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
1163 { 1165 {
1164 SSettings *pSettings = settingsGetPointer(); 1166 SSettings *pSettings = settingsGetPointer();
1165 SSettings *pProfile; 1167 SSettings *pProfile;
1166 uint8_t digitContentNew; 1168 uint8_t digitContentNew;
1235 returnValue = digitContentNew; 1237 returnValue = digitContentNew;
1236 break; 1238 break;
1237 } 1239 }
1238 return returnValue; 1240 return returnValue;
1239 } 1241 }
1240 1242 #endif
1241 1243
1242 /* 1244 /*
1243 uint8_t OnAction_Design_t7ft (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) 1245 uint8_t OnAction_Design_t7ft (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
1244 { 1246 {
1245 SSettings *pSettings = settingsGetPointer(); 1247 SSettings *pSettings = settingsGetPointer();