+ пример debug_vars.c

+ exe
+ опечатка в readme
+ коррекции по абзацам в комментах
This commit is contained in:
Razvalyaev 2025-07-17 09:26:57 +03:00
parent ae2c90160e
commit c55f38ef1c
5 changed files with 31 additions and 8 deletions

Binary file not shown.

View File

@ -28,7 +28,7 @@ DebugVar_t dbg_vars[] = {\
{(uint8_t *)&ADC_sf[0][2], pt_int16, t_iq_none, t_iq_none, "ADC_sf02" }, \
{(uint8_t *)&ADC_sf[0][3], pt_int16, t_iq_none, t_iq_none, "ADC_sf03" }, \
{(uint8_t *)&Bender[0].KOhms, pt_uint16, t_iq, t_iq10, "Bend0.KOhm" }, \
{(char *)&Bender[0].Times, pt_uint16, t_iq_none, t_iq_none, "Bend0.Time" }, \
{(uint8_t *)&Bender[0].Times, pt_uint16, t_iq_none, t_iq_none, "Bend0.Time" }, \
};
```

View File

@ -11,10 +11,10 @@ static int getDebugVar(DebugVar_t *var, int32_t *int_var, float *float_var);
static int convertDebugVarToIQx(DebugVar_t *var, int32_t *ret_var);
///////////////////////////----EXAPLE-----//////////////////////////////
int var_numb = 1; ///< Пример переменной для отладки
int var_numb = 1; ///< Пример переменной для отладки
DebugVarName_t var_name; ///< Имя переменной
int32_t return_var; ///< Переменная для возврата результата
int32_t return_ll_var; ///< Возвращаемое значение с нижнего уровня
int32_t return_var; ///< Переменная для возврата результата
int32_t return_ll_var; ///< Возвращаемое значение с нижнего уровня
int result; ///< Переменная результата
DateTime_t ext_date = {2025, 11, 07, 16, 50}; ///< Пример внешней даты сборки
@ -37,7 +37,7 @@ void Debug_Test_Example(void)
/**
* @brief Читает переменную по индексу.
* @param var_ind индекс переменной.
* @param return_32b указатель для возврата результата.
* @param return_32b указатель для возврата результата.
* @return int 0: успех, 1: ошибка.
* @details Используется для чтения значений переменных по их индексу.
*/
@ -88,7 +88,7 @@ int Debug_ReadVarName(int var_ind, DebugVarName_t name_ptr)
/**
* @brief Читает значение переменной отладки с нижнего уровня.
* @param return_32b указатель на переменную, куда записывается результат.
* @param return_32b указатель на переменную, куда записывается результат.
* @return int 0: успех, 1: ошибка, 2: недопустимый адрес.
* @details Использует адресс, передаваемый с терминалки для получения значения.
*/
@ -154,7 +154,7 @@ int Debug_LowLevel_Initialize(DateTime_t* external_date)
/////////////////////----INTERNAL FUNCTIONS-----////////////////////////
/**
* @brief Преобразует тип IQ переменной в число битов для сдвига(Q-фактор).
* @param t тип IQ (перечисление DebugVarIQType_t).
* @param t тип IQ (перечисление DebugVarIQType_t).
* @return int Q-фактор (например, 24), 0: если t_iq_none, -1: ошибка.
* @details Сопоставляет тип IQ переменной с соответствующим Q-значением.
*/

View File

@ -134,7 +134,7 @@ typedef long DebugValue_t;
* @brief Ñòðóêòóðà äàòû è âðåìåíè.
*/
typedef struct {
uint16_t year; ///< <20>מה (םאןנטלונ, 2025)
uint16_t year; ///< <20>מה (םאןנטלונ, 2025)
uint8_t month; ///< Ìåñÿö (1-12)
uint8_t day; ///< Äåíü (1-31)
uint8_t hour; ///< ×àñû (0-23)

23
debug_vars_example.c Normal file
View File

@ -0,0 +1,23 @@
#include "debug_tools.h"
// Инклюды для доступа к переменным
#include "bender.h"
// Экстерны для доступа к переменным
extern int ADC0finishAddr;
// Определение массива с указателями на переменные для отладки
int DebugVar_Qnt = 5;
#pragma DATA_SECTION(dbg_vars,".dbgvar_info")
// pointer_type iq_type return_iq_type short_name
DebugVar_t dbg_vars[] = {\
{(uint8_t *)&freqTerm, pt_float, t_iq_none, t_iq10, "freqT" }, \
{(uint8_t *)&ADC_sf[0][0], pt_int16, t_iq_none, t_iq_none, "ADC_sf00" }, \
{(uint8_t *)&ADC_sf[0][1], pt_int16, t_iq_none, t_iq_none, "ADC_sf01" }, \
{(uint8_t *)&ADC_sf[0][2], pt_int16, t_iq_none, t_iq_none, "ADC_sf02" }, \
{(uint8_t *)&ADC_sf[0][3], pt_int16, t_iq_none, t_iq_none, "ADC_sf03" }, \
{(uint8_t *)&Bender[0].KOhms, pt_uint16, t_iq, t_iq10, "Bend0.KOhm" }, \
{(uint8_t *)&Bender[0].Times, pt_uint16, t_iq_none, t_iq_none, "Bend0.Time" }, \
};