evovle перенесен на float + добавлены некоторые опциональные параметры

т.к. нет особо смысла супер быстро рассчитывать параметры. это просто вспомогательный инструмент для их параметров
This commit is contained in:
2025-10-20 13:02:49 +03:00
parent 89babe10c9
commit 03a203fe2a
364 changed files with 7523 additions and 7886 deletions

View File

@@ -1,5 +1,5 @@
\doxysection{E\+:/.WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs\+General/\+Inc/trackers.h File Reference}
\hypertarget{trackers_8h}{}\label{trackers_8h}\index{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibsGeneral/Inc/trackers.h@{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibsGeneral/Inc/trackers.h}}
\doxysection{F\+:/\+Work/\+Projects/\+STM/.Elementary/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs\+General/\+Inc/trackers.h File Reference}
\hypertarget{trackers_8h}{}\label{trackers_8h}\index{F:/Work/Projects/STM/.Elementary/STM32\_ExtendedLibs/MyLibsGeneral/Inc/trackers.h@{F:/Work/Projects/STM/.Elementary/STM32\_ExtendedLibs/MyLibsGeneral/Inc/trackers.h}}
Заголочный файл для работы с трекерами \doxylink{group___t_r_a_c_k_e_r_s}{Trackers defines}.
@@ -10,14 +10,14 @@ Include dependency graph for trackers.\+h\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=229pt]{trackers_8h__incl}
\includegraphics[width=245pt]{trackers_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=229pt]{trackers_8h__dep__incl}
\includegraphics[width=245pt]{trackers_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Macros}
@@ -25,43 +25,43 @@ This graph shows which files directly or indirectly include this file\+:\nopageb
\item
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga50ccb119acf302969b7fdcb58f2130e4}{Tracker\+Type\+Def}}(num\+\_\+user\+\_\+vars)
\begin{DoxyCompactList}\small\item\em Структура для счетчиков отладки \end{DoxyCompactList}\item
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga72be24629fedb8bf70e830373d151fbc}{num\+\_\+of\+\_\+usercnts}}(\+\_\+user\+\_\+)
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga72be24629fedb8bf70e830373d151fbc}{num\+\_\+of\+\_\+usercnts}}(\+\_\+user\+\_\+)~(sizeof(\+\_\+user\+\_\+) / sizeof(uint32\+\_\+t))
\begin{DoxyCompactList}\small\item\em Получить количетство пользовательских переменных \end{DoxyCompactList}\item
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_gadd7fd2c6e3a4800f1d5ddab35fd4b43e}{assert\+\_\+usertracker}}(\+\_\+cntstruct\+\_\+, \+\_\+uservarnumb\+\_\+)
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_gadd7fd2c6e3a4800f1d5ddab35fd4b43e}{assert\+\_\+usertracker}}(\+\_\+cntstruct\+\_\+, \+\_\+uservarnumb\+\_\+)~((\+\_\+uservarnumb\+\_\+) $<$ \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga72be24629fedb8bf70e830373d151fbc}{num\+\_\+of\+\_\+usercnts}}((\+\_\+cntstruct\+\_\+).user))
\begin{DoxyCompactList}\small\item\em Проверка существует ли указанная пользовательская переменная \end{DoxyCompactList}\item
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_gad91d8ca89074270fc040c0449e57cf07}{if\+\_\+assert\+\_\+usertracker}}(\+\_\+cntstruct\+\_\+, \+\_\+uservarnumb\+\_\+)
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_gad91d8ca89074270fc040c0449e57cf07}{if\+\_\+assert\+\_\+usertracker}}(\+\_\+cntstruct\+\_\+, \+\_\+uservarnumb\+\_\+)~if(\mbox{\hyperlink{group___t_r_a_c_k_e_r_s_gadd7fd2c6e3a4800f1d5ddab35fd4b43e}{assert\+\_\+usertracker}}(\+\_\+cntstruct\+\_\+, \+\_\+uservarnumb\+\_\+))
\begin{DoxyCompactList}\small\item\em Условие для проверки существует ли указанная пользовательская переменная \end{DoxyCompactList}\item
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga39b6ffbc561f8caac276415e1ad32c30}{tern\+\_\+assert\+\_\+usertracker}}(\+\_\+cntstruct\+\_\+, \+\_\+uservarnumb\+\_\+)
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga39b6ffbc561f8caac276415e1ad32c30}{tern\+\_\+assert\+\_\+usertracker}}(\+\_\+cntstruct\+\_\+, \+\_\+uservarnumb\+\_\+)~(\mbox{\hyperlink{group___t_r_a_c_k_e_r_s_gadd7fd2c6e3a4800f1d5ddab35fd4b43e}{assert\+\_\+usertracker}}(\+\_\+cntstruct\+\_\+, \+\_\+uservarnumb\+\_\+)) ? \+\_\+uservarnumb\+\_\+ \+: 0
\begin{DoxyCompactList}\small\item\em Тернарный оператор для проверки существует ли указанная пользовательская переменная \end{DoxyCompactList}\item
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_gab880911066605602a966641682090169}{Tracker\+Get\+\_\+\+Ok}}(\+\_\+cntstruct\+\_\+)
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_gab880911066605602a966641682090169}{Tracker\+Get\+\_\+\+Ok}}(\+\_\+cntstruct\+\_\+)~(\+\_\+cntstruct\+\_\+).cnt\+\_\+ok
\begin{DoxyCompactList}\small\item\em Считать счетчик успешных событий \end{DoxyCompactList}\item
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga9dc91e6b798a081f95f2ccef2c288e5e}{Tracker\+Get\+\_\+\+Err}}(\+\_\+cntstruct\+\_\+)
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga9dc91e6b798a081f95f2ccef2c288e5e}{Tracker\+Get\+\_\+\+Err}}(\+\_\+cntstruct\+\_\+)~(\+\_\+cntstruct\+\_\+).cnt\+\_\+err
\begin{DoxyCompactList}\small\item\em Считать счетчик ошибок \end{DoxyCompactList}\item
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga47ac59a406ee74d4cd9fe0fbaf63a758}{Tracker\+Get\+\_\+\+Warn}}(\+\_\+cntstruct\+\_\+)
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga47ac59a406ee74d4cd9fe0fbaf63a758}{Tracker\+Get\+\_\+\+Warn}}(\+\_\+cntstruct\+\_\+)~(\+\_\+cntstruct\+\_\+).cnt\+\_\+warn
\begin{DoxyCompactList}\small\item\em Считать счетчик предупреждений \end{DoxyCompactList}\item
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga4b08632669043dfdbd219dda03502bdb}{Tracker\+Get\+\_\+\+User}}(\+\_\+cntstruct\+\_\+, \+\_\+uservarnumb\+\_\+)
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga4b08632669043dfdbd219dda03502bdb}{Tracker\+Get\+\_\+\+User}}(\+\_\+cntstruct\+\_\+, \+\_\+uservarnumb\+\_\+)~(\+\_\+cntstruct\+\_\+).user\mbox{[}\mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga39b6ffbc561f8caac276415e1ad32c30}{tern\+\_\+assert\+\_\+usertracker}}(\+\_\+cntstruct\+\_\+, \+\_\+uservarnumb\+\_\+)\mbox{]}
\begin{DoxyCompactList}\small\item\em Считать пользовательскую переменную \end{DoxyCompactList}\item
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga23de0006aa08984cfeddb6aa5e512fa1}{Tracker\+Cnt\+\_\+\+Ok}}(\+\_\+cntstruct\+\_\+)
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga23de0006aa08984cfeddb6aa5e512fa1}{Tracker\+Cnt\+\_\+\+Ok}}(\+\_\+cntstruct\+\_\+)~(\+\_\+cntstruct\+\_\+).cnt\+\_\+ok++
\begin{DoxyCompactList}\small\item\em Инкрементирование счетчика успешных событий \end{DoxyCompactList}\item
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga49af29ab3927cad105c1d2b018a767e9}{Tracker\+Cnt\+\_\+\+Err}}(\+\_\+cntstruct\+\_\+)
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga49af29ab3927cad105c1d2b018a767e9}{Tracker\+Cnt\+\_\+\+Err}}(\+\_\+cntstruct\+\_\+)~(\+\_\+cntstruct\+\_\+).cnt\+\_\+err++
\begin{DoxyCompactList}\small\item\em Инкрементирование счетчика ошибок \end{DoxyCompactList}\item
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga8017fb05a56a1b667244f1f786fa9c57}{Tracker\+Cnt\+\_\+\+Warn}}(\+\_\+cntstruct\+\_\+)
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga8017fb05a56a1b667244f1f786fa9c57}{Tracker\+Cnt\+\_\+\+Warn}}(\+\_\+cntstruct\+\_\+)~(\+\_\+cntstruct\+\_\+).cnt\+\_\+warn++
\begin{DoxyCompactList}\small\item\em Инкрементирование счетчика предупреждений \end{DoxyCompactList}\item
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga1b7549afc4a1760b54a9b93b0f6d105e}{Tracker\+Cnt\+\_\+\+User}}(\+\_\+cntstruct\+\_\+, \+\_\+uservarnumb\+\_\+)
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga1b7549afc4a1760b54a9b93b0f6d105e}{Tracker\+Cnt\+\_\+\+User}}(\+\_\+cntstruct\+\_\+, \+\_\+uservarnumb\+\_\+)~\mbox{\hyperlink{group___t_r_a_c_k_e_r_s_gad91d8ca89074270fc040c0449e57cf07}{if\+\_\+assert\+\_\+usertracker}}(\+\_\+cntstruct\+\_\+, \+\_\+uservarnumb\+\_\+) (\+\_\+cntstruct\+\_\+).user\mbox{[}\+\_\+uservarnumb\+\_\+\mbox{]}++;
\begin{DoxyCompactList}\small\item\em Инкрементирование пользовательской переменной \end{DoxyCompactList}\item
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_gad2f4062a9ac8c2ab062a364f640ebc51}{Tracker\+Write\+\_\+\+User}}(\+\_\+cntstruct\+\_\+, \+\_\+uservarnumb\+\_\+, \+\_\+val\+\_\+)
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_gad2f4062a9ac8c2ab062a364f640ebc51}{Tracker\+Write\+\_\+\+User}}(\+\_\+cntstruct\+\_\+, \+\_\+uservarnumb\+\_\+, \+\_\+val\+\_\+)~\mbox{\hyperlink{group___t_r_a_c_k_e_r_s_gad91d8ca89074270fc040c0449e57cf07}{if\+\_\+assert\+\_\+usertracker}}(\+\_\+cntstruct\+\_\+, \+\_\+uservarnumb\+\_\+) (\+\_\+cntstruct\+\_\+).user\mbox{[}\+\_\+uservarnumb\+\_\+\mbox{]} = (\+\_\+val\+\_\+)
\begin{DoxyCompactList}\small\item\em Запись числа в пользовательскую переменную \end{DoxyCompactList}\item
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga704f7b9f8c65c9bcec48ce7cb77a2d3b}{Tracker\+Clear\+\_\+\+All}}(\+\_\+cntstruct\+\_\+)
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga704f7b9f8c65c9bcec48ce7cb77a2d3b}{Tracker\+Clear\+\_\+\+All}}(\+\_\+cntstruct\+\_\+)~memset(\&(\+\_\+cntstruct\+\_\+), 0, sizeof(\+\_\+cntstruct\+\_\+))
\begin{DoxyCompactList}\small\item\em Очистка всей структуры \end{DoxyCompactList}\item
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga5dd8bac8c7ab5832019d55d7a68371b9}{Tracker\+Clear\+\_\+\+Ok}}(\+\_\+cntstruct\+\_\+)
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga5dd8bac8c7ab5832019d55d7a68371b9}{Tracker\+Clear\+\_\+\+Ok}}(\+\_\+cntstruct\+\_\+)~(\+\_\+cntstruct\+\_\+).cnt\+\_\+ok = 0
\begin{DoxyCompactList}\small\item\em Очистка счетчика успешных событий \end{DoxyCompactList}\item
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_gae860b6947c6e317e14d40bd7b4b8eb74}{Tracker\+Clear\+\_\+\+Err}}(\+\_\+cntstruct\+\_\+)
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_gae860b6947c6e317e14d40bd7b4b8eb74}{Tracker\+Clear\+\_\+\+Err}}(\+\_\+cntstruct\+\_\+)~(\+\_\+cntstruct\+\_\+).cnt\+\_\+err = 0
\begin{DoxyCompactList}\small\item\em Очистка счетчика ошибок \end{DoxyCompactList}\item
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga365a8c60bd13b75154feda649dd21ead}{Tracker\+Clear\+\_\+\+Warn}}(\+\_\+cntstruct\+\_\+)
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga365a8c60bd13b75154feda649dd21ead}{Tracker\+Clear\+\_\+\+Warn}}(\+\_\+cntstruct\+\_\+)~(\+\_\+cntstruct\+\_\+).cnt\+\_\+warn = 0
\begin{DoxyCompactList}\small\item\em Очистка счетчика предупреждений \end{DoxyCompactList}\item
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga063dab1067005e1600ea32531fdf3f8d}{Tracker\+Clear\+\_\+\+User}}(\+\_\+cntstruct\+\_\+, \+\_\+uservarnumb\+\_\+)
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_ga063dab1067005e1600ea32531fdf3f8d}{Tracker\+Clear\+\_\+\+User}}(\+\_\+cntstruct\+\_\+, \+\_\+uservarnumb\+\_\+)~\mbox{\hyperlink{group___t_r_a_c_k_e_r_s_gad91d8ca89074270fc040c0449e57cf07}{if\+\_\+assert\+\_\+usertracker}}(\+\_\+cntstruct\+\_\+, \+\_\+uservarnumb\+\_\+) (\+\_\+cntstruct\+\_\+).user\mbox{[}\+\_\+uservarnumb\+\_\+\mbox{]} = 0;
\begin{DoxyCompactList}\small\item\em Очистка пользовательской переменной \end{DoxyCompactList}\item
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_gaaec7ec19977bb26fa1919dfe920b82d5}{Tracker\+Clear\+\_\+\+User\+All}}(\+\_\+cntstruct\+\_\+)
\#define \mbox{\hyperlink{group___t_r_a_c_k_e_r_s_gaaec7ec19977bb26fa1919dfe920b82d5}{Tracker\+Clear\+\_\+\+User\+All}}(\+\_\+cntstruct\+\_\+)~memset(\&(\+\_\+cntstruct\+\_\+).user, 0, sizeof((\+\_\+cntstruct\+\_\+).user))
\begin{DoxyCompactList}\small\item\em Очистка всех пользовательских переменных \end{DoxyCompactList}\end{DoxyCompactItemize}