The gyrocompas1 protocol consists of three messages: HEHDT (heading), PHTHR (roll and pitch) and PHINF (status).
Data:
-
Heading
-
Pitch, roll
-
Status
Format:
$HEHDT,xxx.xx,T*hh<CR><LF>
|
Gyrocompas1 protocol description (HEHDT) |
|||||
|---|---|---|---|---|---|
|
FIELD N. |
FIELD |
DESCRIPTION |
UNIT |
DATA TYPE |
NOTE |
|
0 |
HEHDT |
identifier |
- |
string |
Telegram identifier. |
|
1 |
xxx.xx |
heading |
[deg] |
DBL |
Heading increase in clockwise direction. xxx.xx : 'xxx' is the integer part of the heading represented by three digits in range [0,359], '.’ is decimal separator and 'xx’ is the fractional part of the heading represented by two positive digits in range [0,99]. |
|
2 |
T |
'T' character for heading |
- |
string |
Identifier for heading. |
|
3 |
hh |
checksum |
- |
- |
XOR of characters between $ and *. |
|
4 |
<CR><LF> |
Termination characters |
- |
- |
|
Format:
$PHTRH,xxx.xx,a,yyy.yy,b*hh<CR><LF>
|
Gyrocompas1 protocol description (PHTRH) |
|||||
|---|---|---|---|---|---|
|
FIELD N. |
FIELD |
DESCRIPTION |
UNIT |
DATA TYPE |
NOTE |
|
0 |
PHTRH |
|
|
|
Telegram identifier. |
|
1 |
xxx.xx |
pitch |
[deg] |
DBL |
xxx.xx : 'xxx' is the integer part of the pitch represented by three positive digits in range [0,179], '.’ is decimal separator and 'xx’ is the fractional part of the pitch represented by two positive digits in range [0,99]. |
|
2 |
a |
pitch sign |
- |
string |
If 'M': Bow up (positive). If 'P': Bow down (negative). |
|
3 |
yyy.yy |
roll |
[deg] |
DBL |
yyy.yy: 'yyy' is the integer part of the roll represented by three positive digits in range [0,179], '.’ is decimal separator and 'yy’ is the fractional part of the roll represented by two positive digits in range [0,99]. |
|
4 |
b |
roll sign |
- |
string |
If 'B': Port down (positive). If 'T': port up (negative). |
|
5 |
hh |
checksum |
- |
- |
XOR of characters between $ and * |
|
4 |
<CR><LF> |
Termination characters |
- |
- |
|
Format:
$PHINF,ssssssss*hh<CR><LF>
|
Gyrocompas1 protocol description (PHINF) |
|||||
|---|---|---|---|---|---|
|
FIELD N. |
FIELD |
DESCRIPTION |
UNIT |
DATA TYPE |
NOTE |
|
0 |
ssssssss |
status code |
- |
HEX |
|
|
1 |
hh |
checksum |
- |
- |
XOR of characters between $ and * |
|
4 |
<CR><LF> |
Termination characters |
- |
- |
|
Example:
HEHDT frame with raw example data is listed below.
$HEHDT,231.57,T*29<CR><LF>
|
Field 0 |
Field 1 |
Field 2 |
Field 3 |
|---|---|---|---|
|
$HEHDT |
231.57 |
T |
29 |
Decoded values:
-
Heading
-
Raw value: 231.57, decoded heading angle: 231.57 degrees
-
PHTRO frame with raw example data is listed below.
$PHTRO,0.16,P,0.29,B*79<CR><LF>
|
Field 0 |
Field 1 |
Field 2 |
Field 3 |
Field 4 |
Field 5 |
|---|---|---|---|---|---|
|
$PHTRO |
0.16 |
P |
0.29 |
B |
79 |
Decoded values:
-
Pitch
-
Raw value: 0.16, decoded pItch angle: -0.16 degrees (due to 'P').
-
-
Roll
-
Raw value: 0.29, decoded roll angle: 0.29 degrees (due to 'B').
-
PHINF frame with raw example data is listed below.
$PHINF,00000000*117<CR><LF>
|
Field 0 |
Field 1 |
Field 2 |
|---|---|---|
|
$PHINF |
00000000 |
117 |
Decoded values:
-
Status code
-
Raw value: 00000000, decoded status code: 0.
-
Note
The reference frame for data (e.g., roll) is configurable in the gyrocompas1 protocol. Also, the data's location (e.g., MRU or MP1) is configurable.