-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdebug.h
61 lines (52 loc) · 4.08 KB
/
debug.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/***********************************************************************************************************
debug - Модуль отладки по CAN
Предназначен для отладки математической модели. Позволяет выводить по CAN заданную структуру данных,
содержащую необходимые для контроля переменные.
Наблюдаемые переменные распределены по адресам шины CAN (отдельный адрес на каждую переменную).
Способен выводит различные форматы данных от int8/uint8(1 байт) до double/longlong (8 байт),
требуется только указывать размер выводимого типа.
***********************************************************************************************************/
#ifndef _DEBUG_H_
#define _DEBUG_H_
#include <stdint.h>
#include "config.h"
// Список выводимых переменных
typedef struct
{
double DistanceToTDP; // Зарезервирован адрес CAN 0x524
double TimeToHorTarget; // Зарезервирован адрес CAN 0x529
double TimeToTD; // Зарезервирован адрес CAN 0x530
double TDP_Lat; // Зарезервирован адрес CAN 0x511
double TDP_Lon; // Зарезервирован адрес CAN 0x512
int64_t SNSalt; // Зарезервирован адрес CAN 0x516
double Alt2model; // Зарезервирован адрес CAN 0x515
double rtU_XYZi_Lat; // Зарезервирован адрес CAN 0x521
double rtU_XYZi_Lon; // Зарезервирован адрес CAN 0x522
double rtU_XYZi_Alt; // Зарезервирован адрес CAN 0x523
int16_t Relief_height; // Зарезервирован адрес CAN 0x526
uint16_t SysState; // Зарезервирован адрес CAN 0x527
double radioLatitude; // Зарезервирован адрес CAN 0x532
double radioLongitude; // Зарезервирован адрес CAN 0x533
uint8_t radioUpdatedIndex; // Зарезервирован адрес CAN 0x534
uint8_t leftBimCommand; // Зарезервирован адрес СAN 0x535
uint8_t rightBimCommand; // Зарезервирован адрес СAN 0x536
}debug_output;
// Глобальный экземпляр отладочной структуры
extern debug_output debug_vars;
/*********************************************************************************************************
debug_can - Универсальная функция вывода переменных любого типа в CAN
Параметры:
id - Адрес на CAN шине
*data - Указатель на переменную любого типа
size - Размер в байтах переменной
**********************************************************************************************************/
void debug_can(unsigned short id, void* data, unsigned char size);
/*********************************************************************************************************
debug_can_full_struct - Вывод всей структуры отладочной информации
**********************************************************************************************************/
void debug_can_full_struct (void);
/*********************************************************************************************************
debug_prepare_data - Подготовка отладочных данных к выводу
**********************************************************************************************************/
void debug_prepare_data (void);
#endif