Welcome to mirror list, hosted at ThFree Co, Russian Federation.

utilities_conf_template.h « conf « Utilities - github.com/Flipper-Zero/STM32CubeWB.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 58187218254c102f8f49ef45a65b3e5db4587cc2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
/**
 ******************************************************************************
 * @file    utilities_conf.h
 * @author  MCD Application Team
 * @brief   Configuration file to utilities
 ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
  * All rights reserved.</center></h2>
  *
  * This software component is licensed by ST under BSD 3-Clause license,
  * the "License"; You may not use this file except in compliance with the
  * License. You may obtain a copy of the License at:
  *                        opensource.org/licenses/BSD-3-Clause
  *
  ******************************************************************************
 */


/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef UTILITIES_CONF_H
#define UTILITIES_CONF_H

#ifdef __cplusplus
extern "C" {
#endif

/* Includes ------------------------------------------------------------------*/
/* Uncomment below line and replace 'boardname' with your board name, ex: stm324x9i_eval_lcd.h */
/* #include "boardname_lcd.h" */
#include "cmsis_compiler.h"
#include "stdio.h"
#include "string.h"

/******************************************************************************
 * common
 ******************************************************************************/
#define UTILS_ENTER_CRITICAL_SECTION( )         uint32_t primask_bit = __get_PRIMASK( );\
                                                __disable_irq( )

#define UTILS_EXIT_CRITICAL_SECTION( )          __set_PRIMASK( primask_bit )

#define UTILS_MEMSET8(dest, value, size)        memset((dest),(value),(size));

/******************************************************************************
 * tim_serv
 * (any macro that does not need to be modified can be removed)
 ******************************************************************************/
#define UTIL_TIMER_INIT_CRITICAL_SECTION( )
#define UTIL_TIMER_ENTER_CRITICAL_SECTION( )    UTILS_ENTER_CRITICAL_SECTION( )
#define UTIL_TIMER_EXIT_CRITICAL_SECTION( )     UTILS_EXIT_CRITICAL_SECTION( )

/******************************************************************************
 * tiny low power manager
 * (any macro that does not need to be modified can be removed)
 ******************************************************************************/
#define UTIL_LPM_INIT_CRITICAL_SECTION( )
#define UTIL_LPM_ENTER_CRITICAL_SECTION( )      UTILS_ENTER_CRITICAL_SECTION( )
#define UTIL_LPM_EXIT_CRITICAL_SECTION( )       UTILS_EXIT_CRITICAL_SECTION( )


/******************************************************************************
 * sequencer
 * (any macro that does not need to be modified can be removed)
 ******************************************************************************/
#define UTIL_SEQ_INIT_CRITICAL_SECTION( )
#define UTIL_SEQ_ENTER_CRITICAL_SECTION( )      UTILS_ENTER_CRITICAL_SECTION( )
#define UTIL_SEQ_EXIT_CRITICAL_SECTION( )       UTILS_EXIT_CRITICAL_SECTION( )
#define UTIL_SEQ_CONF_TASK_NBR                  (32U)
#define UTIL_SEQ_CONF_PRIO_NBR                  (2U)
#define UTIL_SEQ_MEMSET8( dest, value, size )   UTILS_MEMSET8((dest),(value),(size))

/******************************************************************************
 * trace\advanced
 * the define option 
 *    UTIL_ADV_TRACE_CONDITIONNAL shall be defined if you want use conditionnal function
 *    UTIL_ADV_TRACE_UNCHUNK_MODE shall be defined if you want use the unchunk mode
 *    UTIL_ADV_TRACE_MEMLOCATION shall be defined if you want manage trace buffer location 
 ******************************************************************************/
#define UTIL_ADV_TRACE_CONDITIONNAL
#define UTIL_ADV_TRACE_UNCHUNK_MODE
#define UTIL_ADV_TRACE_DEBUG(...)
#define UTIL_ADV_TRACE_INIT_CRITICAL_SECTION( )    UTILS_INIT_CRITICAL_SECTION()
#define UTIL_ADV_TRACE_ENTER_CRITICAL_SECTION( )   UTILS_ENTER_CRITICAL_SECTION()
#define UTIL_ADV_TRACE_EXIT_CRITICAL_SECTION( )    UTILS_EXIT_CRITICAL_SECTION()
#define UTIL_ADV_TRACE_TMP_BUF_SIZE                (256U)
#define UTIL_ADV_TRACE_TMP_MAX_TIMESTMAP_SIZE      (15U)
#define UTIL_ADV_TRACE_FIFO_SIZE                   (512U)
#define UTIL_ADV_TRACE_MEMSET8( dest, value, size) UTIL_MEM_set_8((dest),(value),(size))
#define UTIL_ADV_TRACE_VSNPRINTF(...)              vsnprintf(__VA_ARGS__)
#define UTIL_ADV_TRACE_MEMLOCATION

/******************************************************************************
 * LCD trace Configuration
 ******************************************************************************/
#define USE_LCD_TRACE                            0U

/* Enable LCD scrolling */
#define     LCD_SCROLL_ENABLED                   1U

/* Define the LCD TRACE Fonts  */
#define     LCD_TRACE_HEADER_FONT                Font16
#define     LCD_TRACE_FOOTER_FONT                Font12
#define     LCD_TRACE_TEXT_FONT                  Font20

/* Define the LCD TRACE Colors  */
#define     LCD_TRACE_BACKGROUND_COLOR           UTILS_LCD_COLOR_WHITE
#define     LCD_TRACE_TEXT_COLOR                 UTILS_LCD_COLOR_DARKBLUE
#define     LCD_TRACE_SOLID_BACKGROUND_COLOR     UTILS_LCD_COLOR_BLUE
#define     LCD_TRACE_SOLID_TEXT_COLOR           UTILS_LCD_COLOR_WHITE
#define     LCD_TRACE_DEFAULT_COLOR              UTILS_LCD_COLOR_WHITE

/* Define the cache depth */
#define     CACHE_SIZE                           100U

/* The max value of YWINDOW_SIZE is calculated as follow:
   ((LCD Height - HEADER FONT height - FOOTER FONT height)/ TEXT FONT height) - 1 */
#define     YWINDOW_SIZE                         19U

/******************************************************************************
 * ITM trace Configuration
 ******************************************************************************/
#define USE_ITM_TRACE                            1U

#ifdef __cplusplus
}
#endif

#endif /*UTILITIES_CONF_H */

/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/