MyLibs 1.0
Расширенные библиотеки для STM32
Loading...
Searching...
No Matches
trackers.h File Reference

Заголочный файл для работы с трекерами Trackers defines. More...

#include "mylibs_defs.h"
+ Include dependency graph for trackers.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define TrackerTypeDef(num_user_vars)
 Структура для счетчиков отладки
 
#define num_of_usercnts(_user_)   (sizeof(_user_) / sizeof(uint32_t))
 Получить количетство пользовательских переменных
 
#define assert_usertracker(_cntstruct_, _uservarnumb_)   ((_uservarnumb_) < num_of_usercnts((_cntstruct_).user))
 Проверка существует ли указанная пользовательская переменная
 
#define if_assert_usertracker(_cntstruct_, _uservarnumb_)   if(assert_usertracker(_cntstruct_, _uservarnumb_))
 Условие для проверки существует ли указанная пользовательская переменная
 
#define tern_assert_usertracker(_cntstruct_, _uservarnumb_)   (assert_usertracker(_cntstruct_, _uservarnumb_)) ? _uservarnumb_ : 0
 Тернарный оператор для проверки существует ли указанная пользовательская переменная
 
#define TrackerGet_Ok(_cntstruct_)   (_cntstruct_).cnt_ok
 Считать счетчик успешных событий
 
#define TrackerGet_Err(_cntstruct_)   (_cntstruct_).cnt_err
 Считать счетчик ошибок
 
#define TrackerGet_Warn(_cntstruct_)   (_cntstruct_).cnt_warn
 Считать счетчик предупреждений
 
#define TrackerGet_User(_cntstruct_, _uservarnumb_)   (_cntstruct_).user[tern_assert_usertracker(_cntstruct_, _uservarnumb_)]
 Считать пользовательскую переменную
 
#define TrackerCnt_Ok(_cntstruct_)   (_cntstruct_).cnt_ok++
 Инкрементирование счетчика успешных событий
 
#define TrackerCnt_Err(_cntstruct_)   (_cntstruct_).cnt_err++
 Инкрементирование счетчика ошибок
 
#define TrackerCnt_Warn(_cntstruct_)   (_cntstruct_).cnt_warn++
 Инкрементирование счетчика предупреждений
 
#define TrackerCnt_User(_cntstruct_, _uservarnumb_)   if_assert_usertracker(_cntstruct_, _uservarnumb_) (_cntstruct_).user[_uservarnumb_]++;
 Инкрементирование пользовательской переменной
 
#define TrackerWrite_User(_cntstruct_, _uservarnumb_, _val_)   if_assert_usertracker(_cntstruct_, _uservarnumb_) (_cntstruct_).user[_uservarnumb_] = (_val_)
 Запись числа в пользовательскую переменную
 
#define TrackerClear_All(_cntstruct_)   memset(&(_cntstruct_), 0, sizeof(_cntstruct_))
 Очистка всей структуры
 
#define TrackerClear_Ok(_cntstruct_)   (_cntstruct_).cnt_ok = 0
 Очистка счетчика успешных событий
 
#define TrackerClear_Err(_cntstruct_)   (_cntstruct_).cnt_err = 0
 Очистка счетчика ошибок
 
#define TrackerClear_Warn(_cntstruct_)   (_cntstruct_).cnt_warn = 0
 Очистка счетчика предупреждений
 
#define TrackerClear_User(_cntstruct_, _uservarnumb_)   if_assert_usertracker(_cntstruct_, _uservarnumb_) (_cntstruct_).user[_uservarnumb_] = 0;
 Очистка пользовательской переменной
 
#define TrackerClear_UserAll(_cntstruct_)   memset(&(_cntstruct_).user, 0, sizeof((_cntstruct_).user))
 Очистка всех пользовательских переменных
 

Detailed Description

Заголочный файл для работы с трекерами Trackers defines.

Definition in file trackers.h.