GYROCOMPAS1
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.