HMR File
The 256 byte header contains information that is vital to processing and must be filled in. The C/C++ structure definition of the HMR header is as follows:
Word |
Size |
Type |
Definition |
---|---|---|---|
szTitleStr |
12 |
char[12] |
“$IMUHEADING\0” – NULL terminated ASCII string |
ucType |
1 |
uint8_t |
1 = values from external source 2 = values form dual antenna source |
dBoreSightRotationZ |
8 |
double |
Heading boresight between the forward direction of travel and the vector between antennas. Positive rotation is clockwise about Z |
dBoreSightRotationZStdDev |
8 |
double |
Accuracy of the boresight, 0.0 if not known |
Extra |
227 |
int8_t[227] |
Reserved for future use |
The single header is then followed by the 34-byte structure type below for each heading update record:
Word |
Size |
Type |
Definition |
---|---|---|---|
dGpsTime |
8 |
double |
GPS seconds of week |
sGpsWeek |
2 |
int16_t |
GPS week |
dHeading |
8 |
double |
The heading update value in decimal degrees, positive rotation is clockwise from North |
fHeadingStdDev |
4 |
float |
Standard deviation of the update in decimal degrees., 0.0 if not known |
fBaselineLength |
4 |
float |
Distance between antennas in meters. Only use if ucType == 2 |
fPitch |
4 |
float |
Pitch between the two antennas in decimal degrees. Only use if ucType == 2 |
fPitchStdDev |
4 |
float |
Standard deviation of the pitch in decimal degrees, 0.0 if not known |