annotate Discovery/Inc/tMenuEdit.h @ 220:e524a824d8f2 Improve_IPC_Sync

Added schedule point for functions executed once in a second SPI communication takes place every 100ms triggered by the master (main). Synchronisation is done using the SPI RX complete callback which is called ~4ms after communication was started. In the previous implementation this could happen in parallel to usage of data. To solve this potential problem the execution of functions called once a second was moved from 1000ms to 980ms giving a 20ms window for execution.
author ideenmodellierer
date Sun, 31 Mar 2019 15:49:47 +0200
parents 5f11787b4f42
children 21bf40bb8151
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1 ///////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2 /// -*- coding: UTF-8 -*-
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
3 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
4 /// \file Discovery/Inc/tMenuEdit.h
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
5 /// \brief Header file for Menu Setting Modifications
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
6 /// \author heinrichs weikamp gmbh
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
7 /// \date 04-July-2014
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
8 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
9 /// $Id$
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
10 ///////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
11 /// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
12 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
13 /// This program is free software: you can redistribute it and/or modify
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
14 /// it under the terms of the GNU General Public License as published by
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
15 /// the Free Software Foundation, either version 3 of the License, or
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
16 /// (at your option) any later version.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
17 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
18 /// This program is distributed in the hope that it will be useful,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
19 /// but WITHOUT ANY WARRANTY; without even the implied warranty of
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
20 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
21 /// GNU General Public License for more details.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
22 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
23 /// You should have received a copy of the GNU General Public License
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
24 /// along with this program. If not, see <http://www.gnu.org/licenses/>.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
25 //////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
26
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
27 /* Define to prevent recursive inclusion -------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
28 #ifndef TMENU_EDIT_H
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
29 #define TMENU_EDIT_H
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
30
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
31 /* Includes ------------------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
32 #include "tMenu.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
33
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
34 #define ME_Y_LINE1 (70)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
35 #define ME_Y_LINE_STEP (65)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
36 #define ME_Y_LINE_BASE (ME_Y_LINE1 - ME_Y_LINE_STEP)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
37 #define ME_Y_LINE2 (ME_Y_LINE1 + (1 * ME_Y_LINE_STEP))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
38 #define ME_Y_LINE3 (ME_Y_LINE1 + (2 * ME_Y_LINE_STEP))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
39 #define ME_Y_LINE4 (ME_Y_LINE1 + (3 * ME_Y_LINE_STEP))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
40 #define ME_Y_LINE5 (ME_Y_LINE1 + (4 * ME_Y_LINE_STEP))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
41 #define ME_Y_LINE6 (ME_Y_LINE1 + (5 * ME_Y_LINE_STEP))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
42
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
43 #define EXIT_TO_INFO_COMPASS (248)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
44 #define EXIT_TO_MENU_WITH_LOGO (249)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
45 #define EXIT_TO_HOME (250)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
46 #define EXIT_TO_MENU (251)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
47 #define UPDATE_DIVESETTINGS (252)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
48 #define UPDATE_AND_EXIT_TO_HOME (253)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
49 #define UPDATE_AND_EXIT_TO_MENU (255)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
50 #define UNSPECIFIC_RETURN (254)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
51
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
52 void sendActionToMenuEdit(uint8_t sendAction);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
53
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
54 void tMenuEdit_init(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
55 void resetMenuEdit(uint8_t color);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
56 void tMenuEdit_refresh_live_content(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
57 void tMenuEdit_refresh_field(uint32_t editID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
58
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
59 void evaluateNewString (uint32_t editID, uint32_t *pNewValue1, uint32_t *pNewValue2, uint32_t *pNewValue3, uint32_t *pNewValue4);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
60 void tMenuEdit_newInput (uint32_t editID, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
61 void tMenuEdit_newButtonText(uint32_t editID, char *text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
62 void tMenuEdit_set_on_off(uint32_t editID, uint32_t int1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
63
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
64 void write_label_fix(uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char textId);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
65 void write_label_var(uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
66
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
67 void clean_content(uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
68 void write_content(uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t color);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
69
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
70 void write_topline( char *text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
71 void write_buttonTextline( uint8_t left2ByteCode, char middle2ByteCode, char right2ByteCode);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
72 void write_field_udigit(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
73 void write_field_2digit(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
74 void write_field_3digit(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
75 void write_field_select(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t int1, uint8_t int2, uint8_t int3, uint8_t int4);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
76 /*void write_field_sdigit(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, int32_t int1, int32_t int2, int32_t int3, int32_t int4);*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
77 void write_field_button(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
78 void write_field_symbol(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t int1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
79 void write_field_toggle(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t int1, uint8_t int2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
80 void write_field_on_off(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t int1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
81 void write_field_fpoint(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, float input);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
82
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
83 void stop_cursor_fields(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
84
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
85 void setEvent(uint32_t inputEventID, uint32_t inputFunctionCall);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
86 void resetEnterPressedToStateBeforeButtonAction(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
87
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
88 void setBackMenu(uint32_t inputFunctionCall, uint8_t functionCallParameter, uint8_t gotoMenuEditField);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
89 void exitMenuEdit_to_BackMenu(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
90
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
91 void startEdit(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
92 void exitEditWithUpdate(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
93 void exitMenuEdit_to_Home(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
94 void exitMenuEdit_to_Home_with_Menu_Update(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
95 void exitMenuEdit_to_Menu_with_Menu_Update(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
96 void exitMenuEdit_to_Menu_with_Menu_Update_do_not_write_settings_for_this_only(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
97
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
98 void tMenuEdit_writeSettingsToFlash(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
99
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
100 #endif /* TMENU_EDIT_H */