-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathadcs_reader_schema.xp
More file actions
113 lines (99 loc) · 2.09 KB
/
adcs_reader_schema.xp
File metadata and controls
113 lines (99 loc) · 2.09 KB
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
namespace adcs {
location "motherboard";
subsystem "adcs";
lproc_name "adcs";
lproc_port 50011;
};
const CMD_BASE = 0x200;
const TYPE_BASE = 0x01000200;
const ERR_BASE = 0x02000200;
enum types {
STATUS = TYPE_BASE + 0,
VECTOR = TYPE_BASE + 1
};
struct Vector {
int x {
key x;
name "X Element";
leaf-only;
};
int y {
key y;
name "Y Element";
leaf-only;
};
int z {
key z;
name "Z Element";
leaf-only;
};
} = types::VECTOR;
struct Status {
Vector accel {
key accel;
name "Accelerometer";
description "Motherboard accelerometer readings";
unit "G";
fractional_bits 24;
};
Vector gyro {
key gyro;
name "Gyroscope";
description "Motherboard gyroscope readings";
unit "deg/sec";
fractional_bits 20;
};
Vector mag_mb {
key mag_mb;
name "MB Magnetometer";
description "Motherboard magnetometer readings";
unit "nT";
};
Vector mag_nx {
key mag_nx;
name "-X Magnetometer";
description "-X magnetometer readings";
unit "nT";
};
Vector mag_px {
key mag_px;
name "+X Magnetometer";
description "+X magnetometer readings";
unit "nT";
};
Vector mag_ny {
key mag_ny;
name "-Y Magnetometer";
description "-Y magnetometer readings";
unit "nT";
};
Vector mag_py {
key mag_py;
name "+Y Magnetometer";
description "+Y magnetometer readings";
unit "nT";
};
Vector mag_nz {
key mag_nz;
name "-Z Magnetometer";
description "-Z magnetometer readings";
unit "nT";
};
Vector mag_pz {
key mag_pz;
name "+Z Magnetometer";
description "+Z magnetometer readings";
unit "nT";
};
} = types::STATUS;
command "adcs-status" {
summary "Reports the general health status of the adcs process";
types = types::STATUS;
datalogger {
struct Status;
subprocess {
path "/usr/bin/adcs-status";
param "-f kvp";
};
};
};