Mercurial > public > ostc4
comparison Discovery/Src/tMenuSystem.c @ 379:0dbf550dc743 MotionDetection
Added missing customerview selection
In the previous version only 6 out of 10 custom views could be configurated => Added a second page for the dive menu system tab
In case all views are deactivated the none / debug page will be set as default
| author | ideenmodellierer |
|---|---|
| date | Mon, 16 Sep 2019 22:49:34 +0200 |
| parents | b2a9e9b02df0 |
| children | 3485360c5db0 |
comparison
equal
deleted
inserted
replaced
| 378:834e087505ec | 379:0dbf550dc743 |
|---|---|
| 29 /* Includes ------------------------------------------------------------------*/ | 29 /* Includes ------------------------------------------------------------------*/ |
| 30 #include "tMenu.h" | 30 #include "tMenu.h" |
| 31 #include "tMenuSystem.h" | 31 #include "tMenuSystem.h" |
| 32 #include "tHome.h" // for enum CUSTOMVIEWS and init_t7_compass() | 32 #include "tHome.h" // for enum CUSTOMVIEWS and init_t7_compass() |
| 33 | 33 |
| 34 static uint8_t customviewsSubpage = 0; | |
| 35 | |
| 34 /* Private function prototypes -----------------------------------------------*/ | 36 /* Private function prototypes -----------------------------------------------*/ |
| 35 char customview_TXT2BYTE_helper(uint8_t customViewId); | 37 char customview_TXT2BYTE_helper(uint8_t customViewId); |
| 38 | |
| 39 void set_CustomsviewsSubpage(uint8_t page) | |
| 40 { | |
| 41 customviewsSubpage = page; | |
| 42 } | |
| 36 | 43 |
| 37 /* Exported functions --------------------------------------------------------*/ | 44 /* Exported functions --------------------------------------------------------*/ |
| 38 | 45 |
| 39 uint32_t tMSystem_refresh(uint8_t line, char *text, uint16_t *tab, char *subtext) | 46 uint32_t tMSystem_refresh(uint8_t line, char *text, uint16_t *tab, char *subtext) |
| 40 { | 47 { |
| 41 SSettings *data; | 48 SSettings *data; |
| 49 int i; | |
| 42 uint8_t textPointer; | 50 uint8_t textPointer; |
| 43 uint8_t dateFormat; | 51 uint8_t dateFormat; |
| 44 uint8_t RTEhigh, RTElow; | 52 uint8_t RTEhigh, RTElow; |
| 45 RTC_DateTypeDef Sdate; | 53 RTC_DateTypeDef Sdate; |
| 46 RTC_TimeTypeDef Stime; | 54 RTC_TimeTypeDef Stime; |
| 54 // dive mode | 62 // dive mode |
| 55 if(actual_menu_content != MENU_SURFACE) | 63 if(actual_menu_content != MENU_SURFACE) |
| 56 { | 64 { |
| 57 uint8_t id; | 65 uint8_t id; |
| 58 | 66 |
| 59 for(int i=0; i<6;i++) | 67 for(i=0; i<5;i++) /* fill maximum 5 items and leave last one for sub page selection */ |
| 60 { | 68 { |
| 61 id = cv_changelist[i]; | 69 id = cv_changelist[customviewsSubpage * 5 + i]; |
| 62 text[textPointer++] = '\006' - CHECK_BIT_THOME(data->cv_configuration,id); | 70 if(id == CVIEW_END) /* last list item? */ |
| 63 text[textPointer++] = ' '; | 71 { |
| 64 textPointer += snprintf(&text[textPointer], 60, | 72 break; |
| 65 "%c%c\n\r", | 73 } |
| 66 TXT_2BYTE, customview_TXT2BYTE_helper(id) | 74 else |
| 67 ); | 75 { |
| 68 } | 76 text[textPointer++] = '\006' - CHECK_BIT_THOME(data->cv_configuration,id); |
| 77 text[textPointer++] = ' '; | |
| 78 textPointer += snprintf(&text[textPointer], 60, | |
| 79 "%c%c\n\r", | |
| 80 TXT_2BYTE, customview_TXT2BYTE_helper(id)); | |
| 81 } | |
| 82 } | |
| 83 text[textPointer++] = TXT_2BYTE; | |
| 84 text[textPointer++] = TXT2BYTE_ButtonNext; | |
| 69 text[textPointer] = 0; | 85 text[textPointer] = 0; |
| 86 | |
| 87 for(;i<5;i++) /* clear empty lines in case menu shows less than 5 entries */ | |
| 88 { | |
| 89 text[textPointer++]='\n'; | |
| 90 text[textPointer++]='\r'; | |
| 91 text[textPointer] = 0; | |
| 92 } | |
| 70 | 93 |
| 71 return StMSYS; | 94 return StMSYS; |
| 72 } | 95 } |
| 73 | 96 |
| 74 // surface mode | 97 // surface mode |
| 298 break; | 321 break; |
| 299 case CVIEW_SummaryOfLeftCorner: | 322 case CVIEW_SummaryOfLeftCorner: |
| 300 text = TXT2BYTE_Summary; | 323 text = TXT2BYTE_Summary; |
| 301 break; | 324 break; |
| 302 case CVIEW_noneOrDebug: | 325 case CVIEW_noneOrDebug: |
| 326 text = TXT2BYTE_DispNoneDbg; | |
| 303 break; | 327 break; |
| 304 default: | 328 default: |
| 305 break; | 329 break; |
| 306 } | 330 } |
| 307 return text; | 331 return text; |
