debugVarTool/debug_tools.h

111 lines
2.6 KiB
C

#ifndef DEBUG_TOOLS
#define DEBUG_TOOLS
#include "IQmathLib.h"
#include "DSP281x_Device.h"
typedef enum
{
pt_unknown, // unknown
pt_int8, // signed char
pt_int16, // int
pt_int32, // long
pt_int64, // long
pt_uint8, // unsigned char
pt_uint16, // unsigned int
pt_uint32, // unsigned long
pt_uint64, // unsigned long
pt_float, // float
pt_struct, // struct
pt_union, // struct
// pt_ptr_int8, // signed char*
// pt_ptr_int16, // int*
// pt_ptr_int32, // long*
// pt_ptr_uint8, // unsigned char*
// pt_ptr_uint16, // unsigned int*
// pt_ptr_uint32, // unsigned long*
// pt_arr_int8, // signed char[]
// pt_arr_int16, // int[]
// pt_arr_int32, // long[]
// pt_arr_uint8, // unsigned char[]
// pt_arr_uint16, // unsigned int[]
// pt_arr_uint32, // unsigned long[]
}DebugVarPtrType_t;
typedef enum
{
t_iq_none,
t_iq,
t_iq1,
t_iq2,
t_iq3,
t_iq4,
t_iq5,
t_iq6,
t_iq7,
t_iq8,
t_iq9,
t_iq10,
t_iq11,
t_iq12,
t_iq13,
t_iq14,
t_iq15,
t_iq16,
t_iq17,
t_iq18,
t_iq19,
t_iq20,
t_iq21,
t_iq22,
t_iq23,
t_iq24,
t_iq25,
t_iq26,
t_iq27,
t_iq28,
t_iq29,
t_iq30
}DebugVarIQType_t;
typedef struct
{
char* Ptr;
DebugVarPtrType_t ptr_type;
DebugVarIQType_t iq_type;
DebugVarIQType_t return_type;
char name[11]; // 10 ñèìâîëîâ + '\0'
}DebugVar_t;
typedef struct {
int year;
char month;
char day;
char hour;
char minute;
} DateTime_t;
typedef struct
{
DateTime_t build_date;
unsigned int isVerified;
DebugVar_t dbg_var;
}DebugLowLevel_t;
extern DebugLowLevel_t debug_ll;
#define DATE_INIT {BUILD_YEAR, BUILD_MONTH, BUILD_DATA, BUILD_HOURS, BUILD_MINUTES}
#define DEBUG_VAR_INIT {0, pt_uint16, t_iq_none, t_iq_none, "\0"}
#define DEBUG_LOWLEVEL_INIT {DATE_INIT, 0, DEBUG_VAR_INIT}
extern int DebugVar_Qnt;
extern DebugVar_t dbg_vars[];
void Debug_Test_Example(void);
int Debug_LowLevel_ReadVar(long *return_long);
int Debug_ReadVar(DebugVar_t *var, long *return_long);
int Debug_ReadVarName(DebugVar_t *var, char *name_ptr);
int Debug_LowLevel_Initialize(const char* external_date);
#endif //DEBUG_TOOLS