# VectorNav C++ Library: UART ASCII Asynchronous Packet Parsers

UART ASCII Asynchronous Packet Parsers

This group of methods allow parsing of ASCII asynchronous data packets from VectorNav sensors. More...

## Functions

void | vn::protocol::uart::Packet::parseVNYPR (vn::math::vec3f *yawPitchRoll)
| Parses a VNYPR asynchronous packet. More...
void | vn::protocol::uart::Packet::parseVNQTN (vn::math::vec4f *quaternion)
| Parses a VNQTN asynchronous packet. More...
void | vn::protocol::uart::Packet::parseVNQMR (vn::math::vec4f *quaternion, vn::math::vec3f *magnetic, vn::math::vec3f *acceleration, vn::math::vec3f *angularRate)
| Parses a VNQMR asynchronous packet. More...
void | vn::protocol::uart::Packet::parseVNMAG (vn::math::vec3f *magnetic)
| Parses a VNMAG asynchronous packet. More...
void | vn::protocol::uart::Packet::parseVNACC (vn::math::vec3f *acceleration)
| Parses a VNACC asynchronous packet. More...
void | vn::protocol::uart::Packet::parseVNGYR (vn::math::vec3f *angularRate)
| Parses a VNGYR asynchronous packet. More...
void | vn::protocol::uart::Packet::parseVNMAR (vn::math::vec3f *magnetic, vn::math::vec3f *acceleration, vn::math::vec3f *angularRate)
| Parses a VNMAR asynchronous packet. More...
void | vn::protocol::uart::Packet::parseVNYMR (vn::math::vec3f *yawPitchRoll, vn::math::vec3f *magnetic, vn::math::vec3f *acceleration, vn::math::vec3f *angularRate)
| Parses a VNYMR asynchronous packet. More...
void | vn::protocol::uart::Packet::parseVNYBA (vn::math::vec3f *yawPitchRoll, vn::math::vec3f *accelerationBody, vn::math::vec3f *angularRate)
| Parses a VNYBA asynchronous packet. More...
void | vn::protocol::uart::Packet::parseVNYIA (vn::math::vec3f *yawPitchRoll, vn::math::vec3f *accelerationInertial, vn::math::vec3f *angularRate)
| Parses a VNYIA asynchronous packet. More...
void | vn::protocol::uart::Packet::parseVNIMU (vn::math::vec3f *magneticUncompensated, vn::math::vec3f *accelerationUncompensated, vn::math::vec3f *angularRateUncompensated, float *temperature, float *pressure)
| Parses a VNIMU asynchronous packet. More...
void | vn::protocol::uart::Packet::parseVNGPS (double *time, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vn::math::vec3d *lla, vn::math::vec3f *nedVel, vn::math::vec3f *nedAcc, float *speedAcc, float *timeAcc)
| Parses a VNGPS asynchronous packet. More...
void | vn::protocol::uart::Packet::parseVNINS (double *time, uint16_t *week, uint16_t *status, vn::math::vec3f *yawPitchRoll, vn::math::vec3d *lla, vn::math::vec3f *nedVel, float *attUncertainty, float *posUncertainty, float *velUncertainty)
| Parses a VNINS asynchronous packet. More...
void | vn::protocol::uart::Packet::parseVNINE (double *time, uint16_t *week, uint16_t *status, vn::math::vec3f *ypr, vn::math::vec3d *position, vn::math::vec3f *velocity, float *attUncertainty, float *posUncertainty, float *velUncertainty)
| Parses a VNINE asynchronous packet. More...
void | vn::protocol::uart::Packet::parseVNISL (vn::math::vec3f *ypr, vn::math::vec3d *lla, vn::math::vec3f *velocity, vn::math::vec3f *acceleration, vn::math::vec3f *angularRate)
| Parses a VNISL asynchronous packet. More...
void | vn::protocol::uart::Packet::parseVNISE (vn::math::vec3f *ypr, vn::math::vec3d *position, vn::math::vec3f *velocity, vn::math::vec3f *acceleration, vn::math::vec3f *angularRate)
| Parses a VNISE asynchronous packet. More...
void | vn::protocol::uart::Packet::parseVNGPE (double *tow, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vn::math::vec3d *position, vn::math::vec3f *velocity, vn::math::vec3f *posAcc, float *speedAcc, float *timeAcc)
| Parses a VNGPE asynchronous packet. More...
void | vn::protocol::uart::Packet::parseVNDTV (float *deltaTime, vn::math::vec3f *deltaTheta, vn::math::vec3f *deltaVelocity)
| Parses a VNDTV asynchronous packet. More...

## Detailed Description

This group of methods allow parsing of ASCII asynchronous data packets from VectorNav sensors.

The units are not specified for the out parameters since these methods do a simple conversion operation from the packet string. Please consult the appropriate sensor user manual for details about the units returned by the sensor.

## Function Documentation

void vn::protocol::uart::Packet::parseVNACC | ( | vn::math::vec3f * | acceleration | ) |

Parses a VNACC asynchronous packet.

