Mercurial > public > ostc4
annotate Discovery/Inc/tMenu.h @ 1023:d268fc2b6052 GasConsumption
Update the hwos download documentation for the three new events
- Compass heading
- GNSS position
- Scrubber state update
| author | heinrichsweikamp |
|---|---|
| date | Sun, 13 Jul 2025 17:20:45 +0200 |
| parents | 808153ba3fec |
| children |
| rev | line source |
|---|---|
| 38 | 1 /////////////////////////////////////////////////////////////////////////////// |
| 2 /// -*- coding: UTF-8 -*- | |
| 3 /// | |
| 4 /// \file Discovery/Inc/tMenu.h | |
| 5 /// \brief Header file of Divemode with 7 windows plus plugin | |
| 6 /// \author heinrichs weikamp gmbh | |
| 7 /// \date 30-April-2014 | |
| 8 /// | |
| 9 /// $Id$ | |
| 10 /////////////////////////////////////////////////////////////////////////////// | |
| 11 /// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh | |
| 12 /// | |
| 13 /// This program is free software: you can redistribute it and/or modify | |
| 14 /// it under the terms of the GNU General Public License as published by | |
| 15 /// the Free Software Foundation, either version 3 of the License, or | |
| 16 /// (at your option) any later version. | |
| 17 /// | |
| 18 /// This program is distributed in the hope that it will be useful, | |
| 19 /// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 20 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 21 /// GNU General Public License for more details. | |
| 22 /// | |
| 23 /// You should have received a copy of the GNU General Public License | |
| 24 /// along with this program. If not, see <http://www.gnu.org/licenses/>. | |
| 25 ////////////////////////////////////////////////////////////////////////////// | |
| 26 | |
| 27 /* Define to prevent recursive inclusion -------------------------------------*/ | |
| 28 #ifndef TMENU_H | |
| 29 #define TMENU_H | |
| 30 | |
| 31 /* Includes ------------------------------------------------------------------*/ | |
| 32 #include <stdio.h> | |
| 33 #include <string.h> | |
|
774
6169309d6eb9
more menu items for the compass menu: Delete bearing, and reset to land based bearing. I have also re-enabled the real time bearing display in the menu - makes it easier to set the correct bearing. (mikeller)
heinrichsweikamp
parents:
647
diff
changeset
|
34 #include <stdbool.h> |
|
6169309d6eb9
more menu items for the compass menu: Delete bearing, and reset to land based bearing. I have also re-enabled the real time bearing display in the menu - makes it easier to set the correct bearing. (mikeller)
heinrichsweikamp
parents:
647
diff
changeset
|
35 |
| 38 | 36 #include "stm32f4xx_hal.h" |
| 37 #include "base.h" | |
| 38 #include "gfx.h" | |
| 39 #include "gfx_colors.h" | |
| 40 #include "gfx_engine.h" | |
| 41 #include "text_multilanguage.h" | |
| 42 #include "settings.h" | |
| 43 #include "data_central.h" | |
| 44 #include "data_exchange.h" | |
| 45 | |
| 46 /* Exported types ------------------------------------------------------------*/ | |
| 47 enum MENU_MODE | |
| 48 { | |
| 49 MENU_SURFACE = 0, | |
| 50 MENU_DIVE_REAL = 1, | |
| 51 MENU_DIVE_SIM = 2, | |
| 52 MENU_UNDEFINED = 4 | |
| 53 }; | |
| 54 | |
| 55 /* Exported constants --------------------------------------------------------*/ | |
| 56 | |
| 57 #define MAX_PAGE_TEXTSIZE 65 * 6 | |
| 58 | |
| 59 /* Exported variables --------------------------------------------------------*/ | |
| 60 | |
| 61 extern uint8_t actual_menu_content; | |
| 62 | |
| 63 /* Exported functions --------------------------------------------------------*/ | |
| 64 | |
| 65 GFX_DrawCfgScreen * get_PointerMenuCursorScreen(void); | |
| 66 GFX_DrawCfgScreen * get_PointerMenuCursorDesignSoloScreen(void); | |
| 67 | |
| 68 void nextline(char * text, uint8_t *textPointer); | |
| 69 | |
| 70 void tM_init(void); | |
|
993
df052f0347fb
Add settings that have been missing in the bluetooth API:
heinrichsweikamp
parents:
850
diff
changeset
|
71 void tM_build_pages(void); |
| 38 | 72 void openMenu(uint8_t freshWithFlipPages); |
| 73 void openMenu_first_page_with_OC_gas_update(void); | |
| 74 void updateMenu(void); | |
| 75 void updateSpecificMenu(uint32_t id); | |
| 76 void sendActionToMenu(uint8_t sendAction); | |
| 77 void exitMenu(void); | |
| 78 | |
| 79 void tM_check_content(void); | |
| 80 void tM_refresh_live_content(void); | |
| 81 void tM_rebuild_menu_after_tComm(void); | |
| 82 | |
| 83 void tM_refresh(char *text, uint8_t *textPointer, uint8_t line, const char content[6]); | |
| 379 | 84 void tM_build_page(uint32_t id, char *text, uint16_t tab, char *subtext); |
| 38 | 85 |
| 86 void block_diluent_page(void); | |
| 87 void unblock_diluent_page(void); | |
| 88 | |
|
647
15f6f0b5786c
Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents:
379
diff
changeset
|
89 void selectPage(uint32_t selection); |
|
15f6f0b5786c
Integrated selection of bailout in the diluent selection page:
Ideenmodellierer
parents:
379
diff
changeset
|
90 |
|
850
bc2fcd002fc4
Check line enable/disable state when a new page is selected:
Ideenmodellierer
parents:
816
diff
changeset
|
91 uint8_t getLineMask(uint32_t lineId); |
|
815
ce8f71217f45
Bugfix CustomView selection during dive mode:
Ideenmodellierer
parents:
811
diff
changeset
|
92 void resetLineMask(uint32_t lineId); |
|
811
4c41d9a18c7f
Added function to skip lines which are not needed for operation:
Ideenmodellierer
parents:
774
diff
changeset
|
93 void disableLine(uint32_t lineId); |
|
4c41d9a18c7f
Added function to skip lines which are not needed for operation:
Ideenmodellierer
parents:
774
diff
changeset
|
94 void enableLine(uint32_t lineId); |
|
816
c4ee952b9425
Fix a bug that disables arbitrary menu lines in dive mode if lines are disabled / inactive in surface mode. (mikeller)
heinrichsweikamp
parents:
815
diff
changeset
|
95 void clearDisabledMenuLines(void); |
|
811
4c41d9a18c7f
Added function to skip lines which are not needed for operation:
Ideenmodellierer
parents:
774
diff
changeset
|
96 |
|
774
6169309d6eb9
more menu items for the compass menu: Delete bearing, and reset to land based bearing. I have also re-enabled the real time bearing display in the menu - makes it easier to set the correct bearing. (mikeller)
heinrichsweikamp
parents:
647
diff
changeset
|
97 char *makeGrey(bool isGrey); |
|
1018
808153ba3fec
Disable the menu items for editing scrubber timer parameters if an
heinrichsweikamp
parents:
993
diff
changeset
|
98 char printCheckbox(bool isChecked); |
| 38 | 99 #endif /* TMENU_H */ |
