MIP_SDK
v3.0.0-187-g93c7302
MicroStrain Communications Library for embedded systems
|
Go to the documentation of this file.
20 { uint32_t(1),
"EULER",
"Translation vector followed by euler angles (roll, pitch, yaw)." },
21 { uint32_t(2),
"QUATERNION",
"Translation vector followed by quaternion (w, x, y, z)." },
41 "Rotation represented as euler angles in RPY format [rad]. Range +/- pi.",
50 "Rotation represented as a quaternion in WXYZ format.",
75 "Reference frame number. Limit 4.",
78 {
true,
true,
true,
true,
true,
true},
84 "Format of the transformation.",
87 {
true,
true,
false,
false,
false,
true},
93 "If enabled, the Kalman filter will track errors.",
96 {
true,
false,
false,
false,
false},
102 "Translation X, Y, and Z.",
105 {
true,
false,
false,
false,
false},
111 "Rotation as specified by format.",
114 {
true,
false,
false,
false,
false},
121 "commands_aiding::FrameConfig::Response",
137 FUNCTION_SELECTOR_PARAM,
140 "Reference frame number. Limit 4.",
143 {
true,
true,
true,
true,
true,
true},
149 "Format of the transformation.",
152 {
true,
true,
false,
false,
false,
true},
158 "If enabled, the Kalman filter will track errors.",
161 {
true,
false,
false,
false,
false},
167 "Translation X, Y, and Z.",
170 {
true,
false,
false,
false,
false},
176 "Rotation as specified by format.",
179 {
true,
false,
false,
false,
false},
186 "commands_aiding::FrameConfig",
187 "Frame Configuration",
188 "Defines an aiding frame associated with a specific sensor frame ID.\nThe frame ID used in this command should mirror the frame ID used in the aiding command\n(if that aiding measurement is measured in this reference frame).\n\nThis transform satisfies the following relationship:\n\nEQSTART p^{veh} = R p^{sensor_frame} + t EQEND<br/>\n\nWhere:<br/>\nEQSTART R EQEND is rotation matrix defined by the rotation component and EQSTART t EQEND is the translation vector<br/><br/>\nEQSTART p^{sensor_frame} EQEND is a 3-element position vector expressed in the external sensor frame<br/>\nEQSTART p^{veh} EQEND is a 3-element position vector expressed in the vehicle frame<br/>\n\nRotation can be defined using Euler angles OR quaternions. If Format selector is set to Euler Angles, the fourth element\nin the rotation vector is ignored and should be set to 0.\n\nWhen the tracking_enabled flag is 1, the Kalman filter will track errors in the provided frame definition; when 0, no errors are tracked.\n\nExample: GNSS antenna lever arm\n\nFrame ID: 1\nFormat: 1 (Euler)\nTranslation: [0,1,] (GNSS with a 1 meter Y offset in the vehicle frame)\nRotation: [0,0,0,0] (Rotational component is not relevant for GNSS measurements, set to zero)",
191 {
true,
true,
true,
true,
true},
202 { uint32_t(0),
"SUPPRESS_ACK",
"Suppresses the usual command ack field for aiding messages." },
203 { uint32_t(1),
"STANDARD",
"Normal ack/nack behavior." },
204 { uint32_t(2),
"RESPONSE",
"Echo the data back as a response." },
224 "Controls data echoing.",
227 {
true,
false,
false,
false,
false},
234 "commands_aiding::EchoControl::Response",
250 FUNCTION_SELECTOR_PARAM,
253 "Controls data echoing.",
256 {
true,
false,
false,
false,
false},
263 "commands_aiding::EchoControl",
265 "Controls command response behavior to external aiding commands",
268 {
true,
true,
true,
true,
true},
279 { uint32_t(1),
"INTERNAL_REFERENCE",
"Timestamp provided is with respect to internal clock." },
280 { uint32_t(2),
"EXTERNAL_TIME",
"Timestamp provided is with respect to external clock, synced by PPS source." },
281 { uint32_t(3),
"TIME_OF_ARRIVAL",
"Timestamp provided is a fixed latency relative to time of message arrival." },
301 "Timebase reference, e.g. internal, external, GPS, UTC, etc.",
310 "Reserved, set to 0x01.",
319 "Nanoseconds since the timebase epoch.",
342 { uint32_t(1),
"X",
"" },
343 { uint32_t(2),
"Y",
"" },
344 { uint32_t(4),
"Z",
"" },
364 "Timestamp of the measurement.",
367 {
true,
false,
false,
false,
false},
373 "Source ID for this estimate (source_id == 0 indicates this sensor, source_id > 0 indicates an external estimate).",
376 {
true,
false,
false,
false,
false},
382 "ECEF position [m].",
385 {
true,
false,
false,
false,
false},
391 "ECEF position uncertainty [m]. Cannot be 0 unless the corresponding valid flags are 0.",
394 {
true,
false,
false,
false,
false},
400 "Valid flags. Axes with 0 will be completely ignored.",
403 {
true,
false,
false,
false,
false},
410 "commands_aiding::PosEcef",
412 "Cartesian vector position aiding command. Coordinates are given in the WGS84 ECEF system.",
426 { uint32_t(1),
"Latitude",
"" },
427 { uint32_t(2),
"Longitude",
"" },
428 { uint32_t(4),
"Height",
"" },
448 "Timestamp of the measurement.",
451 {
true,
false,
false,
false,
false},
457 "Source ID for this estimate (source_id == 0 indicates this sensor, source_id > 0 indicates an external estimate).",
460 {
true,
false,
false,
false,
false},
469 {
true,
false,
false,
false,
false},
478 {
true,
false,
false,
false,
false},
487 {
true,
false,
false,
false,
false},
493 "NED position uncertainty. Cannot be 0 unless the corresponding valid flags are 0.",
496 {
true,
false,
false,
false,
false},
502 "Valid flags. Axes with 0 will be completely ignored.",
505 {
true,
false,
false,
false,
false},
512 "commands_aiding::PosLlh",
514 "Geodetic position aiding command.\nCoordinates are given in WGS84 geodetic latitude, longitude, and height above the ellipsoid.\nUncertainty is given in NED coordinates, which are parallel to incremental changes in latitude, longitude, and height.",
530 "Timestamp of the measurement.",
533 {
true,
false,
false,
false,
false},
539 "Source ID for this estimate (source_id == 0 indicates this sensor, source_id > 0 indicates an external estimate).",
542 {
true,
false,
false,
false,
false},
551 {
true,
false,
false,
false,
false},
560 {
true,
false,
false,
false,
false},
569 {
true,
false,
false,
false,
false},
576 "commands_aiding::HeightAboveEllipsoid",
577 "Height Above Ellipsoid",
578 "Estimated value of the height above ellipsoid.",
592 { uint32_t(1),
"X",
"" },
593 { uint32_t(2),
"Y",
"" },
594 { uint32_t(4),
"Z",
"" },
614 "Timestamp of the measurement.",
617 {
true,
false,
false,
false,
false},
623 "Source ID for this estimate (source_id == 0 indicates this sensor, source_id > 0 indicates an external estimate).",
626 {
true,
false,
false,
false,
false},
632 "ECEF velocity [m/s].",
635 {
true,
false,
false,
false,
false},
641 "ECEF velocity uncertainty [m/s]. Cannot be 0 unless the corresponding valid flags are 0.",
644 {
true,
false,
false,
false,
false},
650 "Valid flags. Axes with 0 will be completely ignored.",
653 {
true,
false,
false,
false,
false},
660 "commands_aiding::VelEcef",
662 "ECEF velocity aiding command. Coordinates are given in the WGS84 ECEF frame.",
676 { uint32_t(1),
"X",
"" },
677 { uint32_t(2),
"Y",
"" },
678 { uint32_t(4),
"Z",
"" },
698 "Timestamp of the measurement.",
701 {
true,
false,
false,
false,
false},
707 "Source ID for this estimate (source_id == 0 indicates this sensor, source_id > 0 indicates an external estimate).",
710 {
true,
false,
false,
false,
false},
716 "NED velocity [m/s].",
719 {
true,
false,
false,
false,
false},
725 "NED velocity uncertainty [m/s]. Cannot be 0 unless the corresponding valid flags are 0.",
728 {
true,
false,
false,
false,
false},
734 "Valid flags. Axes with 0 will be completely ignored.",
737 {
true,
false,
false,
false,
false},
744 "commands_aiding::VelNed",
746 "NED velocity aiding command. Coordinates are given in the local North East Down frame.",
760 { uint32_t(1),
"X",
"" },
761 { uint32_t(2),
"Y",
"" },
762 { uint32_t(4),
"Z",
"" },
782 "Timestamp of the measurement.",
785 {
true,
false,
false,
false,
false},
791 "Source ID for this estimate (source_id == 0 indicates this sensor, source_id > 0 indicates an external estimate).",
794 {
true,
false,
false,
false,
false},
803 {
true,
false,
false,
false,
false},
809 "[m/s] 1-sigma uncertainty. Cannot be 0 unless the corresponding valid flags are 0.",
812 {
true,
false,
false,
false,
false},
818 "Valid flags. Axes with 0 will be completely ignored.",
821 {
true,
false,
false,
false,
false},
828 "commands_aiding::VelBodyFrame",
829 "Body Frame Velocity",
830 "Estimated of velocity of the vehicle in the frame associated with the given sensor ID, relative to the vehicle frame.",
846 "Timestamp of the measurement.",
849 {
true,
false,
false,
false,
false},
855 "Source ID for this estimate (source_id == 0 indicates this sensor, source_id > 0 indicates an external estimate).",
858 {
true,
false,
false,
false,
false},
864 "Heading [radians]. Range +/- Pi.",
867 {
true,
false,
false,
false,
false},
873 "Cannot be 0 unless the valid flags are 0.",
876 {
true,
false,
false,
false,
false},
885 {
true,
false,
false,
false,
false},
892 "commands_aiding::HeadingTrue",
908 { uint32_t(1),
"X",
"" },
909 { uint32_t(2),
"Y",
"" },
910 { uint32_t(4),
"Z",
"" },
930 "Timestamp of the measurement.",
933 {
true,
false,
false,
false,
false},
939 "Source ID for this estimate (source_id == 0 indicates this sensor, source_id > 0 indicates an external estimate).",
942 {
true,
false,
false,
false,
false},
951 {
true,
false,
false,
false,
false},
957 "[G] 1-sigma uncertainty. Cannot be 0 unless the corresponding valid flags are 0.",
960 {
true,
false,
false,
false,
false},
966 "Valid flags. Axes with 0 will be completely ignored.",
969 {
true,
false,
false,
false,
false},
976 "commands_aiding::MagneticField",
978 "Estimate of magnetic field in the frame associated with the given sensor ID.",
994 "Timestamp of the measurement.",
997 {
true,
false,
false,
false,
false},
1003 "Source ID for this estimate (source_id == 0 indicates this sensor, source_id > 0 indicates an external estimate).",
1006 {
true,
false,
false,
false,
false},
1015 {
true,
false,
false,
false,
false},
1021 "[mbar] 1-sigma uncertainty. Cannot be 0 unless the valid flags are 0.",
1024 {
true,
false,
false,
false,
false},
1033 {
true,
false,
false,
false,
false},
1040 "commands_aiding::Pressure",
1042 "Estimated value of air pressure.",
1051 static constexpr
inline const FieldInfo* COMMANDS_AIDING_FIELDS[] = {
1067 static constexpr DescriptorSetInfo COMMANDS_AIDING = {
1070 COMMANDS_AIDING_FIELDS,
Definition: commands_aiding.hpp:293
Definition: commands_aiding.hpp:114
@ DESCRIPTOR_SET
Definition: commands_aiding.hpp:31
Definition: commands_aiding.hpp:441
Definition: commands_aiding.hpp:206
Definition: commands_aiding.hpp:368
Definition: commands_aiding.hpp:747
Definition: commands_aiding.hpp:630
Definition: commands_aiding.hpp:159
Definition: commands_aiding.hpp:702
Format
Definition: commands_aiding.hpp:108
Definition: mip_structures.hpp:67
Definition: commands_aiding.hpp:53
@ EULER
Translation vector followed by euler angles (roll, pitch, yaw).
Definition: commands_aiding.hpp:248
Definition: commands_aiding.hpp:818
Timebase
Definition: commands_aiding.hpp:55
Definition: commands_aiding.hpp:745
Definition: commands_aiding.hpp:106
Represents an index ranging from 0..N excluding N.
Definition: index.hpp:28
Definition: commands_aiding.hpp:632
@ QUATERNION
Translation vector followed by quaternion (w, x, y, z).
static constexpr FieldInfo value
Definition: commands_aiding.hpp:827
Definition: commands_aiding.hpp:559
Definition: commands_aiding.hpp:366
Definition: commands_aiding.hpp:484
Definition: commands_aiding.hpp:291
Mode
Definition: commands_aiding.hpp:208
Definition: commands_aiding.hpp:557
Definition: commands_aiding.hpp:486