- MyLibs - максимально платформонезависимые библиотеки (кроме разве что RTT) - RTT - STM32_General - библиотеки для периферии stm32
125 lines
4.4 KiB
C
125 lines
4.4 KiB
C
/**
|
||
**************************************************************************
|
||
* @file mylibs_include.h
|
||
* @brief Заголочный файл для всех библиотек
|
||
**************************************************************************
|
||
* @details
|
||
Здесь нужно собрать библиотеки и дефайны, которые должны быть видны во всем проекте,
|
||
чтобы не подключать 100 инклюдов в каждом ".c" файле
|
||
**************************************************************************
|
||
* @defgroup MYLIBS_ALL My Libs
|
||
* @brief Все используемые MyLibs библиотеки
|
||
* @details
|
||
Для подключения библиотеки необходимо:
|
||
- Сконфигурировать mylibs_config.h:
|
||
- Подключить заголовочный файл HAL библиотеки конкретного МК (напр. stm32f4xx_hal.h)
|
||
- Подключить другие заголовочные файлы которые общие для всего проекта и должны быть видны
|
||
-
|
||
- Подключить mylibs_include.h туда, где необходим доступ к библиотекам.
|
||
|
||
* @defgroup MYLIBS_PERIPHERAL Peripheral
|
||
* @ingroup MYLIBS_ALL
|
||
* @brief Модули для управления периферией
|
||
*
|
||
*************************************************************************/
|
||
#ifndef __MYLIBS_INCLUDE_H_
|
||
#define __MYLIBS_INCLUDE_H_
|
||
|
||
#include "mylibs_defs.h"
|
||
|
||
|
||
#ifdef ARM_MATH_CM4
|
||
#include "arm_math.h"
|
||
#else
|
||
#include "math.h"
|
||
#endif
|
||
|
||
|
||
#ifdef INCLUDE_BIT_ACCESS_LIB
|
||
#include "bit_access.h"
|
||
#endif
|
||
|
||
#ifdef INCLUDE_TRACKERS_LIB
|
||
#include "trackers.h"
|
||
#else
|
||
#define TrackerTypeDef(num_user_vars) void *
|
||
#define num_of_usercnts(_user_) 0
|
||
#define assert_tracecnt(_cntstruct_, _uservarnumb_) 0
|
||
#define if_assert_usertracker(_cntstruct_, _uservarnumb_) if(0)
|
||
#define tern_assert_usertracker(_cntstruct_, _uservarnumb_) 0
|
||
#define TrackerGet_Ok(_cntstruct_) dummy
|
||
#define TrackerGet_Err(_cntstruct_) dummy
|
||
#define TrackerGet_Warn(_cntstruct_) dummy
|
||
#define TrackerGet_User(_cntstruct_, _uservarnumb_) dummy
|
||
#define TrackerCnt_Ok(_cntstruct_)
|
||
#define TrackerCnt_Err(_cntstruct_)
|
||
#define TrackerCnt_Warn(_cntstruct_)
|
||
#define TrackerCnt_User(_cntstruct_, _uservarnumb_)
|
||
#define TrackerWrite_User(_cntstruct_, _uservarnumb_, _val_)
|
||
#define TrackerClear_All(_cntstruct_)
|
||
#define TrackerClear_Ok(_cntstruct_)
|
||
#define TrackerClear_Err(_cntstruct_)
|
||
#define TrackerClear_Warn(_cntstruct_)
|
||
#define TrackerClear_User(_cntstruct_)
|
||
#define TrackerClear_UserAll(_cntstruct_)
|
||
#endif
|
||
|
||
#ifdef INCLUDE_TRACE_LIB
|
||
#include "trace.h"
|
||
#else
|
||
#define my_printf(...)
|
||
#define log_printf(TAG, fmt, ...)
|
||
#define TRACE_GPIO_SET(_gpio_,_pin_)
|
||
#define TRACE_GPIO_RESET(_gpio_,_pin_)
|
||
#define RTT_FlashPrepare(...)
|
||
#define RTT_EraseFlash(...) 0
|
||
#define RTT_SaveToFlash(...) 0
|
||
#define RTT_ReadFromFlash(...) 0
|
||
#define HF_CheckRecovered(...) 0
|
||
#define HF_HandleFault(...)
|
||
#endif
|
||
|
||
#ifdef INCLUDE_EVOLVE_OPTIMIZER
|
||
#include "evolve_optimizer.h"
|
||
#else
|
||
typedef struct {
|
||
uint16_t n_params;
|
||
uint16_t n_cand;
|
||
uint16_t n_best;
|
||
uint16_t iq_mutation;
|
||
int32_t loss[0];
|
||
int32_t candidates[0][0];
|
||
} EvolveOptimizer_t;
|
||
#define EvolveOptimizer_Init(opt, n_params, n_cand, n_best, iq_mutation, start_params)
|
||
#define EvolveOptimizer_Step(opt, params, LossFunc)
|
||
#define PARAM_SCALE_Q16(x, min_val, max_val) (x)
|
||
#define PARAM_UNSCALE_Q16(q16_val, min_val, max_val) (q16_val)
|
||
#endif
|
||
|
||
#ifdef INCLUDE_GENERAL_PERIPH_LIBS
|
||
|
||
#include "__general_flash.h"
|
||
#include "general_gpio.h"
|
||
#ifdef HAL_SPI_MODULE_ENABLED
|
||
#include "general_spi.h"
|
||
#endif
|
||
#ifdef HAL_UART_MODULE_ENABLED
|
||
#include "general_uart.h"
|
||
#endif
|
||
#ifdef HAL_TIM_MODULE_ENABLED
|
||
#include "general_tim.h"
|
||
#endif
|
||
|
||
#endif //INCLUDE_GENERAL_PERIPH_LIBS
|
||
|
||
|
||
|
||
|
||
/////////////////////////---USER SETTINGS---/////////////////////////
|
||
// user includes
|
||
|
||
// user settings
|
||
/////////////////////////---USER SETTINGS---/////////////////////////
|
||
|
||
|
||
#endif // __MYLIBS_INCLUDE_H_
|