MIP SDK  0.0.1
MicroStrain Communications Library for embedded systems
commands_3dm.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include "descriptors.h"
4 #include "../mip_result.h"
5 
6 #include <stdint.h>
7 #include <stddef.h>
8 #include <stdbool.h>
9 
10 namespace mip {
11 class Serializer;
12 
13 namespace C {
14 struct mip_interface;
15 } // namespace C
16 
17 namespace commands_3dm {
18 
25 
27 // Descriptors
29 
30 enum
31 {
33 
45  CMD_POLL_DATA = 0x0D,
70  CMD_GYRO_BIAS = 0x38,
90 
138 };
139 
141 // Shared Type Definitions
143 
145 {
146  enum class MessageID : uint8_t
147  {
148  GGA = 1,
149  GLL = 2,
150  GSV = 3,
151  RMC = 4,
152  VTG = 5,
153  HDT = 6,
154  ZDA = 7,
155  PRKA = 100,
156  PRKR = 101,
157  };
158 
159  enum class TalkerID : uint8_t
160  {
161  GNSS = 1,
162  GPS = 2,
163  GALILEO = 3,
164  GLONASS = 4,
165  };
166 
167  MessageID message_id = static_cast<MessageID>(0);
168  TalkerID talker_id = static_cast<TalkerID>(0);
169  uint8_t source_desc_set = 0;
170  uint16_t decimation = 0;
171 
172 };
173 void insert(Serializer& serializer, const NmeaMessage& self);
174 void extract(Serializer& serializer, NmeaMessage& self);
175 
176 enum class SensorRangeType : uint8_t
177 {
178  ALL = 0,
179  ACCEL = 1,
180  GYRO = 2,
181  MAG = 3,
182  PRESS = 4,
183 };
184 
185 
187 // Mip Fields
189 
202 
204 {
207 
208  static const bool HAS_FUNCTION_SELECTOR = false;
209 
210  bool suppress_ack = 0;
211  uint8_t num_descriptors = 0;
213 
214 };
215 void insert(Serializer& serializer, const PollImuMessage& self);
216 void extract(Serializer& serializer, PollImuMessage& self);
217 
218 CmdResult pollImuMessage(C::mip_interface& device, bool suppressAck, uint8_t numDescriptors, const DescriptorRate* descriptors);
233 
235 {
238 
239  static const bool HAS_FUNCTION_SELECTOR = false;
240 
241  bool suppress_ack = 0;
242  uint8_t num_descriptors = 0;
244 
245 };
246 void insert(Serializer& serializer, const PollGnssMessage& self);
247 void extract(Serializer& serializer, PollGnssMessage& self);
248 
249 CmdResult pollGnssMessage(C::mip_interface& device, bool suppressAck, uint8_t numDescriptors, const DescriptorRate* descriptors);
264 
266 {
269 
270  static const bool HAS_FUNCTION_SELECTOR = false;
271 
272  bool suppress_ack = 0;
273  uint8_t num_descriptors = 0;
275 
276 };
277 void insert(Serializer& serializer, const PollFilterMessage& self);
278 void extract(Serializer& serializer, PollFilterMessage& self);
279 
280 CmdResult pollFilterMessage(C::mip_interface& device, bool suppressAck, uint8_t numDescriptors, const DescriptorRate* descriptors);
290 
292 {
295 
296  static const bool HAS_WRITE_FUNCTION = true;
297  static const bool HAS_READ_FUNCTION = true;
298  static const bool HAS_SAVE_FUNCTION = true;
299  static const bool HAS_LOAD_FUNCTION = true;
300  static const bool HAS_RESET_FUNCTION = true;
301 
302  FunctionSelector function = static_cast<FunctionSelector>(0);
303  uint8_t num_descriptors = 0;
305 
306  struct Response
307  {
310 
311  uint8_t num_descriptors = 0;
313 
314  };
315 };
316 void insert(Serializer& serializer, const ImuMessageFormat& self);
317 void extract(Serializer& serializer, ImuMessageFormat& self);
318 
319 void insert(Serializer& serializer, const ImuMessageFormat::Response& self);
320 void extract(Serializer& serializer, ImuMessageFormat::Response& self);
321 
322 CmdResult writeImuMessageFormat(C::mip_interface& device, uint8_t numDescriptors, const DescriptorRate* descriptors);
323 CmdResult readImuMessageFormat(C::mip_interface& device, uint8_t* numDescriptorsOut, uint8_t numDescriptorsOutMax, DescriptorRate* descriptorsOut);
336 
338 {
341 
342  static const bool HAS_WRITE_FUNCTION = true;
343  static const bool HAS_READ_FUNCTION = true;
344  static const bool HAS_SAVE_FUNCTION = true;
345  static const bool HAS_LOAD_FUNCTION = true;
346  static const bool HAS_RESET_FUNCTION = true;
347 
348  FunctionSelector function = static_cast<FunctionSelector>(0);
349  uint8_t num_descriptors = 0;
351 
352  struct Response
353  {
356 
357  uint8_t num_descriptors = 0;
359 
360  };
361 };
362 void insert(Serializer& serializer, const GpsMessageFormat& self);
363 void extract(Serializer& serializer, GpsMessageFormat& self);
364 
365 void insert(Serializer& serializer, const GpsMessageFormat::Response& self);
366 void extract(Serializer& serializer, GpsMessageFormat::Response& self);
367 
368 CmdResult writeGpsMessageFormat(C::mip_interface& device, uint8_t numDescriptors, const DescriptorRate* descriptors);
369 CmdResult readGpsMessageFormat(C::mip_interface& device, uint8_t* numDescriptorsOut, uint8_t numDescriptorsOutMax, DescriptorRate* descriptorsOut);
382 
384 {
387 
388  static const bool HAS_WRITE_FUNCTION = true;
389  static const bool HAS_READ_FUNCTION = true;
390  static const bool HAS_SAVE_FUNCTION = true;
391  static const bool HAS_LOAD_FUNCTION = true;
392  static const bool HAS_RESET_FUNCTION = true;
393 
394  FunctionSelector function = static_cast<FunctionSelector>(0);
395  uint8_t num_descriptors = 0;
397 
398  struct Response
399  {
402 
403  uint8_t num_descriptors = 0;
405 
406  };
407 };
408 void insert(Serializer& serializer, const FilterMessageFormat& self);
409 void extract(Serializer& serializer, FilterMessageFormat& self);
410 
411 void insert(Serializer& serializer, const FilterMessageFormat::Response& self);
412 void extract(Serializer& serializer, FilterMessageFormat::Response& self);
413 
414 CmdResult writeFilterMessageFormat(C::mip_interface& device, uint8_t numDescriptors, const DescriptorRate* descriptors);
415 CmdResult readFilterMessageFormat(C::mip_interface& device, uint8_t* numDescriptorsOut, uint8_t numDescriptorsOutMax, DescriptorRate* descriptorsOut);
429 
431 {
434 
435  static const bool HAS_FUNCTION_SELECTOR = false;
436 
437 
438  struct Response
439  {
442 
443  uint16_t rate = 0;
444 
445  };
446 };
447 void insert(Serializer& serializer, const ImuGetBaseRate& self);
448 void extract(Serializer& serializer, ImuGetBaseRate& self);
449 
450 void insert(Serializer& serializer, const ImuGetBaseRate::Response& self);
451 void extract(Serializer& serializer, ImuGetBaseRate::Response& self);
452 
453 CmdResult imuGetBaseRate(C::mip_interface& device, uint16_t* rateOut);
464 
466 {
469 
470  static const bool HAS_FUNCTION_SELECTOR = false;
471 
472 
473  struct Response
474  {
477 
478  uint16_t rate = 0;
479 
480  };
481 };
482 void insert(Serializer& serializer, const GpsGetBaseRate& self);
483 void extract(Serializer& serializer, GpsGetBaseRate& self);
484 
485 void insert(Serializer& serializer, const GpsGetBaseRate::Response& self);
486 void extract(Serializer& serializer, GpsGetBaseRate::Response& self);
487 
488 CmdResult gpsGetBaseRate(C::mip_interface& device, uint16_t* rateOut);
499 
501 {
504 
505  static const bool HAS_FUNCTION_SELECTOR = false;
506 
507 
508  struct Response
509  {
512 
513  uint16_t rate = 0;
514 
515  };
516 };
517 void insert(Serializer& serializer, const FilterGetBaseRate& self);
518 void extract(Serializer& serializer, FilterGetBaseRate& self);
519 
520 void insert(Serializer& serializer, const FilterGetBaseRate::Response& self);
521 void extract(Serializer& serializer, FilterGetBaseRate::Response& self);
522 
523 CmdResult filterGetBaseRate(C::mip_interface& device, uint16_t* rateOut);
538 
539 struct PollData
540 {
543 
544  static const bool HAS_FUNCTION_SELECTOR = false;
545 
546  uint8_t desc_set = 0;
547  bool suppress_ack = 0;
548  uint8_t num_descriptors = 0;
549  uint8_t* descriptors = {nullptr};
550 
551 };
552 void insert(Serializer& serializer, const PollData& self);
553 void extract(Serializer& serializer, PollData& self);
554 
555 CmdResult pollData(C::mip_interface& device, uint8_t descSet, bool suppressAck, uint8_t numDescriptors, const uint8_t* descriptors);
563 
565 {
568 
569  static const bool HAS_FUNCTION_SELECTOR = false;
570 
571  uint8_t desc_set = 0;
572 
573  struct Response
574  {
577 
578  uint8_t desc_set = 0;
579  uint16_t rate = 0;
580 
581  };
582 };
583 void insert(Serializer& serializer, const GetBaseRate& self);
584 void extract(Serializer& serializer, GetBaseRate& self);
585 
586 void insert(Serializer& serializer, const GetBaseRate::Response& self);
587 void extract(Serializer& serializer, GetBaseRate::Response& self);
588 
589 CmdResult getBaseRate(C::mip_interface& device, uint8_t descSet, uint16_t* rateOut);
599 
601 {
604 
605  static const bool HAS_WRITE_FUNCTION = true;
606  static const bool HAS_READ_FUNCTION = true;
607  static const bool HAS_SAVE_FUNCTION = true;
608  static const bool HAS_LOAD_FUNCTION = true;
609  static const bool HAS_RESET_FUNCTION = true;
610 
611  FunctionSelector function = static_cast<FunctionSelector>(0);
612  uint8_t desc_set = 0;
613  uint8_t num_descriptors = 0;
615 
616  struct Response
617  {
620 
621  uint8_t desc_set = 0;
622  uint8_t num_descriptors = 0;
624 
625  };
626 };
627 void insert(Serializer& serializer, const MessageFormat& self);
628 void extract(Serializer& serializer, MessageFormat& self);
629 
630 void insert(Serializer& serializer, const MessageFormat::Response& self);
631 void extract(Serializer& serializer, MessageFormat::Response& self);
632 
633 CmdResult writeMessageFormat(C::mip_interface& device, uint8_t descSet, uint8_t numDescriptors, const DescriptorRate* descriptors);
634 CmdResult readMessageFormat(C::mip_interface& device, uint8_t descSet, uint8_t* numDescriptorsOut, uint8_t numDescriptorsOutMax, DescriptorRate* descriptorsOut);
635 CmdResult saveMessageFormat(C::mip_interface& device, uint8_t descSet);
636 CmdResult loadMessageFormat(C::mip_interface& device, uint8_t descSet);
637 CmdResult defaultMessageFormat(C::mip_interface& device, uint8_t descSet);
651 
653 {
656 
657  static const bool HAS_FUNCTION_SELECTOR = false;
658 
659  bool suppress_ack = 0;
660  uint8_t count = 0;
662 
663 };
664 void insert(Serializer& serializer, const NmeaPollData& self);
665 void extract(Serializer& serializer, NmeaPollData& self);
666 
667 CmdResult nmeaPollData(C::mip_interface& device, bool suppressAck, uint8_t count, const NmeaMessage* formatEntries);
675 
677 {
680 
681  static const bool HAS_WRITE_FUNCTION = true;
682  static const bool HAS_READ_FUNCTION = true;
683  static const bool HAS_SAVE_FUNCTION = true;
684  static const bool HAS_LOAD_FUNCTION = true;
685  static const bool HAS_RESET_FUNCTION = true;
686 
687  FunctionSelector function = static_cast<FunctionSelector>(0);
688  uint8_t count = 0;
690 
691  struct Response
692  {
695 
696  uint8_t count = 0;
698 
699  };
700 };
701 void insert(Serializer& serializer, const NmeaMessageFormat& self);
702 void extract(Serializer& serializer, NmeaMessageFormat& self);
703 
704 void insert(Serializer& serializer, const NmeaMessageFormat::Response& self);
705 void extract(Serializer& serializer, NmeaMessageFormat::Response& self);
706 
707 CmdResult writeNmeaMessageFormat(C::mip_interface& device, uint8_t count, const NmeaMessage* formatEntries);
708 CmdResult readNmeaMessageFormat(C::mip_interface& device, uint8_t* countOut, uint8_t countOutMax, NmeaMessage* formatEntriesOut);
723 
725 {
728 
729  static const bool HAS_WRITE_FUNCTION = false;
730  static const bool HAS_READ_FUNCTION = false;
731  static const bool HAS_SAVE_FUNCTION = true;
732  static const bool HAS_LOAD_FUNCTION = true;
733  static const bool HAS_RESET_FUNCTION = true;
734 
735  FunctionSelector function = static_cast<FunctionSelector>(0);
736 
737 };
738 void insert(Serializer& serializer, const DeviceSettings& self);
739 void extract(Serializer& serializer, DeviceSettings& self);
740 
765 
767 {
770 
771  static const bool HAS_WRITE_FUNCTION = true;
772  static const bool HAS_READ_FUNCTION = true;
773  static const bool HAS_SAVE_FUNCTION = true;
774  static const bool HAS_LOAD_FUNCTION = true;
775  static const bool HAS_RESET_FUNCTION = true;
776 
777  FunctionSelector function = static_cast<FunctionSelector>(0);
778  uint32_t baud = 0;
779 
780  struct Response
781  {
784 
785  uint32_t baud = 0;
786 
787  };
788 };
789 void insert(Serializer& serializer, const UartBaudrate& self);
790 void extract(Serializer& serializer, UartBaudrate& self);
791 
792 void insert(Serializer& serializer, const UartBaudrate::Response& self);
793 void extract(Serializer& serializer, UartBaudrate::Response& self);
794 
795 CmdResult writeUartBaudrate(C::mip_interface& device, uint32_t baud);
796 CmdResult readUartBaudrate(C::mip_interface& device, uint32_t* baudOut);
810 
812 {
815 
816  static const bool HAS_FUNCTION_SELECTOR = false;
817 
818  enum class Action : uint8_t
819  {
820  OVERWRITE = 0,
821  MERGE = 1,
822  ADD = 2,
823  };
824 
825  Action action = static_cast<Action>(0);
826  uint8_t reserved = 0;
827 
828 };
829 void insert(Serializer& serializer, const FactoryStreaming& self);
830 void extract(Serializer& serializer, FactoryStreaming& self);
831 
832 CmdResult factoryStreaming(C::mip_interface& device, FactoryStreaming::Action action, uint8_t reserved);
845 
847 {
850 
851  static const bool HAS_WRITE_FUNCTION = true;
852  static const bool HAS_READ_FUNCTION = true;
853  static const bool HAS_SAVE_FUNCTION = true;
854  static const bool HAS_LOAD_FUNCTION = true;
855  static const bool HAS_RESET_FUNCTION = true;
856 
857  static const uint8_t LEGACY_IMU_STREAM = 0x01;
858  static const uint8_t LEGACY_GNSS_STREAM = 0x02;
859  static const uint8_t LEGACY_FILTER_STREAM = 0x03;
860  static const uint8_t ALL_STREAMS = 0x00;
861  FunctionSelector function = static_cast<FunctionSelector>(0);
862  uint8_t desc_set = 0;
863  bool enable = 0;
864 
865  struct Response
866  {
869 
870  uint8_t desc_set = 0;
871  bool enabled = 0;
872 
873  };
874 };
875 void insert(Serializer& serializer, const DatastreamControl& self);
876 void extract(Serializer& serializer, DatastreamControl& self);
877 
878 void insert(Serializer& serializer, const DatastreamControl::Response& self);
879 void extract(Serializer& serializer, DatastreamControl::Response& self);
880 
881 CmdResult writeDatastreamControl(C::mip_interface& device, uint8_t descSet, bool enable);
882 CmdResult readDatastreamControl(C::mip_interface& device, uint8_t descSet, bool* enabledOut);
883 CmdResult saveDatastreamControl(C::mip_interface& device, uint8_t descSet);
884 CmdResult loadDatastreamControl(C::mip_interface& device, uint8_t descSet);
885 CmdResult defaultDatastreamControl(C::mip_interface& device, uint8_t descSet);
896 
898 {
901 
902  static const bool HAS_WRITE_FUNCTION = true;
903  static const bool HAS_READ_FUNCTION = true;
904  static const bool HAS_SAVE_FUNCTION = true;
905  static const bool HAS_LOAD_FUNCTION = true;
906  static const bool HAS_RESET_FUNCTION = true;
907 
908  struct SBASOptions : Bitfield<SBASOptions>
909  {
910  enum _enumType : uint16_t
911  {
912  NONE = 0x0000,
913  ENABLE_RANGING = 0x0001,
915  APPLY_INTEGRITY = 0x0004,
916  };
917  uint16_t value = NONE;
918 
920  SBASOptions(int val) : value((uint16_t)val) {}
921  operator uint16_t() const { return value; }
922  SBASOptions& operator=(uint16_t val) { value = val; return *this; }
923  SBASOptions& operator=(int val) { value = val; return *this; }
924  SBASOptions& operator|=(uint16_t val) { return *this = value | val; }
925  SBASOptions& operator&=(uint16_t val) { return *this = value & val; }
926  };
927 
928  FunctionSelector function = static_cast<FunctionSelector>(0);
929  uint8_t enable_sbas = 0;
931  uint8_t num_included_prns = 0;
932  uint16_t* included_prns = {nullptr};
933 
934  struct Response
935  {
938 
939  uint8_t enable_sbas = 0;
941  uint8_t num_included_prns = 0;
942  uint16_t* included_prns = {nullptr};
943 
944  };
945 };
946 void insert(Serializer& serializer, const GnssSbasSettings& self);
947 void extract(Serializer& serializer, GnssSbasSettings& self);
948 
949 void insert(Serializer& serializer, const GnssSbasSettings::Response& self);
950 void extract(Serializer& serializer, GnssSbasSettings::Response& self);
951 
952 CmdResult writeGnssSbasSettings(C::mip_interface& device, uint8_t enableSbas, GnssSbasSettings::SBASOptions sbasOptions, uint8_t numIncludedPrns, const uint16_t* includedPrns);
953 CmdResult readGnssSbasSettings(C::mip_interface& device, uint8_t* enableSbasOut, GnssSbasSettings::SBASOptions* sbasOptionsOut, uint8_t* numIncludedPrnsOut, uint8_t numIncludedPrnsOutMax, uint16_t* includedPrnsOut);
967 
969 {
972 
973  static const bool HAS_WRITE_FUNCTION = true;
974  static const bool HAS_READ_FUNCTION = true;
975  static const bool HAS_SAVE_FUNCTION = false;
976  static const bool HAS_LOAD_FUNCTION = false;
977  static const bool HAS_RESET_FUNCTION = false;
978 
979  FunctionSelector function = static_cast<FunctionSelector>(0);
980  double tow = 0;
981  uint16_t week_number = 0;
982  float accuracy = 0;
983 
984  struct Response
985  {
988 
989  double tow = 0;
990  uint16_t week_number = 0;
991  float accuracy = 0;
992 
993  };
994 };
995 void insert(Serializer& serializer, const GnssTimeAssistance& self);
996 void extract(Serializer& serializer, GnssTimeAssistance& self);
997 
998 void insert(Serializer& serializer, const GnssTimeAssistance::Response& self);
999 void extract(Serializer& serializer, GnssTimeAssistance::Response& self);
1000 
1001 CmdResult writeGnssTimeAssistance(C::mip_interface& device, double tow, uint16_t weekNumber, float accuracy);
1002 CmdResult readGnssTimeAssistance(C::mip_interface& device, double* towOut, uint16_t* weekNumberOut, float* accuracyOut);
1023 
1025 {
1028 
1029  static const bool HAS_WRITE_FUNCTION = true;
1030  static const bool HAS_READ_FUNCTION = true;
1031  static const bool HAS_SAVE_FUNCTION = true;
1032  static const bool HAS_LOAD_FUNCTION = true;
1033  static const bool HAS_RESET_FUNCTION = true;
1034 
1035  FunctionSelector function = static_cast<FunctionSelector>(0);
1036  uint8_t target_descriptor = 0;
1037  bool enable = 0;
1038  bool manual = 0;
1039  uint16_t frequency = 0;
1040  uint8_t reserved = 0;
1041 
1042  struct Response
1043  {
1046 
1047  uint8_t target_descriptor = 0;
1048  bool enable = 0;
1049  bool manual = 0;
1050  uint16_t frequency = 0;
1051  uint8_t reserved = 0;
1052 
1053  };
1054 };
1055 void insert(Serializer& serializer, const AdvLowpassFilter& self);
1056 void extract(Serializer& serializer, AdvLowpassFilter& self);
1057 
1058 void insert(Serializer& serializer, const AdvLowpassFilter::Response& self);
1059 void extract(Serializer& serializer, AdvLowpassFilter::Response& self);
1060 
1061 CmdResult writeAdvLowpassFilter(C::mip_interface& device, uint8_t targetDescriptor, bool enable, bool manual, uint16_t frequency, uint8_t reserved);
1062 CmdResult readAdvLowpassFilter(C::mip_interface& device, uint8_t targetDescriptor, bool* enableOut, bool* manualOut, uint16_t* frequencyOut, uint8_t* reservedOut);
1063 CmdResult saveAdvLowpassFilter(C::mip_interface& device, uint8_t targetDescriptor);
1064 CmdResult loadAdvLowpassFilter(C::mip_interface& device, uint8_t targetDescriptor);
1065 CmdResult defaultAdvLowpassFilter(C::mip_interface& device, uint8_t targetDescriptor);
1073 
1075 {
1078 
1079  static const bool HAS_WRITE_FUNCTION = true;
1080  static const bool HAS_READ_FUNCTION = true;
1081  static const bool HAS_SAVE_FUNCTION = true;
1082  static const bool HAS_LOAD_FUNCTION = true;
1083  static const bool HAS_RESET_FUNCTION = true;
1084 
1085  enum class Source : uint8_t
1086  {
1087  DISABLED = 0,
1088  RECEIVER_1 = 1,
1089  RECEIVER_2 = 2,
1090  GPIO = 3,
1091  GENERATED = 4,
1092  };
1093 
1094  FunctionSelector function = static_cast<FunctionSelector>(0);
1095  Source source = static_cast<Source>(0);
1096 
1097  struct Response
1098  {
1101 
1102  Source source = static_cast<Source>(0);
1103 
1104  };
1105 };
1106 void insert(Serializer& serializer, const PpsSource& self);
1107 void extract(Serializer& serializer, PpsSource& self);
1108 
1109 void insert(Serializer& serializer, const PpsSource::Response& self);
1110 void extract(Serializer& serializer, PpsSource::Response& self);
1111 
1140 
1142 {
1145 
1146  static const bool HAS_WRITE_FUNCTION = true;
1147  static const bool HAS_READ_FUNCTION = true;
1148  static const bool HAS_SAVE_FUNCTION = true;
1149  static const bool HAS_LOAD_FUNCTION = true;
1150  static const bool HAS_RESET_FUNCTION = true;
1151 
1152  enum class Feature : uint8_t
1153  {
1154  UNUSED = 0,
1155  GPIO = 1,
1156  PPS = 2,
1157  ENCODER = 3,
1158  TIMESTAMP = 4,
1159  POWER = 5,
1160  };
1161 
1162  enum class Behavior : uint8_t
1163  {
1164  UNUSED = 0,
1165  GPIO_INPUT = 1,
1166  GPIO_OUTPUT_LOW = 2,
1167  GPIO_OUTPUT_HIGH = 3,
1168  PPS_INPUT = 1,
1169  PPS_OUTPUT = 2,
1170  ENCODER_A = 1,
1171  ENCODER_B = 2,
1172  TIMESTAMP_RISING = 1,
1173  TIMESTAMP_FALLING = 2,
1174  TIMESTAMP_EITHER = 3,
1175  POWER_SHUTDOWN = 1,
1176  };
1177 
1178  struct PinMode : Bitfield<PinMode>
1179  {
1180  enum _enumType : uint8_t
1181  {
1182  NONE = 0x00,
1183  OPEN_DRAIN = 0x01,
1184  PULLDOWN = 0x02,
1185  PULLUP = 0x04,
1186  };
1187  uint8_t value = NONE;
1188 
1190  PinMode(int val) : value((uint8_t)val) {}
1191  operator uint8_t() const { return value; }
1192  PinMode& operator=(uint8_t val) { value = val; return *this; }
1193  PinMode& operator=(int val) { value = val; return *this; }
1194  PinMode& operator|=(uint8_t val) { return *this = value | val; }
1195  PinMode& operator&=(uint8_t val) { return *this = value & val; }
1196  };
1197 
1198  FunctionSelector function = static_cast<FunctionSelector>(0);
1199  uint8_t pin = 0;
1200  Feature feature = static_cast<Feature>(0);
1201  Behavior behavior = static_cast<Behavior>(0);
1203 
1204  struct Response
1205  {
1208 
1209  uint8_t pin = 0;
1210  Feature feature = static_cast<Feature>(0);
1211  Behavior behavior = static_cast<Behavior>(0);
1213 
1214  };
1215 };
1216 void insert(Serializer& serializer, const GpioConfig& self);
1217 void extract(Serializer& serializer, GpioConfig& self);
1218 
1219 void insert(Serializer& serializer, const GpioConfig::Response& self);
1220 void extract(Serializer& serializer, GpioConfig::Response& self);
1221 
1223 CmdResult readGpioConfig(C::mip_interface& device, uint8_t pin, GpioConfig::Feature* featureOut, GpioConfig::Behavior* behaviorOut, GpioConfig::PinMode* pinModeOut);
1224 CmdResult saveGpioConfig(C::mip_interface& device, uint8_t pin);
1225 CmdResult loadGpioConfig(C::mip_interface& device, uint8_t pin);
1226 CmdResult defaultGpioConfig(C::mip_interface& device, uint8_t pin);
1249 
1251 {
1254 
1255  static const bool HAS_WRITE_FUNCTION = true;
1256  static const bool HAS_READ_FUNCTION = true;
1257  static const bool HAS_SAVE_FUNCTION = false;
1258  static const bool HAS_LOAD_FUNCTION = false;
1259  static const bool HAS_RESET_FUNCTION = false;
1260 
1261  FunctionSelector function = static_cast<FunctionSelector>(0);
1262  uint8_t pin = 0;
1263  bool state = 0;
1264 
1265  struct Response
1266  {
1269 
1270  uint8_t pin = 0;
1271  bool state = 0;
1272 
1273  };
1274 };
1275 void insert(Serializer& serializer, const GpioState& self);
1276 void extract(Serializer& serializer, GpioState& self);
1277 
1278 void insert(Serializer& serializer, const GpioState::Response& self);
1279 void extract(Serializer& serializer, GpioState::Response& self);
1280 
1281 CmdResult writeGpioState(C::mip_interface& device, uint8_t pin, bool state);
1282 CmdResult readGpioState(C::mip_interface& device, uint8_t pin, bool* stateOut);
1291 
1292 struct Odometer
1293 {
1296 
1297  static const bool HAS_WRITE_FUNCTION = true;
1298  static const bool HAS_READ_FUNCTION = true;
1299  static const bool HAS_SAVE_FUNCTION = true;
1300  static const bool HAS_LOAD_FUNCTION = true;
1301  static const bool HAS_RESET_FUNCTION = true;
1302 
1303  enum class Mode : uint8_t
1304  {
1305  DISABLED = 0,
1306  QUADRATURE = 2,
1307  };
1308 
1309  FunctionSelector function = static_cast<FunctionSelector>(0);
1310  Mode mode = static_cast<Mode>(0);
1311  float scaling = 0;
1312  float uncertainty = 0;
1313 
1314  struct Response
1315  {
1318 
1319  Mode mode = static_cast<Mode>(0);
1320  float scaling = 0;
1321  float uncertainty = 0;
1322 
1323  };
1324 };
1325 void insert(Serializer& serializer, const Odometer& self);
1326 void extract(Serializer& serializer, Odometer& self);
1327 
1328 void insert(Serializer& serializer, const Odometer::Response& self);
1329 void extract(Serializer& serializer, Odometer::Response& self);
1330 
1331 CmdResult writeOdometer(C::mip_interface& device, Odometer::Mode mode, float scaling, float uncertainty);
1332 CmdResult readOdometer(C::mip_interface& device, Odometer::Mode* modeOut, float* scalingOut, float* uncertaintyOut);
1359 
1361 {
1364 
1365  static const bool HAS_FUNCTION_SELECTOR = false;
1366 
1367  enum class Query : uint8_t
1368  {
1369  TRIGGER_TYPES = 1,
1370  ACTION_TYPES = 2,
1371  };
1372 
1373  struct Info
1374  {
1375  uint8_t type = 0;
1376  uint8_t count = 0;
1377 
1378  };
1379  Query query = static_cast<Query>(0);
1380 
1381  struct Response
1382  {
1385 
1386  Query query = static_cast<Query>(0);
1387  uint8_t max_instances = 0;
1388  uint8_t num_entries = 0;
1389  Info entries[126];
1390 
1391  };
1392 };
1393 void insert(Serializer& serializer, const GetEventSupport& self);
1394 void extract(Serializer& serializer, GetEventSupport& self);
1395 
1396 void insert(Serializer& serializer, const GetEventSupport::Info& self);
1397 void extract(Serializer& serializer, GetEventSupport::Info& self);
1398 
1399 void insert(Serializer& serializer, const GetEventSupport::Response& self);
1400 void extract(Serializer& serializer, GetEventSupport::Response& self);
1401 
1402 CmdResult getEventSupport(C::mip_interface& device, GetEventSupport::Query query, uint8_t* maxInstancesOut, uint8_t* numEntriesOut, uint8_t numEntriesOutMax, GetEventSupport::Info* entriesOut);
1419 
1421 {
1424 
1425  static const bool HAS_WRITE_FUNCTION = true;
1426  static const bool HAS_READ_FUNCTION = true;
1427  static const bool HAS_SAVE_FUNCTION = true;
1428  static const bool HAS_LOAD_FUNCTION = true;
1429  static const bool HAS_RESET_FUNCTION = true;
1430 
1431  enum class Mode : uint8_t
1432  {
1433  DISABLED = 0,
1434  ENABLED = 1,
1435  TEST = 2,
1436  TEST_PULSE = 3,
1437  };
1438 
1439  FunctionSelector function = static_cast<FunctionSelector>(0);
1440  uint8_t instance = 0;
1441  Mode mode = static_cast<Mode>(0);
1442 
1443  struct Response
1444  {
1447 
1448  uint8_t instance = 0;
1449  Mode mode = static_cast<Mode>(0);
1450 
1451  };
1452 };
1453 void insert(Serializer& serializer, const EventControl& self);
1454 void extract(Serializer& serializer, EventControl& self);
1455 
1456 void insert(Serializer& serializer, const EventControl::Response& self);
1457 void extract(Serializer& serializer, EventControl::Response& self);
1458 
1459 CmdResult writeEventControl(C::mip_interface& device, uint8_t instance, EventControl::Mode mode);
1460 CmdResult readEventControl(C::mip_interface& device, uint8_t instance, EventControl::Mode* modeOut);
1461 CmdResult saveEventControl(C::mip_interface& device, uint8_t instance);
1462 CmdResult loadEventControl(C::mip_interface& device, uint8_t instance);
1463 CmdResult defaultEventControl(C::mip_interface& device, uint8_t instance);
1470 
1472 {
1475 
1476  static const bool HAS_FUNCTION_SELECTOR = false;
1477 
1478  struct Status : Bitfield<Status>
1479  {
1480  enum _enumType : uint8_t
1481  {
1482  NONE = 0x00,
1483  ACTIVE = 0x01,
1484  ENABLED = 0x02,
1485  TEST = 0x04,
1486  };
1487  uint8_t value = NONE;
1488 
1490  Status(int val) : value((uint8_t)val) {}
1491  operator uint8_t() const { return value; }
1492  Status& operator=(uint8_t val) { value = val; return *this; }
1493  Status& operator=(int val) { value = val; return *this; }
1494  Status& operator|=(uint8_t val) { return *this = value | val; }
1495  Status& operator&=(uint8_t val) { return *this = value & val; }
1496  };
1497 
1498  struct Entry
1499  {
1500  uint8_t type = 0;
1502 
1503  };
1504  uint8_t requested_count = 0;
1505  uint8_t requested_instances[20] = {0};
1506 
1507  struct Response
1508  {
1511 
1512  uint8_t count = 0;
1514 
1515  };
1516 };
1517 void insert(Serializer& serializer, const GetEventTriggerStatus& self);
1518 void extract(Serializer& serializer, GetEventTriggerStatus& self);
1519 
1520 void insert(Serializer& serializer, const GetEventTriggerStatus::Entry& self);
1521 void extract(Serializer& serializer, GetEventTriggerStatus::Entry& self);
1522 
1523 void insert(Serializer& serializer, const GetEventTriggerStatus::Response& self);
1524 void extract(Serializer& serializer, GetEventTriggerStatus::Response& self);
1525 
1526 CmdResult getEventTriggerStatus(C::mip_interface& device, uint8_t requestedCount, const uint8_t* requestedInstances, uint8_t* countOut, uint8_t countOutMax, GetEventTriggerStatus::Entry* triggersOut);
1533 
1535 {
1538 
1539  static const bool HAS_FUNCTION_SELECTOR = false;
1540 
1541  struct Entry
1542  {
1543  uint8_t action_type = 0;
1544  uint8_t trigger_id = 0;
1545 
1546  };
1547  uint8_t requested_count = 0;
1548  uint8_t requested_instances[20] = {0};
1549 
1550  struct Response
1551  {
1554 
1555  uint8_t count = 0;
1557 
1558  };
1559 };
1560 void insert(Serializer& serializer, const GetEventActionStatus& self);
1561 void extract(Serializer& serializer, GetEventActionStatus& self);
1562 
1563 void insert(Serializer& serializer, const GetEventActionStatus::Entry& self);
1564 void extract(Serializer& serializer, GetEventActionStatus::Entry& self);
1565 
1566 void insert(Serializer& serializer, const GetEventActionStatus::Response& self);
1567 void extract(Serializer& serializer, GetEventActionStatus::Response& self);
1568 
1569 CmdResult getEventActionStatus(C::mip_interface& device, uint8_t requestedCount, const uint8_t* requestedInstances, uint8_t* countOut, uint8_t countOutMax, GetEventActionStatus::Entry* actionsOut);
1577 
1579 {
1582 
1583  static const bool HAS_WRITE_FUNCTION = true;
1584  static const bool HAS_READ_FUNCTION = true;
1585  static const bool HAS_SAVE_FUNCTION = true;
1586  static const bool HAS_LOAD_FUNCTION = true;
1587  static const bool HAS_RESET_FUNCTION = true;
1588 
1589  struct GpioParams
1590  {
1591  enum class Mode : uint8_t
1592  {
1593  DISABLED = 0,
1594  WHILE_HIGH = 1,
1595  WHILE_LOW = 2,
1596  EDGE = 4,
1597  };
1598 
1599  uint8_t pin = 0;
1600  Mode mode = static_cast<Mode>(0);
1601 
1602  };
1604  {
1605  enum class Type : uint8_t
1606  {
1607  WINDOW = 1,
1608  INTERVAL = 2,
1609  };
1610 
1611  uint8_t desc_set = 0;
1612  uint8_t field_desc = 0;
1613  uint8_t param_id = 0;
1614  Type type = static_cast<Type>(0);
1615  union
1616  {
1617  double low_thres;
1618  double int_thres;
1619  };
1620  union
1621  {
1622  double high_thres;
1623  double interval;
1624  };
1625 
1626  };
1628  {
1629  static const uint16_t LOGIC_NEVER = 0x0000;
1630  static const uint16_t LOGIC_ALWAYS = 0xFFFF;
1631  static const uint16_t LOGIC_NONE = 0x0001;
1632  static const uint16_t LOGIC_OR = 0xFFFE;
1633  static const uint16_t LOGIC_NAND = 0x7FFF;
1634  static const uint16_t LOGIC_XOR_ONE = 0x0116;
1635  static const uint16_t LOGIC_ONLY_A = 0x0002;
1636  static const uint16_t LOGIC_ONLY_B = 0x0004;
1637  static const uint16_t LOGIC_ONLY_C = 0x0010;
1638  static const uint16_t LOGIC_ONLY_D = 0x0100;
1639  static const uint16_t LOGIC_AND_AB = 0x8888;
1640  static const uint16_t LOGIC_AB_OR_C = 0xF8F8;
1641  static const uint16_t LOGIC_AND = 0x8000;
1642  uint16_t logic_table = 0;
1643  uint8_t input_triggers[4] = {0};
1644 
1645  };
1646  enum class Type : uint8_t
1647  {
1648  NONE = 0,
1649  GPIO = 1,
1650  THRESHOLD = 2,
1651  COMBINATION = 3,
1652  };
1653 
1655  {
1660  };
1661 
1662  FunctionSelector function = static_cast<FunctionSelector>(0);
1663  uint8_t instance = 0;
1664  Type type = static_cast<Type>(0);
1666 
1667  struct Response
1668  {
1671 
1672  uint8_t instance = 0;
1673  Type type = static_cast<Type>(0);
1675 
1676  };
1677 };
1678 void insert(Serializer& serializer, const EventTrigger& self);
1679 void extract(Serializer& serializer, EventTrigger& self);
1680 
1681 void insert(Serializer& serializer, const EventTrigger::GpioParams& self);
1682 void extract(Serializer& serializer, EventTrigger::GpioParams& self);
1683 
1684 void insert(Serializer& serializer, const EventTrigger::ThresholdParams& self);
1685 void extract(Serializer& serializer, EventTrigger::ThresholdParams& self);
1686 
1687 void insert(Serializer& serializer, const EventTrigger::CombinationParams& self);
1688 void extract(Serializer& serializer, EventTrigger::CombinationParams& self);
1689 
1690 void insert(Serializer& serializer, const EventTrigger::Response& self);
1691 void extract(Serializer& serializer, EventTrigger::Response& self);
1692 
1693 CmdResult writeEventTrigger(C::mip_interface& device, uint8_t instance, EventTrigger::Type type, const EventTrigger::Parameters& parameters);
1694 CmdResult readEventTrigger(C::mip_interface& device, uint8_t instance, EventTrigger::Type* typeOut, EventTrigger::Parameters* parametersOut);
1695 CmdResult saveEventTrigger(C::mip_interface& device, uint8_t instance);
1696 CmdResult loadEventTrigger(C::mip_interface& device, uint8_t instance);
1697 CmdResult defaultEventTrigger(C::mip_interface& device, uint8_t instance);
1705 
1707 {
1710 
1711  static const bool HAS_WRITE_FUNCTION = true;
1712  static const bool HAS_READ_FUNCTION = true;
1713  static const bool HAS_SAVE_FUNCTION = true;
1714  static const bool HAS_LOAD_FUNCTION = true;
1715  static const bool HAS_RESET_FUNCTION = true;
1716 
1717  struct GpioParams
1718  {
1719  enum class Mode : uint8_t
1720  {
1721  DISABLED = 0,
1722  ACTIVE_HIGH = 1,
1723  ACTIVE_LOW = 2,
1724  ONESHOT_HIGH = 5,
1725  ONESHOT_LOW = 6,
1726  TOGGLE = 7,
1727  };
1728 
1729  uint8_t pin = 0;
1730  Mode mode = static_cast<Mode>(0);
1731 
1732  };
1734  {
1735  uint8_t desc_set = 0;
1736  uint16_t decimation = 0;
1737  uint8_t num_fields = 0;
1738  uint8_t descriptors[20] = {0};
1739 
1740  };
1741  enum class Type : uint8_t
1742  {
1743  NONE = 0,
1744  GPIO = 1,
1745  MESSAGE = 2,
1746  };
1747 
1749  {
1753  };
1754 
1755  FunctionSelector function = static_cast<FunctionSelector>(0);
1756  uint8_t instance = 0;
1757  uint8_t trigger = 0;
1758  Type type = static_cast<Type>(0);
1760 
1761  struct Response
1762  {
1765 
1766  uint8_t instance = 0;
1767  uint8_t trigger = 0;
1768  Type type = static_cast<Type>(0);
1770 
1771  };
1772 };
1773 void insert(Serializer& serializer, const EventAction& self);
1774 void extract(Serializer& serializer, EventAction& self);
1775 
1776 void insert(Serializer& serializer, const EventAction::GpioParams& self);
1777 void extract(Serializer& serializer, EventAction::GpioParams& self);
1778 
1779 void insert(Serializer& serializer, const EventAction::MessageParams& self);
1780 void extract(Serializer& serializer, EventAction::MessageParams& self);
1781 
1782 void insert(Serializer& serializer, const EventAction::Response& self);
1783 void extract(Serializer& serializer, EventAction::Response& self);
1784 
1785 CmdResult writeEventAction(C::mip_interface& device, uint8_t instance, uint8_t trigger, EventAction::Type type, const EventAction::Parameters& parameters);
1786 CmdResult readEventAction(C::mip_interface& device, uint8_t instance, uint8_t* triggerOut, EventAction::Type* typeOut, EventAction::Parameters* parametersOut);
1787 CmdResult saveEventAction(C::mip_interface& device, uint8_t instance);
1788 CmdResult loadEventAction(C::mip_interface& device, uint8_t instance);
1789 CmdResult defaultEventAction(C::mip_interface& device, uint8_t instance);
1799 
1801 {
1804 
1805  static const bool HAS_WRITE_FUNCTION = true;
1806  static const bool HAS_READ_FUNCTION = true;
1807  static const bool HAS_SAVE_FUNCTION = true;
1808  static const bool HAS_LOAD_FUNCTION = true;
1809  static const bool HAS_RESET_FUNCTION = true;
1810 
1811  FunctionSelector function = static_cast<FunctionSelector>(0);
1812  float bias[3] = {0};
1813 
1814  struct Response
1815  {
1818 
1819  float bias[3] = {0};
1820 
1821  };
1822 };
1823 void insert(Serializer& serializer, const AccelBias& self);
1824 void extract(Serializer& serializer, AccelBias& self);
1825 
1826 void insert(Serializer& serializer, const AccelBias::Response& self);
1827 void extract(Serializer& serializer, AccelBias::Response& self);
1828 
1829 CmdResult writeAccelBias(C::mip_interface& device, const float* bias);
1830 CmdResult readAccelBias(C::mip_interface& device, float* biasOut);
1843 
1844 struct GyroBias
1845 {
1848 
1849  static const bool HAS_WRITE_FUNCTION = true;
1850  static const bool HAS_READ_FUNCTION = true;
1851  static const bool HAS_SAVE_FUNCTION = true;
1852  static const bool HAS_LOAD_FUNCTION = true;
1853  static const bool HAS_RESET_FUNCTION = true;
1854 
1855  FunctionSelector function = static_cast<FunctionSelector>(0);
1856  float bias[3] = {0};
1857 
1858  struct Response
1859  {
1862 
1863  float bias[3] = {0};
1864 
1865  };
1866 };
1867 void insert(Serializer& serializer, const GyroBias& self);
1868 void extract(Serializer& serializer, GyroBias& self);
1869 
1870 void insert(Serializer& serializer, const GyroBias::Response& self);
1871 void extract(Serializer& serializer, GyroBias::Response& self);
1872 
1873 CmdResult writeGyroBias(C::mip_interface& device, const float* bias);
1874 CmdResult readGyroBias(C::mip_interface& device, float* biasOut);
1890 
1892 {
1895 
1896  static const bool HAS_FUNCTION_SELECTOR = false;
1897 
1898  uint16_t averaging_time_ms = 0;
1899 
1900  struct Response
1901  {
1904 
1905  float bias[3] = {0};
1906 
1907  };
1908 };
1909 void insert(Serializer& serializer, const CaptureGyroBias& self);
1910 void extract(Serializer& serializer, CaptureGyroBias& self);
1911 
1912 void insert(Serializer& serializer, const CaptureGyroBias::Response& self);
1913 void extract(Serializer& serializer, CaptureGyroBias::Response& self);
1914 
1915 CmdResult captureGyroBias(C::mip_interface& device, uint16_t averagingTimeMs, float* biasOut);
1929 
1931 {
1934 
1935  static const bool HAS_WRITE_FUNCTION = true;
1936  static const bool HAS_READ_FUNCTION = true;
1937  static const bool HAS_SAVE_FUNCTION = true;
1938  static const bool HAS_LOAD_FUNCTION = true;
1939  static const bool HAS_RESET_FUNCTION = true;
1940 
1941  FunctionSelector function = static_cast<FunctionSelector>(0);
1942  float offset[3] = {0};
1943 
1944  struct Response
1945  {
1948 
1949  float offset[3] = {0};
1950 
1951  };
1952 };
1953 void insert(Serializer& serializer, const MagHardIronOffset& self);
1954 void extract(Serializer& serializer, MagHardIronOffset& self);
1955 
1956 void insert(Serializer& serializer, const MagHardIronOffset::Response& self);
1957 void extract(Serializer& serializer, MagHardIronOffset::Response& self);
1958 
1959 CmdResult writeMagHardIronOffset(C::mip_interface& device, const float* offset);
1960 CmdResult readMagHardIronOffset(C::mip_interface& device, float* offsetOut);
1981 
1983 {
1986 
1987  static const bool HAS_WRITE_FUNCTION = true;
1988  static const bool HAS_READ_FUNCTION = true;
1989  static const bool HAS_SAVE_FUNCTION = true;
1990  static const bool HAS_LOAD_FUNCTION = true;
1991  static const bool HAS_RESET_FUNCTION = true;
1992 
1993  FunctionSelector function = static_cast<FunctionSelector>(0);
1994  float offset[9] = {0};
1995 
1996  struct Response
1997  {
2000 
2001  float offset[9] = {0};
2002 
2003  };
2004 };
2005 void insert(Serializer& serializer, const MagSoftIronMatrix& self);
2006 void extract(Serializer& serializer, MagSoftIronMatrix& self);
2007 
2008 void insert(Serializer& serializer, const MagSoftIronMatrix::Response& self);
2009 void extract(Serializer& serializer, MagSoftIronMatrix::Response& self);
2010 
2011 CmdResult writeMagSoftIronMatrix(C::mip_interface& device, const float* offset);
2012 CmdResult readMagSoftIronMatrix(C::mip_interface& device, float* offsetOut);
2047 
2049 {
2052 
2053  static const bool HAS_WRITE_FUNCTION = true;
2054  static const bool HAS_READ_FUNCTION = true;
2055  static const bool HAS_SAVE_FUNCTION = true;
2056  static const bool HAS_LOAD_FUNCTION = true;
2057  static const bool HAS_RESET_FUNCTION = true;
2058 
2059  FunctionSelector function = static_cast<FunctionSelector>(0);
2060  float roll = 0;
2061  float pitch = 0;
2062  float yaw = 0;
2063 
2064  struct Response
2065  {
2068 
2069  float roll = 0;
2070  float pitch = 0;
2071  float yaw = 0;
2072 
2073  };
2074 };
2075 void insert(Serializer& serializer, const Sensor2VehicleTransformEuler& self);
2076 void extract(Serializer& serializer, Sensor2VehicleTransformEuler& self);
2077 
2078 void insert(Serializer& serializer, const Sensor2VehicleTransformEuler::Response& self);
2080 
2081 CmdResult writeSensor2VehicleTransformEuler(C::mip_interface& device, float roll, float pitch, float yaw);
2082 CmdResult readSensor2VehicleTransformEuler(C::mip_interface& device, float* rollOut, float* pitchOut, float* yawOut);
2125 
2127 {
2130 
2131  static const bool HAS_WRITE_FUNCTION = true;
2132  static const bool HAS_READ_FUNCTION = true;
2133  static const bool HAS_SAVE_FUNCTION = true;
2134  static const bool HAS_LOAD_FUNCTION = true;
2135  static const bool HAS_RESET_FUNCTION = true;
2136 
2137  FunctionSelector function = static_cast<FunctionSelector>(0);
2138  float q[4] = {0};
2139 
2140  struct Response
2141  {
2144 
2145  float q[4] = {0};
2146 
2147  };
2148 };
2149 void insert(Serializer& serializer, const Sensor2VehicleTransformQuaternion& self);
2150 void extract(Serializer& serializer, Sensor2VehicleTransformQuaternion& self);
2151 
2152 void insert(Serializer& serializer, const Sensor2VehicleTransformQuaternion::Response& self);
2153 void extract(Serializer& serializer, Sensor2VehicleTransformQuaternion::Response& self);
2154 
2197 
2199 {
2202 
2203  static const bool HAS_WRITE_FUNCTION = true;
2204  static const bool HAS_READ_FUNCTION = true;
2205  static const bool HAS_SAVE_FUNCTION = true;
2206  static const bool HAS_LOAD_FUNCTION = true;
2207  static const bool HAS_RESET_FUNCTION = true;
2208 
2209  FunctionSelector function = static_cast<FunctionSelector>(0);
2210  float dcm[9] = {0};
2211 
2212  struct Response
2213  {
2216 
2217  float dcm[9] = {0};
2218 
2219  };
2220 };
2221 void insert(Serializer& serializer, const Sensor2VehicleTransformDcm& self);
2222 void extract(Serializer& serializer, Sensor2VehicleTransformDcm& self);
2223 
2224 void insert(Serializer& serializer, const Sensor2VehicleTransformDcm::Response& self);
2225 void extract(Serializer& serializer, Sensor2VehicleTransformDcm::Response& self);
2226 
2243 
2245 {
2248 
2249  static const bool HAS_WRITE_FUNCTION = true;
2250  static const bool HAS_READ_FUNCTION = true;
2251  static const bool HAS_SAVE_FUNCTION = true;
2252  static const bool HAS_LOAD_FUNCTION = true;
2253  static const bool HAS_RESET_FUNCTION = true;
2254 
2255  FunctionSelector function = static_cast<FunctionSelector>(0);
2257  bool heading_enable = 0;
2260 
2261  struct Response
2262  {
2265 
2267  bool heading_enable = 0;
2270 
2271  };
2272 };
2273 void insert(Serializer& serializer, const ComplementaryFilter& self);
2274 void extract(Serializer& serializer, ComplementaryFilter& self);
2275 
2276 void insert(Serializer& serializer, const ComplementaryFilter::Response& self);
2277 void extract(Serializer& serializer, ComplementaryFilter::Response& self);
2278 
2279 CmdResult writeComplementaryFilter(C::mip_interface& device, bool pitchRollEnable, bool headingEnable, float pitchRollTimeConstant, float headingTimeConstant);
2280 CmdResult readComplementaryFilter(C::mip_interface& device, bool* pitchRollEnableOut, bool* headingEnableOut, float* pitchRollTimeConstantOut, float* headingTimeConstantOut);
2298 
2300 {
2303 
2304  static const bool HAS_WRITE_FUNCTION = true;
2305  static const bool HAS_READ_FUNCTION = true;
2306  static const bool HAS_SAVE_FUNCTION = true;
2307  static const bool HAS_LOAD_FUNCTION = true;
2308  static const bool HAS_RESET_FUNCTION = true;
2309 
2310  FunctionSelector function = static_cast<FunctionSelector>(0);
2312  uint8_t setting = 0;
2313 
2314  struct Response
2315  {
2318 
2320  uint8_t setting = 0;
2321 
2322  };
2323 };
2324 void insert(Serializer& serializer, const SensorRange& self);
2325 void extract(Serializer& serializer, SensorRange& self);
2326 
2327 void insert(Serializer& serializer, const SensorRange::Response& self);
2328 void extract(Serializer& serializer, SensorRange::Response& self);
2329 
2330 CmdResult writeSensorRange(C::mip_interface& device, SensorRangeType sensor, uint8_t setting);
2331 CmdResult readSensorRange(C::mip_interface& device, SensorRangeType sensor, uint8_t* settingOut);
2345 
2347 {
2350 
2351  static const bool HAS_FUNCTION_SELECTOR = false;
2352 
2353  struct Entry
2354  {
2355  uint8_t setting = 0;
2356  float range = 0;
2357 
2358  };
2360 
2361  struct Response
2362  {
2365 
2367  uint8_t num_ranges = 0;
2369 
2370  };
2371 };
2372 void insert(Serializer& serializer, const CalibratedSensorRanges& self);
2373 void extract(Serializer& serializer, CalibratedSensorRanges& self);
2374 
2375 void insert(Serializer& serializer, const CalibratedSensorRanges::Entry& self);
2376 void extract(Serializer& serializer, CalibratedSensorRanges::Entry& self);
2377 
2378 void insert(Serializer& serializer, const CalibratedSensorRanges::Response& self);
2379 void extract(Serializer& serializer, CalibratedSensorRanges::Response& self);
2380 
2381 CmdResult calibratedSensorRanges(C::mip_interface& device, SensorRangeType sensor, uint8_t* numRangesOut, uint8_t numRangesOutMax, CalibratedSensorRanges::Entry* rangesOut);
2384 
2389 } // namespace commands_3dm
2390 } // namespace mip
2391 
Serialization class.
Definition: serialization.h:145
CmdResult loadAccelBias(C::mip_interface &device)
Definition: commands_3dm.cpp:3094
CmdResult saveAccelBias(C::mip_interface &device)
Definition: commands_3dm.cpp:3084
CmdResult defaultAccelBias(C::mip_interface &device)
Definition: commands_3dm.cpp:3104
CmdResult readAccelBias(C::mip_interface &device, float *biasOut)
Definition: commands_3dm.cpp:3060
CmdResult writeAccelBias(C::mip_interface &device, const float *bias)
Definition: commands_3dm.cpp:3046
CmdResult readAdvLowpassFilter(C::mip_interface &device, uint8_t targetDescriptor, bool *enableOut, bool *manualOut, uint16_t *frequencyOut, uint8_t *reservedOut)
Definition: commands_3dm.cpp:1605
CmdResult defaultAdvLowpassFilter(C::mip_interface &device, uint8_t targetDescriptor)
Definition: commands_3dm.cpp:1665
CmdResult saveAdvLowpassFilter(C::mip_interface &device, uint8_t targetDescriptor)
Definition: commands_3dm.cpp:1641
CmdResult writeAdvLowpassFilter(C::mip_interface &device, uint8_t targetDescriptor, bool enable, bool manual, uint16_t frequency, uint8_t reserved)
Definition: commands_3dm.cpp:1585
CmdResult loadAdvLowpassFilter(C::mip_interface &device, uint8_t targetDescriptor)
Definition: commands_3dm.cpp:1653
CmdResult calibratedSensorRanges(C::mip_interface &device, SensorRangeType sensor, uint8_t *numRangesOut, uint8_t numRangesOutMax, CalibratedSensorRanges::Entry *rangesOut)
Definition: commands_3dm.cpp:4105
CmdResult captureGyroBias(C::mip_interface &device, uint16_t averagingTimeMs, float *biasOut)
Definition: commands_3dm.cpp:3242
CmdResult readComplementaryFilter(C::mip_interface &device, bool *pitchRollEnableOut, bool *headingEnableOut, float *pitchRollTimeConstantOut, float *headingTimeConstantOut)
Definition: commands_3dm.cpp:3880
CmdResult writeComplementaryFilter(C::mip_interface &device, bool pitchRollEnable, bool headingEnable, float pitchRollTimeConstant, float headingTimeConstant)
Definition: commands_3dm.cpp:3862
CmdResult defaultComplementaryFilter(C::mip_interface &device)
Definition: commands_3dm.cpp:3932
CmdResult saveComplementaryFilter(C::mip_interface &device)
Definition: commands_3dm.cpp:3912
CmdResult loadComplementaryFilter(C::mip_interface &device)
Definition: commands_3dm.cpp:3922
CmdResult defaultDatastreamControl(C::mip_interface &device, uint8_t descSet)
Definition: commands_3dm.cpp:1277
CmdResult writeDatastreamControl(C::mip_interface &device, uint8_t descSet, bool enable)
Definition: commands_3dm.cpp:1212
CmdResult readDatastreamControl(C::mip_interface &device, uint8_t descSet, bool *enabledOut)
Definition: commands_3dm.cpp:1226
CmdResult saveDatastreamControl(C::mip_interface &device, uint8_t descSet)
Definition: commands_3dm.cpp:1253
CmdResult loadDatastreamControl(C::mip_interface &device, uint8_t descSet)
Definition: commands_3dm.cpp:1265
CmdResult loadDeviceSettings(C::mip_interface &device)
Definition: commands_3dm.cpp:1027
CmdResult saveDeviceSettings(C::mip_interface &device)
Definition: commands_3dm.cpp:1017
CmdResult defaultDeviceSettings(C::mip_interface &device)
Definition: commands_3dm.cpp:1037
CmdResult readEventAction(C::mip_interface &device, uint8_t instance, uint8_t *triggerOut, EventAction::Type *typeOut, EventAction::Parameters *parametersOut)
Definition: commands_3dm.cpp:2934
CmdResult defaultEventAction(C::mip_interface &device, uint8_t instance)
Definition: commands_3dm.cpp:2998
CmdResult writeEventAction(C::mip_interface &device, uint8_t instance, uint8_t trigger, EventAction::Type type, const EventAction::Parameters &parameters)
Definition: commands_3dm.cpp:2908
CmdResult loadEventAction(C::mip_interface &device, uint8_t instance)
Definition: commands_3dm.cpp:2986
CmdResult saveEventAction(C::mip_interface &device, uint8_t instance)
Definition: commands_3dm.cpp:2974
CmdResult readEventControl(C::mip_interface &device, uint8_t instance, EventControl::Mode *modeOut)
Definition: commands_3dm.cpp:2262
CmdResult loadEventControl(C::mip_interface &device, uint8_t instance)
Definition: commands_3dm.cpp:2301
CmdResult defaultEventControl(C::mip_interface &device, uint8_t instance)
Definition: commands_3dm.cpp:2313
CmdResult writeEventControl(C::mip_interface &device, uint8_t instance, EventControl::Mode mode)
Definition: commands_3dm.cpp:2248
CmdResult saveEventControl(C::mip_interface &device, uint8_t instance)
Definition: commands_3dm.cpp:2289
CmdResult readEventTrigger(C::mip_interface &device, uint8_t instance, EventTrigger::Type *typeOut, EventTrigger::Parameters *parametersOut)
Definition: commands_3dm.cpp:2703
CmdResult defaultEventTrigger(C::mip_interface &device, uint8_t instance)
Definition: commands_3dm.cpp:2769
CmdResult saveEventTrigger(C::mip_interface &device, uint8_t instance)
Definition: commands_3dm.cpp:2745
CmdResult loadEventTrigger(C::mip_interface &device, uint8_t instance)
Definition: commands_3dm.cpp:2757
CmdResult writeEventTrigger(C::mip_interface &device, uint8_t instance, EventTrigger::Type type, const EventTrigger::Parameters &parameters)
Definition: commands_3dm.cpp:2674
CmdResult factoryStreaming(C::mip_interface &device, FactoryStreaming::Action action, uint8_t reserved)
Definition: commands_3dm.cpp:1159
CmdResult filterGetBaseRate(C::mip_interface &device, uint16_t *rateOut)
Definition: commands_3dm.cpp:609
CmdResult saveFilterMessageFormat(C::mip_interface &device)
Definition: commands_3dm.cpp:475
CmdResult readFilterMessageFormat(C::mip_interface &device, uint8_t *numDescriptorsOut, uint8_t numDescriptorsOutMax, DescriptorRate *descriptorsOut)
Definition: commands_3dm.cpp:450
CmdResult writeFilterMessageFormat(C::mip_interface &device, uint8_t numDescriptors, const DescriptorRate *descriptors)
Definition: commands_3dm.cpp:434
CmdResult defaultFilterMessageFormat(C::mip_interface &device)
Definition: commands_3dm.cpp:495
CmdResult loadFilterMessageFormat(C::mip_interface &device)
Definition: commands_3dm.cpp:485
CmdResult getBaseRate(C::mip_interface &device, uint8_t descSet, uint16_t *rateOut)
Definition: commands_3dm.cpp:697
CmdResult getEventActionStatus(C::mip_interface &device, uint8_t requestedCount, const uint8_t *requestedInstances, uint8_t *countOut, uint8_t countOutMax, GetEventActionStatus::Entry *actionsOut)
Definition: commands_3dm.cpp:2449
CmdResult getEventSupport(C::mip_interface &device, GetEventSupport::Query query, uint8_t *maxInstancesOut, uint8_t *numEntriesOut, uint8_t numEntriesOutMax, GetEventSupport::Info *entriesOut)
Definition: commands_3dm.cpp:2177
CmdResult getEventTriggerStatus(C::mip_interface &device, uint8_t requestedCount, const uint8_t *requestedInstances, uint8_t *countOut, uint8_t countOutMax, GetEventTriggerStatus::Entry *triggersOut)
Definition: commands_3dm.cpp:2372
CmdResult readGnssSbasSettings(C::mip_interface &device, uint8_t *enableSbasOut, GnssSbasSettings::SBASOptions *sbasOptionsOut, uint8_t *numIncludedPrnsOut, uint8_t numIncludedPrnsOutMax, uint16_t *includedPrnsOut)
Definition: commands_3dm.cpp:1367
CmdResult defaultGnssSbasSettings(C::mip_interface &device)
Definition: commands_3dm.cpp:1418
CmdResult loadGnssSbasSettings(C::mip_interface &device)
Definition: commands_3dm.cpp:1408
CmdResult writeGnssSbasSettings(C::mip_interface &device, uint8_t enableSbas, GnssSbasSettings::SBASOptions sbasOptions, uint8_t numIncludedPrns, const uint16_t *includedPrns)
Definition: commands_3dm.cpp:1347
CmdResult saveGnssSbasSettings(C::mip_interface &device)
Definition: commands_3dm.cpp:1398
CmdResult writeGnssTimeAssistance(C::mip_interface &device, double tow, uint16_t weekNumber, float accuracy)
Definition: commands_3dm.cpp:1476
CmdResult readGnssTimeAssistance(C::mip_interface &device, double *towOut, uint16_t *weekNumberOut, float *accuracyOut)
Definition: commands_3dm.cpp:1492
CmdResult saveGpioConfig(C::mip_interface &device, uint8_t pin)
Definition: commands_3dm.cpp:1881
CmdResult readGpioConfig(C::mip_interface &device, uint8_t pin, GpioConfig::Feature *featureOut, GpioConfig::Behavior *behaviorOut, GpioConfig::PinMode *pinModeOut)
Definition: commands_3dm.cpp:1848
CmdResult writeGpioConfig(C::mip_interface &device, uint8_t pin, GpioConfig::Feature feature, GpioConfig::Behavior behavior, GpioConfig::PinMode pinMode)
Definition: commands_3dm.cpp:1830
CmdResult loadGpioConfig(C::mip_interface &device, uint8_t pin)
Definition: commands_3dm.cpp:1893
CmdResult defaultGpioConfig(C::mip_interface &device, uint8_t pin)
Definition: commands_3dm.cpp:1905
CmdResult readGpioState(C::mip_interface &device, uint8_t pin, bool *stateOut)
Definition: commands_3dm.cpp:1977
CmdResult writeGpioState(C::mip_interface &device, uint8_t pin, bool state)
Definition: commands_3dm.cpp:1963
CmdResult gpsGetBaseRate(C::mip_interface &device, uint16_t *rateOut)
Definition: commands_3dm.cpp:568
CmdResult loadGpsMessageFormat(C::mip_interface &device)
Definition: commands_3dm.cpp:372
CmdResult writeGpsMessageFormat(C::mip_interface &device, uint8_t numDescriptors, const DescriptorRate *descriptors)
Definition: commands_3dm.cpp:321
CmdResult readGpsMessageFormat(C::mip_interface &device, uint8_t *numDescriptorsOut, uint8_t numDescriptorsOutMax, DescriptorRate *descriptorsOut)
Definition: commands_3dm.cpp:337
CmdResult saveGpsMessageFormat(C::mip_interface &device)
Definition: commands_3dm.cpp:362
CmdResult defaultGpsMessageFormat(C::mip_interface &device)
Definition: commands_3dm.cpp:382
CmdResult readGyroBias(C::mip_interface &device, float *biasOut)
Definition: commands_3dm.cpp:3164
CmdResult loadGyroBias(C::mip_interface &device)
Definition: commands_3dm.cpp:3198
CmdResult defaultGyroBias(C::mip_interface &device)
Definition: commands_3dm.cpp:3208
CmdResult saveGyroBias(C::mip_interface &device)
Definition: commands_3dm.cpp:3188
CmdResult writeGyroBias(C::mip_interface &device, const float *bias)
Definition: commands_3dm.cpp:3150
CmdResult imuGetBaseRate(C::mip_interface &device, uint16_t *rateOut)
Definition: commands_3dm.cpp:527
CmdResult defaultImuMessageFormat(C::mip_interface &device)
Definition: commands_3dm.cpp:269
CmdResult readImuMessageFormat(C::mip_interface &device, uint8_t *numDescriptorsOut, uint8_t numDescriptorsOutMax, DescriptorRate *descriptorsOut)
Definition: commands_3dm.cpp:224
CmdResult loadImuMessageFormat(C::mip_interface &device)
Definition: commands_3dm.cpp:259
CmdResult saveImuMessageFormat(C::mip_interface &device)
Definition: commands_3dm.cpp:249
CmdResult writeImuMessageFormat(C::mip_interface &device, uint8_t numDescriptors, const DescriptorRate *descriptors)
Definition: commands_3dm.cpp:208
CmdResult saveMagHardIronOffset(C::mip_interface &device)
Definition: commands_3dm.cpp:3341
CmdResult defaultMagHardIronOffset(C::mip_interface &device)
Definition: commands_3dm.cpp:3361
CmdResult loadMagHardIronOffset(C::mip_interface &device)
Definition: commands_3dm.cpp:3351
CmdResult writeMagHardIronOffset(C::mip_interface &device, const float *offset)
Definition: commands_3dm.cpp:3303
CmdResult readMagHardIronOffset(C::mip_interface &device, float *offsetOut)
Definition: commands_3dm.cpp:3317
CmdResult writeMagSoftIronMatrix(C::mip_interface &device, const float *offset)
Definition: commands_3dm.cpp:3407
CmdResult loadMagSoftIronMatrix(C::mip_interface &device)
Definition: commands_3dm.cpp:3455
CmdResult saveMagSoftIronMatrix(C::mip_interface &device)
Definition: commands_3dm.cpp:3445
CmdResult readMagSoftIronMatrix(C::mip_interface &device, float *offsetOut)
Definition: commands_3dm.cpp:3421
CmdResult defaultMagSoftIronMatrix(C::mip_interface &device)
Definition: commands_3dm.cpp:3465
CmdResult defaultMessageFormat(C::mip_interface &device, uint8_t descSet)
Definition: commands_3dm.cpp:844
CmdResult readMessageFormat(C::mip_interface &device, uint8_t descSet, uint8_t *numDescriptorsOut, uint8_t numDescriptorsOutMax, DescriptorRate *descriptorsOut)
Definition: commands_3dm.cpp:791
CmdResult writeMessageFormat(C::mip_interface &device, uint8_t descSet, uint8_t numDescriptors, const DescriptorRate *descriptors)
Definition: commands_3dm.cpp:773
CmdResult saveMessageFormat(C::mip_interface &device, uint8_t descSet)
Definition: commands_3dm.cpp:820
CmdResult loadMessageFormat(C::mip_interface &device, uint8_t descSet)
Definition: commands_3dm.cpp:832
CmdResult writeNmeaMessageFormat(C::mip_interface &device, uint8_t count, const NmeaMessage *formatEntries)
Definition: commands_3dm.cpp:935
CmdResult readNmeaMessageFormat(C::mip_interface &device, uint8_t *countOut, uint8_t countOutMax, NmeaMessage *formatEntriesOut)
Definition: commands_3dm.cpp:951
CmdResult loadNmeaMessageFormat(C::mip_interface &device)
Definition: commands_3dm.cpp:986
CmdResult saveNmeaMessageFormat(C::mip_interface &device)
Definition: commands_3dm.cpp:976
CmdResult defaultNmeaMessageFormat(C::mip_interface &device)
Definition: commands_3dm.cpp:996
CmdResult nmeaPollData(C::mip_interface &device, bool suppressAck, uint8_t count, const NmeaMessage *formatEntries)
Definition: commands_3dm.cpp:876
CmdResult loadOdometer(C::mip_interface &device)
Definition: commands_3dm.cpp:2107
CmdResult readOdometer(C::mip_interface &device, Odometer::Mode *modeOut, float *scalingOut, float *uncertaintyOut)
Definition: commands_3dm.cpp:2068
CmdResult defaultOdometer(C::mip_interface &device)
Definition: commands_3dm.cpp:2117
CmdResult writeOdometer(C::mip_interface &device, Odometer::Mode mode, float scaling, float uncertainty)
Definition: commands_3dm.cpp:2052
CmdResult saveOdometer(C::mip_interface &device)
Definition: commands_3dm.cpp:2097
CmdResult pollData(C::mip_interface &device, uint8_t descSet, bool suppressAck, uint8_t numDescriptors, const uint8_t *descriptors)
Definition: commands_3dm.cpp:652
CmdResult pollFilterMessage(C::mip_interface &device, bool suppressAck, uint8_t numDescriptors, const DescriptorRate *descriptors)
Definition: commands_3dm.cpp:149
CmdResult pollGnssMessage(C::mip_interface &device, bool suppressAck, uint8_t numDescriptors, const DescriptorRate *descriptors)
Definition: commands_3dm.cpp:112
CmdResult pollImuMessage(C::mip_interface &device, bool suppressAck, uint8_t numDescriptors, const DescriptorRate *descriptors)
Definition: commands_3dm.cpp:75
CmdResult writePpsSource(C::mip_interface &device, PpsSource::Source source)
Definition: commands_3dm.cpp:1709
CmdResult defaultPpsSource(C::mip_interface &device)
Definition: commands_3dm.cpp:1764
CmdResult loadPpsSource(C::mip_interface &device)
Definition: commands_3dm.cpp:1754
CmdResult savePpsSource(C::mip_interface &device)
Definition: commands_3dm.cpp:1744
CmdResult readPpsSource(C::mip_interface &device, PpsSource::Source *sourceOut)
Definition: commands_3dm.cpp:1721
CmdResult readSensor2VehicleTransformDcm(C::mip_interface &device, float *dcmOut)
Definition: commands_3dm.cpp:3752
CmdResult loadSensor2VehicleTransformDcm(C::mip_interface &device)
Definition: commands_3dm.cpp:3786
CmdResult saveSensor2VehicleTransformDcm(C::mip_interface &device)
Definition: commands_3dm.cpp:3776
CmdResult writeSensor2VehicleTransformDcm(C::mip_interface &device, const float *dcm)
Definition: commands_3dm.cpp:3738
CmdResult defaultSensor2VehicleTransformDcm(C::mip_interface &device)
Definition: commands_3dm.cpp:3796
CmdResult saveSensor2VehicleTransformEuler(C::mip_interface &device)
Definition: commands_3dm.cpp:3568
CmdResult loadSensor2VehicleTransformEuler(C::mip_interface &device)
Definition: commands_3dm.cpp:3578
CmdResult defaultSensor2VehicleTransformEuler(C::mip_interface &device)
Definition: commands_3dm.cpp:3588
CmdResult writeSensor2VehicleTransformEuler(C::mip_interface &device, float roll, float pitch, float yaw)
Definition: commands_3dm.cpp:3523
CmdResult readSensor2VehicleTransformEuler(C::mip_interface &device, float *rollOut, float *pitchOut, float *yawOut)
Definition: commands_3dm.cpp:3539
CmdResult readSensor2VehicleTransformQuaternion(C::mip_interface &device, float *qOut)
Definition: commands_3dm.cpp:3648
CmdResult defaultSensor2VehicleTransformQuaternion(C::mip_interface &device)
Definition: commands_3dm.cpp:3692
CmdResult saveSensor2VehicleTransformQuaternion(C::mip_interface &device)
Definition: commands_3dm.cpp:3672
CmdResult writeSensor2VehicleTransformQuaternion(C::mip_interface &device, const float *q)
Definition: commands_3dm.cpp:3634
CmdResult loadSensor2VehicleTransformQuaternion(C::mip_interface &device)
Definition: commands_3dm.cpp:3682
CmdResult saveSensorRange(C::mip_interface &device, SensorRangeType sensor)
Definition: commands_3dm.cpp:4023
CmdResult writeSensorRange(C::mip_interface &device, SensorRangeType sensor, uint8_t setting)
Definition: commands_3dm.cpp:3982
CmdResult defaultSensorRange(C::mip_interface &device, SensorRangeType sensor)
Definition: commands_3dm.cpp:4047
CmdResult readSensorRange(C::mip_interface &device, SensorRangeType sensor, uint8_t *settingOut)
Definition: commands_3dm.cpp:3996
CmdResult loadSensorRange(C::mip_interface &device, SensorRangeType sensor)
Definition: commands_3dm.cpp:4035
CmdResult saveUartBaudrate(C::mip_interface &device)
Definition: commands_3dm.cpp:1114
CmdResult defaultUartBaudrate(C::mip_interface &device)
Definition: commands_3dm.cpp:1134
CmdResult loadUartBaudrate(C::mip_interface &device)
Definition: commands_3dm.cpp:1124
CmdResult writeUartBaudrate(C::mip_interface &device, uint32_t baud)
Definition: commands_3dm.cpp:1079
CmdResult readUartBaudrate(C::mip_interface &device, uint32_t *baudOut)
Definition: commands_3dm.cpp:1091
void insert(Serializer &serializer, const NmeaMessage &self)
Definition: commands_3dm.cpp:27
void extract(Serializer &serializer, NmeaMessage &self)
Definition: commands_3dm.cpp:38
SensorRangeType
Definition: commands_3dm.hpp:177
@ CMD_UART_BAUDRATE
Definition: commands_3dm.hpp:77
@ CMD_DEVICE_SETTINGS
Definition: commands_3dm.hpp:88
@ CMD_GNSS_TIME_ASSISTANCE
Definition: commands_3dm.hpp:54
@ REPLY_SENSOR_RANGE
Definition: commands_3dm.hpp:136
@ CMD_RAW_RTCM_2_3_MESSAGE
Definition: commands_3dm.hpp:50
@ CMD_DEVICE_STARTUP_SETTINGS
Definition: commands_3dm.hpp:62
@ REPLY_EVENT_CONTROL
Definition: commands_3dm.hpp:126
@ REPLY_PPS_SOURCE
Definition: commands_3dm.hpp:132
@ REPLY_SENSOR2VEHICLE_TRANSFORM_DCM
Definition: commands_3dm.hpp:124
@ CMD_POLL_NMEA_MESSAGE
Definition: commands_3dm.hpp:37
@ CMD_ODOMETER_CONFIG
Definition: commands_3dm.hpp:80
@ CMD_GPIO_STATE
Definition: commands_3dm.hpp:79
@ REPLY_LEGACY_COMP_FILTER
Definition: commands_3dm.hpp:112
@ CMD_GNSS_ASSISTED_FIX_SETTINGS
Definition: commands_3dm.hpp:53
@ CMD_SENSOR2VEHICLE_TRANSFORM_DCM
Definition: commands_3dm.hpp:65
@ CMD_GET_FILTER_BASE_RATE
Definition: commands_3dm.hpp:43
@ CMD_SET_IMU_SIGNAL_COND
Definition: commands_3dm.hpp:67
@ REPLY_IMU_MESSAGE_FORMAT
Definition: commands_3dm.hpp:91
@ CMD_POLL_IMU_MESSAGE
Definition: commands_3dm.hpp:34
@ REPLY_GYRO_BIAS_VECTOR
Definition: commands_3dm.hpp:114
@ CMD_CONFIGURE_FACTORY_STREAMING
Definition: commands_3dm.hpp:48
@ CMD_SAVE_RESTORE_GPS_SETTINGS
Definition: commands_3dm.hpp:87
@ REPLY_IMU_BASIC_STATUS
Definition: commands_3dm.hpp:109
@ REPLY_COMMUNICATIONS_MODE
Definition: commands_3dm.hpp:106
@ REPLY_SENSOR2VEHICLE_TRANSFORM_QUAT
Definition: commands_3dm.hpp:123
@ CMD_REALIGN_UP
Definition: commands_3dm.hpp:74
@ REPLY_ODOMETER_CONFIG
Definition: commands_3dm.hpp:135
@ CMD_HARD_IRON_OFFSET
Definition: commands_3dm.hpp:72
@ CMD_SENSOR_RANGE
Definition: commands_3dm.hpp:83
@ CMD_ADVANCED_DATA_FILTER
Definition: commands_3dm.hpp:81
@ REPLY_MESSAGE_FORMAT
Definition: commands_3dm.hpp:105
@ REPLY_EVENT_ACTION_STATUS
Definition: commands_3dm.hpp:128
@ CMD_SET_GNSS_DYNAMICS_MODE
Definition: commands_3dm.hpp:66
@ REPLY_CONING_AND_SCULLING_ENABLE
Definition: commands_3dm.hpp:117
@ REPLY_GNSS_MESSAGE_FORMAT
Definition: commands_3dm.hpp:92
@ CMD_EVENT_CONTROL
Definition: commands_3dm.hpp:57
@ CMD_GET_IMU_BASE_RATE
Definition: commands_3dm.hpp:38
@ REPLY_UART_BAUDRATE
Definition: commands_3dm.hpp:98
@ CMD_SENSOR2VEHICLE_TRANSFORM_EUL
Definition: commands_3dm.hpp:63
@ REPLY_ACCEL_BIAS_VECTOR
Definition: commands_3dm.hpp:113
@ REPLY_GNSS_SBAS_SETTINGS
Definition: commands_3dm.hpp:119
@ CMD_ACCEL_BIAS
Definition: commands_3dm.hpp:69
@ REPLY_BASE_RATE
Definition: commands_3dm.hpp:104
@ CMD_GET_GNSS_BASE_RATE
Definition: commands_3dm.hpp:39
@ CMD_GNSS_MESSAGE_FORMAT
Definition: commands_3dm.hpp:41
@ REPLY_EVENT_ACTION_CONFIG
Definition: commands_3dm.hpp:130
@ CMD_EVENT_ACTION_CONFIG
Definition: commands_3dm.hpp:61
@ REPLY_EVENT_TRIGGER_STATUS
Definition: commands_3dm.hpp:127
@ REPLY_SENSOR2VEHICLE_TRANSFORM_EUL
Definition: commands_3dm.hpp:122
@ CMD_RAW_CLIP_SETTINGS
Definition: commands_3dm.hpp:89
@ REPLY_IMU_SIGNAL_SETTINGS
Definition: commands_3dm.hpp:97
@ REPLY_HARD_IRON_OFFSET_VECTOR
Definition: commands_3dm.hpp:115
@ REPLY_NMEA_MESSAGE_FORMAT
Definition: commands_3dm.hpp:131
@ REPLY_IMU_BASE_RATE
Definition: commands_3dm.hpp:94
@ CMD_NMEA_MESSAGE_FORMAT
Definition: commands_3dm.hpp:44
@ REPLY_FILTER_BASE_RATE
Definition: commands_3dm.hpp:101
@ CMD_CAPTURE_GYRO_BIAS
Definition: commands_3dm.hpp:71
@ REPLY_POLL_DATA
Definition: commands_3dm.hpp:103
@ CMD_IMU_MESSAGE_FORMAT
Definition: commands_3dm.hpp:40
@ CMD_CALIBRATED_RANGES
Definition: commands_3dm.hpp:84
@ REPLY_RAW_CLIP_SETTINGS
Definition: commands_3dm.hpp:111
@ CMD_SENSOR2VEHICLE_TRANSFORM_QUAT
Definition: commands_3dm.hpp:64
@ REPLY_DATASTREAM_ENABLE
Definition: commands_3dm.hpp:96
@ CMD_EVENT_TRIGGER_CONFIG
Definition: commands_3dm.hpp:60
@ REPLY_FILTER_MESSAGE_FORMAT
Definition: commands_3dm.hpp:93
@ REPLY_ADVANCED_DATA_FILTER
Definition: commands_3dm.hpp:102
@ REPLY_POWER_STATE
Definition: commands_3dm.hpp:100
@ DESCRIPTOR_SET
Definition: commands_3dm.hpp:32
@ REPLY_GNSS_TIME_ASSISTANCE
Definition: commands_3dm.hpp:121
@ CMD_SET_IMU_TIMESTAMP
Definition: commands_3dm.hpp:68
@ CMD_EVENT_ACTION_STATUS
Definition: commands_3dm.hpp:59
@ CMD_DEVICE_POWER_STATE
Definition: commands_3dm.hpp:86
@ REPLY_IMU_TIMESTAMP_VALUE
Definition: commands_3dm.hpp:108
@ CMD_MESSAGE_FORMAT
Definition: commands_3dm.hpp:47
@ CMD_SOFT_IRON_MATRIX
Definition: commands_3dm.hpp:73
@ REPLY_CALIBRATED_RANGES
Definition: commands_3dm.hpp:137
@ CMD_CONING_AND_SCULLING_ENABLE
Definition: commands_3dm.hpp:76
@ CMD_PPS_SOURCE
Definition: commands_3dm.hpp:55
@ CMD_GET_BASE_RATE
Definition: commands_3dm.hpp:46
@ CMD_POLL_GNSS_MESSAGE
Definition: commands_3dm.hpp:35
@ CMD_DATASTREAM_FORMAT
Definition: commands_3dm.hpp:85
@ REPLY_GNSS_DYNAMICS_MODE
Definition: commands_3dm.hpp:107
@ REPLY_EVENT_TRIGGER_CONFIG
Definition: commands_3dm.hpp:129
@ CMD_GYRO_BIAS
Definition: commands_3dm.hpp:70
@ CMD_GPIO_CONFIG
Definition: commands_3dm.hpp:78
@ CMD_REALIGN_NORTH
Definition: commands_3dm.hpp:75
@ CMD_FILTER_MESSAGE_FORMAT
Definition: commands_3dm.hpp:42
@ CMD_EVENT_SUPPORT
Definition: commands_3dm.hpp:56
@ REPLY_GNSS_BASE_RATE
Definition: commands_3dm.hpp:95
@ CMD_EVENT_TRIGGER_STATUS
Definition: commands_3dm.hpp:58
@ REPLY_GPIO_CONFIG
Definition: commands_3dm.hpp:133
@ CMD_GNSS_SBAS_SETTINGS
Definition: commands_3dm.hpp:52
@ REPLY_GNSS_CONSTELLATION_SETTINGS
Definition: commands_3dm.hpp:118
@ REPLY_GNSS_ASSISTED_FIX_SETTINGS
Definition: commands_3dm.hpp:120
@ CMD_POLL_DATA
Definition: commands_3dm.hpp:45
@ REPLY_IMU_ADVANCED_STATUS
Definition: commands_3dm.hpp:110
@ CMD_GNSS_CONSTELLATION_SETTINGS
Definition: commands_3dm.hpp:51
@ CMD_POLL_FILTER_MESSAGE
Definition: commands_3dm.hpp:36
@ REPLY_SOFT_IRON_COMP_MATRIX
Definition: commands_3dm.hpp:116
@ REPLY_GPIO_STATE
Definition: commands_3dm.hpp:134
@ REPLY_EVENT_SUPPORT
Definition: commands_3dm.hpp:125
@ REPLY_DATASTREAM_FORMAT
Definition: commands_3dm.hpp:99
@ CMD_LEGACY_COMP_FILTER
Definition: commands_3dm.hpp:82
@ CMD_CONTROL_DATA_STREAM
Definition: commands_3dm.hpp:49
@ ALL
Only allowed for SAVE, LOAD, and DEFAULT function selectors.
@ ACCEL
Accelerometer. Range is specified in g.
@ PRESS
Pressure sensor. Range is specified in hPa.
@ MAG
Magnetometer. Range is specified in Gauss.
@ GYRO
Gyroscope. Range is specified in degrees/s.
struct mip::C::mip_interface mip_interface
State of the interface for communicating with a MIP device.
A collection of C++ classes and functions covering the full mip api.
Definition: commands_3dm.c:11
FunctionSelector
Definition: descriptors.h:102
A dummy struct which is used to mark bitfield objects.
Definition: descriptors.h:95
Definition: descriptors.h:56
State of the interface for communicating with a MIP device.
Definition: mip_interface.h:52
Represents the status of a MIP command.
Definition: mip_result.h:67
Definition: commands_3dm.hpp:1815
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1816
float bias[3]
accelerometer bias in the sensor frame (x,y,z) [g]
Definition: commands_3dm.hpp:1819
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1817
Definition: commands_3dm.hpp:1801
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:1806
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:1805
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:1809
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:1807
float bias[3]
accelerometer bias in the sensor frame (x,y,z) [g]
Definition: commands_3dm.hpp:1812
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:1808
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1803
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1802
Definition: commands_3dm.hpp:1043
uint16_t frequency
The cutoff frequency of the filter. If the filter is in auto mode, this value is unspecified.
Definition: commands_3dm.hpp:1050
uint8_t reserved
Reserved and must be ignored.
Definition: commands_3dm.hpp:1051
uint8_t target_descriptor
Definition: commands_3dm.hpp:1047
bool enable
True if the filter is currently enabled.
Definition: commands_3dm.hpp:1048
bool manual
True if the filter cutoff was manually configured.
Definition: commands_3dm.hpp:1049
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1044
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1045
Definition: commands_3dm.hpp:1025
bool enable
The target data will be filtered if this is true.
Definition: commands_3dm.hpp:1037
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:1030
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1027
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:1033
uint8_t target_descriptor
Field descriptor of filtered quantity within the Sensor data set. Supported values are accel (0x04),...
Definition: commands_3dm.hpp:1036
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:1032
uint16_t frequency
-3dB cutoff frequency in Hz. Will not affect filtering if 'manual' is false.
Definition: commands_3dm.hpp:1039
bool manual
If false, the cutoff frequency is set to half of the streaming rate as configured by the message form...
Definition: commands_3dm.hpp:1038
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:1029
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:1031
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1026
uint8_t reserved
Reserved, set to 0x00.
Definition: commands_3dm.hpp:1040
Definition: commands_3dm.hpp:2354
float range
The actual range value. Units depend on the sensor type.
Definition: commands_3dm.hpp:2356
uint8_t setting
The value used in the 3DM Sensor Range command and response.
Definition: commands_3dm.hpp:2355
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:2364
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:2363
uint8_t num_ranges
Number of supported ranges.
Definition: commands_3dm.hpp:2367
SensorRangeType sensor
The sensor type from the command.
Definition: commands_3dm.hpp:2366
Entry ranges[50]
List of possible range settings.
Definition: commands_3dm.hpp:2368
Definition: commands_3dm.hpp:2347
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:2348
SensorRangeType sensor
The sensor to query. Cannot be ALL.
Definition: commands_3dm.hpp:2359
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:2349
static const bool HAS_FUNCTION_SELECTOR
Definition: commands_3dm.hpp:2351
Definition: commands_3dm.hpp:1901
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1902
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1903
float bias[3]
gyro bias in the sensor frame (x,y,z) [radians/second]
Definition: commands_3dm.hpp:1905
Definition: commands_3dm.hpp:1892
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1894
uint16_t averaging_time_ms
Averaging time [milliseconds].
Definition: commands_3dm.hpp:1898
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1893
static const bool HAS_FUNCTION_SELECTOR
Definition: commands_3dm.hpp:1896
Definition: commands_3dm.hpp:2262
float pitch_roll_time_constant
Time constant associated with the pitch/roll corrections [s].
Definition: commands_3dm.hpp:2268
bool pitch_roll_enable
Enable Pitch/Roll corrections.
Definition: commands_3dm.hpp:2266
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:2263
bool heading_enable
Enable Heading corrections (only available on devices with magnetometer)
Definition: commands_3dm.hpp:2267
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:2264
float heading_time_constant
Time constant associated with the heading corrections [s].
Definition: commands_3dm.hpp:2269
Definition: commands_3dm.hpp:2245
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:2251
bool pitch_roll_enable
Enable Pitch/Roll corrections.
Definition: commands_3dm.hpp:2256
bool heading_enable
Enable Heading corrections (only available on devices with magnetometer)
Definition: commands_3dm.hpp:2257
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:2246
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:2249
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:2253
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:2247
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:2252
float pitch_roll_time_constant
Time constant associated with the pitch/roll corrections [s].
Definition: commands_3dm.hpp:2258
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:2250
float heading_time_constant
Time constant associated with the heading corrections [s].
Definition: commands_3dm.hpp:2259
Definition: commands_3dm.hpp:866
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:867
bool enabled
Definition: commands_3dm.hpp:871
uint8_t desc_set
Definition: commands_3dm.hpp:870
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:868
Definition: commands_3dm.hpp:847
static const uint8_t ALL_STREAMS
Definition: commands_3dm.hpp:860
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:849
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:855
static const uint8_t LEGACY_GNSS_STREAM
Definition: commands_3dm.hpp:858
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:853
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:848
static const uint8_t LEGACY_FILTER_STREAM
Definition: commands_3dm.hpp:859
uint8_t desc_set
The descriptor set of the stream to control. When function is SAVE, LOAD, or DEFAULT,...
Definition: commands_3dm.hpp:862
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:851
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:852
static const uint8_t LEGACY_IMU_STREAM
Definition: commands_3dm.hpp:857
bool enable
True or false to enable or disable the stream.
Definition: commands_3dm.hpp:863
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:854
Definition: commands_3dm.hpp:725
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:731
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:732
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:726
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:727
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:730
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:733
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:729
Definition: commands_3dm.hpp:1718
Mode
Definition: commands_3dm.hpp:1720
@ DISABLED
Pin state will not be changed.
@ TOGGLE
Pin will change to the opposite state each time the trigger activates.
@ ONESHOT_LOW
Pin will be set low each time the trigger activates. It will not be set high.
@ ONESHOT_HIGH
Pin will be set high each time the trigger activates. It will not be set low.
@ ACTIVE_HIGH
Pin will be set high when the trigger is active and low otherwise.
@ ACTIVE_LOW
Pin will be set low when the trigger is active and high otherwise.
uint8_t pin
GPIO pin number.
Definition: commands_3dm.hpp:1729
Mode mode
Behavior of the pin.
Definition: commands_3dm.hpp:1730
Definition: commands_3dm.hpp:1734
uint16_t decimation
Decimation from the base rate. If 0, a packet is emitted each time the trigger activates....
Definition: commands_3dm.hpp:1736
uint8_t desc_set
MIP data descriptor set.
Definition: commands_3dm.hpp:1735
uint8_t descriptors[20]
List of field descriptors.
Definition: commands_3dm.hpp:1738
uint8_t num_fields
Number of mip fields in the packet. Limited to 12.
Definition: commands_3dm.hpp:1737
Definition: commands_3dm.hpp:1762
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1763
Type type
Type of action to configure.
Definition: commands_3dm.hpp:1768
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1764
uint8_t instance
Action number. When function is SAVE, LOAD, or DEFAULT, this can be 0 to apply to all instances.
Definition: commands_3dm.hpp:1766
Parameters parameters
Definition: commands_3dm.hpp:1769
uint8_t trigger
Trigger ID number.
Definition: commands_3dm.hpp:1767
Definition: commands_3dm.hpp:1707
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1709
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:1712
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:1714
Parameters parameters
Definition: commands_3dm.hpp:1759
uint8_t trigger
Trigger ID number.
Definition: commands_3dm.hpp:1757
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1708
Type type
Type of action to configure.
Definition: commands_3dm.hpp:1758
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:1715
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:1713
uint8_t instance
Action number. When function is SAVE, LOAD, or DEFAULT, this can be 0 to apply to all instances.
Definition: commands_3dm.hpp:1756
Type
Definition: commands_3dm.hpp:1742
@ MESSAGE
Output a data packet. See MessageParameters.
@ GPIO
Control the state of a GPIO pin. See GpioParameters.
@ NONE
No action. Parameters should be empty.
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:1711
Definition: commands_3dm.hpp:1444
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1446
Mode mode
How to change the trigger state. Except when instance is 0, the corresponding trigger must be configu...
Definition: commands_3dm.hpp:1449
uint8_t instance
Trigger instance to affect. 0 can be used to apply the mode to all configured triggers,...
Definition: commands_3dm.hpp:1448
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1445
Definition: commands_3dm.hpp:1421
Mode
Definition: commands_3dm.hpp:1432
@ TEST
Forces the trigger to the active state for testing purposes.
@ TEST_PULSE
Trigger is forced to the active state for one event cycle only. After the test cycle,...
@ ENABLED
Trigger is enabled and will work normally.
uint8_t instance
Trigger instance to affect. 0 can be used to apply the mode to all configured triggers,...
Definition: commands_3dm.hpp:1440
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1423
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1422
Mode mode
How to change the trigger state. Except when instance is 0, the corresponding trigger must be configu...
Definition: commands_3dm.hpp:1441
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:1428
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:1425
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:1427
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:1429
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:1426
static const uint16_t LOGIC_XOR_ONE
Definition: commands_3dm.hpp:1634
static const uint16_t LOGIC_OR
Definition: commands_3dm.hpp:1632
uint16_t logic_table
The last column of a truth table describing the output given the state of each input.
Definition: commands_3dm.hpp:1642
static const uint16_t LOGIC_AB_OR_C
Definition: commands_3dm.hpp:1640
static const uint16_t LOGIC_ONLY_D
Definition: commands_3dm.hpp:1638
static const uint16_t LOGIC_ONLY_B
Definition: commands_3dm.hpp:1636
static const uint16_t LOGIC_NONE
Definition: commands_3dm.hpp:1631
static const uint16_t LOGIC_AND_AB
Definition: commands_3dm.hpp:1639
static const uint16_t LOGIC_ONLY_A
Definition: commands_3dm.hpp:1635
static const uint16_t LOGIC_ONLY_C
Definition: commands_3dm.hpp:1637
static const uint16_t LOGIC_NEVER
Definition: commands_3dm.hpp:1629
static const uint16_t LOGIC_AND
Definition: commands_3dm.hpp:1641
uint8_t input_triggers[4]
List of trigger IDs for inputs. Use 0 for unused inputs.
Definition: commands_3dm.hpp:1643
static const uint16_t LOGIC_ALWAYS
Definition: commands_3dm.hpp:1630
static const uint16_t LOGIC_NAND
Definition: commands_3dm.hpp:1633
Definition: commands_3dm.hpp:1590
Mode mode
How the pin state affects the trigger.
Definition: commands_3dm.hpp:1600
Mode
Definition: commands_3dm.hpp:1592
@ DISABLED
The pin will have no effect and the trigger will never activate.
@ EDGE
Use if the pin is configured for timestamping via the 3DM Gpio Configuration command (0x0C41).
@ WHILE_LOW
The trigger will be active while the pin is low.
@ WHILE_HIGH
The trigger will be active while the pin is high.
uint8_t pin
GPIO pin number.
Definition: commands_3dm.hpp:1599
Definition: commands_3dm.hpp:1668
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1670
Parameters parameters
Definition: commands_3dm.hpp:1674
Type type
Type of trigger to configure.
Definition: commands_3dm.hpp:1673
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1669
uint8_t instance
Trigger number. When function is SAVE, LOAD, or DEFAULT, this can be 0 to apply to all instances.
Definition: commands_3dm.hpp:1672
Definition: commands_3dm.hpp:1604
double high_thres
Definition: commands_3dm.hpp:1622
uint8_t field_desc
Field descriptor of target data quantity.
Definition: commands_3dm.hpp:1612
double low_thres
Definition: commands_3dm.hpp:1617
double interval
Definition: commands_3dm.hpp:1623
double int_thres
Definition: commands_3dm.hpp:1618
uint8_t desc_set
Descriptor set of target data quantity.
Definition: commands_3dm.hpp:1611
uint8_t param_id
1-based index of the target parameter within the MIP field. E.g. for Scaled Accel (0x80,...
Definition: commands_3dm.hpp:1613
Type type
Determines the type of comparison.
Definition: commands_3dm.hpp:1614
Type
Definition: commands_3dm.hpp:1606
@ INTERVAL
Trigger at evenly-spaced intervals. Normally used with time fields to trigger periodically....
@ WINDOW
Window comparison. Trigger is active if low_thres <= value <= high_thres. If the thresholds are rever...
Definition: commands_3dm.hpp:1579
Parameters parameters
Definition: commands_3dm.hpp:1665
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1581
Type type
Type of trigger to configure.
Definition: commands_3dm.hpp:1664
uint8_t instance
Trigger number. When function is SAVE, LOAD, or DEFAULT, this can be 0 to apply to all instances.
Definition: commands_3dm.hpp:1663
Type
Definition: commands_3dm.hpp:1647
@ THRESHOLD
Compare a data quantity against a high and low threshold. See ThresholdParams.
@ COMBINATION
Logical combination of two or more triggers. See CombinationParams.
@ GPIO
Trigger based on the state of a GPIO pin. See GpioParams.
@ NONE
No trigger selected. The state will always be inactive.
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1580
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:1585
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:1586
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:1584
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:1587
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:1583
Definition: commands_3dm.hpp:812
Action
Definition: commands_3dm.hpp:819
@ OVERWRITE
Replaces the message format(s), removing any existing descriptors.
@ MERGE
Merges support descriptors into existing format(s). May reorder descriptors.
@ ADD
Adds descriptors to the current message format(s) without changing existing descriptors....
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:813
Action action
Definition: commands_3dm.hpp:825
uint8_t reserved
Reserved. Set to 0x00.
Definition: commands_3dm.hpp:826
static const bool HAS_FUNCTION_SELECTOR
Definition: commands_3dm.hpp:816
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:814
Definition: commands_3dm.hpp:509
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:510
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:511
uint16_t rate
[hz]
Definition: commands_3dm.hpp:513
Definition: commands_3dm.hpp:501
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:503
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:502
static const bool HAS_FUNCTION_SELECTOR
Definition: commands_3dm.hpp:505
Definition: commands_3dm.hpp:399
uint8_t num_descriptors
Number of descriptors (limited by payload size)
Definition: commands_3dm.hpp:403
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:401
DescriptorRate * descriptors
Definition: commands_3dm.hpp:404
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:400
Definition: commands_3dm.hpp:384
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:389
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:391
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:385
uint8_t num_descriptors
Number of descriptors (limited by payload size)
Definition: commands_3dm.hpp:395
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:392
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:388
DescriptorRate * descriptors
Definition: commands_3dm.hpp:396
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:390
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:386
Definition: commands_3dm.hpp:574
uint16_t rate
Base rate in Hz (0 = variable, unknown, or user-defined rate. Data will be sent when received).
Definition: commands_3dm.hpp:579
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:575
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:576
uint8_t desc_set
Echoes the parameter in the command.
Definition: commands_3dm.hpp:578
Definition: commands_3dm.hpp:565
static const bool HAS_FUNCTION_SELECTOR
Definition: commands_3dm.hpp:569
uint8_t desc_set
This is the data descriptor set. It must be a supported descriptor.
Definition: commands_3dm.hpp:571
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:566
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:567
Definition: commands_3dm.hpp:1542
uint8_t action_type
Configured action type.
Definition: commands_3dm.hpp:1543
uint8_t trigger_id
Associated trigger instance.
Definition: commands_3dm.hpp:1544
Definition: commands_3dm.hpp:1551
Entry actions[20]
A list of the configured actions. Entries are in the order requested, or in increasing order if count...
Definition: commands_3dm.hpp:1556
uint8_t count
Number of entries requested. If requested_count was 0, this is the number of supported action slots.
Definition: commands_3dm.hpp:1555
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1552
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1553
Definition: commands_3dm.hpp:1535
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1537
uint8_t requested_instances[20]
List of action instances to query.
Definition: commands_3dm.hpp:1548
uint8_t requested_count
Number of entries requested. If 0, requests all action slots.
Definition: commands_3dm.hpp:1547
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1536
static const bool HAS_FUNCTION_SELECTOR
Definition: commands_3dm.hpp:1539
Definition: commands_3dm.hpp:1374
uint8_t type
Trigger or action type, as defined in the respective setup command.
Definition: commands_3dm.hpp:1375
uint8_t count
This is the maximum number of instances supported for this type.
Definition: commands_3dm.hpp:1376
Definition: commands_3dm.hpp:1382
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1383
Query query
Query type specified in the command.
Definition: commands_3dm.hpp:1386
Info entries[126]
List of supported types.
Definition: commands_3dm.hpp:1389
uint8_t max_instances
Number of slots available. The 'instance' number for the configuration or control commands must be be...
Definition: commands_3dm.hpp:1387
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1384
uint8_t num_entries
Number of supported types.
Definition: commands_3dm.hpp:1388
Definition: commands_3dm.hpp:1361
Query query
What type of information to retrieve.
Definition: commands_3dm.hpp:1379
static const bool HAS_FUNCTION_SELECTOR
Definition: commands_3dm.hpp:1365
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1363
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1362
Query
Definition: commands_3dm.hpp:1368
@ ACTION_TYPES
Query the supported action types and max count for each.
@ TRIGGER_TYPES
Query the supported trigger types and max count for each.
Definition: commands_3dm.hpp:1499
Status status
Trigger status.
Definition: commands_3dm.hpp:1501
uint8_t type
Configured trigger type.
Definition: commands_3dm.hpp:1500
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1509
uint8_t count
Number of entries requested. If requested_count was 0, this is the number of supported trigger slots.
Definition: commands_3dm.hpp:1512
Entry triggers[20]
A list of the configured triggers. Entries are in the order requested, or in increasing order if coun...
Definition: commands_3dm.hpp:1513
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1510
Definition: commands_3dm.hpp:1479
Status & operator=(uint8_t val)
Definition: commands_3dm.hpp:1492
Status(int val)
Definition: commands_3dm.hpp:1490
Status & operator&=(uint8_t val)
Definition: commands_3dm.hpp:1495
Status()
Definition: commands_3dm.hpp:1489
Status & operator|=(uint8_t val)
Definition: commands_3dm.hpp:1494
_enumType
Definition: commands_3dm.hpp:1481
@ NONE
Definition: commands_3dm.hpp:1482
@ ENABLED
True if the trigger is enabled.
Definition: commands_3dm.hpp:1484
@ ACTIVE
True if the trigger is currently active (either due to its logic or being in test mode).
Definition: commands_3dm.hpp:1483
@ TEST
True if the trigger is in test mode.
Definition: commands_3dm.hpp:1485
uint8_t value
Definition: commands_3dm.hpp:1487
Status & operator=(int val)
Definition: commands_3dm.hpp:1493
Definition: commands_3dm.hpp:1472
static const bool HAS_FUNCTION_SELECTOR
Definition: commands_3dm.hpp:1476
uint8_t requested_instances[20]
List of trigger instances to query.
Definition: commands_3dm.hpp:1505
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1473
uint8_t requested_count
Number of entries requested. If 0, requests all trigger slots.
Definition: commands_3dm.hpp:1504
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1474
Definition: commands_3dm.hpp:935
SBASOptions sbas_options
SBAS options, see definition.
Definition: commands_3dm.hpp:940
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:936
uint16_t * included_prns
List of specific SBAS PRNs to search for.
Definition: commands_3dm.hpp:942
uint8_t enable_sbas
0 - SBAS Disabled, 1 - SBAS enabled
Definition: commands_3dm.hpp:939
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:937
uint8_t num_included_prns
Number of SBAS PRNs to include in search (0 = include all)
Definition: commands_3dm.hpp:941
Definition: commands_3dm.hpp:909
SBASOptions & operator=(uint16_t val)
Definition: commands_3dm.hpp:922
SBASOptions(int val)
Definition: commands_3dm.hpp:920
uint16_t value
Definition: commands_3dm.hpp:917
_enumType
Definition: commands_3dm.hpp:911
@ ENABLE_RANGING
Use SBAS pseudoranges in position solution.
Definition: commands_3dm.hpp:913
@ APPLY_INTEGRITY
Use SBAS integrity information. If enabled, only GPS satellites for which integrity information is av...
Definition: commands_3dm.hpp:915
@ NONE
Definition: commands_3dm.hpp:912
@ ENABLE_CORRECTIONS
Use SBAS differential corrections.
Definition: commands_3dm.hpp:914
SBASOptions & operator=(int val)
Definition: commands_3dm.hpp:923
SBASOptions()
Definition: commands_3dm.hpp:919
SBASOptions & operator|=(uint16_t val)
Definition: commands_3dm.hpp:924
SBASOptions & operator&=(uint16_t val)
Definition: commands_3dm.hpp:925
Definition: commands_3dm.hpp:898
uint8_t num_included_prns
Number of SBAS PRNs to include in search (0 = include all)
Definition: commands_3dm.hpp:931
uint16_t * included_prns
List of specific SBAS PRNs to search for.
Definition: commands_3dm.hpp:932
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:899
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:900
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:903
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:906
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:905
SBASOptions sbas_options
SBAS options, see definition.
Definition: commands_3dm.hpp:930
uint8_t enable_sbas
0 - SBAS Disabled, 1 - SBAS enabled
Definition: commands_3dm.hpp:929
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:904
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:902
Definition: commands_3dm.hpp:985
float accuracy
Accuracy of time information [seconds].
Definition: commands_3dm.hpp:991
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:987
uint16_t week_number
GPS Weeks since 1980 [weeks].
Definition: commands_3dm.hpp:990
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:986
double tow
GPS Time of week [seconds].
Definition: commands_3dm.hpp:989
Definition: commands_3dm.hpp:969
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:976
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:973
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:970
double tow
GPS Time of week [seconds].
Definition: commands_3dm.hpp:980
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:975
uint16_t week_number
GPS Weeks since 1980 [weeks].
Definition: commands_3dm.hpp:981
float accuracy
Accuracy of time information [seconds].
Definition: commands_3dm.hpp:982
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:974
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:977
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:971
Definition: commands_3dm.hpp:1179
_enumType
Definition: commands_3dm.hpp:1181
@ OPEN_DRAIN
The pin will be an open-drain output. The state will be either LOW or FLOATING instead of LOW or HIGH...
Definition: commands_3dm.hpp:1183
@ PULLUP
The pin will have an internal pullup resistor enabled. Useful for connecting inputs to signals which ...
Definition: commands_3dm.hpp:1185
@ NONE
Definition: commands_3dm.hpp:1182
@ PULLDOWN
The pin will have an internal pulldown resistor enabled. This is useful for connecting inputs to sign...
Definition: commands_3dm.hpp:1184
PinMode & operator|=(uint8_t val)
Definition: commands_3dm.hpp:1194
PinMode(int val)
Definition: commands_3dm.hpp:1190
PinMode & operator&=(uint8_t val)
Definition: commands_3dm.hpp:1195
PinMode & operator=(int val)
Definition: commands_3dm.hpp:1193
uint8_t value
Definition: commands_3dm.hpp:1187
PinMode & operator=(uint8_t val)
Definition: commands_3dm.hpp:1192
PinMode()
Definition: commands_3dm.hpp:1189
Definition: commands_3dm.hpp:1205
uint8_t pin
GPIO pin number counting from 1. For save, load, and default function selectors, this can be 0 to sel...
Definition: commands_3dm.hpp:1209
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1206
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1207
Behavior behavior
Select an appropriate value from the enumeration based on the selected feature (e....
Definition: commands_3dm.hpp:1211
Feature feature
Determines how the pin will be used.
Definition: commands_3dm.hpp:1210
PinMode pin_mode
GPIO configuration. May be restricted depending on device, pin, feature, and behavior....
Definition: commands_3dm.hpp:1212
Definition: commands_3dm.hpp:1142
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1143
Feature
Definition: commands_3dm.hpp:1153
@ PPS
Pulse per second input or output.
@ UNUSED
The pin is not used. It may be technically possible to read the pin state in this mode,...
@ TIMESTAMP
Precision Timestamping. Use with Event Trigger Configuration (0x0C,0x2E).
@ ENCODER
Motor encoder/odometer input.
@ GPIO
General purpose input or output. Use this for direct control of pin output state or to stream the sta...
@ POWER
Controls the device power state (e.g. enter low power mode).
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:1146
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:1149
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1144
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:1147
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:1148
Feature feature
Determines how the pin will be used.
Definition: commands_3dm.hpp:1200
PinMode pin_mode
GPIO configuration. May be restricted depending on device, pin, feature, and behavior....
Definition: commands_3dm.hpp:1202
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:1150
Behavior
Definition: commands_3dm.hpp:1163
@ UNUSED
Use 0 unless otherwise specified.
@ ENCODER_A
Encoder "A" quadrature input. Only one pin can have this behavior. The last command to set this behav...
@ GPIO_OUTPUT_LOW
Pin is an output initially in the LOW state. This state will be restored during system startup if the...
@ POWER_SHUTDOWN
A logic 1 applied to the pin will place the device in low-power mode. A full restart is executed afte...
@ PPS_INPUT
Pin will receive the pulse-per-second signal. Only one pin can have this behavior....
@ GPIO_OUTPUT_HIGH
Pin is an output initially in the HIGH state. This state will be restored during system startup if th...
@ TIMESTAMP_EITHER
Both rising and falling edges will be timestamped.
@ TIMESTAMP_FALLING
Falling edges will be timestamped.
@ ENCODER_B
Encoder "B" quadrature input. Only one pin can have this behavior. The last command to set this behav...
@ PPS_OUTPUT
Pin will transmit the pulse-per-second signal from the device.
@ GPIO_INPUT
Pin will be an input. This can be used to stream or poll the value and is the default setting.
@ TIMESTAMP_RISING
Rising edges will be timestamped.
Behavior behavior
Select an appropriate value from the enumeration based on the selected feature (e....
Definition: commands_3dm.hpp:1201
uint8_t pin
GPIO pin number counting from 1. For save, load, and default function selectors, this can be 0 to sel...
Definition: commands_3dm.hpp:1199
Definition: commands_3dm.hpp:1266
bool state
The pin state.
Definition: commands_3dm.hpp:1271
uint8_t pin
GPIO pin number counting from 1. Cannot be 0.
Definition: commands_3dm.hpp:1270
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1268
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1267
Definition: commands_3dm.hpp:1251
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1253
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:1259
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:1256
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:1257
uint8_t pin
GPIO pin number counting from 1. Cannot be 0.
Definition: commands_3dm.hpp:1262
bool state
The pin state.
Definition: commands_3dm.hpp:1263
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1252
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:1255
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:1258
Definition: commands_3dm.hpp:474
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:475
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:476
uint16_t rate
[hz]
Definition: commands_3dm.hpp:478
Definition: commands_3dm.hpp:466
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:467
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:468
static const bool HAS_FUNCTION_SELECTOR
Definition: commands_3dm.hpp:470
Definition: commands_3dm.hpp:353
uint8_t num_descriptors
Number of descriptors.
Definition: commands_3dm.hpp:357
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:355
DescriptorRate * descriptors
Descriptor format list.
Definition: commands_3dm.hpp:358
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:354
Definition: commands_3dm.hpp:338
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:339
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:345
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:344
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:346
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:343
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:342
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:340
DescriptorRate * descriptors
Descriptor format list.
Definition: commands_3dm.hpp:350
uint8_t num_descriptors
Number of descriptors.
Definition: commands_3dm.hpp:349
Definition: commands_3dm.hpp:1859
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1861
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1860
float bias[3]
gyro bias in the sensor frame (x,y,z) [radians/second]
Definition: commands_3dm.hpp:1863
Definition: commands_3dm.hpp:1845
float bias[3]
gyro bias in the sensor frame (x,y,z) [radians/second]
Definition: commands_3dm.hpp:1856
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:1851
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:1849
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1847
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:1850
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1846
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:1852
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:1853
Definition: commands_3dm.hpp:439
uint16_t rate
[hz]
Definition: commands_3dm.hpp:443
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:441
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:440
Definition: commands_3dm.hpp:431
static const bool HAS_FUNCTION_SELECTOR
Definition: commands_3dm.hpp:435
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:432
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:433
Definition: commands_3dm.hpp:307
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:308
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:309
DescriptorRate * descriptors
Descriptor format list.
Definition: commands_3dm.hpp:312
uint8_t num_descriptors
Number of descriptors.
Definition: commands_3dm.hpp:311
Definition: commands_3dm.hpp:292
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:299
uint8_t num_descriptors
Number of descriptors.
Definition: commands_3dm.hpp:303
DescriptorRate * descriptors
Descriptor format list.
Definition: commands_3dm.hpp:304
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:294
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:296
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:293
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:297
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:298
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:300
Definition: commands_3dm.hpp:1945
float offset[3]
hard iron offset in the sensor frame (x,y,z) [Gauss]
Definition: commands_3dm.hpp:1949
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1946
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1947
Definition: commands_3dm.hpp:1931
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:1936
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:1937
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1933
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:1938
float offset[3]
hard iron offset in the sensor frame (x,y,z) [Gauss]
Definition: commands_3dm.hpp:1942
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:1935
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:1939
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1932
Definition: commands_3dm.hpp:1997
float offset[9]
soft iron matrix [dimensionless]
Definition: commands_3dm.hpp:2001
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1998
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1999
Definition: commands_3dm.hpp:1983
float offset[9]
soft iron matrix [dimensionless]
Definition: commands_3dm.hpp:1994
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:1990
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1985
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:1989
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:1988
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1984
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:1991
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:1987
Definition: commands_3dm.hpp:617
uint8_t desc_set
Echoes the descriptor set from the command.
Definition: commands_3dm.hpp:621
DescriptorRate * descriptors
List of descriptors and decimations.
Definition: commands_3dm.hpp:623
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:618
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:619
uint8_t num_descriptors
Number of descriptors in the list.
Definition: commands_3dm.hpp:622
Definition: commands_3dm.hpp:601
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:602
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:607
uint8_t num_descriptors
Number of descriptors (limited by payload size)
Definition: commands_3dm.hpp:613
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:605
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:608
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:606
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:603
uint8_t desc_set
Data descriptor set. Must be supported. When function is SAVE, LOAD, or DEFAULT, can be 0 to apply to...
Definition: commands_3dm.hpp:612
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:609
DescriptorRate * descriptors
List of descriptors and decimations.
Definition: commands_3dm.hpp:614
Definition: commands_3dm.hpp:692
NmeaMessage * format_entries
List of format entries.
Definition: commands_3dm.hpp:697
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:693
uint8_t count
Number of format entries (limited by payload size)
Definition: commands_3dm.hpp:696
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:694
Definition: commands_3dm.hpp:677
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:679
uint8_t count
Number of format entries (limited by payload size)
Definition: commands_3dm.hpp:688
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:684
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:683
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:678
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:685
NmeaMessage * format_entries
List of format entries.
Definition: commands_3dm.hpp:689
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:681
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:682
Definition: commands_3dm.hpp:145
MessageID message_id
Message type (GGA, GLL, etc)
Definition: commands_3dm.hpp:167
uint8_t source_desc_set
Data source descriptor set (Filter, GNSS, etc)
Definition: commands_3dm.hpp:169
TalkerID
Definition: commands_3dm.hpp:160
@ GALILEO
NMEA message will be produced with talker id "GA".
@ GLONASS
NMEA message will be produced with talker id "GL".
@ GPS
NMEA message will be produced with talker id "GP".
@ GNSS
NMEA message will be produced with talker id "GN".
TalkerID talker_id
Talker ID (GN, GP, etc)
Definition: commands_3dm.hpp:168
uint16_t decimation
Decimation from the base rate of the source descriptor set.
Definition: commands_3dm.hpp:170
MessageID
Definition: commands_3dm.hpp:147
@ PRKR
Parker proprietary Angular Rate/Acceleration.
@ RMC
Recommended Minimum Specific GNSS Data.
@ PRKA
Parker proprietary Euler angles.
@ GLL
Geographic Position Lat/Lon.
Definition: commands_3dm.hpp:653
uint8_t count
Number of format entries (limited by payload size)
Definition: commands_3dm.hpp:660
static const bool HAS_FUNCTION_SELECTOR
Definition: commands_3dm.hpp:657
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:654
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:655
NmeaMessage * format_entries
List of format entries.
Definition: commands_3dm.hpp:661
bool suppress_ack
Suppress the usual ACK/NACK reply.
Definition: commands_3dm.hpp:659
Definition: commands_3dm.hpp:1315
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1316
float scaling
Encoder pulses per meter of distance traveled [pulses/m]. Distance traveled is computed using the for...
Definition: commands_3dm.hpp:1320
Mode mode
Mode setting.
Definition: commands_3dm.hpp:1319
float uncertainty
Uncertainty in encoder counts to distance translation (1-sigma value) [m/m].
Definition: commands_3dm.hpp:1321
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1317
Definition: commands_3dm.hpp:1293
Mode
Definition: commands_3dm.hpp:1304
@ QUADRATURE
Quadrature encoder mode.
@ DISABLED
Encoder is disabled.
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:1297
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:1298
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:1299
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:1300
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1294
float uncertainty
Uncertainty in encoder counts to distance translation (1-sigma value) [m/m].
Definition: commands_3dm.hpp:1312
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:1301
Mode mode
Mode setting.
Definition: commands_3dm.hpp:1310
float scaling
Encoder pulses per meter of distance traveled [pulses/m]. Distance traveled is computed using the for...
Definition: commands_3dm.hpp:1311
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1295
Definition: commands_3dm.hpp:540
static const bool HAS_FUNCTION_SELECTOR
Definition: commands_3dm.hpp:544
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:541
uint8_t * descriptors
Descriptor format list.
Definition: commands_3dm.hpp:549
bool suppress_ack
Suppress the usual ACK/NACK reply.
Definition: commands_3dm.hpp:547
uint8_t desc_set
Data descriptor set. Must be supported.
Definition: commands_3dm.hpp:546
uint8_t num_descriptors
Number of descriptors in the format list.
Definition: commands_3dm.hpp:548
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:542
Definition: commands_3dm.hpp:266
bool suppress_ack
Suppress the usual ACK/NACK reply.
Definition: commands_3dm.hpp:272
static const bool HAS_FUNCTION_SELECTOR
Definition: commands_3dm.hpp:270
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:267
DescriptorRate * descriptors
Descriptor format list.
Definition: commands_3dm.hpp:274
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:268
uint8_t num_descriptors
Number of descriptors in the format list.
Definition: commands_3dm.hpp:273
Definition: commands_3dm.hpp:235
static const bool HAS_FUNCTION_SELECTOR
Definition: commands_3dm.hpp:239
bool suppress_ack
Suppress the usual ACK/NACK reply.
Definition: commands_3dm.hpp:241
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:236
DescriptorRate * descriptors
Descriptor list.
Definition: commands_3dm.hpp:243
uint8_t num_descriptors
Number of descriptors in the descriptor list.
Definition: commands_3dm.hpp:242
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:237
Definition: commands_3dm.hpp:204
static const bool HAS_FUNCTION_SELECTOR
Definition: commands_3dm.hpp:208
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:206
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:205
bool suppress_ack
Suppress the usual ACK/NACK reply.
Definition: commands_3dm.hpp:210
DescriptorRate * descriptors
Descriptor list.
Definition: commands_3dm.hpp:212
uint8_t num_descriptors
Number of descriptors in the descriptor list.
Definition: commands_3dm.hpp:211
Definition: commands_3dm.hpp:1098
Source source
Definition: commands_3dm.hpp:1102
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1100
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1099
Definition: commands_3dm.hpp:1075
Source source
Definition: commands_3dm.hpp:1095
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:1083
Source
Definition: commands_3dm.hpp:1086
@ DISABLED
PPS output is disabled. Not valid for PPS source command.
@ GENERATED
PPS is generated from the system oscillator.
@ RECEIVER_2
PPS is provided by GNSS receiver 2.
@ RECEIVER_1
PPS is provided by GNSS receiver 1.
@ GPIO
PPS is provided to an external GPIO pin. Use the GPIO Setup command to choose and configure the pin.
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:1080
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:1076
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:1082
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:1077
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:1081
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:1079
float dcm[9]
3 x 3 direction cosine matrix, stored in row-major order
Definition: commands_3dm.hpp:2217
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:2214
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:2215
Definition: commands_3dm.hpp:2199
float dcm[9]
3 x 3 direction cosine matrix, stored in row-major order
Definition: commands_3dm.hpp:2210
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:2201
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:2207
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:2200
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:2205
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:2203
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:2204
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:2206
float roll
[radians]
Definition: commands_3dm.hpp:2069
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:2067
float yaw
[radians]
Definition: commands_3dm.hpp:2071
float pitch
[radians]
Definition: commands_3dm.hpp:2070
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:2066
Definition: commands_3dm.hpp:2049
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:2055
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:2056
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:2050
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:2053
float roll
[radians]
Definition: commands_3dm.hpp:2060
float pitch
[radians]
Definition: commands_3dm.hpp:2061
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:2057
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:2051
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:2054
float yaw
[radians]
Definition: commands_3dm.hpp:2062
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:2143
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:2142
float q[4]
Unit length quaternion representing transform [w, i, j, k].
Definition: commands_3dm.hpp:2145
float q[4]
Unit length quaternion representing transform [w, i, j, k].
Definition: commands_3dm.hpp:2138
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:2132
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:2134
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:2131
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:2128
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:2129
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:2135
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:2133
Definition: commands_3dm.hpp:2315
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:2316
SensorRangeType sensor
Which type of sensor will get the new range value.
Definition: commands_3dm.hpp:2319
uint8_t setting
Use the 3DM Get Calibrated Sensor Ranges (0x0C,0x53) command to determine this value.
Definition: commands_3dm.hpp:2320
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:2317
Definition: commands_3dm.hpp:2300
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:2302
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:2308
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:2304
SensorRangeType sensor
Which type of sensor will get the new range value.
Definition: commands_3dm.hpp:2311
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:2306
uint8_t setting
Use the 3DM Get Calibrated Sensor Ranges (0x0C,0x53) command to determine this value.
Definition: commands_3dm.hpp:2312
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:2305
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:2301
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:2307
Definition: commands_3dm.hpp:781
uint32_t baud
Definition: commands_3dm.hpp:785
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:783
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:782
Definition: commands_3dm.hpp:767
static const bool HAS_SAVE_FUNCTION
Definition: commands_3dm.hpp:773
static const bool HAS_WRITE_FUNCTION
Definition: commands_3dm.hpp:771
uint32_t baud
Definition: commands_3dm.hpp:778
static const bool HAS_LOAD_FUNCTION
Definition: commands_3dm.hpp:774
static const bool HAS_RESET_FUNCTION
Definition: commands_3dm.hpp:775
static const uint8_t DESCRIPTOR_SET
Definition: commands_3dm.hpp:768
static const uint8_t FIELD_DESCRIPTOR
Definition: commands_3dm.hpp:769
static const bool HAS_READ_FUNCTION
Definition: commands_3dm.hpp:772
Definition: commands_3dm.hpp:1749
Parameters()
Definition: commands_3dm.hpp:1750
GpioParams gpio
Definition: commands_3dm.hpp:1751
MessageParams message
Definition: commands_3dm.hpp:1752
Definition: commands_3dm.hpp:1655
GpioParams gpio
Definition: commands_3dm.hpp:1657
ThresholdParams threshold
Definition: commands_3dm.hpp:1658
CombinationParams combination
Definition: commands_3dm.hpp:1659
Parameters()
Definition: commands_3dm.hpp:1656