MyLibs 1.0
Расширенные библиотеки для STM32
Loading...
Searching...
No Matches
E:/.WORK/STM32/STM_Libs/STM32_ExtendedLibs/__mylibs_include.h
1/**
2**************************************************************************
3* @file mylibs_include.h
4* @brief Заголочный файл для всех библиотек
5**************************************************************************
6* @details
7Здесь нужно собрать библиотеки и дефайны, которые должны быть видны во всем проекте,
8чтобы не подключать 100 инклюдов в каждом ".c" файле
9**************************************************************************
10* @defgroup MYLIBS_ALL My Libs
11* @brief Все используемые MyLibs библиотеки
12* @details
13Для подключения библиотеки необходимо:
14- Сконфигурировать mylibs_config.h:
15 - Подключить заголовочный файл HAL библиотеки конкретного МК (напр. stm32f4xx_hal.h)
16 - Подключить другие заголовочные файлы которые общие для всего проекта и должны быть видны
17 - Подключить mylibs_include.h туда, где необходим доступ к библиотекам.
18
19*************************************************************************/
20#ifndef __MYLIBS_INCLUDE_H_
21#define __MYLIBS_INCLUDE_H_
22
23#include "mylibs_defs.h"
24
25
26#ifdef ARM_MATH_CM4
27 #include "arm_math.h"
28#else
29 #include "math.h"
30#endif
31
32
33#ifdef INCLUDE_BIT_ACCESS_LIB
34#include "bit_access.h"
35#endif
36
37#ifdef INCLUDE_TRACKERS_LIB
38#include "trackers.h"
39#else
40 #define TrackerTypeDef(num_user_vars) void *
41 #define num_of_usercnts(_user_) 0
42 #define assert_tracecnt(_cntstruct_, _uservarnumb_) 0
43 #define if_assert_usertracker(_cntstruct_, _uservarnumb_) if(0)
44 #define tern_assert_usertracker(_cntstruct_, _uservarnumb_) 0
45 #define TrackerGet_Ok(_cntstruct_) dummy
46 #define TrackerGet_Err(_cntstruct_) dummy
47 #define TrackerGet_Warn(_cntstruct_) dummy
48 #define TrackerGet_User(_cntstruct_, _uservarnumb_) dummy
49 #define TrackerCnt_Ok(_cntstruct_)
50 #define TrackerCnt_Err(_cntstruct_)
51 #define TrackerCnt_Warn(_cntstruct_)
52 #define TrackerCnt_User(_cntstruct_, _uservarnumb_)
53 #define TrackerWrite_User(_cntstruct_, _uservarnumb_, _val_)
54 #define TrackerClear_All(_cntstruct_)
55 #define TrackerClear_Ok(_cntstruct_)
56 #define TrackerClear_Err(_cntstruct_)
57 #define TrackerClear_Warn(_cntstruct_)
58 #define TrackerClear_User(_cntstruct_)
59 #define TrackerClear_UserAll(_cntstruct_)
60#endif
61
62#ifdef INCLUDE_TRACE_LIB
63#include "trace.h"
64#else
65#define my_printf(...)
66#define log_printf(TAG, fmt, ...)
67#define TRACE_GPIO_SET(_gpio_,_pin_)
68#define TRACE_GPIO_RESET(_gpio_,_pin_)
69#define RTT_FlashPrepare(...)
70#define RTT_EraseFlash(...) 0
71#define RTT_SaveToFlash(...) 0
72#define RTT_ReadFromFlash(...) 0
73#define HF_CheckRecovered(...) 0
74#define HF_HandleFault(...)
75#endif
76
77#ifdef INCLUDE_GEN_OPTIMIZER
78#include "gen_optimizer.h"
79#else
80typedef struct {
81 uint16_t n_params;
82 uint16_t n_cand;
83 uint16_t n_best;
84 uint16_t iq_mutation;
85 int32_t loss[0];
86 int32_t candidates[0][0];
88#define GenOptimizer_Init(opt, n_params, n_cand, n_best, iq_mutation, start_params)
89#define GenOptimizer_Step(opt, params, LossFunc)
90#define PARAM_SCALE_Q16(x, min_val, max_val) (x)
91#define PARAM_UNSCALE_Q16(q16_val, min_val, max_val) (q16_val)
92#endif
93
94
95
96#ifdef INCLUDE_BENCH_TEST
97#include "bench_time.h"
98#else //BENCH_TIME_ENABLE
99#define BenchTime_Init()
100#define BenchTime_Start(channel, ticks, tick_period) 0
101#define BenchTime_End(channel, ticks) 0
102#define BenchTime_GetMin(channel) 0
103#define BenchTime_GetMax(channel) 0
104#define BenchTime_GetAverage(channel) 0
105#define BenchTime_GetCount(channel) 0
106#define BenchTime_GetLast(channel) 0
107#define BenchTime_ResetStats(channel)
108#endif //BENCH_TIME_ENABLE
109
110#ifdef INCLUDE_GENERAL_PERIPH_LIBS
111
112#include "__general_flash.h"
113#include "general_gpio.h"
114#ifdef HAL_SPI_MODULE_ENABLED
115#include "general_spi.h"
116#endif
117#ifdef HAL_UART_MODULE_ENABLED
118#include "general_uart.h"
119#endif
120#ifdef HAL_TIM_MODULE_ENABLED
121#include "general_tim.h"
122#endif
123
124#endif //INCLUDE_GENERAL_PERIPH_LIBS
125
126
127
128
129/////////////////////////---USER SETTINGS---/////////////////////////
130// user includes
131
132// user settings
133/////////////////////////---USER SETTINGS---/////////////////////////
134
135
136#endif // __MYLIBS_INCLUDE_H_
Заголовочный файл для измерения времени между событиями
Заголочный файл для дефайнов битового доступа.
Заголовочный файл для адаптивного подбора параметров
Заголочный файл для дефайнов библиотеки MyLibsGeneral.
Заголочный файл для работы с трассировкой.
Заголочный файл для работы с трекерами Trackers defines.