# $DVPDL and $DVPDX: DVL Position and Angle Deltas Messages

The $DVPDL/X messages supply odometry data intended for use in user-supplied dead reckoning or in user-built position-hold functions. It is output at a variable rate between 5Hz and 20 Hz. The $DVPDX message is the same as a $DVPDL message with a few extra fields tacked onto the end.

The Position Deltas X, Y and Z are in the [vehicle coordinate frame](https://docs.ceruleansonar.com/c/tracker-650/coordinate-systems) as modified by the [SET-SENSOR-ORIENTATION](https://docs.ceruleansonar.com/c/tracker-650/communicating-with-the-tracker-650/commands-accepted-by-the-tracker-650/set-sensor-orientation) command.&#x20;

The Pitch and Roll data and the standoff datum are in the [sensor coordinate system](https://docs.ceruleansonar.com/c/tracker-650/coordinate-systems) and are not influenced by the SET-SENSOR-ORIENTATION command.

Format:

$DVPDL,tu,dtu,adr,adp,ady,pdx,pdy,pdz,c\*hh

$DVPDX,tu,dtu,adr,adp,ady,pdx,pdy,pdz,c,mode,pitch,roll,stdoff\*hh

Example:

```
$DVPDL,101234000,50000,0.001263,-0.019663,-0.745226,-0.000,0.001,-0.005,100*22
```

| **Field** | **Name**          | **DVL Notes**                                                                                                               |
| --------- | ----------------- | --------------------------------------------------------------------------------------------------------------------------- |
| tu        | Time uSec         | Time since system boot in microseconds                                                                                      |
| dtu       | Delta Time uSec   | Time since the last message, in microseconds                                                                                |
| adr       | Angle Delta Roll  | Angle delta from previous message, in radians. Always 0 for Tracker 650.                                                    |
| adp       | Angle Delta Pitch | Angle delta from previous message, in radians. Always 0 for Tracker 650.                                                    |
| ady       | Angle Delta Yaw   | Angle delta from previous message, in radians. Always 0 for Tracker 650.                                                    |
| pdx       | Position Delta X  | Position delta from previous message, in meters                                                                             |
| pdy       | Position Delta Y  | Position delta from previous message, in meters                                                                             |
| pdz       | Position Delta Z  | Position delta from previous message, in meters                                                                             |
| c         | Confidence        | 0..100, where 100 = maximum confidence, 0 = no confidence. If 0, assume all other fields after dtu are garbage.             |
| mode      | System Mode       | Used by Cerulean for diagnostic purposes                                                                                    |
| pitch     | Pitch             | Rotation of the sensor head around the Y axis, with respect to the target plane, in degrees. Parallel = 0. Right-hand rule. |
| roll      | Roll              | Rotation of the sensor head around the X axis, with respect to the target plane, in degrees. Parallel = 0. Right-hand rule. |
| stdoff    | Standoff          | Distance between sensor head and target plane along a normal to the target plane, in meters.                                |
| \*        | End of fields     |                                                                                                                             |
| hh        | Checksum          | NMEA standard                                                                                                               |
