-
Notifications
You must be signed in to change notification settings - Fork 7
/
debug.cpp
68 lines (55 loc) · 1.43 KB
/
debug.cpp
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
62
63
64
65
66
67
68
//debug
//This file leads with the function api.setDebug()
//ONLY FOR DEBUGGING PURPORSES
#define DEBUG_TRACKS 7 //Número de datos que se pueden seguir
#ifdef DEBUG_ACTIVE
char* debug_tracking_names[DEBUG_TRACKS];
float* debug_tracking_vars[DEBUG_TRACKS];
float debug[DEBUG_TRACKS];
void debug_init() {
int i;
for(i = 0; i < DEBUG_TRACKS; ++i) {
debug_tracking_names[i] = NULL;
debug_tracking_vars[i] = NULL;
debug[i] = 0.0f;
}
}
void debug_update() {
int i;
for(i = 0; i < DEBUG_TRACKS; ++i) {
if(debug_tracking_vars[i] != NULL) {
debug[i] = *(debug_tracking_vars[i]);
} else {
debug[i] = 0.0f;
}
}
api.setDebug(debug);
}
//debug_track(track, var, name)
//Monitoriza una variable global
//track -> Pista a usar (0-6)
//var -> Puntero a la variable global
//name -> Nombre de la variable
//return -> true si se ha registrado el seguimiento correctamente y false en otro caso
bool debug_track(int track, float* var, char* name) {
if(track >= 0 && track < DEBUG_TRACKS && var != NULL && debug_tracking_vars[track] == NULL) {
debug_tracking_vars[track] = var;
debug_tracking_names[track] = name;
if(name != NULL) {
DEBUG(("Debug track %i = %s\n", track, name));
} else {
DEBUG(("Debug track %i ???\n", track));
}
return true;
}
return false;
}
void debug_print_vector(float* v, int n) {
int i;
DEBUG(("["));
for(i = 0; i < n; ++i) {
DEBUG(("%f ", v[i]));
}
DEBUG(("\b]\n"));
}
#endif//DEBUG_ACTIVE