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