1 #ifndef _VNSENSORS_COMPOSITEDATA_H_
2 #define _VNSENSORS_COMPOSITEDATA_H_
8 #include "vn/attitude.h"
9 #include "vn/position.h"
49 bool hasAnyAttitude();
62 bool hasYawPitchRoll();
80 bool hasDirectionCosineMatrix();
89 bool hasAnyMagnetic();
111 bool hasMagneticUncompensated();
120 bool hasMagneticNed();
129 bool hasMagneticEcef();
139 bool hasAnyAcceleration();
150 bool hasAcceleration();
159 bool hasAccelerationLinearBody();
168 bool hasAccelerationUncompensated();
177 bool hasAccelerationLinearNed();
186 bool hasAccelerationLinearEcef();
195 bool hasAccelerationNed();
204 bool hasAccelerationEcef();
214 bool hasAnyAngularRate();
225 bool hasAngularRate();
234 bool hasAngularRateUncompensated();
244 bool hasAnyTemperature();
251 float anyTemperature();
255 bool hasTemperature();
265 bool hasAnyPressure();
285 bool hasAnyPosition();
296 bool hasPositionGpsLla();
305 bool hasPositionGpsEcef();
314 bool hasPositionEstimatedLla();
323 bool hasPositionEstimatedEcef();
332 bool hasAnyVelocity();
343 bool hasVelocityGpsNed();
352 bool hasVelocityGpsEcef();
361 bool hasVelocityEstimatedNed();
370 bool hasVelocityEstimatedEcef();
379 bool hasVelocityEstimatedBody();
397 bool hasDeltaTheta();
406 bool hasDeltaVelocity();
415 bool hasTimeStartup();
420 uint64_t timeStartup();
460 bool hasTimeSyncIn();
465 uint64_t timeSyncIn();
483 protocol::uart::InsStatus insStatus();
492 uint32_t syncInCnt();
496 bool hasTimeGpsPps();
501 uint64_t timeGpsPps();
528 protocol::uart::SensSat sensSat();
537 protocol::uart::GpsFix fix();
541 bool hasAnyPositionUncertainty();
552 bool hasPositionUncertaintyGpsNed();
561 bool hasPositionUncertaintyGpsEcef();
570 bool hasPositionUncertaintyEstimated();
575 float positionUncertaintyEstimated();
579 bool hasAnyVelocityUncertainty();
586 float anyVelocityUncertainty();
590 bool hasVelocityUncertaintyGps();
595 float velocityUncertaintyGps();
599 bool hasVelocityUncertaintyEstimated();
604 float velocityUncertaintyEstimated();
608 bool hasTimeUncertainty();
613 uint32_t timeUncertainty();
617 bool hasAttitudeUncertainty();
626 bool hasCourseOverGround();
632 float courseOverGround();
636 bool hasSpeedOverGround();
642 float speedOverGround();
649 static void parseBinaryPacketCommonGroup(
protocol::uart::Packet& p, protocol::uart::CommonGroup gf, std::vector<CompositeData*>& o);
650 static void parseBinaryPacketTimeGroup(
protocol::uart::Packet& p, protocol::uart::TimeGroup gf, std::vector<CompositeData*>& o);
651 static void parseBinaryPacketImuGroup(
protocol::uart::Packet& p, protocol::uart::ImuGroup gf, std::vector<CompositeData*>& o);
652 static void parseBinaryPacketGpsGroup(
protocol::uart::Packet& p, protocol::uart::GpsGroup gf, std::vector<CompositeData*>& o);
653 static void parseBinaryPacketAttitudeGroup(
protocol::uart::Packet& p, protocol::uart::AttitudeGroup gf, std::vector<CompositeData*>& o);
654 static void parseBinaryPacketInsGroup(
protocol::uart::Packet& p, protocol::uart::InsGroup gf, std::vector<CompositeData*>& o);
661 static void setValues(T val, std::vector<CompositeData*>& o,
void (Impl::*
function)(T))
663 for (std::vector<CompositeData*>::iterator i = o.begin(); i != o.end(); ++i)
664 (*((*i)->_i).*
function)(val);
Template for a Euclidean vector.
Definition: vector.h:22
Composite structure of all data types available from VectorNav sensors.
Definition: compositedata.h:15
Template for a matrix.
Definition: matrix.h:20
Representation of a position/location.
Definition: position.h:10
UTC time as represented by the VectorNav sensor.
Definition: types.h:550
Status indicators for VPE.
Definition: types.h:499
Structure representing a UART packet received from the VectorNav sensor.
Definition: packet.h:16
Representation of an orientation/attitude.
Definition: attitude.h:12