Parameters

  [out] | acceleration | The acceleration values in the packet.

void vn::protocol::uart::Packet::parseVNDTV | ( | float * | deltaTime,
|  | vn::math::vec3f * | deltaTheta,
|  | vn::math::vec3f * | deltaVelocity
| ) |  |

Parses a VNDTV asynchronous packet.

Parameters

  [out] | deltaTime | The DeltaTime value in the packet.
  [out] | deltaTheta | The DeltaTheta values in the packet.
  [out] | deltaVelocity | The DeltaVelocity values in the packet.

void vn::protocol::uart::Packet::parseVNGPE | ( | double * | tow,
|  | uint16_t * | week,
|  | uint8_t * | gpsFix,
|  | uint8_t * | numSats,
|  | vn::math::vec3d * | position,
|  | vn::math::vec3f * | velocity,
|  | vn::math::vec3f * | posAcc,
|  | float * | speedAcc,
|  | float * | timeAcc
| ) |  |

Parses a VNGPE asynchronous packet.

Parameters

  [out] | tow | The tow value in the packet.
  [out] | week | The week value in the packet.
  [out] | gpsFix | The GPS fix value in the packet.
  [out] | numSats | The numSats value in the packet.
  [out] | position | The ECEF position values in the packet.
  [out] | velocity | The ECEF velocity values in the packet.
  [out] | posAcc | The PosAcc values in the packet.
  [out] | speedAcc | The SpeedAcc value in the packet.
  [out] | timeAcc | The TimeAcc value in the packet.

void vn::protocol::uart::Packet::parseVNGPS | ( | double * | time,
|  | uint16_t * | week,
|  | uint8_t * | gpsFix,
|  | uint8_t * | numSats,
|  | vn::math::vec3d * | lla,
|  | vn::math::vec3f * | nedVel,
|  | vn::math::vec3f * | nedAcc,
|  | float * | speedAcc,
|  | float * | timeAcc
| ) |  |

Parses a VNGPS asynchronous packet.

Parameters

  [out] | time | The time value in the packet.
  [out] | week | The week value in the packet.
  [out] | gpsFix | The GPS fix value in the packet.
  [out] | numSats | The NumSats value in the packet.
  [out] | lla | The latitude, longitude and altitude values in the packet.
  [out] | nedVel | The NED velocity values in the packet.
  [out] | nedAcc | The NED position accuracy values in the packet.
  [out] | speedAcc | The SpeedAcc value in the packet.
  [out] | timeAcc | The TimeAcc value in the packet.

void vn::protocol::uart::Packet::parseVNGYR | ( | vn::math::vec3f * | angularRate | ) |

Parses a VNGYR asynchronous packet.

Parameters

  [out] | angularRate | The angular rate values in the packet.

void vn::protocol::uart::Packet::parseVNIMU | ( | vn::math::vec3f * | magneticUncompensated,
|  | vn::math::vec3f * | accelerationUncompensated,
|  | vn::math::vec3f * | angularRateUncompensated,
|  | float * | temperature,
|  | float * | pressure
| ) |  |

Parses a VNIMU asynchronous packet.

Parameters

  [out] | magneticUncompensated | The uncompensated magnetic values in the packet.
  [out] | accelerationUncompensated | The uncompensated acceleration values in the packet.
  [out] | angularRateUncompensated | The uncompensated angular rate values in the packet.
  [out] | temperature | The temperature value in the packet.
  [out] | pressure | The pressure value in the packet.

void vn::protocol::uart::Packet::parseVNINE | ( | double * | time,
|  | uint16_t * | week,
|  | uint16_t * | status,
|  | vn::math::vec3f * | ypr,
|  | vn::math::vec3d * | position,
|  | vn::math::vec3f * | velocity,
|  | float * | attUncertainty,
|  | float * | posUncertainty,
|  | float * | velUncertainty
| ) |  |

Parses a VNINE asynchronous packet.

Parameters

  [out] | time | The time value in the packet.
  [out] | week | The week value in the packet.
  [out] | status | The status value in the packet.
  [out] | ypr | The yaw, pitch, roll values in the packet.
  [out] | position | The ECEF position values in the packet.
  [out] | velocity | The ECEF velocity values in the packet.
  [out] | attUncertainty | The attitude uncertainty value in the packet.
  [out] | posUncertainty | The position uncertainty value in the packet.
  [out] | velUncertainty | The velocity uncertainty value in the packet.

void vn::protocol::uart::Packet::parseVNINS | ( | double * | time,
|  | uint16_t * | week,
|  | uint16_t * | status,
|  | vn::math::vec3f * | yawPitchRoll,
|  | vn::math::vec3d * | lla,
|  | vn::math::vec3f * | nedVel,
|  | float * | attUncertainty,
|  | float * | posUncertainty,
|  | float * | velUncertainty
| ) |  |

Parses a VNINS asynchronous packet.

