Data subscription type: ADCP Vessel Velocity
There are four separate ADCP vessel velocity data subscription types. The vessel velocity is relative to the vessel orientation and velocity. Both input and output strings are equivalent for all of them. Only the data subscription strings differ.
Input
The data subscription strings are:
•  VelocityFore
•  VelocityStarboard
•  VelocityDown
•  VelocityVessel
•  Type = The variant type as defined for certain programming languages
–  VT_BSTR = Text string
–  V_R8 = double, 8 bytes
–  VT_I4 = Integer 4 bytes
•  R/O = Read only
•  N/A = not applicable
•  If no value is provided in the XML input string, the example value in each table is used as default.
CellsNumber
Description Range Unit Type R/O
If the depth range is selected to be individual for each channel, this parameter sets the range for specified channel. <0,10000> m VT_I4 N/A
Example: 500
StopAtBottom
Description Range Unit Type R/O
This is the start range for the selected channel. <0,10000> m VT_I4 N/A
Example: 10
Output
struct StructVelocity
  {
  StructVelocityHeader VelocityHeader;
  StructVelocityData VelocityData;
  };
struct StructVelocityHeader
  {
  double range;
  double rangeStart;
  double BottomDepth; // (m) This is the detected bottom depth.
  int errorCode; // (dB) Defined error codes
  };
struct StructVelocityData
  {
  int numValidVelocities;
  StructVelocityVectorHcs Velocities[2500];
  };
struct StructVelocityVectorHcs
  {
  float x; // (m) Velocity measured in x, y, z direction relative to the vessel.
  float y;
  float z;
  };
Subscription string example
Example 1 VelocityFore Example 2 VelocityVessel
ADCP,
VelocityFore,
ChannelID=<ChannelID>,
Range=100,
Rangestart=10,
CellsNumber=2000,
StopAtBottom=1,
ADCP,
VelocityVessel,
ChannelID=<ChannelID>,
Range=100,
Rangestart=10,
CellsNumber=2000,
StopAtBottom=1,
Example 3 VelocityStarboard Example 4 VelocityDown
ADCP,
VelocityStarboard,
ChannelID=<ChannelID>,
Range=100,
Rangestart=10,
CellsNumber=2000,
StopAtBottom=1,
ADCP,
VelocityDown,
ChannelID=<ChannelID>,
Range=100,
Rangestart=10,
CellsNumber=2000,
StopAtBottom=1,