MIP_SDK
latest-2-g34f3e39
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)\n",
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",
264 "Aiding Command Echo Control",
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:301
Definition: commands_aiding.hpp:122
@ DESCRIPTOR_SET
Definition: commands_aiding.hpp:31
Definition: commands_aiding.hpp:449
Definition: commands_aiding.hpp:214
Definition: commands_aiding.hpp:376
Definition: commands_aiding.hpp:755
Definition: commands_aiding.hpp:638
Definition: commands_aiding.hpp:167
Definition: commands_aiding.hpp:710
Format
Definition: commands_aiding.hpp:116
Definition: mip_structures.hpp:67
Definition: commands_aiding.hpp:60
@ EULER
Translation vector followed by euler angles (roll, pitch, yaw).
Definition: commands_aiding.hpp:256
Definition: commands_aiding.hpp:826
Timebase
Definition: commands_aiding.hpp:62
Definition: commands_aiding.hpp:753
Definition: commands_aiding.hpp:114
Represents an index ranging from 0..N excluding N.
Definition: index.hpp:28
Definition: commands_aiding.hpp:640
@ QUATERNION
Translation vector followed by quaternion (w, x, y, z).
static constexpr FieldInfo value
Definition: commands_aiding.hpp:827
Definition: commands_aiding.hpp:567
Definition: commands_aiding.hpp:374
Definition: commands_aiding.hpp:492
Definition: commands_aiding.hpp:299
Mode
Definition: commands_aiding.hpp:216
Definition: commands_aiding.hpp:565
Definition: commands_aiding.hpp:494