Mercurial > public > ostc4
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(); |
