# YZ\_POINT\_DATA

{% hint style="warning" %}
We do not recommend using this packet. Please prefer [atof\_point\_data](https://docs.ceruleansonar.com/c/surveyor-240-16/application-programming-interface/atof_point_data "mention") instead
{% endhint %}

### ID: 3011

### Payload Definition

<table><thead><tr><th width="201">Data Type</th><th width="164">Name</th><th>Description</th></tr></thead><tbody><tr><td>u32</td><td>timestamp_msec</td><td>msec since power on</td></tr><tr><td>u32</td><td>ping_number</td><td>assigned sequentially from power on</td></tr><tr><td>float</td><td>sos_mps</td><td>speed of sound, meters per second used for these computations</td></tr><tr><td>float[3]</td><td>up_vec</td><td>world up vector (x,y,z) in the device coordinate system.  x forward, y port, z up.</td></tr><tr><td>float[3]</td><td>mag_vec</td><td>reserved for future magnetic vector in the device coordinate system</td></tr><tr><td>u32[10]</td><td>reserved</td><td>for future additions</td></tr><tr><td>float</td><td>water_degC</td><td>-1000 if sensor not installed</td></tr><tr><td>float</td><td>water_bar</td><td>water pressure in bar. -1000 if sensor not installed</td></tr><tr><td>float</td><td>heave_m</td><td>reserved for heave in meters. not implemented so will be 0.0</td></tr><tr><td>float</td><td>start_m</td><td>range at the beginning of the analyzed signals for this ping</td></tr><tr><td>float</td><td>end_m</td><td>range at the end of the analyzed signals for this ping</td></tr><tr><td>u16</td><td>unused</td><td></td></tr><tr><td>u16</td><td>num_points</td><td>number of points reported in the points field</td></tr><tr><td>float[2*num_points]</td><td>yz_point_data</td><td>Y and Z value pairs for each detected point.Y is athwartships offset in meters, positive to the port side. Z is depth, positive up so all z values will be negative. </td></tr></tbody></table>

To compute pitch and roll from the up\_vec:

Pitch (positive bow up) = asin(up\_vec.x);

Roll (positive port side up) = atan2(up\_vec.y, up\_vec.x);
