The ATLAS format is a fixed-length binary protocol used as the default motion sensor output for Atlas Fansweep echo sounders.
Data:
-
Roll, pitch
-
Heave
Format:
<DLE><Rr><Pp><Hh><Q><DLE>
|
ATLAS Fansweep 20 protocol description |
|||||
|---|---|---|---|---|---|
|
FIELD N. |
FIELD |
DESCRIPTION |
UNIT |
DATA TYPE |
NOTE |
|
Byte 0 |
DLE |
start character |
- |
HEX |
Control character: 0x10. Used to indicate the start of the message. |
|
Byte 1-2 |
R |
roll MSB |
[deg] |
U16 |
Range: [0, 360] deg. Resolution: 360/2^16 degrees per bit. |
|
r |
roll LSB |
||||
|
Byte 3-4 |
P |
pitch MSB |
[deg] |
U16 |
Range: [270, 90] deg. Resolution: 360/2^16 degrees per bit. |
|
p |
pitch LSB |
||||
|
Byte 5-6 |
H |
heave MSB |
[mm] |
I16 |
Sign: Positive (+) when elevated. Range: [-32767, 32766] mm. Resolution: 1 mm per bit. |
|
h |
heave LSB |
||||
|
Byte 7 |
Q |
status code from 0 to 7 |
-
|
U8 |
See status table below for details. |
|
Byte 8 |
DLE |
stop character |
- |
HEX |
Control character: 0x10. Used to indicate the end of the message. |
Status code:
|
ATLAS status code description |
||
|---|---|---|
|
STATUS CODE |
DESCRIPTION |
NOTE |
|
0 |
unaided, stable data |
The MRU operates without external input and provides stable data. |
|
1 |
unaided, unstable data. |
No external input is used, and the data is unstable, likely due to alignment after power-on or restart. |
|
2 |
speed aided, stable data. |
The MRU uses external speed data and provides stable measurements. |
|
3 |
speed aided, unstable data |
The MRU receives external speed data, but its output is unstable, likely due to alignment after power on, or input of speed data. |
|
4 |
heading aided, stable data |
The MRU uses external heading data and provides stable measurements. |
|
5 |
heading aided, unstable data |
The MRU receives external heading data, but its output is unstable, likely due to alignment after power on, or input of heading data. |
|
6 |
full aided, stable data. |
The MRU uses both speed and heading data as external inputs and provides stable measurements. |
|
7 |
full aided, unstable data. |
The MRU operates with external speed and heading data, but the output is unstable, likely due to alignment after power on, or input of aiding data. |
Example:
ATLAS frame with raw example data is listed below.
|
Byte 0 |
Byte 1 |
Byte 2 |
Byte 3 |
Byte 4 |
Byte 5 |
Byte 6 |
Byte 7 |
Byte 8 |
|---|---|---|---|---|---|---|---|---|
|
0x10 |
0x1E |
0x85 |
0x0F |
0xA0 |
0x12 |
0x34 |
0x02 |
0x10 |
Decode raw U16 values from the ATLAS frame above to get roll, pitch and heave by using hex-to-decimal conversion and the resolution.
-
Roll calculation
-
Resolution: 360/2^16 degrees per bit = 0.005493164 degrees per bit.
-
Roll U16 value (big-endian): (0x1E x 256) + 0x85 = (30 x 256) + 133 = 7813.
-
Roll angle = roll U16 value x resolution = 7813 x 360/2^16 degrees = 42.92 degrees.
-
-
Pitch calculation
-
Resolution: 360/2^16 degrees per bit = 0.005493164 degrees per bit.
-
Pitch U16 value (big-endian): (0x0F x 256) + 0xA0 = (15 x 256) + 160 = 4000.
-
Pitch angle = pitch U16 value x resolution = 4000 x 360/2^16 degrees = 21.97 degrees.
-
-
Heave calculation
-
Resolution: 1 mm per bit.
-
Heave U16 value (big-endian): (0x12 x 256) + 0x34 = (18 x 256) + 52 = 4660.
-
Heave = heave U16 value x resolution = 4660 x 1 mm = 4.66 m.
-
-
Status code
-
Status code: 0x02 = 2.
-
This refers to status code 2: speed aided, stable data.
-
Note 1
Atlas follows big-endian format: MSB is stored at the lowest memory address, followed by the LSB.
Note 2
The reference frame for data (e.g., heave) is configurable in the ATLAS protocol. Also, the data's location (e.g., MRU or MP1) is configurable.