Parameters

  [out] | time | The time value in the packet.
  [out] | week | The week value in the packet.
  [out] | status | The status value in the packet.
  [out] | yawPitchRoll | The yaw, pitch, roll values in the packet.
  [out] | lla | The latitude, longitude, altitude values in the packet.
  [out] | nedVel | The NED velocity values in the packet.
  [out] | attUncertainty | The attitude uncertainty value in the packet.
  [out] | posUncertainty | The position uncertainty value in the packet.
  [out] | velUncertainty | The velocity uncertainty value in the packet.

void vn::protocol::uart::Packet::parseVNISE | ( | vn::math::vec3f * | ypr,
|  | vn::math::vec3d * | position,
|  | vn::math::vec3f * | velocity,
|  | vn::math::vec3f * | acceleration,
|  | vn::math::vec3f * | angularRate
| ) |  |

Parses a VNISE asynchronous packet.

Parameters

  [out] | ypr | The yaw, pitch, roll values in the packet.
  [out] | position | The ECEF position values in the packet.
  [out] | velocity | The ECEF velocity values in the packet.
  [out] | acceleration | The acceleration values in the packet.
  [out] | angularRate | The angular rate values in the packet.

void vn::protocol::uart::Packet::parseVNISL | ( | vn::math::vec3f * | ypr,
|  | vn::math::vec3d * | lla,
|  | vn::math::vec3f * | velocity,
|  | vn::math::vec3f * | acceleration,
|  | vn::math::vec3f * | angularRate
| ) |  |

Parses a VNISL asynchronous packet.

Parameters

  [out] | ypr | The yaw, pitch, roll values in the packet.
  [out] | lla | The latitude, longitude, altitude values in the packet.
  [out] | velocity | The velocity values in the packet.
  [out] | acceleration | The acceleration values in the packet.
  [out] | angularRate | The angular rate values in the packet.

void vn::protocol::uart::Packet::parseVNMAG | ( | vn::math::vec3f * | magnetic | ) |

Parses a VNMAG asynchronous packet.

Parameters

  [out] | magnetic | The magnetic values in the packet.

void vn::protocol::uart::Packet::parseVNMAR | ( | vn::math::vec3f * | magnetic,
|  | vn::math::vec3f * | acceleration,
|  | vn::math::vec3f * | angularRate
| ) |  |

Parses a VNMAR asynchronous packet.

Parameters

  [out] | magnetic | The magnetic values in the packet.
  [out] | acceleration | The acceleration values in the packet.
  [out] | angularRate | The angular rate values in the packet.

void vn::protocol::uart::Packet::parseVNQMR | ( | vn::math::vec4f * | quaternion,
|  | vn::math::vec3f * | magnetic,
|  | vn::math::vec3f * | acceleration,
|  | vn::math::vec3f * | angularRate
| ) |  |

Parses a VNQMR asynchronous packet.

Parameters

  [out] | quaternion | The quaternion values in the packet.
  [out] | magnetic | The magnetic values in the packet.
  [out] | acceleration | The acceleration values in the packet.
  [out] | angularRate | The angular rate values in the packet.

void vn::protocol::uart::Packet::parseVNQTN | ( | vn::math::vec4f * | quaternion | ) |

Parses a VNQTN asynchronous packet.

Parameters

  [out] | quaternion | The quaternion values in the packet.

void vn::protocol::uart::Packet::parseVNYBA | ( | vn::math::vec3f * | yawPitchRoll,
|  | vn::math::vec3f * | accelerationBody,
|  | vn::math::vec3f * | angularRate
| ) |  |

Parses a VNYBA asynchronous packet.

Parameters

  [out] | yawPitchRoll | The yaw, pitch, roll values in the packet.
  [out] | accelerationBody | The acceleration body values in the packet.
  [out] | angularRate | The angular rate values in the packet.

void vn::protocol::uart::Packet::parseVNYIA | ( | vn::math::vec3f * | yawPitchRoll,
|  | vn::math::vec3f * | accelerationInertial,
|  | vn::math::vec3f * | angularRate
| ) |  |

Parses a VNYIA asynchronous packet.

Parameters

  [out] | yawPitchRoll | The yaw, pitch, roll values in the packet.
  [out] | accelerationInertial | The acceleration inertial values in the packet.
  [out] | angularRate | The angular rate values in the packet.

void vn::protocol::uart::Packet::parseVNYMR | ( | vn::math::vec3f * | yawPitchRoll,
|  | vn::math::vec3f * | magnetic,
|  | vn::math::vec3f * | acceleration,
|  | vn::math::vec3f * | angularRate
| ) |  |

Parses a VNYMR asynchronous packet.

Parameters

  [out] | yawPitchRoll | The yaw, pitch, roll values in the packet.
  [out] | magnetic | The magnetic values in the packet.
  [out] | acceleration | The acceleration values in the packet.
  [out] | angularRate | The angular rate values in the packet.

Examples:
  uart_protocol/main.cpp.

void vn::protocol::uart::Packet::parseVNYPR | ( | vn::math::vec3f * | yawPitchRoll | ) |

Parses a VNYPR asynchronous packet.

Parameters

  [out] | yawPitchRoll | The yaw, pitch, roll values in the packet.

Examples:
  getting_started/main.cpp.