MyLibs 1.0
Расширенные библиотеки для STM32
Loading...
Searching...
No Matches
mylibs_include.h
Go to the documentation of this file.
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.