commands_3dm.c
Go to the documentation of this file.
1 
2 #include "commands_3dm.h"
3 
4 #include "../utils/serialization.h"
5 #include "../mip_interface.h"
6 
7 #include <assert.h>
8 
9 
10 #ifdef __cplusplus
11 namespace mip {
12 namespace C {
13 extern "C" {
14 
15 #endif // __cplusplus
16 struct mip_interface;
17 struct mip_serializer;
18 struct mip_field;
19 
20 
22 // Shared Type Definitions
24 
26 {
27  insert_mip_nmea_message_message_id(serializer, self->message_id);
28 
29  insert_mip_nmea_message_talker_id(serializer, self->talker_id);
30 
31  insert_u8(serializer, self->source_desc_set);
32 
33  insert_u16(serializer, self->decimation);
34 
35 }
37 {
38  extract_mip_nmea_message_message_id(serializer, &self->message_id);
39 
40  extract_mip_nmea_message_talker_id(serializer, &self->talker_id);
41 
42  extract_u8(serializer, &self->source_desc_set);
43 
44  extract_u16(serializer, &self->decimation);
45 
46 }
47 
49 {
50  insert_u8(serializer, (uint8_t)(self));
51 }
53 {
54  uint8_t tmp = 0;
55  extract_u8(serializer, &tmp);
56  *self = tmp;
57 }
58 
60 {
61  insert_u8(serializer, (uint8_t)(self));
62 }
64 {
65  uint8_t tmp = 0;
66  extract_u8(serializer, &tmp);
67  *self = tmp;
68 }
69 
71 {
72  insert_u8(serializer, (uint8_t)(self));
73 }
75 {
76  uint8_t tmp = 0;
77  extract_u8(serializer, &tmp);
78  *self = tmp;
79 }
80 
81 
83 // Mip Fields
85 
87 {
88  insert_bool(serializer, self->suppress_ack);
89 
90  insert_u8(serializer, self->num_descriptors);
91 
92 
93  for(unsigned int i=0; i < self->num_descriptors; i++)
94  insert_mip_descriptor_rate(serializer, &self->descriptors[i]);
95 
96 }
98 {
99  extract_bool(serializer, &self->suppress_ack);
100 
101  assert(self->num_descriptors);
102  extract_count(serializer, &self->num_descriptors, sizeof(self->descriptors)/sizeof(self->descriptors[0]));
103 
104  for(unsigned int i=0; i < self->num_descriptors; i++)
105  extract_mip_descriptor_rate(serializer, &self->descriptors[i]);
106 
107 }
108 
109 mip_cmd_result mip_3dm_poll_imu_message(struct mip_interface* device, bool suppress_ack, uint8_t num_descriptors, const mip_descriptor_rate* descriptors)
110 {
111  mip_serializer serializer;
112  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
113  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
114 
115  insert_bool(&serializer, suppress_ack);
116 
117  insert_u8(&serializer, num_descriptors);
118 
119  assert(descriptors || (num_descriptors == 0));
120  for(unsigned int i=0; i < num_descriptors; i++)
121  insert_mip_descriptor_rate(&serializer, &descriptors[i]);
122 
123  assert(mip_serializer_is_ok(&serializer));
124 
126 }
128 {
129  insert_bool(serializer, self->suppress_ack);
130 
131  insert_u8(serializer, self->num_descriptors);
132 
133 
134  for(unsigned int i=0; i < self->num_descriptors; i++)
135  insert_mip_descriptor_rate(serializer, &self->descriptors[i]);
136 
137 }
139 {
140  extract_bool(serializer, &self->suppress_ack);
141 
142  assert(self->num_descriptors);
143  extract_count(serializer, &self->num_descriptors, sizeof(self->descriptors)/sizeof(self->descriptors[0]));
144 
145  for(unsigned int i=0; i < self->num_descriptors; i++)
146  extract_mip_descriptor_rate(serializer, &self->descriptors[i]);
147 
148 }
149 
150 mip_cmd_result mip_3dm_poll_gnss_message(struct mip_interface* device, bool suppress_ack, uint8_t num_descriptors, const mip_descriptor_rate* descriptors)
151 {
152  mip_serializer serializer;
153  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
154  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
155 
156  insert_bool(&serializer, suppress_ack);
157 
158  insert_u8(&serializer, num_descriptors);
159 
160  assert(descriptors || (num_descriptors == 0));
161  for(unsigned int i=0; i < num_descriptors; i++)
162  insert_mip_descriptor_rate(&serializer, &descriptors[i]);
163 
164  assert(mip_serializer_is_ok(&serializer));
165 
167 }
169 {
170  insert_bool(serializer, self->suppress_ack);
171 
172  insert_u8(serializer, self->num_descriptors);
173 
174 
175  for(unsigned int i=0; i < self->num_descriptors; i++)
176  insert_mip_descriptor_rate(serializer, &self->descriptors[i]);
177 
178 }
180 {
181  extract_bool(serializer, &self->suppress_ack);
182 
183  assert(self->num_descriptors);
184  extract_count(serializer, &self->num_descriptors, sizeof(self->descriptors)/sizeof(self->descriptors[0]));
185 
186  for(unsigned int i=0; i < self->num_descriptors; i++)
187  extract_mip_descriptor_rate(serializer, &self->descriptors[i]);
188 
189 }
190 
191 mip_cmd_result mip_3dm_poll_filter_message(struct mip_interface* device, bool suppress_ack, uint8_t num_descriptors, const mip_descriptor_rate* descriptors)
192 {
193  mip_serializer serializer;
194  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
195  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
196 
197  insert_bool(&serializer, suppress_ack);
198 
199  insert_u8(&serializer, num_descriptors);
200 
201  assert(descriptors || (num_descriptors == 0));
202  for(unsigned int i=0; i < num_descriptors; i++)
203  insert_mip_descriptor_rate(&serializer, &descriptors[i]);
204 
205  assert(mip_serializer_is_ok(&serializer));
206 
208 }
210 {
211  insert_mip_function_selector(serializer, self->function);
212 
213  if( self->function == MIP_FUNCTION_WRITE )
214  {
215  insert_u8(serializer, self->num_descriptors);
216 
217 
218  for(unsigned int i=0; i < self->num_descriptors; i++)
219  insert_mip_descriptor_rate(serializer, &self->descriptors[i]);
220 
221  }
222 }
224 {
225  extract_mip_function_selector(serializer, &self->function);
226 
227  if( self->function == MIP_FUNCTION_WRITE )
228  {
229  assert(self->num_descriptors);
230  extract_count(serializer, &self->num_descriptors, sizeof(self->descriptors)/sizeof(self->descriptors[0]));
231 
232  for(unsigned int i=0; i < self->num_descriptors; i++)
233  extract_mip_descriptor_rate(serializer, &self->descriptors[i]);
234 
235  }
236 }
237 
239 {
240  insert_u8(serializer, self->num_descriptors);
241 
242 
243  for(unsigned int i=0; i < self->num_descriptors; i++)
244  insert_mip_descriptor_rate(serializer, &self->descriptors[i]);
245 
246 }
248 {
249  assert(self->num_descriptors);
250  extract_count(serializer, &self->num_descriptors, sizeof(self->descriptors)/sizeof(self->descriptors[0]));
251 
252  for(unsigned int i=0; i < self->num_descriptors; i++)
253  extract_mip_descriptor_rate(serializer, &self->descriptors[i]);
254 
255 }
256 
257 mip_cmd_result mip_3dm_write_imu_message_format(struct mip_interface* device, uint8_t num_descriptors, const mip_descriptor_rate* descriptors)
258 {
259  mip_serializer serializer;
260  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
261  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
262 
264 
265  insert_u8(&serializer, num_descriptors);
266 
267  assert(descriptors || (num_descriptors == 0));
268  for(unsigned int i=0; i < num_descriptors; i++)
269  insert_mip_descriptor_rate(&serializer, &descriptors[i]);
270 
271  assert(mip_serializer_is_ok(&serializer));
272 
274 }
275 mip_cmd_result mip_3dm_read_imu_message_format(struct mip_interface* device, uint8_t* num_descriptors_out, uint8_t num_descriptors_out_max, mip_descriptor_rate* descriptors_out)
276 {
277  mip_serializer serializer;
278  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
279  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
280 
282 
283  assert(mip_serializer_is_ok(&serializer));
284 
285  uint8_t responseLength = sizeof(buffer);
287 
288  if( result == MIP_ACK_OK )
289  {
290  mip_serializer deserializer;
291  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
292 
293  assert(num_descriptors_out);
294  extract_count(&deserializer, num_descriptors_out, num_descriptors_out_max);
295 
296  assert(descriptors_out || (num_descriptors_out == 0));
297  for(unsigned int i=0; i < *num_descriptors_out; i++)
298  extract_mip_descriptor_rate(&deserializer, &descriptors_out[i]);
299 
300  if( mip_serializer_remaining(&deserializer) != 0 )
301  result = MIP_STATUS_ERROR;
302  }
303  return result;
304 }
306 {
307  mip_serializer serializer;
308  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
309  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
310 
312 
313  assert(mip_serializer_is_ok(&serializer));
314 
316 }
318 {
319  mip_serializer serializer;
320  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
321  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
322 
324 
325  assert(mip_serializer_is_ok(&serializer));
326 
328 }
330 {
331  mip_serializer serializer;
332  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
333  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
334 
336 
337  assert(mip_serializer_is_ok(&serializer));
338 
340 }
342 {
343  insert_mip_function_selector(serializer, self->function);
344 
345  if( self->function == MIP_FUNCTION_WRITE )
346  {
347  insert_u8(serializer, self->num_descriptors);
348 
349 
350  for(unsigned int i=0; i < self->num_descriptors; i++)
351  insert_mip_descriptor_rate(serializer, &self->descriptors[i]);
352 
353  }
354 }
356 {
357  extract_mip_function_selector(serializer, &self->function);
358 
359  if( self->function == MIP_FUNCTION_WRITE )
360  {
361  assert(self->num_descriptors);
362  extract_count(serializer, &self->num_descriptors, sizeof(self->descriptors)/sizeof(self->descriptors[0]));
363 
364  for(unsigned int i=0; i < self->num_descriptors; i++)
365  extract_mip_descriptor_rate(serializer, &self->descriptors[i]);
366 
367  }
368 }
369 
371 {
372  insert_u8(serializer, self->num_descriptors);
373 
374 
375  for(unsigned int i=0; i < self->num_descriptors; i++)
376  insert_mip_descriptor_rate(serializer, &self->descriptors[i]);
377 
378 }
380 {
381  assert(self->num_descriptors);
382  extract_count(serializer, &self->num_descriptors, sizeof(self->descriptors)/sizeof(self->descriptors[0]));
383 
384  for(unsigned int i=0; i < self->num_descriptors; i++)
385  extract_mip_descriptor_rate(serializer, &self->descriptors[i]);
386 
387 }
388 
389 mip_cmd_result mip_3dm_write_gps_message_format(struct mip_interface* device, uint8_t num_descriptors, const mip_descriptor_rate* descriptors)
390 {
391  mip_serializer serializer;
392  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
393  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
394 
396 
397  insert_u8(&serializer, num_descriptors);
398 
399  assert(descriptors || (num_descriptors == 0));
400  for(unsigned int i=0; i < num_descriptors; i++)
401  insert_mip_descriptor_rate(&serializer, &descriptors[i]);
402 
403  assert(mip_serializer_is_ok(&serializer));
404 
406 }
407 mip_cmd_result mip_3dm_read_gps_message_format(struct mip_interface* device, uint8_t* num_descriptors_out, uint8_t num_descriptors_out_max, mip_descriptor_rate* descriptors_out)
408 {
409  mip_serializer serializer;
410  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
411  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
412 
414 
415  assert(mip_serializer_is_ok(&serializer));
416 
417  uint8_t responseLength = sizeof(buffer);
419 
420  if( result == MIP_ACK_OK )
421  {
422  mip_serializer deserializer;
423  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
424 
425  assert(num_descriptors_out);
426  extract_count(&deserializer, num_descriptors_out, num_descriptors_out_max);
427 
428  assert(descriptors_out || (num_descriptors_out == 0));
429  for(unsigned int i=0; i < *num_descriptors_out; i++)
430  extract_mip_descriptor_rate(&deserializer, &descriptors_out[i]);
431 
432  if( mip_serializer_remaining(&deserializer) != 0 )
433  result = MIP_STATUS_ERROR;
434  }
435  return result;
436 }
438 {
439  mip_serializer serializer;
440  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
441  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
442 
444 
445  assert(mip_serializer_is_ok(&serializer));
446 
448 }
450 {
451  mip_serializer serializer;
452  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
453  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
454 
456 
457  assert(mip_serializer_is_ok(&serializer));
458 
460 }
462 {
463  mip_serializer serializer;
464  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
465  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
466 
468 
469  assert(mip_serializer_is_ok(&serializer));
470 
472 }
474 {
475  insert_mip_function_selector(serializer, self->function);
476 
477  if( self->function == MIP_FUNCTION_WRITE )
478  {
479  insert_u8(serializer, self->num_descriptors);
480 
481 
482  for(unsigned int i=0; i < self->num_descriptors; i++)
483  insert_mip_descriptor_rate(serializer, &self->descriptors[i]);
484 
485  }
486 }
488 {
489  extract_mip_function_selector(serializer, &self->function);
490 
491  if( self->function == MIP_FUNCTION_WRITE )
492  {
493  assert(self->num_descriptors);
494  extract_count(serializer, &self->num_descriptors, sizeof(self->descriptors)/sizeof(self->descriptors[0]));
495 
496  for(unsigned int i=0; i < self->num_descriptors; i++)
497  extract_mip_descriptor_rate(serializer, &self->descriptors[i]);
498 
499  }
500 }
501 
503 {
504  insert_u8(serializer, self->num_descriptors);
505 
506 
507  for(unsigned int i=0; i < self->num_descriptors; i++)
508  insert_mip_descriptor_rate(serializer, &self->descriptors[i]);
509 
510 }
512 {
513  assert(self->num_descriptors);
514  extract_count(serializer, &self->num_descriptors, sizeof(self->descriptors)/sizeof(self->descriptors[0]));
515 
516  for(unsigned int i=0; i < self->num_descriptors; i++)
517  extract_mip_descriptor_rate(serializer, &self->descriptors[i]);
518 
519 }
520 
522 {
523  mip_serializer serializer;
524  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
525  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
526 
528 
529  insert_u8(&serializer, num_descriptors);
530 
531  assert(descriptors || (num_descriptors == 0));
532  for(unsigned int i=0; i < num_descriptors; i++)
533  insert_mip_descriptor_rate(&serializer, &descriptors[i]);
534 
535  assert(mip_serializer_is_ok(&serializer));
536 
538 }
539 mip_cmd_result mip_3dm_read_filter_message_format(struct mip_interface* device, uint8_t* num_descriptors_out, uint8_t num_descriptors_out_max, mip_descriptor_rate* descriptors_out)
540 {
541  mip_serializer serializer;
542  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
543  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
544 
546 
547  assert(mip_serializer_is_ok(&serializer));
548 
549  uint8_t responseLength = sizeof(buffer);
551 
552  if( result == MIP_ACK_OK )
553  {
554  mip_serializer deserializer;
555  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
556 
557  assert(num_descriptors_out);
558  extract_count(&deserializer, num_descriptors_out, num_descriptors_out_max);
559 
560  assert(descriptors_out || (num_descriptors_out == 0));
561  for(unsigned int i=0; i < *num_descriptors_out; i++)
562  extract_mip_descriptor_rate(&deserializer, &descriptors_out[i]);
563 
564  if( mip_serializer_remaining(&deserializer) != 0 )
565  result = MIP_STATUS_ERROR;
566  }
567  return result;
568 }
570 {
571  mip_serializer serializer;
572  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
573  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
574 
576 
577  assert(mip_serializer_is_ok(&serializer));
578 
580 }
582 {
583  mip_serializer serializer;
584  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
585  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
586 
588 
589  assert(mip_serializer_is_ok(&serializer));
590 
592 }
594 {
595  mip_serializer serializer;
596  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
597  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
598 
600 
601  assert(mip_serializer_is_ok(&serializer));
602 
604 }
606 {
607  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
608  uint8_t responseLength = sizeof(buffer);
609 
611 
612  if( result == MIP_ACK_OK )
613  {
614  mip_serializer deserializer;
615  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
616 
617  assert(rate_out);
618  extract_u16(&deserializer, rate_out);
619 
620  if( mip_serializer_remaining(&deserializer) != 0 )
621  result = MIP_STATUS_ERROR;
622  }
623  return result;
624 }
626 {
627  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
628  uint8_t responseLength = sizeof(buffer);
629 
631 
632  if( result == MIP_ACK_OK )
633  {
634  mip_serializer deserializer;
635  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
636 
637  assert(rate_out);
638  extract_u16(&deserializer, rate_out);
639 
640  if( mip_serializer_remaining(&deserializer) != 0 )
641  result = MIP_STATUS_ERROR;
642  }
643  return result;
644 }
646 {
647  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
648  uint8_t responseLength = sizeof(buffer);
649 
651 
652  if( result == MIP_ACK_OK )
653  {
654  mip_serializer deserializer;
655  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
656 
657  assert(rate_out);
658  extract_u16(&deserializer, rate_out);
659 
660  if( mip_serializer_remaining(&deserializer) != 0 )
661  result = MIP_STATUS_ERROR;
662  }
663  return result;
664 }
666 {
667  insert_u8(serializer, self->desc_set);
668 
669  insert_bool(serializer, self->suppress_ack);
670 
671  insert_u8(serializer, self->num_descriptors);
672 
673 
674  for(unsigned int i=0; i < self->num_descriptors; i++)
675  insert_u8(serializer, self->descriptors[i]);
676 
677 }
679 {
680  extract_u8(serializer, &self->desc_set);
681 
682  extract_bool(serializer, &self->suppress_ack);
683 
684  assert(self->num_descriptors);
685  extract_count(serializer, &self->num_descriptors, sizeof(self->descriptors)/sizeof(self->descriptors[0]));
686 
687  for(unsigned int i=0; i < self->num_descriptors; i++)
688  extract_u8(serializer, &self->descriptors[i]);
689 
690 }
691 
692 mip_cmd_result mip_3dm_poll_data(struct mip_interface* device, uint8_t desc_set, bool suppress_ack, uint8_t num_descriptors, const uint8_t* descriptors)
693 {
694  mip_serializer serializer;
695  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
696  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
697 
698  insert_u8(&serializer, desc_set);
699 
700  insert_bool(&serializer, suppress_ack);
701 
702  insert_u8(&serializer, num_descriptors);
703 
704  assert(descriptors || (num_descriptors == 0));
705  for(unsigned int i=0; i < num_descriptors; i++)
706  insert_u8(&serializer, descriptors[i]);
707 
708  assert(mip_serializer_is_ok(&serializer));
709 
711 }
713 {
714  insert_u8(serializer, self->desc_set);
715 
716 }
718 {
719  extract_u8(serializer, &self->desc_set);
720 
721 }
722 
724 {
725  insert_u8(serializer, self->desc_set);
726 
727  insert_u16(serializer, self->rate);
728 
729 }
731 {
732  extract_u8(serializer, &self->desc_set);
733 
734  extract_u16(serializer, &self->rate);
735 
736 }
737 
738 mip_cmd_result mip_3dm_get_base_rate(struct mip_interface* device, uint8_t desc_set, uint16_t* rate_out)
739 {
740  mip_serializer serializer;
741  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
742  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
743 
744  insert_u8(&serializer, desc_set);
745 
746  assert(mip_serializer_is_ok(&serializer));
747 
748  uint8_t responseLength = sizeof(buffer);
750 
751  if( result == MIP_ACK_OK )
752  {
753  mip_serializer deserializer;
754  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
755 
756  extract_u8(&deserializer, &desc_set);
757 
758  assert(rate_out);
759  extract_u16(&deserializer, rate_out);
760 
761  if( mip_serializer_remaining(&deserializer) != 0 )
762  result = MIP_STATUS_ERROR;
763  }
764  return result;
765 }
767 {
768  insert_mip_function_selector(serializer, self->function);
769 
770  insert_u8(serializer, self->desc_set);
771 
772  if( self->function == MIP_FUNCTION_WRITE )
773  {
774  insert_u8(serializer, self->num_descriptors);
775 
776 
777  for(unsigned int i=0; i < self->num_descriptors; i++)
778  insert_mip_descriptor_rate(serializer, &self->descriptors[i]);
779 
780  }
781 }
783 {
784  extract_mip_function_selector(serializer, &self->function);
785 
786  extract_u8(serializer, &self->desc_set);
787 
788  if( self->function == MIP_FUNCTION_WRITE )
789  {
790  assert(self->num_descriptors);
791  extract_count(serializer, &self->num_descriptors, sizeof(self->descriptors)/sizeof(self->descriptors[0]));
792 
793  for(unsigned int i=0; i < self->num_descriptors; i++)
794  extract_mip_descriptor_rate(serializer, &self->descriptors[i]);
795 
796  }
797 }
798 
800 {
801  insert_u8(serializer, self->desc_set);
802 
803  insert_u8(serializer, self->num_descriptors);
804 
805 
806  for(unsigned int i=0; i < self->num_descriptors; i++)
807  insert_mip_descriptor_rate(serializer, &self->descriptors[i]);
808 
809 }
811 {
812  extract_u8(serializer, &self->desc_set);
813 
814  assert(self->num_descriptors);
815  extract_count(serializer, &self->num_descriptors, sizeof(self->descriptors)/sizeof(self->descriptors[0]));
816 
817  for(unsigned int i=0; i < self->num_descriptors; i++)
818  extract_mip_descriptor_rate(serializer, &self->descriptors[i]);
819 
820 }
821 
822 mip_cmd_result mip_3dm_write_message_format(struct mip_interface* device, uint8_t desc_set, uint8_t num_descriptors, const mip_descriptor_rate* descriptors)
823 {
824  mip_serializer serializer;
825  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
826  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
827 
829 
830  insert_u8(&serializer, desc_set);
831 
832  insert_u8(&serializer, num_descriptors);
833 
834  assert(descriptors || (num_descriptors == 0));
835  for(unsigned int i=0; i < num_descriptors; i++)
836  insert_mip_descriptor_rate(&serializer, &descriptors[i]);
837 
838  assert(mip_serializer_is_ok(&serializer));
839 
841 }
842 mip_cmd_result mip_3dm_read_message_format(struct mip_interface* device, uint8_t desc_set, uint8_t* num_descriptors_out, uint8_t num_descriptors_out_max, mip_descriptor_rate* descriptors_out)
843 {
844  mip_serializer serializer;
845  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
846  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
847 
849 
850  insert_u8(&serializer, desc_set);
851 
852  assert(mip_serializer_is_ok(&serializer));
853 
854  uint8_t responseLength = sizeof(buffer);
856 
857  if( result == MIP_ACK_OK )
858  {
859  mip_serializer deserializer;
860  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
861 
862  extract_u8(&deserializer, &desc_set);
863 
864  assert(num_descriptors_out);
865  extract_count(&deserializer, num_descriptors_out, num_descriptors_out_max);
866 
867  assert(descriptors_out || (num_descriptors_out == 0));
868  for(unsigned int i=0; i < *num_descriptors_out; i++)
869  extract_mip_descriptor_rate(&deserializer, &descriptors_out[i]);
870 
871  if( mip_serializer_remaining(&deserializer) != 0 )
872  result = MIP_STATUS_ERROR;
873  }
874  return result;
875 }
877 {
878  mip_serializer serializer;
879  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
880  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
881 
883 
884  insert_u8(&serializer, desc_set);
885 
886  assert(mip_serializer_is_ok(&serializer));
887 
889 }
891 {
892  mip_serializer serializer;
893  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
894  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
895 
897 
898  insert_u8(&serializer, desc_set);
899 
900  assert(mip_serializer_is_ok(&serializer));
901 
903 }
905 {
906  mip_serializer serializer;
907  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
908  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
909 
911 
912  insert_u8(&serializer, desc_set);
913 
914  assert(mip_serializer_is_ok(&serializer));
915 
917 }
919 {
920  insert_bool(serializer, self->suppress_ack);
921 
922  insert_u8(serializer, self->count);
923 
924 
925  for(unsigned int i=0; i < self->count; i++)
926  insert_mip_nmea_message(serializer, &self->format_entries[i]);
927 
928 }
930 {
931  extract_bool(serializer, &self->suppress_ack);
932 
933  assert(self->count);
934  extract_count(serializer, &self->count, sizeof(self->format_entries)/sizeof(self->format_entries[0]));
935 
936  for(unsigned int i=0; i < self->count; i++)
937  extract_mip_nmea_message(serializer, &self->format_entries[i]);
938 
939 }
940 
941 mip_cmd_result mip_3dm_nmea_poll_data(struct mip_interface* device, bool suppress_ack, uint8_t count, const mip_nmea_message* format_entries)
942 {
943  mip_serializer serializer;
944  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
945  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
946 
947  insert_bool(&serializer, suppress_ack);
948 
949  insert_u8(&serializer, count);
950 
951  assert(format_entries || (count == 0));
952  for(unsigned int i=0; i < count; i++)
953  insert_mip_nmea_message(&serializer, &format_entries[i]);
954 
955  assert(mip_serializer_is_ok(&serializer));
956 
958 }
960 {
961  insert_mip_function_selector(serializer, self->function);
962 
963  if( self->function == MIP_FUNCTION_WRITE )
964  {
965  insert_u8(serializer, self->count);
966 
967 
968  for(unsigned int i=0; i < self->count; i++)
969  insert_mip_nmea_message(serializer, &self->format_entries[i]);
970 
971  }
972 }
974 {
975  extract_mip_function_selector(serializer, &self->function);
976 
977  if( self->function == MIP_FUNCTION_WRITE )
978  {
979  assert(self->count);
980  extract_count(serializer, &self->count, sizeof(self->format_entries)/sizeof(self->format_entries[0]));
981 
982  for(unsigned int i=0; i < self->count; i++)
983  extract_mip_nmea_message(serializer, &self->format_entries[i]);
984 
985  }
986 }
987 
989 {
990  insert_u8(serializer, self->count);
991 
992 
993  for(unsigned int i=0; i < self->count; i++)
994  insert_mip_nmea_message(serializer, &self->format_entries[i]);
995 
996 }
998 {
999  assert(self->count);
1000  extract_count(serializer, &self->count, sizeof(self->format_entries)/sizeof(self->format_entries[0]));
1001 
1002  for(unsigned int i=0; i < self->count; i++)
1003  extract_mip_nmea_message(serializer, &self->format_entries[i]);
1004 
1005 }
1006 
1008 {
1009  mip_serializer serializer;
1010  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1011  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1012 
1014 
1015  insert_u8(&serializer, count);
1016 
1017  assert(format_entries || (count == 0));
1018  for(unsigned int i=0; i < count; i++)
1019  insert_mip_nmea_message(&serializer, &format_entries[i]);
1020 
1021  assert(mip_serializer_is_ok(&serializer));
1022 
1024 }
1025 mip_cmd_result mip_3dm_read_nmea_message_format(struct mip_interface* device, uint8_t* count_out, uint8_t count_out_max, mip_nmea_message* format_entries_out)
1026 {
1027  mip_serializer serializer;
1028  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1029  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1030 
1032 
1033  assert(mip_serializer_is_ok(&serializer));
1034 
1035  uint8_t responseLength = sizeof(buffer);
1037 
1038  if( result == MIP_ACK_OK )
1039  {
1040  mip_serializer deserializer;
1041  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
1042 
1043  assert(count_out);
1044  extract_count(&deserializer, count_out, count_out_max);
1045 
1046  assert(format_entries_out || (count_out == 0));
1047  for(unsigned int i=0; i < *count_out; i++)
1048  extract_mip_nmea_message(&deserializer, &format_entries_out[i]);
1049 
1050  if( mip_serializer_remaining(&deserializer) != 0 )
1051  result = MIP_STATUS_ERROR;
1052  }
1053  return result;
1054 }
1056 {
1057  mip_serializer serializer;
1058  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1059  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1060 
1062 
1063  assert(mip_serializer_is_ok(&serializer));
1064 
1066 }
1068 {
1069  mip_serializer serializer;
1070  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1071  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1072 
1074 
1075  assert(mip_serializer_is_ok(&serializer));
1076 
1078 }
1080 {
1081  mip_serializer serializer;
1082  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1083  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1084 
1086 
1087  assert(mip_serializer_is_ok(&serializer));
1088 
1090 }
1092 {
1093  insert_mip_function_selector(serializer, self->function);
1094 
1095 }
1097 {
1098  extract_mip_function_selector(serializer, &self->function);
1099 
1100 }
1101 
1103 {
1104  mip_serializer serializer;
1105  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1106  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1107 
1109 
1110  assert(mip_serializer_is_ok(&serializer));
1111 
1113 }
1115 {
1116  mip_serializer serializer;
1117  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1118  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1119 
1121 
1122  assert(mip_serializer_is_ok(&serializer));
1123 
1125 }
1127 {
1128  mip_serializer serializer;
1129  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1130  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1131 
1133 
1134  assert(mip_serializer_is_ok(&serializer));
1135 
1137 }
1139 {
1140  insert_mip_function_selector(serializer, self->function);
1141 
1142  if( self->function == MIP_FUNCTION_WRITE )
1143  {
1144  insert_u32(serializer, self->baud);
1145 
1146  }
1147 }
1149 {
1150  extract_mip_function_selector(serializer, &self->function);
1151 
1152  if( self->function == MIP_FUNCTION_WRITE )
1153  {
1154  extract_u32(serializer, &self->baud);
1155 
1156  }
1157 }
1158 
1160 {
1161  insert_u32(serializer, self->baud);
1162 
1163 }
1165 {
1166  extract_u32(serializer, &self->baud);
1167 
1168 }
1169 
1171 {
1172  mip_serializer serializer;
1173  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1174  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1175 
1177 
1178  insert_u32(&serializer, baud);
1179 
1180  assert(mip_serializer_is_ok(&serializer));
1181 
1183 }
1185 {
1186  mip_serializer serializer;
1187  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1188  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1189 
1191 
1192  assert(mip_serializer_is_ok(&serializer));
1193 
1194  uint8_t responseLength = sizeof(buffer);
1196 
1197  if( result == MIP_ACK_OK )
1198  {
1199  mip_serializer deserializer;
1200  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
1201 
1202  assert(baud_out);
1203  extract_u32(&deserializer, baud_out);
1204 
1205  if( mip_serializer_remaining(&deserializer) != 0 )
1206  result = MIP_STATUS_ERROR;
1207  }
1208  return result;
1209 }
1211 {
1212  mip_serializer serializer;
1213  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1214  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1215 
1217 
1218  assert(mip_serializer_is_ok(&serializer));
1219 
1221 }
1223 {
1224  mip_serializer serializer;
1225  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1226  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1227 
1229 
1230  assert(mip_serializer_is_ok(&serializer));
1231 
1233 }
1235 {
1236  mip_serializer serializer;
1237  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1238  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1239 
1241 
1242  assert(mip_serializer_is_ok(&serializer));
1243 
1245 }
1247 {
1248  insert_mip_3dm_factory_streaming_command_action(serializer, self->action);
1249 
1250  insert_u8(serializer, self->reserved);
1251 
1252 }
1254 {
1255  extract_mip_3dm_factory_streaming_command_action(serializer, &self->action);
1256 
1257  extract_u8(serializer, &self->reserved);
1258 
1259 }
1260 
1262 {
1263  insert_u8(serializer, (uint8_t)(self));
1264 }
1266 {
1267  uint8_t tmp = 0;
1268  extract_u8(serializer, &tmp);
1269  *self = tmp;
1270 }
1271 
1273 {
1274  mip_serializer serializer;
1275  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1276  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1277 
1279 
1280  insert_u8(&serializer, reserved);
1281 
1282  assert(mip_serializer_is_ok(&serializer));
1283 
1285 }
1287 {
1288  insert_mip_function_selector(serializer, self->function);
1289 
1290  insert_u8(serializer, self->desc_set);
1291 
1292  if( self->function == MIP_FUNCTION_WRITE )
1293  {
1294  insert_bool(serializer, self->enable);
1295 
1296  }
1297 }
1299 {
1300  extract_mip_function_selector(serializer, &self->function);
1301 
1302  extract_u8(serializer, &self->desc_set);
1303 
1304  if( self->function == MIP_FUNCTION_WRITE )
1305  {
1306  extract_bool(serializer, &self->enable);
1307 
1308  }
1309 }
1310 
1312 {
1313  insert_u8(serializer, self->desc_set);
1314 
1315  insert_bool(serializer, self->enabled);
1316 
1317 }
1319 {
1320  extract_u8(serializer, &self->desc_set);
1321 
1322  extract_bool(serializer, &self->enabled);
1323 
1324 }
1325 
1327 {
1328  mip_serializer serializer;
1329  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1330  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1331 
1333 
1334  insert_u8(&serializer, desc_set);
1335 
1336  insert_bool(&serializer, enable);
1337 
1338  assert(mip_serializer_is_ok(&serializer));
1339 
1341 }
1342 mip_cmd_result mip_3dm_read_datastream_control(struct mip_interface* device, uint8_t desc_set, bool* enabled_out)
1343 {
1344  mip_serializer serializer;
1345  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1346  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1347 
1349 
1350  insert_u8(&serializer, desc_set);
1351 
1352  assert(mip_serializer_is_ok(&serializer));
1353 
1354  uint8_t responseLength = sizeof(buffer);
1356 
1357  if( result == MIP_ACK_OK )
1358  {
1359  mip_serializer deserializer;
1360  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
1361 
1362  extract_u8(&deserializer, &desc_set);
1363 
1364  assert(enabled_out);
1365  extract_bool(&deserializer, enabled_out);
1366 
1367  if( mip_serializer_remaining(&deserializer) != 0 )
1368  result = MIP_STATUS_ERROR;
1369  }
1370  return result;
1371 }
1373 {
1374  mip_serializer serializer;
1375  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1376  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1377 
1379 
1380  insert_u8(&serializer, desc_set);
1381 
1382  assert(mip_serializer_is_ok(&serializer));
1383 
1385 }
1387 {
1388  mip_serializer serializer;
1389  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1390  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1391 
1393 
1394  insert_u8(&serializer, desc_set);
1395 
1396  assert(mip_serializer_is_ok(&serializer));
1397 
1399 }
1401 {
1402  mip_serializer serializer;
1403  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1404  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1405 
1407 
1408  insert_u8(&serializer, desc_set);
1409 
1410  assert(mip_serializer_is_ok(&serializer));
1411 
1413 }
1415 {
1416  insert_mip_function_selector(serializer, self->function);
1417 
1418  if( self->function == MIP_FUNCTION_WRITE )
1419  {
1420  insert_u16(serializer, self->max_channels);
1421 
1422  insert_u8(serializer, self->config_count);
1423 
1424 
1425  for(unsigned int i=0; i < self->config_count; i++)
1426  insert_mip_3dm_constellation_settings_command_settings(serializer, &self->settings[i]);
1427 
1428  }
1429 }
1431 {
1432  extract_mip_function_selector(serializer, &self->function);
1433 
1434  if( self->function == MIP_FUNCTION_WRITE )
1435  {
1436  extract_u16(serializer, &self->max_channels);
1437 
1438  assert(self->config_count);
1439  extract_count(serializer, &self->config_count, sizeof(self->settings)/sizeof(self->settings[0]));
1440 
1441  for(unsigned int i=0; i < self->config_count; i++)
1442  extract_mip_3dm_constellation_settings_command_settings(serializer, &self->settings[i]);
1443 
1444  }
1445 }
1446 
1448 {
1449  insert_u16(serializer, self->max_channels_available);
1450 
1451  insert_u16(serializer, self->max_channels_use);
1452 
1453  insert_u8(serializer, self->config_count);
1454 
1455 
1456  for(unsigned int i=0; i < self->config_count; i++)
1457  insert_mip_3dm_constellation_settings_command_settings(serializer, &self->settings[i]);
1458 
1459 }
1461 {
1462  extract_u16(serializer, &self->max_channels_available);
1463 
1464  extract_u16(serializer, &self->max_channels_use);
1465 
1466  assert(self->config_count);
1467  extract_count(serializer, &self->config_count, sizeof(self->settings)/sizeof(self->settings[0]));
1468 
1469  for(unsigned int i=0; i < self->config_count; i++)
1470  extract_mip_3dm_constellation_settings_command_settings(serializer, &self->settings[i]);
1471 
1472 }
1473 
1475 {
1476  insert_u8(serializer, (uint8_t)(self));
1477 }
1479 {
1480  uint8_t tmp = 0;
1481  extract_u8(serializer, &tmp);
1482  *self = tmp;
1483 }
1484 
1486 {
1487  insert_u16(serializer, (uint16_t)(self));
1488 }
1490 {
1491  uint16_t tmp = 0;
1492  extract_u16(serializer, &tmp);
1493  *self = tmp;
1494 }
1495 
1497 {
1498  insert_mip_3dm_constellation_settings_command_constellation_id(serializer, self->constellation_id);
1499 
1500  insert_u8(serializer, self->enable);
1501 
1502  insert_u8(serializer, self->reserved_channels);
1503 
1504  insert_u8(serializer, self->max_channels);
1505 
1506  insert_mip_3dm_constellation_settings_command_option_flags(serializer, self->option_flags);
1507 
1508 }
1510 {
1511  extract_mip_3dm_constellation_settings_command_constellation_id(serializer, &self->constellation_id);
1512 
1513  extract_u8(serializer, &self->enable);
1514 
1515  extract_u8(serializer, &self->reserved_channels);
1516 
1517  extract_u8(serializer, &self->max_channels);
1518 
1519  extract_mip_3dm_constellation_settings_command_option_flags(serializer, &self->option_flags);
1520 
1521 }
1522 
1524 {
1525  mip_serializer serializer;
1526  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1527  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1528 
1530 
1531  insert_u16(&serializer, max_channels);
1532 
1533  insert_u8(&serializer, config_count);
1534 
1535  assert(settings || (config_count == 0));
1536  for(unsigned int i=0; i < config_count; i++)
1537  insert_mip_3dm_constellation_settings_command_settings(&serializer, &settings[i]);
1538 
1539  assert(mip_serializer_is_ok(&serializer));
1540 
1542 }
1543 mip_cmd_result mip_3dm_read_constellation_settings(struct mip_interface* device, uint16_t* max_channels_available_out, uint16_t* max_channels_use_out, uint8_t* config_count_out, uint8_t config_count_out_max, mip_3dm_constellation_settings_command_settings* settings_out)
1544 {
1545  mip_serializer serializer;
1546  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1547  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1548 
1550 
1551  assert(mip_serializer_is_ok(&serializer));
1552 
1553  uint8_t responseLength = sizeof(buffer);
1555 
1556  if( result == MIP_ACK_OK )
1557  {
1558  mip_serializer deserializer;
1559  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
1560 
1561  assert(max_channels_available_out);
1562  extract_u16(&deserializer, max_channels_available_out);
1563 
1564  assert(max_channels_use_out);
1565  extract_u16(&deserializer, max_channels_use_out);
1566 
1567  assert(config_count_out);
1568  extract_count(&deserializer, config_count_out, config_count_out_max);
1569 
1570  assert(settings_out || (config_count_out == 0));
1571  for(unsigned int i=0; i < *config_count_out; i++)
1572  extract_mip_3dm_constellation_settings_command_settings(&deserializer, &settings_out[i]);
1573 
1574  if( mip_serializer_remaining(&deserializer) != 0 )
1575  result = MIP_STATUS_ERROR;
1576  }
1577  return result;
1578 }
1580 {
1581  mip_serializer serializer;
1582  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1583  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1584 
1586 
1587  assert(mip_serializer_is_ok(&serializer));
1588 
1590 }
1592 {
1593  mip_serializer serializer;
1594  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1595  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1596 
1598 
1599  assert(mip_serializer_is_ok(&serializer));
1600 
1602 }
1604 {
1605  mip_serializer serializer;
1606  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1607  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1608 
1610 
1611  assert(mip_serializer_is_ok(&serializer));
1612 
1614 }
1616 {
1617  insert_mip_function_selector(serializer, self->function);
1618 
1619  if( self->function == MIP_FUNCTION_WRITE )
1620  {
1621  insert_u8(serializer, self->enable_sbas);
1622 
1623  insert_mip_3dm_gnss_sbas_settings_command_sbasoptions(serializer, self->sbas_options);
1624 
1625  insert_u8(serializer, self->num_included_prns);
1626 
1627 
1628  for(unsigned int i=0; i < self->num_included_prns; i++)
1629  insert_u16(serializer, self->included_prns[i]);
1630 
1631  }
1632 }
1634 {
1635  extract_mip_function_selector(serializer, &self->function);
1636 
1637  if( self->function == MIP_FUNCTION_WRITE )
1638  {
1639  extract_u8(serializer, &self->enable_sbas);
1640 
1641  extract_mip_3dm_gnss_sbas_settings_command_sbasoptions(serializer, &self->sbas_options);
1642 
1643  assert(self->num_included_prns);
1644  extract_count(serializer, &self->num_included_prns, sizeof(self->included_prns)/sizeof(self->included_prns[0]));
1645 
1646  for(unsigned int i=0; i < self->num_included_prns; i++)
1647  extract_u16(serializer, &self->included_prns[i]);
1648 
1649  }
1650 }
1651 
1653 {
1654  insert_u8(serializer, self->enable_sbas);
1655 
1656  insert_mip_3dm_gnss_sbas_settings_command_sbasoptions(serializer, self->sbas_options);
1657 
1658  insert_u8(serializer, self->num_included_prns);
1659 
1660 
1661  for(unsigned int i=0; i < self->num_included_prns; i++)
1662  insert_u16(serializer, self->included_prns[i]);
1663 
1664 }
1666 {
1667  extract_u8(serializer, &self->enable_sbas);
1668 
1669  extract_mip_3dm_gnss_sbas_settings_command_sbasoptions(serializer, &self->sbas_options);
1670 
1671  assert(self->num_included_prns);
1672  extract_count(serializer, &self->num_included_prns, sizeof(self->included_prns)/sizeof(self->included_prns[0]));
1673 
1674  for(unsigned int i=0; i < self->num_included_prns; i++)
1675  extract_u16(serializer, &self->included_prns[i]);
1676 
1677 }
1678 
1680 {
1681  insert_u16(serializer, (uint16_t)(self));
1682 }
1684 {
1685  uint16_t tmp = 0;
1686  extract_u16(serializer, &tmp);
1687  *self = tmp;
1688 }
1689 
1690 mip_cmd_result mip_3dm_write_gnss_sbas_settings(struct mip_interface* device, uint8_t enable_sbas, mip_3dm_gnss_sbas_settings_command_sbasoptions sbas_options, uint8_t num_included_prns, const uint16_t* included_prns)
1691 {
1692  mip_serializer serializer;
1693  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1694  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1695 
1697 
1698  insert_u8(&serializer, enable_sbas);
1699 
1700  insert_mip_3dm_gnss_sbas_settings_command_sbasoptions(&serializer, sbas_options);
1701 
1702  insert_u8(&serializer, num_included_prns);
1703 
1704  assert(included_prns || (num_included_prns == 0));
1705  for(unsigned int i=0; i < num_included_prns; i++)
1706  insert_u16(&serializer, included_prns[i]);
1707 
1708  assert(mip_serializer_is_ok(&serializer));
1709 
1711 }
1712 mip_cmd_result mip_3dm_read_gnss_sbas_settings(struct mip_interface* device, uint8_t* enable_sbas_out, mip_3dm_gnss_sbas_settings_command_sbasoptions* sbas_options_out, uint8_t* num_included_prns_out, uint8_t num_included_prns_out_max, uint16_t* included_prns_out)
1713 {
1714  mip_serializer serializer;
1715  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1716  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1717 
1719 
1720  assert(mip_serializer_is_ok(&serializer));
1721 
1722  uint8_t responseLength = sizeof(buffer);
1724 
1725  if( result == MIP_ACK_OK )
1726  {
1727  mip_serializer deserializer;
1728  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
1729 
1730  assert(enable_sbas_out);
1731  extract_u8(&deserializer, enable_sbas_out);
1732 
1733  assert(sbas_options_out);
1734  extract_mip_3dm_gnss_sbas_settings_command_sbasoptions(&deserializer, sbas_options_out);
1735 
1736  assert(num_included_prns_out);
1737  extract_count(&deserializer, num_included_prns_out, num_included_prns_out_max);
1738 
1739  assert(included_prns_out || (num_included_prns_out == 0));
1740  for(unsigned int i=0; i < *num_included_prns_out; i++)
1741  extract_u16(&deserializer, &included_prns_out[i]);
1742 
1743  if( mip_serializer_remaining(&deserializer) != 0 )
1744  result = MIP_STATUS_ERROR;
1745  }
1746  return result;
1747 }
1749 {
1750  mip_serializer serializer;
1751  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1752  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1753 
1755 
1756  assert(mip_serializer_is_ok(&serializer));
1757 
1759 }
1761 {
1762  mip_serializer serializer;
1763  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1764  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1765 
1767 
1768  assert(mip_serializer_is_ok(&serializer));
1769 
1771 }
1773 {
1774  mip_serializer serializer;
1775  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1776  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1777 
1779 
1780  assert(mip_serializer_is_ok(&serializer));
1781 
1783 }
1785 {
1786  insert_mip_function_selector(serializer, self->function);
1787 
1788  if( self->function == MIP_FUNCTION_WRITE )
1789  {
1791 
1792  insert_u8(serializer, self->flags);
1793 
1794  }
1795 }
1797 {
1798  extract_mip_function_selector(serializer, &self->function);
1799 
1800  if( self->function == MIP_FUNCTION_WRITE )
1801  {
1803 
1804  extract_u8(serializer, &self->flags);
1805 
1806  }
1807 }
1808 
1810 {
1812 
1813  insert_u8(serializer, self->flags);
1814 
1815 }
1817 {
1819 
1820  extract_u8(serializer, &self->flags);
1821 
1822 }
1823 
1825 {
1826  insert_u8(serializer, (uint8_t)(self));
1827 }
1829 {
1830  uint8_t tmp = 0;
1831  extract_u8(serializer, &tmp);
1832  *self = tmp;
1833 }
1834 
1836 {
1837  mip_serializer serializer;
1838  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1839  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1840 
1842 
1844 
1845  insert_u8(&serializer, flags);
1846 
1847  assert(mip_serializer_is_ok(&serializer));
1848 
1850 }
1852 {
1853  mip_serializer serializer;
1854  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1855  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1856 
1858 
1859  assert(mip_serializer_is_ok(&serializer));
1860 
1861  uint8_t responseLength = sizeof(buffer);
1863 
1864  if( result == MIP_ACK_OK )
1865  {
1866  mip_serializer deserializer;
1867  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
1868 
1869  assert(option_out);
1871 
1872  assert(flags_out);
1873  extract_u8(&deserializer, flags_out);
1874 
1875  if( mip_serializer_remaining(&deserializer) != 0 )
1876  result = MIP_STATUS_ERROR;
1877  }
1878  return result;
1879 }
1881 {
1882  mip_serializer serializer;
1883  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1884  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1885 
1887 
1888  assert(mip_serializer_is_ok(&serializer));
1889 
1891 }
1893 {
1894  mip_serializer serializer;
1895  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1896  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1897 
1899 
1900  assert(mip_serializer_is_ok(&serializer));
1901 
1903 }
1905 {
1906  mip_serializer serializer;
1907  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1908  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1909 
1911 
1912  assert(mip_serializer_is_ok(&serializer));
1913 
1915 }
1917 {
1918  insert_mip_function_selector(serializer, self->function);
1919 
1920  if( self->function == MIP_FUNCTION_WRITE )
1921  {
1922  insert_double(serializer, self->tow);
1923 
1924  insert_u16(serializer, self->week_number);
1925 
1926  insert_float(serializer, self->accuracy);
1927 
1928  }
1929 }
1931 {
1932  extract_mip_function_selector(serializer, &self->function);
1933 
1934  if( self->function == MIP_FUNCTION_WRITE )
1935  {
1936  extract_double(serializer, &self->tow);
1937 
1938  extract_u16(serializer, &self->week_number);
1939 
1940  extract_float(serializer, &self->accuracy);
1941 
1942  }
1943 }
1944 
1946 {
1947  insert_double(serializer, self->tow);
1948 
1949  insert_u16(serializer, self->week_number);
1950 
1951  insert_float(serializer, self->accuracy);
1952 
1953 }
1955 {
1956  extract_double(serializer, &self->tow);
1957 
1958  extract_u16(serializer, &self->week_number);
1959 
1960  extract_float(serializer, &self->accuracy);
1961 
1962 }
1963 
1964 mip_cmd_result mip_3dm_write_gnss_time_assistance(struct mip_interface* device, double tow, uint16_t week_number, float accuracy)
1965 {
1966  mip_serializer serializer;
1967  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1968  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1969 
1971 
1972  insert_double(&serializer, tow);
1973 
1974  insert_u16(&serializer, week_number);
1975 
1976  insert_float(&serializer, accuracy);
1977 
1978  assert(mip_serializer_is_ok(&serializer));
1979 
1981 }
1982 mip_cmd_result mip_3dm_read_gnss_time_assistance(struct mip_interface* device, double* tow_out, uint16_t* week_number_out, float* accuracy_out)
1983 {
1984  mip_serializer serializer;
1985  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
1986  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
1987 
1989 
1990  assert(mip_serializer_is_ok(&serializer));
1991 
1992  uint8_t responseLength = sizeof(buffer);
1994 
1995  if( result == MIP_ACK_OK )
1996  {
1997  mip_serializer deserializer;
1998  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
1999 
2000  assert(tow_out);
2001  extract_double(&deserializer, tow_out);
2002 
2003  assert(week_number_out);
2004  extract_u16(&deserializer, week_number_out);
2005 
2006  assert(accuracy_out);
2007  extract_float(&deserializer, accuracy_out);
2008 
2009  if( mip_serializer_remaining(&deserializer) != 0 )
2010  result = MIP_STATUS_ERROR;
2011  }
2012  return result;
2013 }
2015 {
2016  insert_mip_function_selector(serializer, self->function);
2017 
2018  insert_u8(serializer, self->target_descriptor);
2019 
2020  if( self->function == MIP_FUNCTION_WRITE )
2021  {
2022  insert_bool(serializer, self->enable);
2023 
2024  insert_bool(serializer, self->manual);
2025 
2026  insert_u16(serializer, self->frequency);
2027 
2028  insert_u8(serializer, self->reserved);
2029 
2030  }
2031 }
2033 {
2034  extract_mip_function_selector(serializer, &self->function);
2035 
2036  extract_u8(serializer, &self->target_descriptor);
2037 
2038  if( self->function == MIP_FUNCTION_WRITE )
2039  {
2040  extract_bool(serializer, &self->enable);
2041 
2042  extract_bool(serializer, &self->manual);
2043 
2044  extract_u16(serializer, &self->frequency);
2045 
2046  extract_u8(serializer, &self->reserved);
2047 
2048  }
2049 }
2050 
2052 {
2053  insert_u8(serializer, self->target_descriptor);
2054 
2055  insert_bool(serializer, self->enable);
2056 
2057  insert_bool(serializer, self->manual);
2058 
2059  insert_u16(serializer, self->frequency);
2060 
2061  insert_u8(serializer, self->reserved);
2062 
2063 }
2065 {
2066  extract_u8(serializer, &self->target_descriptor);
2067 
2068  extract_bool(serializer, &self->enable);
2069 
2070  extract_bool(serializer, &self->manual);
2071 
2072  extract_u16(serializer, &self->frequency);
2073 
2074  extract_u8(serializer, &self->reserved);
2075 
2076 }
2077 
2078 mip_cmd_result mip_3dm_write_imu_lowpass_filter(struct mip_interface* device, uint8_t target_descriptor, bool enable, bool manual, uint16_t frequency, uint8_t reserved)
2079 {
2080  mip_serializer serializer;
2081  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2082  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2083 
2085 
2086  insert_u8(&serializer, target_descriptor);
2087 
2088  insert_bool(&serializer, enable);
2089 
2090  insert_bool(&serializer, manual);
2091 
2092  insert_u16(&serializer, frequency);
2093 
2094  insert_u8(&serializer, reserved);
2095 
2096  assert(mip_serializer_is_ok(&serializer));
2097 
2099 }
2100 mip_cmd_result mip_3dm_read_imu_lowpass_filter(struct mip_interface* device, uint8_t target_descriptor, bool* enable_out, bool* manual_out, uint16_t* frequency_out, uint8_t* reserved_out)
2101 {
2102  mip_serializer serializer;
2103  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2104  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2105 
2107 
2108  insert_u8(&serializer, target_descriptor);
2109 
2110  assert(mip_serializer_is_ok(&serializer));
2111 
2112  uint8_t responseLength = sizeof(buffer);
2114 
2115  if( result == MIP_ACK_OK )
2116  {
2117  mip_serializer deserializer;
2118  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
2119 
2120  extract_u8(&deserializer, &target_descriptor);
2121 
2122  assert(enable_out);
2123  extract_bool(&deserializer, enable_out);
2124 
2125  assert(manual_out);
2126  extract_bool(&deserializer, manual_out);
2127 
2128  assert(frequency_out);
2129  extract_u16(&deserializer, frequency_out);
2130 
2131  assert(reserved_out);
2132  extract_u8(&deserializer, reserved_out);
2133 
2134  if( mip_serializer_remaining(&deserializer) != 0 )
2135  result = MIP_STATUS_ERROR;
2136  }
2137  return result;
2138 }
2140 {
2141  mip_serializer serializer;
2142  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2143  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2144 
2146 
2147  insert_u8(&serializer, target_descriptor);
2148 
2149  assert(mip_serializer_is_ok(&serializer));
2150 
2152 }
2154 {
2155  mip_serializer serializer;
2156  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2157  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2158 
2160 
2161  insert_u8(&serializer, target_descriptor);
2162 
2163  assert(mip_serializer_is_ok(&serializer));
2164 
2166 }
2168 {
2169  mip_serializer serializer;
2170  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2171  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2172 
2174 
2175  insert_u8(&serializer, target_descriptor);
2176 
2177  assert(mip_serializer_is_ok(&serializer));
2178 
2180 }
2182 {
2183  insert_mip_function_selector(serializer, self->function);
2184 
2185  if( self->function == MIP_FUNCTION_WRITE )
2186  {
2187  insert_mip_3dm_pps_source_command_source(serializer, self->source);
2188 
2189  }
2190 }
2192 {
2193  extract_mip_function_selector(serializer, &self->function);
2194 
2195  if( self->function == MIP_FUNCTION_WRITE )
2196  {
2197  extract_mip_3dm_pps_source_command_source(serializer, &self->source);
2198 
2199  }
2200 }
2201 
2203 {
2204  insert_mip_3dm_pps_source_command_source(serializer, self->source);
2205 
2206 }
2208 {
2209  extract_mip_3dm_pps_source_command_source(serializer, &self->source);
2210 
2211 }
2212 
2214 {
2215  insert_u8(serializer, (uint8_t)(self));
2216 }
2218 {
2219  uint8_t tmp = 0;
2220  extract_u8(serializer, &tmp);
2221  *self = tmp;
2222 }
2223 
2225 {
2226  mip_serializer serializer;
2227  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2228  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2229 
2231 
2232  insert_mip_3dm_pps_source_command_source(&serializer, source);
2233 
2234  assert(mip_serializer_is_ok(&serializer));
2235 
2237 }
2239 {
2240  mip_serializer serializer;
2241  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2242  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2243 
2245 
2246  assert(mip_serializer_is_ok(&serializer));
2247 
2248  uint8_t responseLength = sizeof(buffer);
2250 
2251  if( result == MIP_ACK_OK )
2252  {
2253  mip_serializer deserializer;
2254  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
2255 
2256  assert(source_out);
2257  extract_mip_3dm_pps_source_command_source(&deserializer, source_out);
2258 
2259  if( mip_serializer_remaining(&deserializer) != 0 )
2260  result = MIP_STATUS_ERROR;
2261  }
2262  return result;
2263 }
2265 {
2266  mip_serializer serializer;
2267  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2268  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2269 
2271 
2272  assert(mip_serializer_is_ok(&serializer));
2273 
2275 }
2277 {
2278  mip_serializer serializer;
2279  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2280  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2281 
2283 
2284  assert(mip_serializer_is_ok(&serializer));
2285 
2287 }
2289 {
2290  mip_serializer serializer;
2291  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2292  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2293 
2295 
2296  assert(mip_serializer_is_ok(&serializer));
2297 
2299 }
2301 {
2302  insert_mip_function_selector(serializer, self->function);
2303 
2304  insert_u8(serializer, self->pin);
2305 
2306  if( self->function == MIP_FUNCTION_WRITE )
2307  {
2308  insert_mip_3dm_gpio_config_command_feature(serializer, self->feature);
2309 
2310  insert_mip_3dm_gpio_config_command_behavior(serializer, self->behavior);
2311 
2312  insert_mip_3dm_gpio_config_command_pin_mode(serializer, self->pin_mode);
2313 
2314  }
2315 }
2317 {
2318  extract_mip_function_selector(serializer, &self->function);
2319 
2320  extract_u8(serializer, &self->pin);
2321 
2322  if( self->function == MIP_FUNCTION_WRITE )
2323  {
2324  extract_mip_3dm_gpio_config_command_feature(serializer, &self->feature);
2325 
2326  extract_mip_3dm_gpio_config_command_behavior(serializer, &self->behavior);
2327 
2328  extract_mip_3dm_gpio_config_command_pin_mode(serializer, &self->pin_mode);
2329 
2330  }
2331 }
2332 
2334 {
2335  insert_u8(serializer, self->pin);
2336 
2337  insert_mip_3dm_gpio_config_command_feature(serializer, self->feature);
2338 
2339  insert_mip_3dm_gpio_config_command_behavior(serializer, self->behavior);
2340 
2341  insert_mip_3dm_gpio_config_command_pin_mode(serializer, self->pin_mode);
2342 
2343 }
2345 {
2346  extract_u8(serializer, &self->pin);
2347 
2348  extract_mip_3dm_gpio_config_command_feature(serializer, &self->feature);
2349 
2350  extract_mip_3dm_gpio_config_command_behavior(serializer, &self->behavior);
2351 
2352  extract_mip_3dm_gpio_config_command_pin_mode(serializer, &self->pin_mode);
2353 
2354 }
2355 
2357 {
2358  insert_u8(serializer, (uint8_t)(self));
2359 }
2361 {
2362  uint8_t tmp = 0;
2363  extract_u8(serializer, &tmp);
2364  *self = tmp;
2365 }
2366 
2368 {
2369  insert_u8(serializer, (uint8_t)(self));
2370 }
2372 {
2373  uint8_t tmp = 0;
2374  extract_u8(serializer, &tmp);
2375  *self = tmp;
2376 }
2377 
2379 {
2380  insert_u8(serializer, (uint8_t)(self));
2381 }
2383 {
2384  uint8_t tmp = 0;
2385  extract_u8(serializer, &tmp);
2386  *self = tmp;
2387 }
2388 
2390 {
2391  mip_serializer serializer;
2392  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2393  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2394 
2396 
2397  insert_u8(&serializer, pin);
2398 
2399  insert_mip_3dm_gpio_config_command_feature(&serializer, feature);
2400 
2401  insert_mip_3dm_gpio_config_command_behavior(&serializer, behavior);
2402 
2403  insert_mip_3dm_gpio_config_command_pin_mode(&serializer, pin_mode);
2404 
2405  assert(mip_serializer_is_ok(&serializer));
2406 
2408 }
2410 {
2411  mip_serializer serializer;
2412  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2413  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2414 
2416 
2417  insert_u8(&serializer, pin);
2418 
2419  assert(mip_serializer_is_ok(&serializer));
2420 
2421  uint8_t responseLength = sizeof(buffer);
2423 
2424  if( result == MIP_ACK_OK )
2425  {
2426  mip_serializer deserializer;
2427  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
2428 
2429  extract_u8(&deserializer, &pin);
2430 
2431  assert(feature_out);
2432  extract_mip_3dm_gpio_config_command_feature(&deserializer, feature_out);
2433 
2434  assert(behavior_out);
2435  extract_mip_3dm_gpio_config_command_behavior(&deserializer, behavior_out);
2436 
2437  assert(pin_mode_out);
2438  extract_mip_3dm_gpio_config_command_pin_mode(&deserializer, pin_mode_out);
2439 
2440  if( mip_serializer_remaining(&deserializer) != 0 )
2441  result = MIP_STATUS_ERROR;
2442  }
2443  return result;
2444 }
2446 {
2447  mip_serializer serializer;
2448  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2449  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2450 
2452 
2453  insert_u8(&serializer, pin);
2454 
2455  assert(mip_serializer_is_ok(&serializer));
2456 
2458 }
2460 {
2461  mip_serializer serializer;
2462  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2463  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2464 
2466 
2467  insert_u8(&serializer, pin);
2468 
2469  assert(mip_serializer_is_ok(&serializer));
2470 
2472 }
2474 {
2475  mip_serializer serializer;
2476  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2477  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2478 
2480 
2481  insert_u8(&serializer, pin);
2482 
2483  assert(mip_serializer_is_ok(&serializer));
2484 
2486 }
2488 {
2489  insert_mip_function_selector(serializer, self->function);
2490 
2491  if( self->function == MIP_FUNCTION_WRITE || self->function == MIP_FUNCTION_READ )
2492  {
2493  insert_u8(serializer, self->pin);
2494 
2495  }
2496  if( self->function == MIP_FUNCTION_WRITE )
2497  {
2498  insert_bool(serializer, self->state);
2499 
2500  }
2501 }
2503 {
2504  extract_mip_function_selector(serializer, &self->function);
2505 
2506  if( self->function == MIP_FUNCTION_WRITE || self->function == MIP_FUNCTION_READ )
2507  {
2508  extract_u8(serializer, &self->pin);
2509 
2510  }
2511  if( self->function == MIP_FUNCTION_WRITE )
2512  {
2513  extract_bool(serializer, &self->state);
2514 
2515  }
2516 }
2517 
2519 {
2520  insert_u8(serializer, self->pin);
2521 
2522  insert_bool(serializer, self->state);
2523 
2524 }
2526 {
2527  extract_u8(serializer, &self->pin);
2528 
2529  extract_bool(serializer, &self->state);
2530 
2531 }
2532 
2534 {
2535  mip_serializer serializer;
2536  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2537  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2538 
2540 
2541  insert_u8(&serializer, pin);
2542 
2543  insert_bool(&serializer, state);
2544 
2545  assert(mip_serializer_is_ok(&serializer));
2546 
2548 }
2549 mip_cmd_result mip_3dm_read_gpio_state(struct mip_interface* device, uint8_t pin, bool* state_out)
2550 {
2551  mip_serializer serializer;
2552  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2553  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2554 
2556 
2557  insert_u8(&serializer, pin);
2558 
2559  assert(mip_serializer_is_ok(&serializer));
2560 
2561  uint8_t responseLength = sizeof(buffer);
2563 
2564  if( result == MIP_ACK_OK )
2565  {
2566  mip_serializer deserializer;
2567  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
2568 
2569  extract_u8(&deserializer, &pin);
2570 
2571  assert(state_out);
2572  extract_bool(&deserializer, state_out);
2573 
2574  if( mip_serializer_remaining(&deserializer) != 0 )
2575  result = MIP_STATUS_ERROR;
2576  }
2577  return result;
2578 }
2580 {
2581  insert_mip_function_selector(serializer, self->function);
2582 
2583  if( self->function == MIP_FUNCTION_WRITE )
2584  {
2585  insert_mip_3dm_odometer_command_mode(serializer, self->mode);
2586 
2587  insert_float(serializer, self->scaling);
2588 
2589  insert_float(serializer, self->uncertainty);
2590 
2591  }
2592 }
2594 {
2595  extract_mip_function_selector(serializer, &self->function);
2596 
2597  if( self->function == MIP_FUNCTION_WRITE )
2598  {
2599  extract_mip_3dm_odometer_command_mode(serializer, &self->mode);
2600 
2601  extract_float(serializer, &self->scaling);
2602 
2603  extract_float(serializer, &self->uncertainty);
2604 
2605  }
2606 }
2607 
2609 {
2610  insert_mip_3dm_odometer_command_mode(serializer, self->mode);
2611 
2612  insert_float(serializer, self->scaling);
2613 
2614  insert_float(serializer, self->uncertainty);
2615 
2616 }
2618 {
2619  extract_mip_3dm_odometer_command_mode(serializer, &self->mode);
2620 
2621  extract_float(serializer, &self->scaling);
2622 
2623  extract_float(serializer, &self->uncertainty);
2624 
2625 }
2626 
2628 {
2629  insert_u8(serializer, (uint8_t)(self));
2630 }
2632 {
2633  uint8_t tmp = 0;
2634  extract_u8(serializer, &tmp);
2635  *self = tmp;
2636 }
2637 
2639 {
2640  mip_serializer serializer;
2641  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2642  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2643 
2645 
2646  insert_mip_3dm_odometer_command_mode(&serializer, mode);
2647 
2648  insert_float(&serializer, scaling);
2649 
2650  insert_float(&serializer, uncertainty);
2651 
2652  assert(mip_serializer_is_ok(&serializer));
2653 
2655 }
2656 mip_cmd_result mip_3dm_read_odometer(struct mip_interface* device, mip_3dm_odometer_command_mode* mode_out, float* scaling_out, float* uncertainty_out)
2657 {
2658  mip_serializer serializer;
2659  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2660  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2661 
2663 
2664  assert(mip_serializer_is_ok(&serializer));
2665 
2666  uint8_t responseLength = sizeof(buffer);
2668 
2669  if( result == MIP_ACK_OK )
2670  {
2671  mip_serializer deserializer;
2672  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
2673 
2674  assert(mode_out);
2675  extract_mip_3dm_odometer_command_mode(&deserializer, mode_out);
2676 
2677  assert(scaling_out);
2678  extract_float(&deserializer, scaling_out);
2679 
2680  assert(uncertainty_out);
2681  extract_float(&deserializer, uncertainty_out);
2682 
2683  if( mip_serializer_remaining(&deserializer) != 0 )
2684  result = MIP_STATUS_ERROR;
2685  }
2686  return result;
2687 }
2689 {
2690  mip_serializer serializer;
2691  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2692  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2693 
2695 
2696  assert(mip_serializer_is_ok(&serializer));
2697 
2699 }
2701 {
2702  mip_serializer serializer;
2703  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2704  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2705 
2707 
2708  assert(mip_serializer_is_ok(&serializer));
2709 
2711 }
2713 {
2714  mip_serializer serializer;
2715  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2716  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2717 
2719 
2720  assert(mip_serializer_is_ok(&serializer));
2721 
2723 }
2725 {
2726  insert_mip_3dm_get_event_support_command_query(serializer, self->query);
2727 
2728 }
2730 {
2731  extract_mip_3dm_get_event_support_command_query(serializer, &self->query);
2732 
2733 }
2734 
2736 {
2737  insert_mip_3dm_get_event_support_command_query(serializer, self->query);
2738 
2739  insert_u8(serializer, self->max_instances);
2740 
2741  insert_u8(serializer, self->num_entries);
2742 
2743 
2744  for(unsigned int i=0; i < self->num_entries; i++)
2745  insert_mip_3dm_get_event_support_command_info(serializer, &self->entries[i]);
2746 
2747 }
2749 {
2750  extract_mip_3dm_get_event_support_command_query(serializer, &self->query);
2751 
2752  extract_u8(serializer, &self->max_instances);
2753 
2754  assert(self->num_entries);
2755  extract_count(serializer, &self->num_entries, sizeof(self->entries)/sizeof(self->entries[0]));
2756 
2757  for(unsigned int i=0; i < self->num_entries; i++)
2758  extract_mip_3dm_get_event_support_command_info(serializer, &self->entries[i]);
2759 
2760 }
2761 
2763 {
2764  insert_u8(serializer, (uint8_t)(self));
2765 }
2767 {
2768  uint8_t tmp = 0;
2769  extract_u8(serializer, &tmp);
2770  *self = tmp;
2771 }
2772 
2774 {
2775  insert_u8(serializer, self->type);
2776 
2777  insert_u8(serializer, self->count);
2778 
2779 }
2781 {
2782  extract_u8(serializer, &self->type);
2783 
2784  extract_u8(serializer, &self->count);
2785 
2786 }
2787 
2788 mip_cmd_result mip_3dm_get_event_support(struct mip_interface* device, mip_3dm_get_event_support_command_query query, uint8_t* max_instances_out, uint8_t* num_entries_out, uint8_t num_entries_out_max, mip_3dm_get_event_support_command_info* entries_out)
2789 {
2790  mip_serializer serializer;
2791  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2792  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2793 
2795 
2796  assert(mip_serializer_is_ok(&serializer));
2797 
2798  uint8_t responseLength = sizeof(buffer);
2800 
2801  if( result == MIP_ACK_OK )
2802  {
2803  mip_serializer deserializer;
2804  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
2805 
2806  extract_mip_3dm_get_event_support_command_query(&deserializer, &query);
2807 
2808  assert(max_instances_out);
2809  extract_u8(&deserializer, max_instances_out);
2810 
2811  assert(num_entries_out);
2812  extract_count(&deserializer, num_entries_out, num_entries_out_max);
2813 
2814  assert(entries_out || (num_entries_out == 0));
2815  for(unsigned int i=0; i < *num_entries_out; i++)
2816  extract_mip_3dm_get_event_support_command_info(&deserializer, &entries_out[i]);
2817 
2818  if( mip_serializer_remaining(&deserializer) != 0 )
2819  result = MIP_STATUS_ERROR;
2820  }
2821  return result;
2822 }
2824 {
2825  insert_mip_function_selector(serializer, self->function);
2826 
2827  insert_u8(serializer, self->instance);
2828 
2829  if( self->function == MIP_FUNCTION_WRITE )
2830  {
2831  insert_mip_3dm_event_control_command_mode(serializer, self->mode);
2832 
2833  }
2834 }
2836 {
2837  extract_mip_function_selector(serializer, &self->function);
2838 
2839  extract_u8(serializer, &self->instance);
2840 
2841  if( self->function == MIP_FUNCTION_WRITE )
2842  {
2843  extract_mip_3dm_event_control_command_mode(serializer, &self->mode);
2844 
2845  }
2846 }
2847 
2849 {
2850  insert_u8(serializer, self->instance);
2851 
2852  insert_mip_3dm_event_control_command_mode(serializer, self->mode);
2853 
2854 }
2856 {
2857  extract_u8(serializer, &self->instance);
2858 
2859  extract_mip_3dm_event_control_command_mode(serializer, &self->mode);
2860 
2861 }
2862 
2864 {
2865  insert_u8(serializer, (uint8_t)(self));
2866 }
2868 {
2869  uint8_t tmp = 0;
2870  extract_u8(serializer, &tmp);
2871  *self = tmp;
2872 }
2873 
2875 {
2876  mip_serializer serializer;
2877  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2878  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2879 
2881 
2882  insert_u8(&serializer, instance);
2883 
2884  insert_mip_3dm_event_control_command_mode(&serializer, mode);
2885 
2886  assert(mip_serializer_is_ok(&serializer));
2887 
2889 }
2891 {
2892  mip_serializer serializer;
2893  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2894  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2895 
2897 
2898  insert_u8(&serializer, instance);
2899 
2900  assert(mip_serializer_is_ok(&serializer));
2901 
2902  uint8_t responseLength = sizeof(buffer);
2904 
2905  if( result == MIP_ACK_OK )
2906  {
2907  mip_serializer deserializer;
2908  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
2909 
2910  extract_u8(&deserializer, &instance);
2911 
2912  assert(mode_out);
2913  extract_mip_3dm_event_control_command_mode(&deserializer, mode_out);
2914 
2915  if( mip_serializer_remaining(&deserializer) != 0 )
2916  result = MIP_STATUS_ERROR;
2917  }
2918  return result;
2919 }
2921 {
2922  mip_serializer serializer;
2923  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2924  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2925 
2927 
2928  insert_u8(&serializer, instance);
2929 
2930  assert(mip_serializer_is_ok(&serializer));
2931 
2933 }
2935 {
2936  mip_serializer serializer;
2937  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2938  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2939 
2941 
2942  insert_u8(&serializer, instance);
2943 
2944  assert(mip_serializer_is_ok(&serializer));
2945 
2947 }
2949 {
2950  mip_serializer serializer;
2951  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
2952  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
2953 
2955 
2956  insert_u8(&serializer, instance);
2957 
2958  assert(mip_serializer_is_ok(&serializer));
2959 
2961 }
2963 {
2964  insert_u8(serializer, self->requested_count);
2965 
2966 
2967  for(unsigned int i=0; i < self->requested_count; i++)
2968  insert_u8(serializer, self->requested_instances[i]);
2969 
2970 }
2972 {
2973  assert(self->requested_count);
2974  extract_count(serializer, &self->requested_count, sizeof(self->requested_instances)/sizeof(self->requested_instances[0]));
2975 
2976  for(unsigned int i=0; i < self->requested_count; i++)
2977  extract_u8(serializer, &self->requested_instances[i]);
2978 
2979 }
2980 
2982 {
2983  insert_u8(serializer, self->count);
2984 
2985 
2986  for(unsigned int i=0; i < self->count; i++)
2987  insert_mip_3dm_get_event_trigger_status_command_entry(serializer, &self->triggers[i]);
2988 
2989 }
2991 {
2992  assert(self->count);
2993  extract_count(serializer, &self->count, sizeof(self->triggers)/sizeof(self->triggers[0]));
2994 
2995  for(unsigned int i=0; i < self->count; i++)
2996  extract_mip_3dm_get_event_trigger_status_command_entry(serializer, &self->triggers[i]);
2997 
2998 }
2999 
3001 {
3002  insert_u8(serializer, (uint8_t)(self));
3003 }
3005 {
3006  uint8_t tmp = 0;
3007  extract_u8(serializer, &tmp);
3008  *self = tmp;
3009 }
3010 
3012 {
3013  insert_u8(serializer, self->type);
3014 
3016 
3017 }
3019 {
3020  extract_u8(serializer, &self->type);
3021 
3023 
3024 }
3025 
3026 mip_cmd_result mip_3dm_get_event_trigger_status(struct mip_interface* device, uint8_t requested_count, const uint8_t* requested_instances, uint8_t* count_out, uint8_t count_out_max, mip_3dm_get_event_trigger_status_command_entry* triggers_out)
3027 {
3028  mip_serializer serializer;
3029  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3030  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3031 
3032  insert_u8(&serializer, requested_count);
3033 
3034  assert(requested_instances || (requested_count == 0));
3035  for(unsigned int i=0; i < requested_count; i++)
3036  insert_u8(&serializer, requested_instances[i]);
3037 
3038  assert(mip_serializer_is_ok(&serializer));
3039 
3040  uint8_t responseLength = sizeof(buffer);
3042 
3043  if( result == MIP_ACK_OK )
3044  {
3045  mip_serializer deserializer;
3046  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
3047 
3048  assert(count_out);
3049  extract_count(&deserializer, count_out, count_out_max);
3050 
3051  assert(triggers_out || (count_out == 0));
3052  for(unsigned int i=0; i < *count_out; i++)
3053  extract_mip_3dm_get_event_trigger_status_command_entry(&deserializer, &triggers_out[i]);
3054 
3055  if( mip_serializer_remaining(&deserializer) != 0 )
3056  result = MIP_STATUS_ERROR;
3057  }
3058  return result;
3059 }
3061 {
3062  insert_u8(serializer, self->requested_count);
3063 
3064 
3065  for(unsigned int i=0; i < self->requested_count; i++)
3066  insert_u8(serializer, self->requested_instances[i]);
3067 
3068 }
3070 {
3071  assert(self->requested_count);
3072  extract_count(serializer, &self->requested_count, sizeof(self->requested_instances)/sizeof(self->requested_instances[0]));
3073 
3074  for(unsigned int i=0; i < self->requested_count; i++)
3075  extract_u8(serializer, &self->requested_instances[i]);
3076 
3077 }
3078 
3080 {
3081  insert_u8(serializer, self->count);
3082 
3083 
3084  for(unsigned int i=0; i < self->count; i++)
3085  insert_mip_3dm_get_event_action_status_command_entry(serializer, &self->actions[i]);
3086 
3087 }
3089 {
3090  assert(self->count);
3091  extract_count(serializer, &self->count, sizeof(self->actions)/sizeof(self->actions[0]));
3092 
3093  for(unsigned int i=0; i < self->count; i++)
3094  extract_mip_3dm_get_event_action_status_command_entry(serializer, &self->actions[i]);
3095 
3096 }
3097 
3099 {
3100  insert_u8(serializer, self->action_type);
3101 
3102  insert_u8(serializer, self->trigger_id);
3103 
3104 }
3106 {
3107  extract_u8(serializer, &self->action_type);
3108 
3109  extract_u8(serializer, &self->trigger_id);
3110 
3111 }
3112 
3113 mip_cmd_result mip_3dm_get_event_action_status(struct mip_interface* device, uint8_t requested_count, const uint8_t* requested_instances, uint8_t* count_out, uint8_t count_out_max, mip_3dm_get_event_action_status_command_entry* actions_out)
3114 {
3115  mip_serializer serializer;
3116  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3117  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3118 
3119  insert_u8(&serializer, requested_count);
3120 
3121  assert(requested_instances || (requested_count == 0));
3122  for(unsigned int i=0; i < requested_count; i++)
3123  insert_u8(&serializer, requested_instances[i]);
3124 
3125  assert(mip_serializer_is_ok(&serializer));
3126 
3127  uint8_t responseLength = sizeof(buffer);
3129 
3130  if( result == MIP_ACK_OK )
3131  {
3132  mip_serializer deserializer;
3133  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
3134 
3135  assert(count_out);
3136  extract_count(&deserializer, count_out, count_out_max);
3137 
3138  assert(actions_out || (count_out == 0));
3139  for(unsigned int i=0; i < *count_out; i++)
3140  extract_mip_3dm_get_event_action_status_command_entry(&deserializer, &actions_out[i]);
3141 
3142  if( mip_serializer_remaining(&deserializer) != 0 )
3143  result = MIP_STATUS_ERROR;
3144  }
3145  return result;
3146 }
3148 {
3149  insert_mip_function_selector(serializer, self->function);
3150 
3151  insert_u8(serializer, self->instance);
3152 
3153  if( self->function == MIP_FUNCTION_WRITE )
3154  {
3155  insert_mip_3dm_event_trigger_command_type(serializer, self->type);
3156 
3157  if( self->type == MIP_3DM_EVENT_TRIGGER_COMMAND_TYPE_GPIO )
3158  {
3159  insert_mip_3dm_event_trigger_command_gpio_params(serializer, &self->parameters.gpio);
3160 
3161  }
3163  {
3164  insert_mip_3dm_event_trigger_command_threshold_params(serializer, &self->parameters.threshold);
3165 
3166  }
3168  {
3169  insert_mip_3dm_event_trigger_command_combination_params(serializer, &self->parameters.combination);
3170 
3171  }
3172  }
3173 }
3175 {
3176  extract_mip_function_selector(serializer, &self->function);
3177 
3178  extract_u8(serializer, &self->instance);
3179 
3180  if( self->function == MIP_FUNCTION_WRITE )
3181  {
3182  extract_mip_3dm_event_trigger_command_type(serializer, &self->type);
3183 
3184  if( self->type == MIP_3DM_EVENT_TRIGGER_COMMAND_TYPE_GPIO )
3185  {
3186  extract_mip_3dm_event_trigger_command_gpio_params(serializer, &self->parameters.gpio);
3187 
3188  }
3190  {
3191  extract_mip_3dm_event_trigger_command_threshold_params(serializer, &self->parameters.threshold);
3192 
3193  }
3195  {
3196  extract_mip_3dm_event_trigger_command_combination_params(serializer, &self->parameters.combination);
3197 
3198  }
3199  }
3200 }
3201 
3203 {
3204  insert_u8(serializer, self->instance);
3205 
3206  insert_mip_3dm_event_trigger_command_type(serializer, self->type);
3207 
3208  if( self->type == MIP_3DM_EVENT_TRIGGER_COMMAND_TYPE_GPIO )
3209  {
3210  insert_mip_3dm_event_trigger_command_gpio_params(serializer, &self->parameters.gpio);
3211 
3212  }
3214  {
3215  insert_mip_3dm_event_trigger_command_threshold_params(serializer, &self->parameters.threshold);
3216 
3217  }
3219  {
3220  insert_mip_3dm_event_trigger_command_combination_params(serializer, &self->parameters.combination);
3221 
3222  }
3223 }
3225 {
3226  extract_u8(serializer, &self->instance);
3227 
3228  extract_mip_3dm_event_trigger_command_type(serializer, &self->type);
3229 
3230  if( self->type == MIP_3DM_EVENT_TRIGGER_COMMAND_TYPE_GPIO )
3231  {
3232  extract_mip_3dm_event_trigger_command_gpio_params(serializer, &self->parameters.gpio);
3233 
3234  }
3236  {
3237  extract_mip_3dm_event_trigger_command_threshold_params(serializer, &self->parameters.threshold);
3238 
3239  }
3241  {
3242  extract_mip_3dm_event_trigger_command_combination_params(serializer, &self->parameters.combination);
3243 
3244  }
3245 }
3246 
3248 {
3249  insert_u8(serializer, self->pin);
3250 
3252 
3253 }
3255 {
3256  extract_u8(serializer, &self->pin);
3257 
3259 
3260 }
3261 
3263 {
3264  insert_u8(serializer, (uint8_t)(self));
3265 }
3267 {
3268  uint8_t tmp = 0;
3269  extract_u8(serializer, &tmp);
3270  *self = tmp;
3271 }
3272 
3274 {
3275  insert_u8(serializer, self->desc_set);
3276 
3277  insert_u8(serializer, self->field_desc);
3278 
3279  insert_u8(serializer, self->param_id);
3280 
3282 
3284  {
3285  insert_double(serializer, self->low_thres);
3286 
3287  }
3289  {
3290  insert_double(serializer, self->int_thres);
3291 
3292  }
3294  {
3295  insert_double(serializer, self->high_thres);
3296 
3297  }
3299  {
3300  insert_double(serializer, self->interval);
3301 
3302  }
3303 }
3305 {
3306  extract_u8(serializer, &self->desc_set);
3307 
3308  extract_u8(serializer, &self->field_desc);
3309 
3310  extract_u8(serializer, &self->param_id);
3311 
3313 
3315  {
3316  extract_double(serializer, &self->low_thres);
3317 
3318  }
3320  {
3321  extract_double(serializer, &self->int_thres);
3322 
3323  }
3325  {
3326  extract_double(serializer, &self->high_thres);
3327 
3328  }
3330  {
3331  extract_double(serializer, &self->interval);
3332 
3333  }
3334 }
3335 
3337 {
3338  insert_u8(serializer, (uint8_t)(self));
3339 }
3341 {
3342  uint8_t tmp = 0;
3343  extract_u8(serializer, &tmp);
3344  *self = tmp;
3345 }
3346 
3348 {
3349  insert_u16(serializer, self->logic_table);
3350 
3351  for(unsigned int i=0; i < 4; i++)
3352  insert_u8(serializer, self->input_triggers[i]);
3353 
3354 }
3356 {
3357  extract_u16(serializer, &self->logic_table);
3358 
3359  for(unsigned int i=0; i < 4; i++)
3360  extract_u8(serializer, &self->input_triggers[i]);
3361 
3362 }
3363 
3365 {
3366  insert_u8(serializer, (uint8_t)(self));
3367 }
3369 {
3370  uint8_t tmp = 0;
3371  extract_u8(serializer, &tmp);
3372  *self = tmp;
3373 }
3374 
3376 {
3377  mip_serializer serializer;
3378  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3379  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3380 
3382 
3383  insert_u8(&serializer, instance);
3384 
3385  insert_mip_3dm_event_trigger_command_type(&serializer, type);
3386 
3388  {
3389  insert_mip_3dm_event_trigger_command_gpio_params(&serializer, &parameters->gpio);
3390 
3391  }
3393  {
3395 
3396  }
3398  {
3400 
3401  }
3402  assert(mip_serializer_is_ok(&serializer));
3403 
3405 }
3407 {
3408  mip_serializer serializer;
3409  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3410  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3411 
3413 
3414  insert_u8(&serializer, instance);
3415 
3416  assert(mip_serializer_is_ok(&serializer));
3417 
3418  uint8_t responseLength = sizeof(buffer);
3420 
3421  if( result == MIP_ACK_OK )
3422  {
3423  mip_serializer deserializer;
3424  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
3425 
3426  extract_u8(&deserializer, &instance);
3427 
3428  assert(type_out);
3429  extract_mip_3dm_event_trigger_command_type(&deserializer, type_out);
3430 
3431  if( *type_out == MIP_3DM_EVENT_TRIGGER_COMMAND_TYPE_GPIO )
3432  {
3433  extract_mip_3dm_event_trigger_command_gpio_params(&deserializer, &parameters_out->gpio);
3434 
3435  }
3437  {
3438  extract_mip_3dm_event_trigger_command_threshold_params(&deserializer, &parameters_out->threshold);
3439 
3440  }
3442  {
3444 
3445  }
3446  if( mip_serializer_remaining(&deserializer) != 0 )
3447  result = MIP_STATUS_ERROR;
3448  }
3449  return result;
3450 }
3452 {
3453  mip_serializer serializer;
3454  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3455  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3456 
3458 
3459  insert_u8(&serializer, instance);
3460 
3461  assert(mip_serializer_is_ok(&serializer));
3462 
3464 }
3466 {
3467  mip_serializer serializer;
3468  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3469  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3470 
3472 
3473  insert_u8(&serializer, instance);
3474 
3475  assert(mip_serializer_is_ok(&serializer));
3476 
3478 }
3480 {
3481  mip_serializer serializer;
3482  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3483  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3484 
3486 
3487  insert_u8(&serializer, instance);
3488 
3489  assert(mip_serializer_is_ok(&serializer));
3490 
3492 }
3494 {
3495  insert_mip_function_selector(serializer, self->function);
3496 
3497  insert_u8(serializer, self->instance);
3498 
3499  if( self->function == MIP_FUNCTION_WRITE )
3500  {
3501  insert_u8(serializer, self->trigger);
3502 
3503  insert_mip_3dm_event_action_command_type(serializer, self->type);
3504 
3505  if( self->type == MIP_3DM_EVENT_ACTION_COMMAND_TYPE_GPIO )
3506  {
3507  insert_mip_3dm_event_action_command_gpio_params(serializer, &self->parameters.gpio);
3508 
3509  }
3510  if( self->type == MIP_3DM_EVENT_ACTION_COMMAND_TYPE_MESSAGE )
3511  {
3512  insert_mip_3dm_event_action_command_message_params(serializer, &self->parameters.message);
3513 
3514  }
3515  }
3516 }
3518 {
3519  extract_mip_function_selector(serializer, &self->function);
3520 
3521  extract_u8(serializer, &self->instance);
3522 
3523  if( self->function == MIP_FUNCTION_WRITE )
3524  {
3525  extract_u8(serializer, &self->trigger);
3526 
3527  extract_mip_3dm_event_action_command_type(serializer, &self->type);
3528 
3529  if( self->type == MIP_3DM_EVENT_ACTION_COMMAND_TYPE_GPIO )
3530  {
3531  extract_mip_3dm_event_action_command_gpio_params(serializer, &self->parameters.gpio);
3532 
3533  }
3534  if( self->type == MIP_3DM_EVENT_ACTION_COMMAND_TYPE_MESSAGE )
3535  {
3536  extract_mip_3dm_event_action_command_message_params(serializer, &self->parameters.message);
3537 
3538  }
3539  }
3540 }
3541 
3543 {
3544  insert_u8(serializer, self->instance);
3545 
3546  insert_u8(serializer, self->trigger);
3547 
3548  insert_mip_3dm_event_action_command_type(serializer, self->type);
3549 
3550  if( self->type == MIP_3DM_EVENT_ACTION_COMMAND_TYPE_GPIO )
3551  {
3552  insert_mip_3dm_event_action_command_gpio_params(serializer, &self->parameters.gpio);
3553 
3554  }
3555  if( self->type == MIP_3DM_EVENT_ACTION_COMMAND_TYPE_MESSAGE )
3556  {
3557  insert_mip_3dm_event_action_command_message_params(serializer, &self->parameters.message);
3558 
3559  }
3560 }
3562 {
3563  extract_u8(serializer, &self->instance);
3564 
3565  extract_u8(serializer, &self->trigger);
3566 
3567  extract_mip_3dm_event_action_command_type(serializer, &self->type);
3568 
3569  if( self->type == MIP_3DM_EVENT_ACTION_COMMAND_TYPE_GPIO )
3570  {
3571  extract_mip_3dm_event_action_command_gpio_params(serializer, &self->parameters.gpio);
3572 
3573  }
3574  if( self->type == MIP_3DM_EVENT_ACTION_COMMAND_TYPE_MESSAGE )
3575  {
3576  extract_mip_3dm_event_action_command_message_params(serializer, &self->parameters.message);
3577 
3578  }
3579 }
3580 
3582 {
3583  insert_u8(serializer, self->pin);
3584 
3586 
3587 }
3589 {
3590  extract_u8(serializer, &self->pin);
3591 
3593 
3594 }
3595 
3597 {
3598  insert_u8(serializer, (uint8_t)(self));
3599 }
3601 {
3602  uint8_t tmp = 0;
3603  extract_u8(serializer, &tmp);
3604  *self = tmp;
3605 }
3606 
3608 {
3609  insert_u8(serializer, self->desc_set);
3610 
3611  insert_u16(serializer, self->decimation);
3612 
3613  insert_u8(serializer, self->num_fields);
3614 
3615 
3616  for(unsigned int i=0; i < self->num_fields; i++)
3617  insert_u8(serializer, self->descriptors[i]);
3618 
3619 }
3621 {
3622  extract_u8(serializer, &self->desc_set);
3623 
3624  extract_u16(serializer, &self->decimation);
3625 
3626  assert(self->num_fields);
3627  extract_count(serializer, &self->num_fields, sizeof(self->descriptors)/sizeof(self->descriptors[0]));
3628 
3629  for(unsigned int i=0; i < self->num_fields; i++)
3630  extract_u8(serializer, &self->descriptors[i]);
3631 
3632 }
3633 
3635 {
3636  insert_u8(serializer, (uint8_t)(self));
3637 }
3639 {
3640  uint8_t tmp = 0;
3641  extract_u8(serializer, &tmp);
3642  *self = tmp;
3643 }
3644 
3646 {
3647  mip_serializer serializer;
3648  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3649  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3650 
3652 
3653  insert_u8(&serializer, instance);
3654 
3655  insert_u8(&serializer, trigger);
3656 
3657  insert_mip_3dm_event_action_command_type(&serializer, type);
3658 
3660  {
3661  insert_mip_3dm_event_action_command_gpio_params(&serializer, &parameters->gpio);
3662 
3663  }
3665  {
3667 
3668  }
3669  assert(mip_serializer_is_ok(&serializer));
3670 
3672 }
3674 {
3675  mip_serializer serializer;
3676  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3677  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3678 
3680 
3681  insert_u8(&serializer, instance);
3682 
3683  assert(mip_serializer_is_ok(&serializer));
3684 
3685  uint8_t responseLength = sizeof(buffer);
3687 
3688  if( result == MIP_ACK_OK )
3689  {
3690  mip_serializer deserializer;
3691  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
3692 
3693  extract_u8(&deserializer, &instance);
3694 
3695  assert(trigger_out);
3696  extract_u8(&deserializer, trigger_out);
3697 
3698  assert(type_out);
3699  extract_mip_3dm_event_action_command_type(&deserializer, type_out);
3700 
3701  if( *type_out == MIP_3DM_EVENT_ACTION_COMMAND_TYPE_GPIO )
3702  {
3703  extract_mip_3dm_event_action_command_gpio_params(&deserializer, &parameters_out->gpio);
3704 
3705  }
3707  {
3708  extract_mip_3dm_event_action_command_message_params(&deserializer, &parameters_out->message);
3709 
3710  }
3711  if( mip_serializer_remaining(&deserializer) != 0 )
3712  result = MIP_STATUS_ERROR;
3713  }
3714  return result;
3715 }
3717 {
3718  mip_serializer serializer;
3719  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3720  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3721 
3723 
3724  insert_u8(&serializer, instance);
3725 
3726  assert(mip_serializer_is_ok(&serializer));
3727 
3729 }
3731 {
3732  mip_serializer serializer;
3733  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3734  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3735 
3737 
3738  insert_u8(&serializer, instance);
3739 
3740  assert(mip_serializer_is_ok(&serializer));
3741 
3743 }
3745 {
3746  mip_serializer serializer;
3747  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3748  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3749 
3751 
3752  insert_u8(&serializer, instance);
3753 
3754  assert(mip_serializer_is_ok(&serializer));
3755 
3757 }
3759 {
3760  insert_mip_function_selector(serializer, self->function);
3761 
3762  if( self->function == MIP_FUNCTION_WRITE )
3763  {
3764  for(unsigned int i=0; i < 3; i++)
3765  insert_float(serializer, self->bias[i]);
3766 
3767  }
3768 }
3770 {
3771  extract_mip_function_selector(serializer, &self->function);
3772 
3773  if( self->function == MIP_FUNCTION_WRITE )
3774  {
3775  for(unsigned int i=0; i < 3; i++)
3776  extract_float(serializer, &self->bias[i]);
3777 
3778  }
3779 }
3780 
3782 {
3783  for(unsigned int i=0; i < 3; i++)
3784  insert_float(serializer, self->bias[i]);
3785 
3786 }
3788 {
3789  for(unsigned int i=0; i < 3; i++)
3790  extract_float(serializer, &self->bias[i]);
3791 
3792 }
3793 
3795 {
3796  mip_serializer serializer;
3797  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3798  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3799 
3801 
3802  assert(bias || (3 == 0));
3803  for(unsigned int i=0; i < 3; i++)
3804  insert_float(&serializer, bias[i]);
3805 
3806  assert(mip_serializer_is_ok(&serializer));
3807 
3809 }
3811 {
3812  mip_serializer serializer;
3813  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3814  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3815 
3817 
3818  assert(mip_serializer_is_ok(&serializer));
3819 
3820  uint8_t responseLength = sizeof(buffer);
3822 
3823  if( result == MIP_ACK_OK )
3824  {
3825  mip_serializer deserializer;
3826  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
3827 
3828  assert(bias_out || (3 == 0));
3829  for(unsigned int i=0; i < 3; i++)
3830  extract_float(&deserializer, &bias_out[i]);
3831 
3832  if( mip_serializer_remaining(&deserializer) != 0 )
3833  result = MIP_STATUS_ERROR;
3834  }
3835  return result;
3836 }
3838 {
3839  mip_serializer serializer;
3840  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3841  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3842 
3844 
3845  assert(mip_serializer_is_ok(&serializer));
3846 
3848 }
3850 {
3851  mip_serializer serializer;
3852  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3853  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3854 
3856 
3857  assert(mip_serializer_is_ok(&serializer));
3858 
3860 }
3862 {
3863  mip_serializer serializer;
3864  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3865  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3866 
3868 
3869  assert(mip_serializer_is_ok(&serializer));
3870 
3872 }
3874 {
3875  insert_mip_function_selector(serializer, self->function);
3876 
3877  if( self->function == MIP_FUNCTION_WRITE )
3878  {
3879  for(unsigned int i=0; i < 3; i++)
3880  insert_float(serializer, self->bias[i]);
3881 
3882  }
3883 }
3885 {
3886  extract_mip_function_selector(serializer, &self->function);
3887 
3888  if( self->function == MIP_FUNCTION_WRITE )
3889  {
3890  for(unsigned int i=0; i < 3; i++)
3891  extract_float(serializer, &self->bias[i]);
3892 
3893  }
3894 }
3895 
3897 {
3898  for(unsigned int i=0; i < 3; i++)
3899  insert_float(serializer, self->bias[i]);
3900 
3901 }
3903 {
3904  for(unsigned int i=0; i < 3; i++)
3905  extract_float(serializer, &self->bias[i]);
3906 
3907 }
3908 
3910 {
3911  mip_serializer serializer;
3912  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3913  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3914 
3916 
3917  assert(bias || (3 == 0));
3918  for(unsigned int i=0; i < 3; i++)
3919  insert_float(&serializer, bias[i]);
3920 
3921  assert(mip_serializer_is_ok(&serializer));
3922 
3924 }
3926 {
3927  mip_serializer serializer;
3928  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3929  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3930 
3932 
3933  assert(mip_serializer_is_ok(&serializer));
3934 
3935  uint8_t responseLength = sizeof(buffer);
3937 
3938  if( result == MIP_ACK_OK )
3939  {
3940  mip_serializer deserializer;
3941  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
3942 
3943  assert(bias_out || (3 == 0));
3944  for(unsigned int i=0; i < 3; i++)
3945  extract_float(&deserializer, &bias_out[i]);
3946 
3947  if( mip_serializer_remaining(&deserializer) != 0 )
3948  result = MIP_STATUS_ERROR;
3949  }
3950  return result;
3951 }
3953 {
3954  mip_serializer serializer;
3955  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3956  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3957 
3959 
3960  assert(mip_serializer_is_ok(&serializer));
3961 
3963 }
3965 {
3966  mip_serializer serializer;
3967  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3968  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3969 
3971 
3972  assert(mip_serializer_is_ok(&serializer));
3973 
3975 }
3977 {
3978  mip_serializer serializer;
3979  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
3980  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
3981 
3983 
3984  assert(mip_serializer_is_ok(&serializer));
3985 
3987 }
3989 {
3990  insert_u16(serializer, self->averaging_time_ms);
3991 
3992 }
3994 {
3995  extract_u16(serializer, &self->averaging_time_ms);
3996 
3997 }
3998 
4000 {
4001  for(unsigned int i=0; i < 3; i++)
4002  insert_float(serializer, self->bias[i]);
4003 
4004 }
4006 {
4007  for(unsigned int i=0; i < 3; i++)
4008  extract_float(serializer, &self->bias[i]);
4009 
4010 }
4011 
4012 mip_cmd_result mip_3dm_capture_gyro_bias(struct mip_interface* device, uint16_t averaging_time_ms, float* bias_out)
4013 {
4014  mip_serializer serializer;
4015  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4016  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4017 
4018  insert_u16(&serializer, averaging_time_ms);
4019 
4020  assert(mip_serializer_is_ok(&serializer));
4021 
4022  uint8_t responseLength = sizeof(buffer);
4024 
4025  if( result == MIP_ACK_OK )
4026  {
4027  mip_serializer deserializer;
4028  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
4029 
4030  assert(bias_out || (3 == 0));
4031  for(unsigned int i=0; i < 3; i++)
4032  extract_float(&deserializer, &bias_out[i]);
4033 
4034  if( mip_serializer_remaining(&deserializer) != 0 )
4035  result = MIP_STATUS_ERROR;
4036  }
4037  return result;
4038 }
4040 {
4041  insert_mip_function_selector(serializer, self->function);
4042 
4043  if( self->function == MIP_FUNCTION_WRITE )
4044  {
4045  for(unsigned int i=0; i < 3; i++)
4046  insert_float(serializer, self->offset[i]);
4047 
4048  }
4049 }
4051 {
4052  extract_mip_function_selector(serializer, &self->function);
4053 
4054  if( self->function == MIP_FUNCTION_WRITE )
4055  {
4056  for(unsigned int i=0; i < 3; i++)
4057  extract_float(serializer, &self->offset[i]);
4058 
4059  }
4060 }
4061 
4063 {
4064  for(unsigned int i=0; i < 3; i++)
4065  insert_float(serializer, self->offset[i]);
4066 
4067 }
4069 {
4070  for(unsigned int i=0; i < 3; i++)
4071  extract_float(serializer, &self->offset[i]);
4072 
4073 }
4074 
4076 {
4077  mip_serializer serializer;
4078  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4079  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4080 
4082 
4083  assert(offset || (3 == 0));
4084  for(unsigned int i=0; i < 3; i++)
4085  insert_float(&serializer, offset[i]);
4086 
4087  assert(mip_serializer_is_ok(&serializer));
4088 
4090 }
4092 {
4093  mip_serializer serializer;
4094  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4095  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4096 
4098 
4099  assert(mip_serializer_is_ok(&serializer));
4100 
4101  uint8_t responseLength = sizeof(buffer);
4103 
4104  if( result == MIP_ACK_OK )
4105  {
4106  mip_serializer deserializer;
4107  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
4108 
4109  assert(offset_out || (3 == 0));
4110  for(unsigned int i=0; i < 3; i++)
4111  extract_float(&deserializer, &offset_out[i]);
4112 
4113  if( mip_serializer_remaining(&deserializer) != 0 )
4114  result = MIP_STATUS_ERROR;
4115  }
4116  return result;
4117 }
4119 {
4120  mip_serializer serializer;
4121  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4122  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4123 
4125 
4126  assert(mip_serializer_is_ok(&serializer));
4127 
4129 }
4131 {
4132  mip_serializer serializer;
4133  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4134  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4135 
4137 
4138  assert(mip_serializer_is_ok(&serializer));
4139 
4141 }
4143 {
4144  mip_serializer serializer;
4145  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4146  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4147 
4149 
4150  assert(mip_serializer_is_ok(&serializer));
4151 
4153 }
4155 {
4156  insert_mip_function_selector(serializer, self->function);
4157 
4158  if( self->function == MIP_FUNCTION_WRITE )
4159  {
4160  for(unsigned int i=0; i < 9; i++)
4161  insert_float(serializer, self->offset[i]);
4162 
4163  }
4164 }
4166 {
4167  extract_mip_function_selector(serializer, &self->function);
4168 
4169  if( self->function == MIP_FUNCTION_WRITE )
4170  {
4171  for(unsigned int i=0; i < 9; i++)
4172  extract_float(serializer, &self->offset[i]);
4173 
4174  }
4175 }
4176 
4178 {
4179  for(unsigned int i=0; i < 9; i++)
4180  insert_float(serializer, self->offset[i]);
4181 
4182 }
4184 {
4185  for(unsigned int i=0; i < 9; i++)
4186  extract_float(serializer, &self->offset[i]);
4187 
4188 }
4189 
4191 {
4192  mip_serializer serializer;
4193  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4194  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4195 
4197 
4198  assert(offset || (9 == 0));
4199  for(unsigned int i=0; i < 9; i++)
4200  insert_float(&serializer, offset[i]);
4201 
4202  assert(mip_serializer_is_ok(&serializer));
4203 
4205 }
4207 {
4208  mip_serializer serializer;
4209  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4210  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4211 
4213 
4214  assert(mip_serializer_is_ok(&serializer));
4215 
4216  uint8_t responseLength = sizeof(buffer);
4218 
4219  if( result == MIP_ACK_OK )
4220  {
4221  mip_serializer deserializer;
4222  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
4223 
4224  assert(offset_out || (9 == 0));
4225  for(unsigned int i=0; i < 9; i++)
4226  extract_float(&deserializer, &offset_out[i]);
4227 
4228  if( mip_serializer_remaining(&deserializer) != 0 )
4229  result = MIP_STATUS_ERROR;
4230  }
4231  return result;
4232 }
4234 {
4235  mip_serializer serializer;
4236  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4237  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4238 
4240 
4241  assert(mip_serializer_is_ok(&serializer));
4242 
4244 }
4246 {
4247  mip_serializer serializer;
4248  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4249  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4250 
4252 
4253  assert(mip_serializer_is_ok(&serializer));
4254 
4256 }
4258 {
4259  mip_serializer serializer;
4260  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4261  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4262 
4264 
4265  assert(mip_serializer_is_ok(&serializer));
4266 
4268 }
4270 {
4271  insert_mip_function_selector(serializer, self->function);
4272 
4273  if( self->function == MIP_FUNCTION_WRITE )
4274  {
4275  insert_bool(serializer, self->enable);
4276 
4277  }
4278 }
4280 {
4281  extract_mip_function_selector(serializer, &self->function);
4282 
4283  if( self->function == MIP_FUNCTION_WRITE )
4284  {
4285  extract_bool(serializer, &self->enable);
4286 
4287  }
4288 }
4289 
4291 {
4292  insert_bool(serializer, self->enable);
4293 
4294 }
4296 {
4297  extract_bool(serializer, &self->enable);
4298 
4299 }
4300 
4302 {
4303  mip_serializer serializer;
4304  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4305  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4306 
4308 
4309  insert_bool(&serializer, enable);
4310 
4311  assert(mip_serializer_is_ok(&serializer));
4312 
4314 }
4316 {
4317  mip_serializer serializer;
4318  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4319  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4320 
4322 
4323  assert(mip_serializer_is_ok(&serializer));
4324 
4325  uint8_t responseLength = sizeof(buffer);
4327 
4328  if( result == MIP_ACK_OK )
4329  {
4330  mip_serializer deserializer;
4331  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
4332 
4333  assert(enable_out);
4334  extract_bool(&deserializer, enable_out);
4335 
4336  if( mip_serializer_remaining(&deserializer) != 0 )
4337  result = MIP_STATUS_ERROR;
4338  }
4339  return result;
4340 }
4342 {
4343  mip_serializer serializer;
4344  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4345  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4346 
4348 
4349  assert(mip_serializer_is_ok(&serializer));
4350 
4352 }
4354 {
4355  mip_serializer serializer;
4356  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4357  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4358 
4360 
4361  assert(mip_serializer_is_ok(&serializer));
4362 
4364 }
4366 {
4367  mip_serializer serializer;
4368  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4369  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4370 
4372 
4373  assert(mip_serializer_is_ok(&serializer));
4374 
4376 }
4378 {
4379  insert_mip_function_selector(serializer, self->function);
4380 
4381  if( self->function == MIP_FUNCTION_WRITE )
4382  {
4383  insert_float(serializer, self->roll);
4384 
4385  insert_float(serializer, self->pitch);
4386 
4387  insert_float(serializer, self->yaw);
4388 
4389  }
4390 }
4392 {
4393  extract_mip_function_selector(serializer, &self->function);
4394 
4395  if( self->function == MIP_FUNCTION_WRITE )
4396  {
4397  extract_float(serializer, &self->roll);
4398 
4399  extract_float(serializer, &self->pitch);
4400 
4401  extract_float(serializer, &self->yaw);
4402 
4403  }
4404 }
4405 
4407 {
4408  insert_float(serializer, self->roll);
4409 
4410  insert_float(serializer, self->pitch);
4411 
4412  insert_float(serializer, self->yaw);
4413 
4414 }
4416 {
4417  extract_float(serializer, &self->roll);
4418 
4419  extract_float(serializer, &self->pitch);
4420 
4421  extract_float(serializer, &self->yaw);
4422 
4423 }
4424 
4426 {
4427  mip_serializer serializer;
4428  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4429  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4430 
4432 
4433  insert_float(&serializer, roll);
4434 
4435  insert_float(&serializer, pitch);
4436 
4437  insert_float(&serializer, yaw);
4438 
4439  assert(mip_serializer_is_ok(&serializer));
4440 
4442 }
4443 mip_cmd_result mip_3dm_read_sensor_2_vehicle_transform_euler(struct mip_interface* device, float* roll_out, float* pitch_out, float* yaw_out)
4444 {
4445  mip_serializer serializer;
4446  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4447  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4448 
4450 
4451  assert(mip_serializer_is_ok(&serializer));
4452 
4453  uint8_t responseLength = sizeof(buffer);
4455 
4456  if( result == MIP_ACK_OK )
4457  {
4458  mip_serializer deserializer;
4459  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
4460 
4461  assert(roll_out);
4462  extract_float(&deserializer, roll_out);
4463 
4464  assert(pitch_out);
4465  extract_float(&deserializer, pitch_out);
4466 
4467  assert(yaw_out);
4468  extract_float(&deserializer, yaw_out);
4469 
4470  if( mip_serializer_remaining(&deserializer) != 0 )
4471  result = MIP_STATUS_ERROR;
4472  }
4473  return result;
4474 }
4476 {
4477  mip_serializer serializer;
4478  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4479  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4480 
4482 
4483  assert(mip_serializer_is_ok(&serializer));
4484 
4486 }
4488 {
4489  mip_serializer serializer;
4490  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4491  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4492 
4494 
4495  assert(mip_serializer_is_ok(&serializer));
4496 
4498 }
4500 {
4501  mip_serializer serializer;
4502  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4503  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4504 
4506 
4507  assert(mip_serializer_is_ok(&serializer));
4508 
4510 }
4512 {
4513  insert_mip_function_selector(serializer, self->function);
4514 
4515  if( self->function == MIP_FUNCTION_WRITE )
4516  {
4517  for(unsigned int i=0; i < 4; i++)
4518  insert_float(serializer, self->q[i]);
4519 
4520  }
4521 }
4523 {
4524  extract_mip_function_selector(serializer, &self->function);
4525 
4526  if( self->function == MIP_FUNCTION_WRITE )
4527  {
4528  for(unsigned int i=0; i < 4; i++)
4529  extract_float(serializer, &self->q[i]);
4530 
4531  }
4532 }
4533 
4535 {
4536  for(unsigned int i=0; i < 4; i++)
4537  insert_float(serializer, self->q[i]);
4538 
4539 }
4541 {
4542  for(unsigned int i=0; i < 4; i++)
4543  extract_float(serializer, &self->q[i]);
4544 
4545 }
4546 
4548 {
4549  mip_serializer serializer;
4550  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4551  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4552 
4554 
4555  assert(q || (4 == 0));
4556  for(unsigned int i=0; i < 4; i++)
4557  insert_float(&serializer, q[i]);
4558 
4559  assert(mip_serializer_is_ok(&serializer));
4560 
4562 }
4564 {
4565  mip_serializer serializer;
4566  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4567  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4568 
4570 
4571  assert(mip_serializer_is_ok(&serializer));
4572 
4573  uint8_t responseLength = sizeof(buffer);
4575 
4576  if( result == MIP_ACK_OK )
4577  {
4578  mip_serializer deserializer;
4579  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
4580 
4581  assert(q_out || (4 == 0));
4582  for(unsigned int i=0; i < 4; i++)
4583  extract_float(&deserializer, &q_out[i]);
4584 
4585  if( mip_serializer_remaining(&deserializer) != 0 )
4586  result = MIP_STATUS_ERROR;
4587  }
4588  return result;
4589 }
4591 {
4592  mip_serializer serializer;
4593  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4594  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4595 
4597 
4598  assert(mip_serializer_is_ok(&serializer));
4599 
4601 }
4603 {
4604  mip_serializer serializer;
4605  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4606  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4607 
4609 
4610  assert(mip_serializer_is_ok(&serializer));
4611 
4613 }
4615 {
4616  mip_serializer serializer;
4617  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4618  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4619 
4621 
4622  assert(mip_serializer_is_ok(&serializer));
4623 
4625 }
4627 {
4628  insert_mip_function_selector(serializer, self->function);
4629 
4630  if( self->function == MIP_FUNCTION_WRITE )
4631  {
4632  for(unsigned int i=0; i < 9; i++)
4633  insert_float(serializer, self->dcm[i]);
4634 
4635  }
4636 }
4638 {
4639  extract_mip_function_selector(serializer, &self->function);
4640 
4641  if( self->function == MIP_FUNCTION_WRITE )
4642  {
4643  for(unsigned int i=0; i < 9; i++)
4644  extract_float(serializer, &self->dcm[i]);
4645 
4646  }
4647 }
4648 
4650 {
4651  for(unsigned int i=0; i < 9; i++)
4652  insert_float(serializer, self->dcm[i]);
4653 
4654 }
4656 {
4657  for(unsigned int i=0; i < 9; i++)
4658  extract_float(serializer, &self->dcm[i]);
4659 
4660 }
4661 
4663 {
4664  mip_serializer serializer;
4665  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4666  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4667 
4669 
4670  assert(dcm || (9 == 0));
4671  for(unsigned int i=0; i < 9; i++)
4672  insert_float(&serializer, dcm[i]);
4673 
4674  assert(mip_serializer_is_ok(&serializer));
4675 
4677 }
4679 {
4680  mip_serializer serializer;
4681  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4682  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4683 
4685 
4686  assert(mip_serializer_is_ok(&serializer));
4687 
4688  uint8_t responseLength = sizeof(buffer);
4690 
4691  if( result == MIP_ACK_OK )
4692  {
4693  mip_serializer deserializer;
4694  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
4695 
4696  assert(dcm_out || (9 == 0));
4697  for(unsigned int i=0; i < 9; i++)
4698  extract_float(&deserializer, &dcm_out[i]);
4699 
4700  if( mip_serializer_remaining(&deserializer) != 0 )
4701  result = MIP_STATUS_ERROR;
4702  }
4703  return result;
4704 }
4706 {
4707  mip_serializer serializer;
4708  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4709  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4710 
4712 
4713  assert(mip_serializer_is_ok(&serializer));
4714 
4716 }
4718 {
4719  mip_serializer serializer;
4720  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4721  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4722 
4724 
4725  assert(mip_serializer_is_ok(&serializer));
4726 
4728 }
4730 {
4731  mip_serializer serializer;
4732  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4733  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4734 
4736 
4737  assert(mip_serializer_is_ok(&serializer));
4738 
4740 }
4742 {
4743  insert_mip_function_selector(serializer, self->function);
4744 
4745  if( self->function == MIP_FUNCTION_WRITE )
4746  {
4747  insert_bool(serializer, self->pitch_roll_enable);
4748 
4749  insert_bool(serializer, self->heading_enable);
4750 
4751  insert_float(serializer, self->pitch_roll_time_constant);
4752 
4753  insert_float(serializer, self->heading_time_constant);
4754 
4755  }
4756 }
4758 {
4759  extract_mip_function_selector(serializer, &self->function);
4760 
4761  if( self->function == MIP_FUNCTION_WRITE )
4762  {
4763  extract_bool(serializer, &self->pitch_roll_enable);
4764 
4765  extract_bool(serializer, &self->heading_enable);
4766 
4767  extract_float(serializer, &self->pitch_roll_time_constant);
4768 
4769  extract_float(serializer, &self->heading_time_constant);
4770 
4771  }
4772 }
4773 
4775 {
4776  insert_bool(serializer, self->pitch_roll_enable);
4777 
4778  insert_bool(serializer, self->heading_enable);
4779 
4780  insert_float(serializer, self->pitch_roll_time_constant);
4781 
4782  insert_float(serializer, self->heading_time_constant);
4783 
4784 }
4786 {
4787  extract_bool(serializer, &self->pitch_roll_enable);
4788 
4789  extract_bool(serializer, &self->heading_enable);
4790 
4791  extract_float(serializer, &self->pitch_roll_time_constant);
4792 
4793  extract_float(serializer, &self->heading_time_constant);
4794 
4795 }
4796 
4797 mip_cmd_result mip_3dm_write_complementary_filter(struct mip_interface* device, bool pitch_roll_enable, bool heading_enable, float pitch_roll_time_constant, float heading_time_constant)
4798 {
4799  mip_serializer serializer;
4800  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4801  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4802 
4804 
4805  insert_bool(&serializer, pitch_roll_enable);
4806 
4807  insert_bool(&serializer, heading_enable);
4808 
4809  insert_float(&serializer, pitch_roll_time_constant);
4810 
4811  insert_float(&serializer, heading_time_constant);
4812 
4813  assert(mip_serializer_is_ok(&serializer));
4814 
4816 }
4817 mip_cmd_result mip_3dm_read_complementary_filter(struct mip_interface* device, bool* pitch_roll_enable_out, bool* heading_enable_out, float* pitch_roll_time_constant_out, float* heading_time_constant_out)
4818 {
4819  mip_serializer serializer;
4820  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4821  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4822 
4824 
4825  assert(mip_serializer_is_ok(&serializer));
4826 
4827  uint8_t responseLength = sizeof(buffer);
4829 
4830  if( result == MIP_ACK_OK )
4831  {
4832  mip_serializer deserializer;
4833  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
4834 
4835  assert(pitch_roll_enable_out);
4836  extract_bool(&deserializer, pitch_roll_enable_out);
4837 
4838  assert(heading_enable_out);
4839  extract_bool(&deserializer, heading_enable_out);
4840 
4841  assert(pitch_roll_time_constant_out);
4842  extract_float(&deserializer, pitch_roll_time_constant_out);
4843 
4844  assert(heading_time_constant_out);
4845  extract_float(&deserializer, heading_time_constant_out);
4846 
4847  if( mip_serializer_remaining(&deserializer) != 0 )
4848  result = MIP_STATUS_ERROR;
4849  }
4850  return result;
4851 }
4853 {
4854  mip_serializer serializer;
4855  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4856  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4857 
4859 
4860  assert(mip_serializer_is_ok(&serializer));
4861 
4863 }
4865 {
4866  mip_serializer serializer;
4867  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4868  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4869 
4871 
4872  assert(mip_serializer_is_ok(&serializer));
4873 
4875 }
4877 {
4878  mip_serializer serializer;
4879  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4880  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4881 
4883 
4884  assert(mip_serializer_is_ok(&serializer));
4885 
4887 }
4889 {
4890  insert_mip_function_selector(serializer, self->function);
4891 
4892  insert_mip_sensor_range_type(serializer, self->sensor);
4893 
4894  if( self->function == MIP_FUNCTION_WRITE )
4895  {
4896  insert_u8(serializer, self->setting);
4897 
4898  }
4899 }
4901 {
4902  extract_mip_function_selector(serializer, &self->function);
4903 
4904  extract_mip_sensor_range_type(serializer, &self->sensor);
4905 
4906  if( self->function == MIP_FUNCTION_WRITE )
4907  {
4908  extract_u8(serializer, &self->setting);
4909 
4910  }
4911 }
4912 
4914 {
4915  insert_mip_sensor_range_type(serializer, self->sensor);
4916 
4917  insert_u8(serializer, self->setting);
4918 
4919 }
4921 {
4922  extract_mip_sensor_range_type(serializer, &self->sensor);
4923 
4924  extract_u8(serializer, &self->setting);
4925 
4926 }
4927 
4929 {
4930  mip_serializer serializer;
4931  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4932  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4933 
4935 
4936  insert_mip_sensor_range_type(&serializer, sensor);
4937 
4938  insert_u8(&serializer, setting);
4939 
4940  assert(mip_serializer_is_ok(&serializer));
4941 
4943 }
4945 {
4946  mip_serializer serializer;
4947  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4948  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4949 
4951 
4952  insert_mip_sensor_range_type(&serializer, sensor);
4953 
4954  assert(mip_serializer_is_ok(&serializer));
4955 
4956  uint8_t responseLength = sizeof(buffer);
4958 
4959  if( result == MIP_ACK_OK )
4960  {
4961  mip_serializer deserializer;
4962  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
4963 
4964  extract_mip_sensor_range_type(&deserializer, &sensor);
4965 
4966  assert(setting_out);
4967  extract_u8(&deserializer, setting_out);
4968 
4969  if( mip_serializer_remaining(&deserializer) != 0 )
4970  result = MIP_STATUS_ERROR;
4971  }
4972  return result;
4973 }
4975 {
4976  mip_serializer serializer;
4977  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4978  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4979 
4981 
4982  insert_mip_sensor_range_type(&serializer, sensor);
4983 
4984  assert(mip_serializer_is_ok(&serializer));
4985 
4987 }
4989 {
4990  mip_serializer serializer;
4991  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
4992  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
4993 
4995 
4996  insert_mip_sensor_range_type(&serializer, sensor);
4997 
4998  assert(mip_serializer_is_ok(&serializer));
4999 
5001 }
5003 {
5004  mip_serializer serializer;
5005  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
5006  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
5007 
5009 
5010  insert_mip_sensor_range_type(&serializer, sensor);
5011 
5012  assert(mip_serializer_is_ok(&serializer));
5013 
5015 }
5017 {
5018  insert_mip_sensor_range_type(serializer, self->sensor);
5019 
5020 }
5022 {
5023  extract_mip_sensor_range_type(serializer, &self->sensor);
5024 
5025 }
5026 
5028 {
5029  insert_mip_sensor_range_type(serializer, self->sensor);
5030 
5031  insert_u8(serializer, self->num_ranges);
5032 
5033 
5034  for(unsigned int i=0; i < self->num_ranges; i++)
5035  insert_mip_3dm_calibrated_sensor_ranges_command_entry(serializer, &self->ranges[i]);
5036 
5037 }
5039 {
5040  extract_mip_sensor_range_type(serializer, &self->sensor);
5041 
5042  assert(self->num_ranges);
5043  extract_count(serializer, &self->num_ranges, sizeof(self->ranges)/sizeof(self->ranges[0]));
5044 
5045  for(unsigned int i=0; i < self->num_ranges; i++)
5046  extract_mip_3dm_calibrated_sensor_ranges_command_entry(serializer, &self->ranges[i]);
5047 
5048 }
5049 
5051 {
5052  insert_u8(serializer, self->setting);
5053 
5054  insert_float(serializer, self->range);
5055 
5056 }
5058 {
5059  extract_u8(serializer, &self->setting);
5060 
5061  extract_float(serializer, &self->range);
5062 
5063 }
5064 
5066 {
5067  mip_serializer serializer;
5068  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
5069  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
5070 
5071  insert_mip_sensor_range_type(&serializer, sensor);
5072 
5073  assert(mip_serializer_is_ok(&serializer));
5074 
5075  uint8_t responseLength = sizeof(buffer);
5077 
5078  if( result == MIP_ACK_OK )
5079  {
5080  mip_serializer deserializer;
5081  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
5082 
5083  extract_mip_sensor_range_type(&deserializer, &sensor);
5084 
5085  assert(num_ranges_out);
5086  extract_count(&deserializer, num_ranges_out, num_ranges_out_max);
5087 
5088  assert(ranges_out || (num_ranges_out == 0));
5089  for(unsigned int i=0; i < *num_ranges_out; i++)
5090  extract_mip_3dm_calibrated_sensor_ranges_command_entry(&deserializer, &ranges_out[i]);
5091 
5092  if( mip_serializer_remaining(&deserializer) != 0 )
5093  result = MIP_STATUS_ERROR;
5094  }
5095  return result;
5096 }
5098 {
5099  insert_mip_function_selector(serializer, self->function);
5100 
5101  insert_u8(serializer, self->desc_set);
5102 
5103  insert_u8(serializer, self->field_desc);
5104 
5105  if( self->function == MIP_FUNCTION_WRITE )
5106  {
5107  insert_bool(serializer, self->enable);
5108 
5109  insert_bool(serializer, self->manual);
5110 
5111  insert_float(serializer, self->frequency);
5112 
5113  }
5114 }
5116 {
5117  extract_mip_function_selector(serializer, &self->function);
5118 
5119  extract_u8(serializer, &self->desc_set);
5120 
5121  extract_u8(serializer, &self->field_desc);
5122 
5123  if( self->function == MIP_FUNCTION_WRITE )
5124  {
5125  extract_bool(serializer, &self->enable);
5126 
5127  extract_bool(serializer, &self->manual);
5128 
5129  extract_float(serializer, &self->frequency);
5130 
5131  }
5132 }
5133 
5135 {
5136  insert_u8(serializer, self->desc_set);
5137 
5138  insert_u8(serializer, self->field_desc);
5139 
5140  insert_bool(serializer, self->enable);
5141 
5142  insert_bool(serializer, self->manual);
5143 
5144  insert_float(serializer, self->frequency);
5145 
5146 }
5148 {
5149  extract_u8(serializer, &self->desc_set);
5150 
5151  extract_u8(serializer, &self->field_desc);
5152 
5153  extract_bool(serializer, &self->enable);
5154 
5155  extract_bool(serializer, &self->manual);
5156 
5157  extract_float(serializer, &self->frequency);
5158 
5159 }
5160 
5161 mip_cmd_result mip_3dm_write_lowpass_filter(struct mip_interface* device, uint8_t desc_set, uint8_t field_desc, bool enable, bool manual, float frequency)
5162 {
5163  mip_serializer serializer;
5164  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
5165  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
5166 
5168 
5169  insert_u8(&serializer, desc_set);
5170 
5171  insert_u8(&serializer, field_desc);
5172 
5173  insert_bool(&serializer, enable);
5174 
5175  insert_bool(&serializer, manual);
5176 
5177  insert_float(&serializer, frequency);
5178 
5179  assert(mip_serializer_is_ok(&serializer));
5180 
5182 }
5183 mip_cmd_result mip_3dm_read_lowpass_filter(struct mip_interface* device, uint8_t desc_set, uint8_t field_desc, bool* enable_out, bool* manual_out, float* frequency_out)
5184 {
5185  mip_serializer serializer;
5186  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
5187  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
5188 
5190 
5191  insert_u8(&serializer, desc_set);
5192 
5193  insert_u8(&serializer, field_desc);
5194 
5195  assert(mip_serializer_is_ok(&serializer));
5196 
5197  uint8_t responseLength = sizeof(buffer);
5199 
5200  if( result == MIP_ACK_OK )
5201  {
5202  mip_serializer deserializer;
5203  mip_serializer_init_insertion(&deserializer, buffer, responseLength);
5204 
5205  extract_u8(&deserializer, &desc_set);
5206 
5207  extract_u8(&deserializer, &field_desc);
5208 
5209  assert(enable_out);
5210  extract_bool(&deserializer, enable_out);
5211 
5212  assert(manual_out);
5213  extract_bool(&deserializer, manual_out);
5214 
5215  assert(frequency_out);
5216  extract_float(&deserializer, frequency_out);
5217 
5218  if( mip_serializer_remaining(&deserializer) != 0 )
5219  result = MIP_STATUS_ERROR;
5220  }
5221  return result;
5222 }
5223 mip_cmd_result mip_3dm_save_lowpass_filter(struct mip_interface* device, uint8_t desc_set, uint8_t field_desc)
5224 {
5225  mip_serializer serializer;
5226  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
5227  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
5228 
5230 
5231  insert_u8(&serializer, desc_set);
5232 
5233  insert_u8(&serializer, field_desc);
5234 
5235  assert(mip_serializer_is_ok(&serializer));
5236 
5238 }
5239 mip_cmd_result mip_3dm_load_lowpass_filter(struct mip_interface* device, uint8_t desc_set, uint8_t field_desc)
5240 {
5241  mip_serializer serializer;
5242  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
5243  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
5244 
5246 
5247  insert_u8(&serializer, desc_set);
5248 
5249  insert_u8(&serializer, field_desc);
5250 
5251  assert(mip_serializer_is_ok(&serializer));
5252 
5254 }
5255 mip_cmd_result mip_3dm_default_lowpass_filter(struct mip_interface* device, uint8_t desc_set, uint8_t field_desc)
5256 {
5257  mip_serializer serializer;
5258  uint8_t buffer[MIP_FIELD_PAYLOAD_LENGTH_MAX];
5259  mip_serializer_init_insertion(&serializer, buffer, sizeof(buffer));
5260 
5262 
5263  insert_u8(&serializer, desc_set);
5264 
5265  insert_u8(&serializer, field_desc);
5266 
5267  assert(mip_serializer_is_ok(&serializer));
5268 
5270 }
5271 
5272 #ifdef __cplusplus
5273 } // namespace C
5274 } // namespace mip
5275 } // extern "C"
5276 #endif // __cplusplus
5277 
mip_3dm_device_settings_command
Definition: commands_3dm.h:629
mip_3dm_event_trigger_command_threshold_params_type
uint8_t mip_3dm_event_trigger_command_threshold_params_type
Definition: commands_3dm.h:1505
MIP_CMD_DESC_3DM_GNSS_MESSAGE_FORMAT
@ MIP_CMD_DESC_3DM_GNSS_MESSAGE_FORMAT
Definition: commands_3dm.h:43
insert_mip_3dm_event_control_command
void insert_mip_3dm_event_control_command(mip_serializer *serializer, const mip_3dm_event_control_command *self)
Definition: commands_3dm.c:2823
mip_3dm_poll_gnss_message_command
Definition: commands_3dm.h:240
extract_mip_sensor_range_type
void extract_mip_sensor_range_type(struct mip_serializer *serializer, mip_sensor_range_type *self)
Definition: commands_3dm.c:74
insert_mip_3dm_pps_source_response
void insert_mip_3dm_pps_source_response(mip_serializer *serializer, const mip_3dm_pps_source_response *self)
Definition: commands_3dm.c:2202
mip_3dm_save_datastream_control
mip_cmd_result mip_3dm_save_datastream_control(struct mip_interface *device, uint8_t desc_set)
Definition: commands_3dm.c:1372
insert_mip_3dm_mag_hard_iron_offset_response
void insert_mip_3dm_mag_hard_iron_offset_response(mip_serializer *serializer, const mip_3dm_mag_hard_iron_offset_response *self)
Definition: commands_3dm.c:4062
MIP_REPLY_DESC_3DM_GNSS_SBAS_SETTINGS
@ MIP_REPLY_DESC_3DM_GNSS_SBAS_SETTINGS
Definition: commands_3dm.h:122
MIP_CMD_DESC_3DM_UART_BAUDRATE
@ MIP_CMD_DESC_3DM_UART_BAUDRATE
Definition: commands_3dm.h:79
mip_3dm_save_imu_lowpass_filter
mip_cmd_result mip_3dm_save_imu_lowpass_filter(struct mip_interface *device, uint8_t target_descriptor)
Definition: commands_3dm.c:2139
mip_3dm_save_gyro_bias
mip_cmd_result mip_3dm_save_gyro_bias(struct mip_interface *device)
Definition: commands_3dm.c:3952
insert_mip_function_selector
void insert_mip_function_selector(mip_serializer *serializer, enum mip_function_selector self)
Definition: descriptors.c:154
mip_3dm_save_sensor_2_vehicle_transform_quaternion
mip_cmd_result mip_3dm_save_sensor_2_vehicle_transform_quaternion(struct mip_interface *device)
Definition: commands_3dm.c:4590
mip_3dm_read_filter_message_format
mip_cmd_result mip_3dm_read_filter_message_format(struct mip_interface *device, uint8_t *num_descriptors_out, uint8_t num_descriptors_out_max, mip_descriptor_rate *descriptors_out)
Definition: commands_3dm.c:539
mip_nmea_message
Definition: commands_3dm.h:166
insert_bool
void insert_bool(mip_serializer *serializer, bool value)
mip_3dm_write_sensor_2_vehicle_transform_dcm
mip_cmd_result mip_3dm_write_sensor_2_vehicle_transform_dcm(struct mip_interface *device, const float *dcm)
Definition: commands_3dm.c:4662
mip_3dm_write_gps_message_format
mip_cmd_result mip_3dm_write_gps_message_format(struct mip_interface *device, uint8_t num_descriptors, const mip_descriptor_rate *descriptors)
Definition: commands_3dm.c:389
mip_3dm_save_pps_source
mip_cmd_result mip_3dm_save_pps_source(struct mip_interface *device)
Definition: commands_3dm.c:2264
mip_3dm_read_gnss_assisted_fix
mip_cmd_result mip_3dm_read_gnss_assisted_fix(struct mip_interface *device, mip_3dm_gnss_assisted_fix_command_assisted_fix_option *option_out, uint8_t *flags_out)
Definition: commands_3dm.c:1851
MIP_CMD_DESC_3DM_EVENT_TRIGGER_STATUS
@ MIP_CMD_DESC_3DM_EVENT_TRIGGER_STATUS
Definition: commands_3dm.h:60
mip_3dm_mag_hard_iron_offset_command
Definition: commands_3dm.h:1813
mip_3dm_save_event_control
mip_cmd_result mip_3dm_save_event_control(struct mip_interface *device, uint8_t instance)
Definition: commands_3dm.c:2920
mip
Definition: ping.cpp:12
mip_3dm_get_event_support_command_query
uint8_t mip_3dm_get_event_support_command_query
Definition: commands_3dm.h:1303
extract_mip_3dm_nmea_message_format_command
void extract_mip_3dm_nmea_message_format_command(mip_serializer *serializer, mip_3dm_nmea_message_format_command *self)
Definition: commands_3dm.c:973
extract_mip_3dm_gpio_config_command_behavior
void extract_mip_3dm_gpio_config_command_behavior(struct mip_serializer *serializer, mip_3dm_gpio_config_command_behavior *self)
Definition: commands_3dm.c:2371
extract_mip_3dm_sensor_2_vehicle_transform_dcm_command
void extract_mip_3dm_sensor_2_vehicle_transform_dcm_command(mip_serializer *serializer, mip_3dm_sensor_2_vehicle_transform_dcm_command *self)
Definition: commands_3dm.c:4637
extract_mip_3dm_message_format_response
void extract_mip_3dm_message_format_response(mip_serializer *serializer, mip_3dm_message_format_response *self)
Definition: commands_3dm.c:810
insert_mip_3dm_calibrated_sensor_ranges_command_entry
void insert_mip_3dm_calibrated_sensor_ranges_command_entry(mip_serializer *serializer, const mip_3dm_calibrated_sensor_ranges_command_entry *self)
Definition: commands_3dm.c:5050
insert_mip_3dm_constellation_settings_command_option_flags
void insert_mip_3dm_constellation_settings_command_option_flags(struct mip_serializer *serializer, const mip_3dm_constellation_settings_command_option_flags self)
Definition: commands_3dm.c:1485
insert_mip_3dm_event_trigger_command_threshold_params_type
void insert_mip_3dm_event_trigger_command_threshold_params_type(struct mip_serializer *serializer, const mip_3dm_event_trigger_command_threshold_params_type self)
Definition: commands_3dm.c:3336
insert_mip_3dm_get_event_support_response
void insert_mip_3dm_get_event_support_response(mip_serializer *serializer, const mip_3dm_get_event_support_response *self)
Definition: commands_3dm.c:2735
MIP_REPLY_DESC_3DM_SENSOR2VEHICLE_TRANSFORM_DCM
@ MIP_REPLY_DESC_3DM_SENSOR2VEHICLE_TRANSFORM_DCM
Definition: commands_3dm.h:127
mip_3dm_lowpass_filter_command
Definition: commands_3dm.h:2252
extract_mip_3dm_event_trigger_command_gpio_params
void extract_mip_3dm_event_trigger_command_gpio_params(mip_serializer *serializer, mip_3dm_event_trigger_command_gpio_params *self)
Definition: commands_3dm.c:3254
insert_mip_3dm_sensor_2_vehicle_transform_quaternion_command
void insert_mip_3dm_sensor_2_vehicle_transform_quaternion_command(mip_serializer *serializer, const mip_3dm_sensor_2_vehicle_transform_quaternion_command *self)
Definition: commands_3dm.c:4511
insert_mip_3dm_nmea_message_format_response
void insert_mip_3dm_nmea_message_format_response(mip_serializer *serializer, const mip_3dm_nmea_message_format_response *self)
Definition: commands_3dm.c:988
extract_mip_3dm_gnss_sbas_settings_command_sbasoptions
void extract_mip_3dm_gnss_sbas_settings_command_sbasoptions(struct mip_serializer *serializer, mip_3dm_gnss_sbas_settings_command_sbasoptions *self)
Definition: commands_3dm.c:1683
MIP_REPLY_DESC_3DM_GYRO_BIAS_VECTOR
@ MIP_REPLY_DESC_3DM_GYRO_BIAS_VECTOR
Definition: commands_3dm.h:117
MIP_REPLY_DESC_3DM_SOFT_IRON_COMP_MATRIX
@ MIP_REPLY_DESC_3DM_SOFT_IRON_COMP_MATRIX
Definition: commands_3dm.h:119
mip_3dm_default_nmea_message_format
mip_cmd_result mip_3dm_default_nmea_message_format(struct mip_interface *device)
Definition: commands_3dm.c:1079
mip_3dm_load_gnss_sbas_settings
mip_cmd_result mip_3dm_load_gnss_sbas_settings(struct mip_interface *device)
Definition: commands_3dm.c:1760
mip_3dm_event_action_command
Definition: commands_3dm.h:1653
mip_3dm_gnss_assisted_fix_command_assisted_fix_option
uint8_t mip_3dm_gnss_assisted_fix_command_assisted_fix_option
Definition: commands_3dm.h:921
mip_interface_run_command
enum mip_cmd_result mip_interface_run_command(mip_interface *device, uint8_t descriptor_set, uint8_t cmd_descriptor, const uint8_t *cmd_data, uint8_t cmd_length)
Runs a command using a pre-serialized payload.
Definition: mip_interface.c:568
mip_3dm_calibrated_sensor_ranges_command
Definition: commands_3dm.h:2206
extract_mip_nmea_message_talker_id
void extract_mip_nmea_message_talker_id(struct mip_serializer *serializer, mip_nmea_message_talker_id *self)
Definition: commands_3dm.c:63
extract_u16
void extract_u16(mip_serializer *serializer, uint16_t *value)
mip_3dm_save_message_format
mip_cmd_result mip_3dm_save_message_format(struct mip_interface *device, uint8_t desc_set)
Definition: commands_3dm.c:876
insert_mip_descriptor_rate
void insert_mip_descriptor_rate(mip_serializer *serializer, const mip_descriptor_rate *self)
Definition: common.c:7
MIP_REPLY_DESC_3DM_GNSS_CONSTELLATION_SETTINGS
@ MIP_REPLY_DESC_3DM_GNSS_CONSTELLATION_SETTINGS
Definition: commands_3dm.h:121
MIP_REPLY_DESC_3DM_CALIBRATED_RANGES
@ MIP_REPLY_DESC_3DM_CALIBRATED_RANGES
Definition: commands_3dm.h:140
mip_3dm_write_sensor_2_vehicle_transform_quaternion
mip_cmd_result mip_3dm_write_sensor_2_vehicle_transform_quaternion(struct mip_interface *device, const float *q)
Definition: commands_3dm.c:4547
extract_mip_3dm_pps_source_response
void extract_mip_3dm_pps_source_response(mip_serializer *serializer, mip_3dm_pps_source_response *self)
Definition: commands_3dm.c:2207
extract_mip_3dm_accel_bias_command
void extract_mip_3dm_accel_bias_command(mip_serializer *serializer, mip_3dm_accel_bias_command *self)
Definition: commands_3dm.c:3769
extract_mip_3dm_calibrated_sensor_ranges_response
void extract_mip_3dm_calibrated_sensor_ranges_response(mip_serializer *serializer, mip_3dm_calibrated_sensor_ranges_response *self)
Definition: commands_3dm.c:5038
insert_mip_3dm_event_trigger_command_gpio_params
void insert_mip_3dm_event_trigger_command_gpio_params(mip_serializer *serializer, const mip_3dm_event_trigger_command_gpio_params *self)
Definition: commands_3dm.c:3247
mip_3dm_save_filter_message_format
mip_cmd_result mip_3dm_save_filter_message_format(struct mip_interface *device)
Definition: commands_3dm.c:569
mip_3dm_get_event_trigger_status_response
Definition: commands_3dm.h:1433
mip_3dm_event_trigger_command_combination_params
Definition: commands_3dm.h:1541
extract_mip_3dm_gnss_sbas_settings_command
void extract_mip_3dm_gnss_sbas_settings_command(mip_serializer *serializer, mip_3dm_gnss_sbas_settings_command *self)
Definition: commands_3dm.c:1633
MIP_REPLY_DESC_3DM_SENSOR2VEHICLE_TRANSFORM_QUAT
@ MIP_REPLY_DESC_3DM_SENSOR2VEHICLE_TRANSFORM_QUAT
Definition: commands_3dm.h:126
mip_3dm_load_gyro_bias
mip_cmd_result mip_3dm_load_gyro_bias(struct mip_interface *device)
Definition: commands_3dm.c:3964
insert_mip_3dm_get_event_support_command
void insert_mip_3dm_get_event_support_command(mip_serializer *serializer, const mip_3dm_get_event_support_command *self)
Definition: commands_3dm.c:2724
mip_3dm_save_mag_hard_iron_offset
mip_cmd_result mip_3dm_save_mag_hard_iron_offset(struct mip_interface *device)
Definition: commands_3dm.c:4118
insert_mip_3dm_sensor_2_vehicle_transform_dcm_command
void insert_mip_3dm_sensor_2_vehicle_transform_dcm_command(mip_serializer *serializer, const mip_3dm_sensor_2_vehicle_transform_dcm_command *self)
Definition: commands_3dm.c:4626
MIP_REPLY_DESC_3DM_ODOMETER_CONFIG
@ MIP_REPLY_DESC_3DM_ODOMETER_CONFIG
Definition: commands_3dm.h:138
MIP_REPLY_DESC_3DM_GPIO_CONFIG
@ MIP_REPLY_DESC_3DM_GPIO_CONFIG
Definition: commands_3dm.h:136
mip_3dm_event_trigger_command_parameters::gpio
mip_3dm_event_trigger_command_gpio_params gpio
Definition: commands_3dm.h:1556
MIP_REPLY_DESC_3DM_EVENT_ACTION_CONFIG
@ MIP_REPLY_DESC_3DM_EVENT_ACTION_CONFIG
Definition: commands_3dm.h:133
mip_3dm_save_gps_message_format
mip_cmd_result mip_3dm_save_gps_message_format(struct mip_interface *device)
Definition: commands_3dm.c:437
insert_mip_3dm_gnss_sbas_settings_response
void insert_mip_3dm_gnss_sbas_settings_response(mip_serializer *serializer, const mip_3dm_gnss_sbas_settings_response *self)
Definition: commands_3dm.c:1652
mip_3dm_default_pps_source
mip_cmd_result mip_3dm_default_pps_source(struct mip_interface *device)
Definition: commands_3dm.c:2288
mip_3dm_sensor_2_vehicle_transform_euler_response
Definition: commands_3dm.h:1958
mip_3dm_load_constellation_settings
mip_cmd_result mip_3dm_load_constellation_settings(struct mip_interface *device)
Definition: commands_3dm.c:1591
mip_3dm_sensor_2_vehicle_transform_quaternion_response
Definition: commands_3dm.h:2025
extract_mip_3dm_sensor_range_response
void extract_mip_3dm_sensor_range_response(mip_serializer *serializer, mip_3dm_sensor_range_response *self)
Definition: commands_3dm.c:4920
mip_3dm_event_trigger_command
Definition: commands_3dm.h:1562
mip_3dm_get_event_trigger_status
mip_cmd_result mip_3dm_get_event_trigger_status(struct mip_interface *device, uint8_t requested_count, const uint8_t *requested_instances, uint8_t *count_out, uint8_t count_out_max, mip_3dm_get_event_trigger_status_command_entry *triggers_out)
Definition: commands_3dm.c:3026
insert_mip_nmea_message_talker_id
void insert_mip_nmea_message_talker_id(struct mip_serializer *serializer, const mip_nmea_message_talker_id self)
Definition: commands_3dm.c:59
MIP_REPLY_DESC_3DM_EVENT_SUPPORT
@ MIP_REPLY_DESC_3DM_EVENT_SUPPORT
Definition: commands_3dm.h:128
mip_3dm_load_event_action
mip_cmd_result mip_3dm_load_event_action(struct mip_interface *device, uint8_t instance)
Definition: commands_3dm.c:3730
mip_3dm_read_gnss_sbas_settings
mip_cmd_result mip_3dm_read_gnss_sbas_settings(struct mip_interface *device, uint8_t *enable_sbas_out, mip_3dm_gnss_sbas_settings_command_sbasoptions *sbas_options_out, uint8_t *num_included_prns_out, uint8_t num_included_prns_out_max, uint16_t *included_prns_out)
Definition: commands_3dm.c:1712
MIP_3DM_EVENT_TRIGGER_COMMAND_THRESHOLD_PARAMS_TYPE_WINDOW
static const mip_3dm_event_trigger_command_threshold_params_type MIP_3DM_EVENT_TRIGGER_COMMAND_THRESHOLD_PARAMS_TYPE_WINDOW
Window comparison. Trigger is active if low_thres <= value <= high_thres. If the thresholds are rever...
Definition: commands_3dm.h:1506
insert_mip_3dm_filter_message_format_command
void insert_mip_3dm_filter_message_format_command(mip_serializer *serializer, const mip_3dm_filter_message_format_command *self)
Definition: commands_3dm.c:473
MIP_CMD_DESC_3DM_HARD_IRON_OFFSET
@ MIP_CMD_DESC_3DM_HARD_IRON_OFFSET
Definition: commands_3dm.h:74
mip_3dm_mag_soft_iron_matrix_response
Definition: commands_3dm.h:1866
mip_serializer_length
size_t mip_serializer_length(const mip_serializer *serializer)
Determines the length of the data in the buffer.
Definition: serialization.c:131
mip_3dm_gnss_assisted_fix_command
Definition: commands_3dm.h:925
mip_3dm_constellation_settings_command_constellation_id
uint8_t mip_3dm_constellation_settings_command_constellation_id
Definition: commands_3dm.h:789
mip_3dm_default_device_settings
mip_cmd_result mip_3dm_default_device_settings(struct mip_interface *device)
Definition: commands_3dm.c:1126
MIP_REPLY_DESC_3DM_EVENT_TRIGGER_CONFIG
@ MIP_REPLY_DESC_3DM_EVENT_TRIGGER_CONFIG
Definition: commands_3dm.h:132
MIP_CMD_DESC_3DM_FILTER_MESSAGE_FORMAT
@ MIP_CMD_DESC_3DM_FILTER_MESSAGE_FORMAT
Definition: commands_3dm.h:44
MIP_CMD_DESC_3DM_CAPTURE_GYRO_BIAS
@ MIP_CMD_DESC_3DM_CAPTURE_GYRO_BIAS
Definition: commands_3dm.h:73
insert_double
void insert_double(mip_serializer *serializer, double value)
extract_float
void extract_float(mip_serializer *serializer, float *value)
mip_3dm_read_mag_hard_iron_offset
mip_cmd_result mip_3dm_read_mag_hard_iron_offset(struct mip_interface *device, float *offset_out)
Definition: commands_3dm.c:4091
MIP_REPLY_DESC_3DM_FILTER_BASE_RATE
@ MIP_REPLY_DESC_3DM_FILTER_BASE_RATE
Definition: commands_3dm.h:104
mip_3dm_event_trigger_command_parameters::threshold
mip_3dm_event_trigger_command_threshold_params threshold
Definition: commands_3dm.h:1557
insert_mip_3dm_imu_lowpass_filter_response
void insert_mip_3dm_imu_lowpass_filter_response(mip_serializer *serializer, const mip_3dm_imu_lowpass_filter_response *self)
Definition: commands_3dm.c:2051
MIP_CMD_DESC_3DM_DEVICE_STARTUP_SETTINGS
@ MIP_CMD_DESC_3DM_DEVICE_STARTUP_SETTINGS
Definition: commands_3dm.h:64
insert_mip_3dm_get_base_rate_response
void insert_mip_3dm_get_base_rate_response(mip_serializer *serializer, const mip_3dm_get_base_rate_response *self)
Definition: commands_3dm.c:723
mip_3dm_get_event_action_status
mip_cmd_result mip_3dm_get_event_action_status(struct mip_interface *device, uint8_t requested_count, const uint8_t *requested_instances, uint8_t *count_out, uint8_t count_out_max, mip_3dm_get_event_action_status_command_entry *actions_out)
Definition: commands_3dm.c:3113
mip_3dm_sensor_2_vehicle_transform_dcm_command
Definition: commands_3dm.h:2078
insert_mip_3dm_event_action_command_gpio_params_mode
void insert_mip_3dm_event_action_command_gpio_params_mode(struct mip_serializer *serializer, const mip_3dm_event_action_command_gpio_params_mode self)
Definition: commands_3dm.c:3596
mip_3dm_save_gpio_config
mip_cmd_result mip_3dm_save_gpio_config(struct mip_interface *device, uint8_t pin)
Definition: commands_3dm.c:2445
MIP_REPLY_DESC_3DM_GNSS_ASSISTED_FIX_SETTINGS
@ MIP_REPLY_DESC_3DM_GNSS_ASSISTED_FIX_SETTINGS
Definition: commands_3dm.h:123
mip_3dm_write_lowpass_filter
mip_cmd_result mip_3dm_write_lowpass_filter(struct mip_interface *device, uint8_t desc_set, uint8_t field_desc, bool enable, bool manual, float frequency)
Definition: commands_3dm.c:5161
mip_3dm_write_gnss_time_assistance
mip_cmd_result mip_3dm_write_gnss_time_assistance(struct mip_interface *device, double tow, uint16_t week_number, float accuracy)
Definition: commands_3dm.c:1964
MIP_CMD_DESC_3DM_ODOMETER_CONFIG
@ MIP_CMD_DESC_3DM_ODOMETER_CONFIG
Definition: commands_3dm.h:82
extract_mip_3dm_get_event_trigger_status_response
void extract_mip_3dm_get_event_trigger_status_response(mip_serializer *serializer, mip_3dm_get_event_trigger_status_response *self)
Definition: commands_3dm.c:2990
MIP_3DM_EVENT_TRIGGER_COMMAND_TYPE_GPIO
static const mip_3dm_event_trigger_command_type MIP_3DM_EVENT_TRIGGER_COMMAND_TYPE_GPIO
Trigger based on the state of a GPIO pin. See GpioParams.
Definition: commands_3dm.h:1550
extract_mip_3dm_event_control_command
void extract_mip_3dm_event_control_command(mip_serializer *serializer, mip_3dm_event_control_command *self)
Definition: commands_3dm.c:2835
insert_mip_3dm_odometer_command
void insert_mip_3dm_odometer_command(mip_serializer *serializer, const mip_3dm_odometer_command *self)
Definition: commands_3dm.c:2579
mip_3dm_constellation_settings_command
Definition: commands_3dm.h:812
insert_mip_sensor_range_type
void insert_mip_sensor_range_type(struct mip_serializer *serializer, const mip_sensor_range_type self)
Definition: commands_3dm.c:70
MIP_3DM_EVENT_TRIGGER_COMMAND_THRESHOLD_PARAMS_TYPE_INTERVAL
static const mip_3dm_event_trigger_command_threshold_params_type MIP_3DM_EVENT_TRIGGER_COMMAND_THRESHOLD_PARAMS_TYPE_INTERVAL
Trigger at evenly-spaced intervals. Normally used with time fields to trigger periodically....
Definition: commands_3dm.h:1507
insert_mip_3dm_gnss_assisted_fix_response
void insert_mip_3dm_gnss_assisted_fix_response(mip_serializer *serializer, const mip_3dm_gnss_assisted_fix_response *self)
Definition: commands_3dm.c:1809
insert_mip_3dm_event_trigger_command_type
void insert_mip_3dm_event_trigger_command_type(struct mip_serializer *serializer, const mip_3dm_event_trigger_command_type self)
Definition: commands_3dm.c:3364
extract_mip_3dm_poll_data_command
void extract_mip_3dm_poll_data_command(mip_serializer *serializer, mip_3dm_poll_data_command *self)
Definition: commands_3dm.c:678
mip_3dm_default_event_trigger
mip_cmd_result mip_3dm_default_event_trigger(struct mip_interface *device, uint8_t instance)
Definition: commands_3dm.c:3479
MIP_REPLY_DESC_3DM_LOWPASS_FILTER
@ MIP_REPLY_DESC_3DM_LOWPASS_FILTER
Definition: commands_3dm.h:141
MIP_REPLY_DESC_3DM_ADVANCED_DATA_FILTER
@ MIP_REPLY_DESC_3DM_ADVANCED_DATA_FILTER
Definition: commands_3dm.h:105
insert_mip_3dm_datastream_control_command
void insert_mip_3dm_datastream_control_command(mip_serializer *serializer, const mip_3dm_datastream_control_command *self)
Definition: commands_3dm.c:1286
mip_3dm_read_event_trigger
mip_cmd_result mip_3dm_read_event_trigger(struct mip_interface *device, uint8_t instance, mip_3dm_event_trigger_command_type *type_out, mip_3dm_event_trigger_command_parameters *parameters_out)
Definition: commands_3dm.c:3406
insert_mip_3dm_gnss_assisted_fix_command_assisted_fix_option
void insert_mip_3dm_gnss_assisted_fix_command_assisted_fix_option(struct mip_serializer *serializer, const mip_3dm_gnss_assisted_fix_command_assisted_fix_option self)
Definition: commands_3dm.c:1824
mip_3dm_write_mag_hard_iron_offset
mip_cmd_result mip_3dm_write_mag_hard_iron_offset(struct mip_interface *device, const float *offset)
Definition: commands_3dm.c:4075
MIP_REPLY_DESC_3DM_MESSAGE_FORMAT
@ MIP_REPLY_DESC_3DM_MESSAGE_FORMAT
Definition: commands_3dm.h:108
mip_3dm_save_gnss_sbas_settings
mip_cmd_result mip_3dm_save_gnss_sbas_settings(struct mip_interface *device)
Definition: commands_3dm.c:1748
mip_3dm_gyro_bias_response
Definition: commands_3dm.h:1751
extract_mip_3dm_poll_imu_message_command
void extract_mip_3dm_poll_imu_message_command(mip_serializer *serializer, mip_3dm_poll_imu_message_command *self)
Definition: commands_3dm.c:97
mip_3dm_nmea_poll_data
mip_cmd_result mip_3dm_nmea_poll_data(struct mip_interface *device, bool suppress_ack, uint8_t count, const mip_nmea_message *format_entries)
Definition: commands_3dm.c:941
mip_3dm_default_gyro_bias
mip_cmd_result mip_3dm_default_gyro_bias(struct mip_interface *device)
Definition: commands_3dm.c:3976
mip_3dm_constellation_settings_command_settings
Definition: commands_3dm.h:802
mip_3dm_get_event_action_status_response
Definition: commands_3dm.h:1472
MIP_REPLY_DESC_3DM_EVENT_TRIGGER_STATUS
@ MIP_REPLY_DESC_3DM_EVENT_TRIGGER_STATUS
Definition: commands_3dm.h:130
insert_mip_3dm_sensor_range_command
void insert_mip_3dm_sensor_range_command(mip_serializer *serializer, const mip_3dm_sensor_range_command *self)
Definition: commands_3dm.c:4888
mip_3dm_save_imu_message_format
mip_cmd_result mip_3dm_save_imu_message_format(struct mip_interface *device)
Definition: commands_3dm.c:305
mip_3dm_event_action_command_gpio_params_mode
uint8_t mip_3dm_event_action_command_gpio_params_mode
Definition: commands_3dm.h:1617
mip_3dm_capture_gyro_bias_command
Definition: commands_3dm.h:1779
extract_mip_3dm_gps_message_format_command
void extract_mip_3dm_gps_message_format_command(mip_serializer *serializer, mip_3dm_gps_message_format_command *self)
Definition: commands_3dm.c:355
extract_mip_3dm_event_action_command_gpio_params_mode
void extract_mip_3dm_event_action_command_gpio_params_mode(struct mip_serializer *serializer, mip_3dm_event_action_command_gpio_params_mode *self)
Definition: commands_3dm.c:3600
mip_3dm_save_sensor_2_vehicle_transform_euler
mip_cmd_result mip_3dm_save_sensor_2_vehicle_transform_euler(struct mip_interface *device)
Definition: commands_3dm.c:4475
mip_3dm_write_sensor_2_vehicle_transform_euler
mip_cmd_result mip_3dm_write_sensor_2_vehicle_transform_euler(struct mip_interface *device, float roll, float pitch, float yaw)
Definition: commands_3dm.c:4425
extract_mip_3dm_uart_baudrate_command
void extract_mip_3dm_uart_baudrate_command(mip_serializer *serializer, mip_3dm_uart_baudrate_command *self)
Definition: commands_3dm.c:1148
MIP_CMD_DESC_3DM_EVENT_ACTION_CONFIG
@ MIP_CMD_DESC_3DM_EVENT_ACTION_CONFIG
Definition: commands_3dm.h:63
mip_3dm_capture_gyro_bias
mip_cmd_result mip_3dm_capture_gyro_bias(struct mip_interface *device, uint16_t averaging_time_ms, float *bias_out)
Definition: commands_3dm.c:4012
mip_sensor_range_type
uint8_t mip_sensor_range_type
Definition: commands_3dm.h:184
mip_3dm_default_event_action
mip_cmd_result mip_3dm_default_event_action(struct mip_interface *device, uint8_t instance)
Definition: commands_3dm.c:3744
insert_mip_3dm_gpio_state_command
void insert_mip_3dm_gpio_state_command(mip_serializer *serializer, const mip_3dm_gpio_state_command *self)
Definition: commands_3dm.c:2487
extract_mip_3dm_event_trigger_command_threshold_params
void extract_mip_3dm_event_trigger_command_threshold_params(mip_serializer *serializer, mip_3dm_event_trigger_command_threshold_params *self)
Definition: commands_3dm.c:3304
extract_mip_3dm_event_action_command_gpio_params
void extract_mip_3dm_event_action_command_gpio_params(mip_serializer *serializer, mip_3dm_event_action_command_gpio_params *self)
Definition: commands_3dm.c:3588
extract_mip_3dm_accel_bias_response
void extract_mip_3dm_accel_bias_response(mip_serializer *serializer, mip_3dm_accel_bias_response *self)
Definition: commands_3dm.c:3787
mip_3dm_load_sensor_range
mip_cmd_result mip_3dm_load_sensor_range(struct mip_interface *device, mip_sensor_range_type sensor)
Definition: commands_3dm.c:4988
mip_3dm_write_event_action
mip_cmd_result mip_3dm_write_event_action(struct mip_interface *device, uint8_t instance, uint8_t trigger, mip_3dm_event_action_command_type type, const mip_3dm_event_action_command_parameters *parameters)
Definition: commands_3dm.c:3645
mip_3dm_read_constellation_settings
mip_cmd_result mip_3dm_read_constellation_settings(struct mip_interface *device, uint16_t *max_channels_available_out, uint16_t *max_channels_use_out, uint8_t *config_count_out, uint8_t config_count_out_max, mip_3dm_constellation_settings_command_settings *settings_out)
Definition: commands_3dm.c:1543
MIP_REPLY_DESC_3DM_GPIO_STATE
@ MIP_REPLY_DESC_3DM_GPIO_STATE
Definition: commands_3dm.h:137
mip_3dm_save_lowpass_filter
mip_cmd_result mip_3dm_save_lowpass_filter(struct mip_interface *device, uint8_t desc_set, uint8_t field_desc)
Definition: commands_3dm.c:5223
mip_3dm_get_event_trigger_status_command_entry
Definition: commands_3dm.h:1410
extract_mip_3dm_gnss_sbas_settings_response
void extract_mip_3dm_gnss_sbas_settings_response(mip_serializer *serializer, mip_3dm_gnss_sbas_settings_response *self)
Definition: commands_3dm.c:1665
mip_3dm_read_nmea_message_format
mip_cmd_result mip_3dm_read_nmea_message_format(struct mip_interface *device, uint8_t *count_out, uint8_t count_out_max, mip_nmea_message *format_entries_out)
Definition: commands_3dm.c:1025
mip_3dm_load_device_settings
mip_cmd_result mip_3dm_load_device_settings(struct mip_interface *device)
Definition: commands_3dm.c:1114
insert_mip_3dm_get_event_trigger_status_response
void insert_mip_3dm_get_event_trigger_status_response(mip_serializer *serializer, const mip_3dm_get_event_trigger_status_response *self)
Definition: commands_3dm.c:2981
MIP_REPLY_DESC_3DM_UART_BAUDRATE
@ MIP_REPLY_DESC_3DM_UART_BAUDRATE
Definition: commands_3dm.h:101
extract_mip_3dm_capture_gyro_bias_command
void extract_mip_3dm_capture_gyro_bias_command(mip_serializer *serializer, mip_3dm_capture_gyro_bias_command *self)
Definition: commands_3dm.c:3993
extract_mip_3dm_gnss_time_assistance_response
void extract_mip_3dm_gnss_time_assistance_response(mip_serializer *serializer, mip_3dm_gnss_time_assistance_response *self)
Definition: commands_3dm.c:1954
insert_mip_3dm_mag_soft_iron_matrix_response
void insert_mip_3dm_mag_soft_iron_matrix_response(mip_serializer *serializer, const mip_3dm_mag_soft_iron_matrix_response *self)
Definition: commands_3dm.c:4177
mip_3dm_poll_data
mip_cmd_result mip_3dm_poll_data(struct mip_interface *device, uint8_t desc_set, bool suppress_ack, uint8_t num_descriptors, const uint8_t *descriptors)
Definition: commands_3dm.c:692
insert_mip_3dm_gps_message_format_command
void insert_mip_3dm_gps_message_format_command(mip_serializer *serializer, const mip_3dm_gps_message_format_command *self)
Definition: commands_3dm.c:341
extract_mip_3dm_gnss_assisted_fix_command
void extract_mip_3dm_gnss_assisted_fix_command(mip_serializer *serializer, mip_3dm_gnss_assisted_fix_command *self)
Definition: commands_3dm.c:1796
MIP_REPLY_DESC_3DM_ACCEL_BIAS_VECTOR
@ MIP_REPLY_DESC_3DM_ACCEL_BIAS_VECTOR
Definition: commands_3dm.h:116
mip_3dm_imu_get_base_rate
mip_cmd_result mip_3dm_imu_get_base_rate(struct mip_interface *device, uint16_t *rate_out)
Definition: commands_3dm.c:605
mip_3dm_calibrated_sensor_ranges_command_entry
Definition: commands_3dm.h:2199
mip_3dm_get_event_action_status_command_entry
Definition: commands_3dm.h:1452
extract_mip_3dm_coning_sculling_enable_command
void extract_mip_3dm_coning_sculling_enable_command(mip_serializer *serializer, mip_3dm_coning_sculling_enable_command *self)
Definition: commands_3dm.c:4279
mip_3dm_write_message_format
mip_cmd_result mip_3dm_write_message_format(struct mip_interface *device, uint8_t desc_set, uint8_t num_descriptors, const mip_descriptor_rate *descriptors)
Definition: commands_3dm.c:822
extract_mip_3dm_gnss_time_assistance_command
void extract_mip_3dm_gnss_time_assistance_command(mip_serializer *serializer, mip_3dm_gnss_time_assistance_command *self)
Definition: commands_3dm.c:1930
mip_3dm_read_odometer
mip_cmd_result mip_3dm_read_odometer(struct mip_interface *device, mip_3dm_odometer_command_mode *mode_out, float *scaling_out, float *uncertainty_out)
Definition: commands_3dm.c:2656
mip_3dm_write_coning_sculling_enable
mip_cmd_result mip_3dm_write_coning_sculling_enable(struct mip_interface *device, bool enable)
Definition: commands_3dm.c:4301
mip_3dm_default_gnss_assisted_fix
mip_cmd_result mip_3dm_default_gnss_assisted_fix(struct mip_interface *device)
Definition: commands_3dm.c:1904
mip_3dm_read_event_control
mip_cmd_result mip_3dm_read_event_control(struct mip_interface *device, uint8_t instance, mip_3dm_event_control_command_mode *mode_out)
Definition: commands_3dm.c:2890
extract_mip_3dm_device_settings_command
void extract_mip_3dm_device_settings_command(mip_serializer *serializer, mip_3dm_device_settings_command *self)
Definition: commands_3dm.c:1096
extract_mip_3dm_gpio_config_command_feature
void extract_mip_3dm_gpio_config_command_feature(struct mip_serializer *serializer, mip_3dm_gpio_config_command_feature *self)
Definition: commands_3dm.c:2360
extract_mip_3dm_imu_lowpass_filter_command
void extract_mip_3dm_imu_lowpass_filter_command(mip_serializer *serializer, mip_3dm_imu_lowpass_filter_command *self)
Definition: commands_3dm.c:2032
mip_3dm_save_complementary_filter
mip_cmd_result mip_3dm_save_complementary_filter(struct mip_interface *device)
Definition: commands_3dm.c:4852
extract_mip_3dm_mag_hard_iron_offset_response
void extract_mip_3dm_mag_hard_iron_offset_response(mip_serializer *serializer, mip_3dm_mag_hard_iron_offset_response *self)
Definition: commands_3dm.c:4068
extract_double
void extract_double(mip_serializer *serializer, double *value)
mip_3dm_save_event_trigger
mip_cmd_result mip_3dm_save_event_trigger(struct mip_interface *device, uint8_t instance)
Definition: commands_3dm.c:3451
mip_3dm_default_gps_message_format
mip_cmd_result mip_3dm_default_gps_message_format(struct mip_interface *device)
Definition: commands_3dm.c:461
insert_mip_3dm_mag_hard_iron_offset_command
void insert_mip_3dm_mag_hard_iron_offset_command(mip_serializer *serializer, const mip_3dm_mag_hard_iron_offset_command *self)
Definition: commands_3dm.c:4039
mip_nmea_message_talker_id
uint8_t mip_nmea_message_talker_id
Definition: commands_3dm.h:159
extract_mip_3dm_mag_soft_iron_matrix_command
void extract_mip_3dm_mag_soft_iron_matrix_command(mip_serializer *serializer, mip_3dm_mag_soft_iron_matrix_command *self)
Definition: commands_3dm.c:4165
mip_3dm_save_sensor_2_vehicle_transform_dcm
mip_cmd_result mip_3dm_save_sensor_2_vehicle_transform_dcm(struct mip_interface *device)
Definition: commands_3dm.c:4705
MIP_REPLY_DESC_3DM_LEGACY_COMP_FILTER
@ MIP_REPLY_DESC_3DM_LEGACY_COMP_FILTER
Definition: commands_3dm.h:115
MIP_STATUS_ERROR
@ MIP_STATUS_ERROR
Command could not be executed (error sending/receiving)
Definition: mip_result.h:30
extract_mip_3dm_odometer_response
void extract_mip_3dm_odometer_response(mip_serializer *serializer, mip_3dm_odometer_response *self)
Definition: commands_3dm.c:2617
mip_3dm_nmea_message_format_response
Definition: commands_3dm.h:601
mip_3dm_write_nmea_message_format
mip_cmd_result mip_3dm_write_nmea_message_format(struct mip_interface *device, uint8_t count, const mip_nmea_message *format_entries)
Definition: commands_3dm.c:1007
extract_mip_3dm_get_event_support_command_info
void extract_mip_3dm_get_event_support_command_info(mip_serializer *serializer, mip_3dm_get_event_support_command_info *self)
Definition: commands_3dm.c:2780
insert_mip_3dm_constellation_settings_command_settings
void insert_mip_3dm_constellation_settings_command_settings(mip_serializer *serializer, const mip_3dm_constellation_settings_command_settings *self)
Definition: commands_3dm.c:1496
mip_3dm_load_gps_message_format
mip_cmd_result mip_3dm_load_gps_message_format(struct mip_interface *device)
Definition: commands_3dm.c:449
mip_3dm_load_lowpass_filter
mip_cmd_result mip_3dm_load_lowpass_filter(struct mip_interface *device, uint8_t desc_set, uint8_t field_desc)
Definition: commands_3dm.c:5239
mip_3dm_uart_baudrate_response
Definition: commands_3dm.h:674
MIP_REPLY_DESC_3DM_HARD_IRON_OFFSET_VECTOR
@ MIP_REPLY_DESC_3DM_HARD_IRON_OFFSET_VECTOR
Definition: commands_3dm.h:118
mip_3dm_save_nmea_message_format
mip_cmd_result mip_3dm_save_nmea_message_format(struct mip_interface *device)
Definition: commands_3dm.c:1055
mip_3dm_read_imu_lowpass_filter
mip_cmd_result mip_3dm_read_imu_lowpass_filter(struct mip_interface *device, uint8_t target_descriptor, bool *enable_out, bool *manual_out, uint16_t *frequency_out, uint8_t *reserved_out)
Definition: commands_3dm.c:2100
extract_mip_3dm_get_event_action_status_response
void extract_mip_3dm_get_event_action_status_response(mip_serializer *serializer, mip_3dm_get_event_action_status_response *self)
Definition: commands_3dm.c:3088
MIP_CMD_DESC_3DM_GET_FILTER_BASE_RATE
@ MIP_CMD_DESC_3DM_GET_FILTER_BASE_RATE
Definition: commands_3dm.h:45
extract_mip_3dm_filter_message_format_response
void extract_mip_3dm_filter_message_format_response(mip_serializer *serializer, mip_3dm_filter_message_format_response *self)
Definition: commands_3dm.c:511
mip_3dm_read_event_action
mip_cmd_result mip_3dm_read_event_action(struct mip_interface *device, uint8_t instance, uint8_t *trigger_out, mip_3dm_event_action_command_type *type_out, mip_3dm_event_action_command_parameters *parameters_out)
Definition: commands_3dm.c:3673
mip_3dm_gnss_sbas_settings_command
Definition: commands_3dm.h:869
extract_mip_3dm_calibrated_sensor_ranges_command
void extract_mip_3dm_calibrated_sensor_ranges_command(mip_serializer *serializer, mip_3dm_calibrated_sensor_ranges_command *self)
Definition: commands_3dm.c:5021
mip_3dm_event_action_response
Definition: commands_3dm.h:1678
mip_cmd_result
mip_cmd_result
Represents the status of a MIP command.
Definition: mip_result.h:25
MIP_REPLY_DESC_3DM_GNSS_BASE_RATE
@ MIP_REPLY_DESC_3DM_GNSS_BASE_RATE
Definition: commands_3dm.h:98
mip_3dm_pps_source_command_source
uint8_t mip_3dm_pps_source_command_source
Definition: commands_3dm.h:1056
mip_3dm_factory_streaming_command
Definition: commands_3dm.h:705
MIP_CMD_DESC_3DM_GYRO_BIAS
@ MIP_CMD_DESC_3DM_GYRO_BIAS
Definition: commands_3dm.h:72
extract_mip_3dm_pps_source_command
void extract_mip_3dm_pps_source_command(mip_serializer *serializer, mip_3dm_pps_source_command *self)
Definition: commands_3dm.c:2191
mip_3dm_save_event_action
mip_cmd_result mip_3dm_save_event_action(struct mip_interface *device, uint8_t instance)
Definition: commands_3dm.c:3716
extract_mip_3dm_constellation_settings_command_constellation_id
void extract_mip_3dm_constellation_settings_command_constellation_id(struct mip_serializer *serializer, mip_3dm_constellation_settings_command_constellation_id *self)
Definition: commands_3dm.c:1478
insert_mip_3dm_capture_gyro_bias_response
void insert_mip_3dm_capture_gyro_bias_response(mip_serializer *serializer, const mip_3dm_capture_gyro_bias_response *self)
Definition: commands_3dm.c:3999
mip_3dm_gpio_state_response
Definition: commands_3dm.h:1221
MIP_REPLY_DESC_3DM_GNSS_MESSAGE_FORMAT
@ MIP_REPLY_DESC_3DM_GNSS_MESSAGE_FORMAT
Definition: commands_3dm.h:95
insert_mip_3dm_complementary_filter_command
void insert_mip_3dm_complementary_filter_command(mip_serializer *serializer, const mip_3dm_complementary_filter_command *self)
Definition: commands_3dm.c:4741
extract_mip_3dm_event_trigger_command_combination_params
void extract_mip_3dm_event_trigger_command_combination_params(mip_serializer *serializer, mip_3dm_event_trigger_command_combination_params *self)
Definition: commands_3dm.c:3355
MIP_3DM_EVENT_ACTION_COMMAND_TYPE_GPIO
static const mip_3dm_event_action_command_type MIP_3DM_EVENT_ACTION_COMMAND_TYPE_GPIO
Control the state of a GPIO pin. See GpioParameters.
Definition: commands_3dm.h:1643
mip_3dm_gpio_config_command_pin_mode
uint8_t mip_3dm_gpio_config_command_pin_mode
Definition: commands_3dm.h:1140
mip_serializer
Structure used for serialization.
Definition: serialization.h:45
extract_mip_3dm_gpio_state_command
void extract_mip_3dm_gpio_state_command(mip_serializer *serializer, mip_3dm_gpio_state_command *self)
Definition: commands_3dm.c:2502
mip_3dm_poll_imu_message_command
Definition: commands_3dm.h:212
extract_mip_3dm_get_event_trigger_status_command_entry
void extract_mip_3dm_get_event_trigger_status_command_entry(mip_serializer *serializer, mip_3dm_get_event_trigger_status_command_entry *self)
Definition: commands_3dm.c:3018
MIP_CMD_DESC_3DM_SENSOR2VEHICLE_TRANSFORM_EUL
@ MIP_CMD_DESC_3DM_SENSOR2VEHICLE_TRANSFORM_EUL
Definition: commands_3dm.h:65
insert_mip_3dm_gpio_config_command_behavior
void insert_mip_3dm_gpio_config_command_behavior(struct mip_serializer *serializer, const mip_3dm_gpio_config_command_behavior self)
Definition: commands_3dm.c:2367
mip_3dm_event_trigger_command_threshold_params
Definition: commands_3dm.h:1509
mip_3dm_load_mag_soft_iron_matrix
mip_cmd_result mip_3dm_load_mag_soft_iron_matrix(struct mip_interface *device)
Definition: commands_3dm.c:4245
insert_mip_nmea_message
void insert_mip_nmea_message(mip_serializer *serializer, const mip_nmea_message *self)
Definition: commands_3dm.c:25
extract_mip_3dm_nmea_message_format_response
void extract_mip_3dm_nmea_message_format_response(mip_serializer *serializer, mip_3dm_nmea_message_format_response *self)
Definition: commands_3dm.c:997
extract_mip_3dm_event_trigger_command_threshold_params_type
void extract_mip_3dm_event_trigger_command_threshold_params_type(struct mip_serializer *serializer, mip_3dm_event_trigger_command_threshold_params_type *self)
Definition: commands_3dm.c:3340
mip_3dm_get_event_support_command_info
Definition: commands_3dm.h:1307
insert_mip_nmea_message_message_id
void insert_mip_nmea_message_message_id(struct mip_serializer *serializer, const mip_nmea_message_message_id self)
Definition: commands_3dm.c:48
insert_mip_3dm_filter_message_format_response
void insert_mip_3dm_filter_message_format_response(mip_serializer *serializer, const mip_3dm_filter_message_format_response *self)
Definition: commands_3dm.c:502
insert_mip_3dm_pps_source_command
void insert_mip_3dm_pps_source_command(mip_serializer *serializer, const mip_3dm_pps_source_command *self)
Definition: commands_3dm.c:2181
insert_mip_3dm_gpio_config_command
void insert_mip_3dm_gpio_config_command(mip_serializer *serializer, const mip_3dm_gpio_config_command *self)
Definition: commands_3dm.c:2300
mip_3dm_load_gnss_assisted_fix
mip_cmd_result mip_3dm_load_gnss_assisted_fix(struct mip_interface *device)
Definition: commands_3dm.c:1892
mip_3dm_read_imu_message_format
mip_cmd_result mip_3dm_read_imu_message_format(struct mip_interface *device, uint8_t *num_descriptors_out, uint8_t num_descriptors_out_max, mip_descriptor_rate *descriptors_out)
Definition: commands_3dm.c:275
insert_mip_3dm_event_action_command_type
void insert_mip_3dm_event_action_command_type(struct mip_serializer *serializer, const mip_3dm_event_action_command_type self)
Definition: commands_3dm.c:3634
mip_3dm_gpio_config_command_behavior
uint8_t mip_3dm_gpio_config_command_behavior
Definition: commands_3dm.h:1123
extract_mip_3dm_lowpass_filter_command
void extract_mip_3dm_lowpass_filter_command(mip_serializer *serializer, mip_3dm_lowpass_filter_command *self)
Definition: commands_3dm.c:5115
extract_mip_3dm_complementary_filter_command
void extract_mip_3dm_complementary_filter_command(mip_serializer *serializer, mip_3dm_complementary_filter_command *self)
Definition: commands_3dm.c:4757
extract_mip_3dm_sensor_2_vehicle_transform_euler_command
void extract_mip_3dm_sensor_2_vehicle_transform_euler_command(mip_serializer *serializer, mip_3dm_sensor_2_vehicle_transform_euler_command *self)
Definition: commands_3dm.c:4391
MIP_FUNCTION_SAVE
@ MIP_FUNCTION_SAVE
Definition: descriptors.h:50
extract_mip_3dm_gpio_state_response
void extract_mip_3dm_gpio_state_response(mip_serializer *serializer, mip_3dm_gpio_state_response *self)
Definition: commands_3dm.c:2525
MIP_REPLY_DESC_3DM_EVENT_CONTROL
@ MIP_REPLY_DESC_3DM_EVENT_CONTROL
Definition: commands_3dm.h:129
mip_3dm_write_datastream_control
mip_cmd_result mip_3dm_write_datastream_control(struct mip_interface *device, uint8_t desc_set, bool enable)
Definition: commands_3dm.c:1326
mip_3dm_gnss_time_assistance_command
Definition: commands_3dm.h:966
mip_3dm_event_action_command_message_params
Definition: commands_3dm.h:1632
extract_mip_3dm_event_action_command_message_params
void extract_mip_3dm_event_action_command_message_params(mip_serializer *serializer, mip_3dm_event_action_command_message_params *self)
Definition: commands_3dm.c:3620
mip_3dm_default_filter_message_format
mip_cmd_result mip_3dm_default_filter_message_format(struct mip_interface *device)
Definition: commands_3dm.c:593
insert_mip_3dm_poll_gnss_message_command
void insert_mip_3dm_poll_gnss_message_command(mip_serializer *serializer, const mip_3dm_poll_gnss_message_command *self)
Definition: commands_3dm.c:127
mip_3dm_write_event_trigger
mip_cmd_result mip_3dm_write_event_trigger(struct mip_interface *device, uint8_t instance, mip_3dm_event_trigger_command_type type, const mip_3dm_event_trigger_command_parameters *parameters)
Definition: commands_3dm.c:3375
mip_3dm_save_gnss_assisted_fix
mip_cmd_result mip_3dm_save_gnss_assisted_fix(struct mip_interface *device)
Definition: commands_3dm.c:1880
insert_mip_3dm_device_settings_command
void insert_mip_3dm_device_settings_command(mip_serializer *serializer, const mip_3dm_device_settings_command *self)
Definition: commands_3dm.c:1091
insert_mip_3dm_sensor_2_vehicle_transform_dcm_response
void insert_mip_3dm_sensor_2_vehicle_transform_dcm_response(mip_serializer *serializer, const mip_3dm_sensor_2_vehicle_transform_dcm_response *self)
Definition: commands_3dm.c:4649
mip_3dm_default_gpio_config
mip_cmd_result mip_3dm_default_gpio_config(struct mip_interface *device, uint8_t pin)
Definition: commands_3dm.c:2473
insert_u8
void insert_u8(mip_serializer *serializer, uint8_t value)
mip_field
A structure representing a MIP field.
Definition: mip_field.h:52
insert_mip_3dm_gpio_config_response
void insert_mip_3dm_gpio_config_response(mip_serializer *serializer, const mip_3dm_gpio_config_response *self)
Definition: commands_3dm.c:2333
insert_mip_3dm_get_event_trigger_status_command_entry
void insert_mip_3dm_get_event_trigger_status_command_entry(mip_serializer *serializer, const mip_3dm_get_event_trigger_status_command_entry *self)
Definition: commands_3dm.c:3011
mip_3dm_constellation_settings_response
Definition: commands_3dm.h:833
mip_3dm_get_base_rate_command
Definition: commands_3dm.h:495
extract_mip_3dm_odometer_command
void extract_mip_3dm_odometer_command(mip_serializer *serializer, mip_3dm_odometer_command *self)
Definition: commands_3dm.c:2593
insert_mip_3dm_gyro_bias_response
void insert_mip_3dm_gyro_bias_response(mip_serializer *serializer, const mip_3dm_gyro_bias_response *self)
Definition: commands_3dm.c:3896
insert_mip_3dm_event_action_command
void insert_mip_3dm_event_action_command(mip_serializer *serializer, const mip_3dm_event_action_command *self)
Definition: commands_3dm.c:3493
mip_3dm_event_action_command_parameters::message
mip_3dm_event_action_command_message_params message
Definition: commands_3dm.h:1649
mip_3dm_coning_sculling_enable_command
Definition: commands_3dm.h:1889
MIP_CMD_DESC_3DM_POLL_GNSS_MESSAGE
@ MIP_CMD_DESC_3DM_POLL_GNSS_MESSAGE
Definition: commands_3dm.h:37
mip_3dm_event_action_command_gpio_params
Definition: commands_3dm.h:1625
extract_mip_3dm_mag_soft_iron_matrix_response
void extract_mip_3dm_mag_soft_iron_matrix_response(mip_serializer *serializer, mip_3dm_mag_soft_iron_matrix_response *self)
Definition: commands_3dm.c:4183
insert_mip_3dm_coning_sculling_enable_response
void insert_mip_3dm_coning_sculling_enable_response(mip_serializer *serializer, const mip_3dm_coning_sculling_enable_response *self)
Definition: commands_3dm.c:4290
mip_3dm_write_odometer
mip_cmd_result mip_3dm_write_odometer(struct mip_interface *device, mip_3dm_odometer_command_mode mode, float scaling, float uncertainty)
Definition: commands_3dm.c:2638
insert_mip_3dm_poll_data_command
void insert_mip_3dm_poll_data_command(mip_serializer *serializer, const mip_3dm_poll_data_command *self)
Definition: commands_3dm.c:665
mip_3dm_save_accel_bias
mip_cmd_result mip_3dm_save_accel_bias(struct mip_interface *device)
Definition: commands_3dm.c:3837
MIP_CMD_DESC_3DM_SENSOR2VEHICLE_TRANSFORM_QUAT
@ MIP_CMD_DESC_3DM_SENSOR2VEHICLE_TRANSFORM_QUAT
Definition: commands_3dm.h:66
mip_3dm_load_sensor_2_vehicle_transform_quaternion
mip_cmd_result mip_3dm_load_sensor_2_vehicle_transform_quaternion(struct mip_interface *device)
Definition: commands_3dm.c:4602
insert_mip_3dm_event_trigger_command_gpio_params_mode
void insert_mip_3dm_event_trigger_command_gpio_params_mode(struct mip_serializer *serializer, const mip_3dm_event_trigger_command_gpio_params_mode self)
Definition: commands_3dm.c:3262
mip_3dm_event_trigger_response
Definition: commands_3dm.h:1592
MIP_CMD_DESC_3DM_GPIO_CONFIG
@ MIP_CMD_DESC_3DM_GPIO_CONFIG
Definition: commands_3dm.h:80
insert_mip_3dm_sensor_range_response
void insert_mip_3dm_sensor_range_response(mip_serializer *serializer, const mip_3dm_sensor_range_response *self)
Definition: commands_3dm.c:4913
insert_mip_3dm_uart_baudrate_command
void insert_mip_3dm_uart_baudrate_command(mip_serializer *serializer, const mip_3dm_uart_baudrate_command *self)
Definition: commands_3dm.c:1138
MIP_CMD_DESC_3DM_PPS_SOURCE
@ MIP_CMD_DESC_3DM_PPS_SOURCE
Definition: commands_3dm.h:57
mip_3dm_load_imu_lowpass_filter
mip_cmd_result mip_3dm_load_imu_lowpass_filter(struct mip_interface *device, uint8_t target_descriptor)
Definition: commands_3dm.c:2153
mip_3dm_accel_bias_command
Definition: commands_3dm.h:1706
device
mip_interface device
Definition: CV7_example.c:47
mip_3dm_get_event_action_status_command
Definition: commands_3dm.h:1459
insert_mip_3dm_gnss_time_assistance_command
void insert_mip_3dm_gnss_time_assistance_command(mip_serializer *serializer, const mip_3dm_gnss_time_assistance_command *self)
Definition: commands_3dm.c:1916
mip_3dm_gnss_time_assistance_response
Definition: commands_3dm.h:978
mip_3dm_filter_message_format_command
Definition: commands_3dm.h:365
extract_mip_3dm_constellation_settings_command_settings
void extract_mip_3dm_constellation_settings_command_settings(mip_serializer *serializer, mip_3dm_constellation_settings_command_settings *self)
Definition: commands_3dm.c:1509
mip_3dm_write_uart_baudrate
mip_cmd_result mip_3dm_write_uart_baudrate(struct mip_interface *device, uint32_t baud)
Definition: commands_3dm.c:1170
mip_3dm_get_event_trigger_status_command
Definition: commands_3dm.h:1417
mip_3dm_default_accel_bias
mip_cmd_result mip_3dm_default_accel_bias(struct mip_interface *device)
Definition: commands_3dm.c:3861
insert_mip_3dm_pps_source_command_source
void insert_mip_3dm_pps_source_command_source(struct mip_serializer *serializer, const mip_3dm_pps_source_command_source self)
Definition: commands_3dm.c:2213
insert_mip_3dm_gpio_config_command_feature
void insert_mip_3dm_gpio_config_command_feature(struct mip_serializer *serializer, const mip_3dm_gpio_config_command_feature self)
Definition: commands_3dm.c:2356
mip_3dm_odometer_command_mode
uint8_t mip_3dm_odometer_command_mode
Definition: commands_3dm.h:1243
MIP_3DM_EVENT_ACTION_COMMAND_TYPE_MESSAGE
static const mip_3dm_event_action_command_type MIP_3DM_EVENT_ACTION_COMMAND_TYPE_MESSAGE
Output a data packet. See MessageParameters.
Definition: commands_3dm.h:1644
insert_mip_3dm_gnss_time_assistance_response
void insert_mip_3dm_gnss_time_assistance_response(mip_serializer *serializer, const mip_3dm_gnss_time_assistance_response *self)
Definition: commands_3dm.c:1945
mip_3dm_uart_baudrate_command
Definition: commands_3dm.h:664
mip_3dm_sensor_2_vehicle_transform_dcm_response
Definition: commands_3dm.h:2088
MIP_REPLY_DESC_3DM_SENSOR_RANGE
@ MIP_REPLY_DESC_3DM_SENSOR_RANGE
Definition: commands_3dm.h:139
MIP_ACK_OK
@ MIP_ACK_OK
Command completed successfully.
Definition: mip_result.h:38
mip_3dm_load_imu_message_format
mip_cmd_result mip_3dm_load_imu_message_format(struct mip_interface *device)
Definition: commands_3dm.c:317
insert_mip_3dm_complementary_filter_response
void insert_mip_3dm_complementary_filter_response(mip_serializer *serializer, const mip_3dm_complementary_filter_response *self)
Definition: commands_3dm.c:4774
extract_mip_3dm_imu_message_format_response
void extract_mip_3dm_imu_message_format_response(mip_serializer *serializer, mip_3dm_imu_message_format_response *self)
Definition: commands_3dm.c:247
MIP_CMD_DESC_3DM_GET_IMU_BASE_RATE
@ MIP_CMD_DESC_3DM_GET_IMU_BASE_RATE
Definition: commands_3dm.h:40
extract_count
void extract_count(mip_serializer *serializer, uint8_t *count_out, uint8_t max_count)
Similar to extract_u8 but allows a maximum value to be specified.
Definition: serialization.c:259
mip_3dm_datastream_control_command
Definition: commands_3dm.h:737
insert_mip_3dm_imu_message_format_command
void insert_mip_3dm_imu_message_format_command(mip_serializer *serializer, const mip_3dm_imu_message_format_command *self)
Definition: commands_3dm.c:209
extract_mip_3dm_gps_message_format_response
void extract_mip_3dm_gps_message_format_response(mip_serializer *serializer, mip_3dm_gps_message_format_response *self)
Definition: commands_3dm.c:379
MIP_CMD_DESC_3DM_GPIO_STATE
@ MIP_CMD_DESC_3DM_GPIO_STATE
Definition: commands_3dm.h:81
mip_3dm_read_uart_baudrate
mip_cmd_result mip_3dm_read_uart_baudrate(struct mip_interface *device, uint32_t *baud_out)
Definition: commands_3dm.c:1184
mip_3dm_save_uart_baudrate
mip_cmd_result mip_3dm_save_uart_baudrate(struct mip_interface *device)
Definition: commands_3dm.c:1210
extract_mip_3dm_gyro_bias_response
void extract_mip_3dm_gyro_bias_response(mip_serializer *serializer, mip_3dm_gyro_bias_response *self)
Definition: commands_3dm.c:3902
MIP_FIELD_PAYLOAD_LENGTH_MAX
@ MIP_FIELD_PAYLOAD_LENGTH_MAX
Definition: mip_offsets.h:35
MIP_3DM_EVENT_TRIGGER_COMMAND_TYPE_THRESHOLD
static const mip_3dm_event_trigger_command_type MIP_3DM_EVENT_TRIGGER_COMMAND_TYPE_THRESHOLD
Compare a data quantity against a high and low threshold. See ThresholdParams.
Definition: commands_3dm.h:1551
mip_3dm_get_event_support_response
Definition: commands_3dm.h:1329
mip_3dm_load_accel_bias
mip_cmd_result mip_3dm_load_accel_bias(struct mip_interface *device)
Definition: commands_3dm.c:3849
insert_mip_3dm_get_base_rate_command
void insert_mip_3dm_get_base_rate_command(mip_serializer *serializer, const mip_3dm_get_base_rate_command *self)
Definition: commands_3dm.c:712
mip_3dm_write_event_control
mip_cmd_result mip_3dm_write_event_control(struct mip_interface *device, uint8_t instance, mip_3dm_event_control_command_mode mode)
Definition: commands_3dm.c:2874
insert_mip_3dm_lowpass_filter_command
void insert_mip_3dm_lowpass_filter_command(mip_serializer *serializer, const mip_3dm_lowpass_filter_command *self)
Definition: commands_3dm.c:5097
MIP_CMD_DESC_3DM_GET_GNSS_BASE_RATE
@ MIP_CMD_DESC_3DM_GET_GNSS_BASE_RATE
Definition: commands_3dm.h:41
mip_3dm_read_gps_message_format
mip_cmd_result mip_3dm_read_gps_message_format(struct mip_interface *device, uint8_t *num_descriptors_out, uint8_t num_descriptors_out_max, mip_descriptor_rate *descriptors_out)
Definition: commands_3dm.c:407
MIP_3DM_CMD_DESC_SET
@ MIP_3DM_CMD_DESC_SET
Definition: commands_3dm.h:34
mip_3dm_default_sensor_range
mip_cmd_result mip_3dm_default_sensor_range(struct mip_interface *device, mip_sensor_range_type sensor)
Definition: commands_3dm.c:5002
mip_3dm_filter_message_format_response
Definition: commands_3dm.h:376
mip_3dm_load_pps_source
mip_cmd_result mip_3dm_load_pps_source(struct mip_interface *device)
Definition: commands_3dm.c:2276
insert_mip_3dm_message_format_response
void insert_mip_3dm_message_format_response(mip_serializer *serializer, const mip_3dm_message_format_response *self)
Definition: commands_3dm.c:799
mip_3dm_event_trigger_command_gpio_params
Definition: commands_3dm.h:1498
insert_mip_3dm_gyro_bias_command
void insert_mip_3dm_gyro_bias_command(mip_serializer *serializer, const mip_3dm_gyro_bias_command *self)
Definition: commands_3dm.c:3873
mip_3dm_load_sensor_2_vehicle_transform_euler
mip_cmd_result mip_3dm_load_sensor_2_vehicle_transform_euler(struct mip_interface *device)
Definition: commands_3dm.c:4487
insert_mip_3dm_event_trigger_command_threshold_params
void insert_mip_3dm_event_trigger_command_threshold_params(mip_serializer *serializer, const mip_3dm_event_trigger_command_threshold_params *self)
Definition: commands_3dm.c:3273
mip_serializer_init_insertion
void mip_serializer_init_insertion(mip_serializer *serializer, uint8_t *buffer, size_t buffer_size)
Initialize a serialization struct for insertion into a buffer.
Definition: serialization.c:24
MIP_CMD_DESC_3DM_LEGACY_COMP_FILTER
@ MIP_CMD_DESC_3DM_LEGACY_COMP_FILTER
Definition: commands_3dm.h:84
mip_3dm_write_gnss_assisted_fix
mip_cmd_result mip_3dm_write_gnss_assisted_fix(struct mip_interface *device, mip_3dm_gnss_assisted_fix_command_assisted_fix_option option, uint8_t flags)
Definition: commands_3dm.c:1835
extract_mip_3dm_sensor_2_vehicle_transform_quaternion_response
void extract_mip_3dm_sensor_2_vehicle_transform_quaternion_response(mip_serializer *serializer, mip_3dm_sensor_2_vehicle_transform_quaternion_response *self)
Definition: commands_3dm.c:4540
mip_3dm_gnss_sbas_settings_response
Definition: commands_3dm.h:885
mip_3dm_write_pps_source
mip_cmd_result mip_3dm_write_pps_source(struct mip_interface *device, mip_3dm_pps_source_command_source source)
Definition: commands_3dm.c:2224
extract_mip_3dm_uart_baudrate_response
void extract_mip_3dm_uart_baudrate_response(mip_serializer *serializer, mip_3dm_uart_baudrate_response *self)
Definition: commands_3dm.c:1164
MIP_CMD_DESC_3DM_EVENT_TRIGGER_CONFIG
@ MIP_CMD_DESC_3DM_EVENT_TRIGGER_CONFIG
Definition: commands_3dm.h:62
extract_mip_3dm_sensor_2_vehicle_transform_dcm_response
void extract_mip_3dm_sensor_2_vehicle_transform_dcm_response(mip_serializer *serializer, mip_3dm_sensor_2_vehicle_transform_dcm_response *self)
Definition: commands_3dm.c:4655
mip_3dm_save_mag_soft_iron_matrix
mip_cmd_result mip_3dm_save_mag_soft_iron_matrix(struct mip_interface *device)
Definition: commands_3dm.c:4233
MIP_CMD_DESC_3DM_GNSS_TIME_ASSISTANCE
@ MIP_CMD_DESC_3DM_GNSS_TIME_ASSISTANCE
Definition: commands_3dm.h:56
extract_mip_3dm_filter_message_format_command
void extract_mip_3dm_filter_message_format_command(mip_serializer *serializer, mip_3dm_filter_message_format_command *self)
Definition: commands_3dm.c:487
mip_3dm_mag_hard_iron_offset_response
Definition: commands_3dm.h:1823
insert_mip_3dm_gpio_config_command_pin_mode
void insert_mip_3dm_gpio_config_command_pin_mode(struct mip_serializer *serializer, const mip_3dm_gpio_config_command_pin_mode self)
Definition: commands_3dm.c:2378
MIP_CMD_DESC_3DM_CONING_AND_SCULLING_ENABLE
@ MIP_CMD_DESC_3DM_CONING_AND_SCULLING_ENABLE
Definition: commands_3dm.h:78
mip_3dm_load_message_format
mip_cmd_result mip_3dm_load_message_format(struct mip_interface *device, uint8_t desc_set)
Definition: commands_3dm.c:890
mip_3dm_nmea_message_format_command
Definition: commands_3dm.h:590
mip_3dm_save_odometer
mip_cmd_result mip_3dm_save_odometer(struct mip_interface *device)
Definition: commands_3dm.c:2688
mip_3dm_coning_sculling_enable_response
Definition: commands_3dm.h:1899
extract_mip_3dm_sensor_range_command
void extract_mip_3dm_sensor_range_command(mip_serializer *serializer, mip_3dm_sensor_range_command *self)
Definition: commands_3dm.c:4900
mip_3dm_gps_get_base_rate
mip_cmd_result mip_3dm_gps_get_base_rate(struct mip_interface *device, uint16_t *rate_out)
Definition: commands_3dm.c:625
commands_3dm.h
MIP_CMD_DESC_3DM_POLL_IMU_MESSAGE
@ MIP_CMD_DESC_3DM_POLL_IMU_MESSAGE
Definition: commands_3dm.h:36
mip_3dm_imu_lowpass_filter_command
Definition: commands_3dm.h:1015
extract_mip_3dm_get_base_rate_response
void extract_mip_3dm_get_base_rate_response(mip_serializer *serializer, mip_3dm_get_base_rate_response *self)
Definition: commands_3dm.c:730
mip_3dm_nmea_poll_data_command
Definition: commands_3dm.h:569
extract_mip_3dm_get_event_support_response
void extract_mip_3dm_get_event_support_response(mip_serializer *serializer, mip_3dm_get_event_support_response *self)
Definition: commands_3dm.c:2748
mip_3dm_gyro_bias_command
Definition: commands_3dm.h:1741
mip_3dm_message_format_response
Definition: commands_3dm.h:538
mip_3dm_imu_message_format_command
Definition: commands_3dm.h:291
insert_mip_3dm_lowpass_filter_response
void insert_mip_3dm_lowpass_filter_response(mip_serializer *serializer, const mip_3dm_lowpass_filter_response *self)
Definition: commands_3dm.c:5134
mip_3dm_capture_gyro_bias_response
Definition: commands_3dm.h:1788
insert_float
void insert_float(mip_serializer *serializer, float value)
MIP_CMD_DESC_3DM_GNSS_ASSISTED_FIX_SETTINGS
@ MIP_CMD_DESC_3DM_GNSS_ASSISTED_FIX_SETTINGS
Definition: commands_3dm.h:55
MIP_CMD_DESC_3DM_GNSS_SBAS_SETTINGS
@ MIP_CMD_DESC_3DM_GNSS_SBAS_SETTINGS
Definition: commands_3dm.h:54
mip_3dm_lowpass_filter_response
Definition: commands_3dm.h:2266
extract_mip_3dm_pps_source_command_source
void extract_mip_3dm_pps_source_command_source(struct mip_serializer *serializer, mip_3dm_pps_source_command_source *self)
Definition: commands_3dm.c:2217
insert_mip_3dm_gnss_sbas_settings_command
void insert_mip_3dm_gnss_sbas_settings_command(mip_serializer *serializer, const mip_3dm_gnss_sbas_settings_command *self)
Definition: commands_3dm.c:1615
mip_3dm_sensor_2_vehicle_transform_quaternion_command
Definition: commands_3dm.h:2015
MIP_REPLY_DESC_3DM_NMEA_MESSAGE_FORMAT
@ MIP_REPLY_DESC_3DM_NMEA_MESSAGE_FORMAT
Definition: commands_3dm.h:134
insert_mip_3dm_odometer_response
void insert_mip_3dm_odometer_response(mip_serializer *serializer, const mip_3dm_odometer_response *self)
Definition: commands_3dm.c:2608
extract_mip_3dm_nmea_poll_data_command
void extract_mip_3dm_nmea_poll_data_command(mip_serializer *serializer, mip_3dm_nmea_poll_data_command *self)
Definition: commands_3dm.c:929
mip_3dm_write_constellation_settings
mip_cmd_result mip_3dm_write_constellation_settings(struct mip_interface *device, uint16_t max_channels, uint8_t config_count, const mip_3dm_constellation_settings_command_settings *settings)
Definition: commands_3dm.c:1523
mip_3dm_load_event_trigger
mip_cmd_result mip_3dm_load_event_trigger(struct mip_interface *device, uint8_t instance)
Definition: commands_3dm.c:3465
mip_3dm_get_event_support_command
Definition: commands_3dm.h:1314
mip_3dm_load_event_control
mip_cmd_result mip_3dm_load_event_control(struct mip_interface *device, uint8_t instance)
Definition: commands_3dm.c:2934
extract_mip_3dm_get_event_action_status_command
void extract_mip_3dm_get_event_action_status_command(mip_serializer *serializer, mip_3dm_get_event_action_status_command *self)
Definition: commands_3dm.c:3069
mip_3dm_get_base_rate
mip_cmd_result mip_3dm_get_base_rate(struct mip_interface *device, uint8_t desc_set, uint16_t *rate_out)
Definition: commands_3dm.c:738
insert_mip_3dm_calibrated_sensor_ranges_response
void insert_mip_3dm_calibrated_sensor_ranges_response(mip_serializer *serializer, const mip_3dm_calibrated_sensor_ranges_response *self)
Definition: commands_3dm.c:5027
mip_3dm_odometer_command
Definition: commands_3dm.h:1247
mip_3dm_sensor_2_vehicle_transform_euler_command
Definition: commands_3dm.h:1946
mip_3dm_event_control_response
Definition: commands_3dm.h:1380
mip_3dm_mag_soft_iron_matrix_command
Definition: commands_3dm.h:1856
extract_mip_3dm_event_trigger_response
void extract_mip_3dm_event_trigger_response(mip_serializer *serializer, mip_3dm_event_trigger_response *self)
Definition: commands_3dm.c:3224
mip_3dm_default_uart_baudrate
mip_cmd_result mip_3dm_default_uart_baudrate(struct mip_interface *device)
Definition: commands_3dm.c:1234
mip_3dm_filter_get_base_rate
mip_cmd_result mip_3dm_filter_get_base_rate(struct mip_interface *device, uint16_t *rate_out)
Definition: commands_3dm.c:645
MIP_CMD_DESC_3DM_NMEA_MESSAGE_FORMAT
@ MIP_CMD_DESC_3DM_NMEA_MESSAGE_FORMAT
Definition: commands_3dm.h:46
extract_mip_3dm_complementary_filter_response
void extract_mip_3dm_complementary_filter_response(mip_serializer *serializer, mip_3dm_complementary_filter_response *self)
Definition: commands_3dm.c:4785
MIP_CMD_DESC_3DM_POLL_FILTER_MESSAGE
@ MIP_CMD_DESC_3DM_POLL_FILTER_MESSAGE
Definition: commands_3dm.h:38
insert_u32
void insert_u32(mip_serializer *serializer, uint32_t value)
mip_3dm_default_sensor_2_vehicle_transform_euler
mip_cmd_result mip_3dm_default_sensor_2_vehicle_transform_euler(struct mip_interface *device)
Definition: commands_3dm.c:4499
mip_3dm_write_gyro_bias
mip_cmd_result mip_3dm_write_gyro_bias(struct mip_interface *device, const float *bias)
Definition: commands_3dm.c:3909
mip_3dm_default_mag_soft_iron_matrix
mip_cmd_result mip_3dm_default_mag_soft_iron_matrix(struct mip_interface *device)
Definition: commands_3dm.c:4257
mip_3dm_gnss_assisted_fix_response
Definition: commands_3dm.h:939
mip_3dm_pps_source_command
Definition: commands_3dm.h:1063
mip_3dm_event_trigger_command_gpio_params_mode
uint8_t mip_3dm_event_trigger_command_gpio_params_mode
Definition: commands_3dm.h:1492
extract_mip_3dm_imu_lowpass_filter_response
void extract_mip_3dm_imu_lowpass_filter_response(mip_serializer *serializer, mip_3dm_imu_lowpass_filter_response *self)
Definition: commands_3dm.c:2064
mip_3dm_get_event_trigger_status_command_status
uint8_t mip_3dm_get_event_trigger_status_command_status
Definition: commands_3dm.h:1403
extract_u8
void extract_u8(mip_serializer *serializer, uint8_t *value)
insert_mip_3dm_get_event_support_command_query
void insert_mip_3dm_get_event_support_command_query(struct mip_serializer *serializer, const mip_3dm_get_event_support_command_query self)
Definition: commands_3dm.c:2762
mip_3dm_factory_streaming_command_action
uint8_t mip_3dm_factory_streaming_command_action
Definition: commands_3dm.h:700
mip_3dm_read_gpio_config
mip_cmd_result mip_3dm_read_gpio_config(struct mip_interface *device, uint8_t pin, mip_3dm_gpio_config_command_feature *feature_out, mip_3dm_gpio_config_command_behavior *behavior_out, mip_3dm_gpio_config_command_pin_mode *pin_mode_out)
Definition: commands_3dm.c:2409
MIP_CMD_DESC_3DM_GNSS_CONSTELLATION_SETTINGS
@ MIP_CMD_DESC_3DM_GNSS_CONSTELLATION_SETTINGS
Definition: commands_3dm.h:53
mip_3dm_save_coning_sculling_enable
mip_cmd_result mip_3dm_save_coning_sculling_enable(struct mip_interface *device)
Definition: commands_3dm.c:4341
extract_mip_3dm_odometer_command_mode
void extract_mip_3dm_odometer_command_mode(struct mip_serializer *serializer, mip_3dm_odometer_command_mode *self)
Definition: commands_3dm.c:2631
MIP_FUNCTION_WRITE
@ MIP_FUNCTION_WRITE
Definition: descriptors.h:48
mip_3dm_message_format_command
Definition: commands_3dm.h:526
extract_mip_3dm_gnss_assisted_fix_response
void extract_mip_3dm_gnss_assisted_fix_response(mip_serializer *serializer, mip_3dm_gnss_assisted_fix_response *self)
Definition: commands_3dm.c:1816
MIP_CMD_DESC_3DM_IMU_LOWPASS_FILTER
@ MIP_CMD_DESC_3DM_IMU_LOWPASS_FILTER
Definition: commands_3dm.h:83
MIP_CMD_DESC_3DM_POLL_DATA
@ MIP_CMD_DESC_3DM_POLL_DATA
Definition: commands_3dm.h:47
mip_3dm_gpio_config_command_feature
uint8_t mip_3dm_gpio_config_command_feature
Definition: commands_3dm.h:1115
mip_3dm_load_mag_hard_iron_offset
mip_cmd_result mip_3dm_load_mag_hard_iron_offset(struct mip_interface *device)
Definition: commands_3dm.c:4130
insert_mip_3dm_gnss_assisted_fix_command
void insert_mip_3dm_gnss_assisted_fix_command(mip_serializer *serializer, const mip_3dm_gnss_assisted_fix_command *self)
Definition: commands_3dm.c:1784
MIP_CMD_DESC_3DM_CONFIGURE_FACTORY_STREAMING
@ MIP_CMD_DESC_3DM_CONFIGURE_FACTORY_STREAMING
Definition: commands_3dm.h:50
MIP_CMD_DESC_3DM_CALIBRATED_RANGES
@ MIP_CMD_DESC_3DM_CALIBRATED_RANGES
Definition: commands_3dm.h:86
mip_3dm_read_complementary_filter
mip_cmd_result mip_3dm_read_complementary_filter(struct mip_interface *device, bool *pitch_roll_enable_out, bool *heading_enable_out, float *pitch_roll_time_constant_out, float *heading_time_constant_out)
Definition: commands_3dm.c:4817
mip_3dm_default_event_control
mip_cmd_result mip_3dm_default_event_control(struct mip_interface *device, uint8_t instance)
Definition: commands_3dm.c:2948
extract_mip_3dm_constellation_settings_command_option_flags
void extract_mip_3dm_constellation_settings_command_option_flags(struct mip_serializer *serializer, mip_3dm_constellation_settings_command_option_flags *self)
Definition: commands_3dm.c:1489
insert_mip_3dm_get_event_trigger_status_command
void insert_mip_3dm_get_event_trigger_status_command(mip_serializer *serializer, const mip_3dm_get_event_trigger_status_command *self)
Definition: commands_3dm.c:2962
extract_mip_function_selector
void extract_mip_function_selector(mip_serializer *serializer, enum mip_function_selector *self)
Definition: descriptors.c:159
MIP_REPLY_DESC_3DM_DATASTREAM_ENABLE
@ MIP_REPLY_DESC_3DM_DATASTREAM_ENABLE
Definition: commands_3dm.h:99
mip_3dm_write_imu_message_format
mip_cmd_result mip_3dm_write_imu_message_format(struct mip_interface *device, uint8_t num_descriptors, const mip_descriptor_rate *descriptors)
Definition: commands_3dm.c:257
insert_mip_3dm_poll_filter_message_command
void insert_mip_3dm_poll_filter_message_command(mip_serializer *serializer, const mip_3dm_poll_filter_message_command *self)
Definition: commands_3dm.c:168
mip_3dm_get_base_rate_response
Definition: commands_3dm.h:504
mip_3dm_calibrated_sensor_ranges_response
Definition: commands_3dm.h:2218
insert_mip_3dm_event_action_response
void insert_mip_3dm_event_action_response(mip_serializer *serializer, const mip_3dm_event_action_response *self)
Definition: commands_3dm.c:3542
insert_mip_3dm_event_control_response
void insert_mip_3dm_event_control_response(mip_serializer *serializer, const mip_3dm_event_control_response *self)
Definition: commands_3dm.c:2848
mip_3dm_gpio_config_response
Definition: commands_3dm.h:1169
MIP_CMD_DESC_3DM_EVENT_ACTION_STATUS
@ MIP_CMD_DESC_3DM_EVENT_ACTION_STATUS
Definition: commands_3dm.h:61
insert_mip_3dm_imu_lowpass_filter_command
void insert_mip_3dm_imu_lowpass_filter_command(mip_serializer *serializer, const mip_3dm_imu_lowpass_filter_command *self)
Definition: commands_3dm.c:2014
mip_3dm_event_control_command
Definition: commands_3dm.h:1366
MIP_REPLY_DESC_3DM_IMU_BASE_RATE
@ MIP_REPLY_DESC_3DM_IMU_BASE_RATE
Definition: commands_3dm.h:97
insert_mip_3dm_nmea_poll_data_command
void insert_mip_3dm_nmea_poll_data_command(mip_serializer *serializer, const mip_3dm_nmea_poll_data_command *self)
Definition: commands_3dm.c:918
insert_mip_3dm_calibrated_sensor_ranges_command
void insert_mip_3dm_calibrated_sensor_ranges_command(mip_serializer *serializer, const mip_3dm_calibrated_sensor_ranges_command *self)
Definition: commands_3dm.c:5016
MIP_REPLY_DESC_3DM_GNSS_TIME_ASSISTANCE
@ MIP_REPLY_DESC_3DM_GNSS_TIME_ASSISTANCE
Definition: commands_3dm.h:124
extract_mip_3dm_event_action_command_type
void extract_mip_3dm_event_action_command_type(struct mip_serializer *serializer, mip_3dm_event_action_command_type *self)
Definition: commands_3dm.c:3638
mip_3dm_default_datastream_control
mip_cmd_result mip_3dm_default_datastream_control(struct mip_interface *device, uint8_t desc_set)
Definition: commands_3dm.c:1400
insert_u16
void insert_u16(mip_serializer *serializer, uint16_t value)
insert_mip_3dm_factory_streaming_command
void insert_mip_3dm_factory_streaming_command(mip_serializer *serializer, const mip_3dm_factory_streaming_command *self)
Definition: commands_3dm.c:1246
extract_mip_3dm_event_control_response
void extract_mip_3dm_event_control_response(mip_serializer *serializer, mip_3dm_event_control_response *self)
Definition: commands_3dm.c:2855
extract_mip_3dm_poll_gnss_message_command
void extract_mip_3dm_poll_gnss_message_command(mip_serializer *serializer, mip_3dm_poll_gnss_message_command *self)
Definition: commands_3dm.c:138
MIP_REPLY_DESC_3DM_EVENT_ACTION_STATUS
@ MIP_REPLY_DESC_3DM_EVENT_ACTION_STATUS
Definition: commands_3dm.h:131
extract_mip_3dm_get_base_rate_command
void extract_mip_3dm_get_base_rate_command(mip_serializer *serializer, mip_3dm_get_base_rate_command *self)
Definition: commands_3dm.c:717
insert_mip_3dm_get_event_trigger_status_command_status
void insert_mip_3dm_get_event_trigger_status_command_status(struct mip_serializer *serializer, const mip_3dm_get_event_trigger_status_command_status self)
Definition: commands_3dm.c:3000
mip_3dm_gnss_sbas_settings_command_sbasoptions
uint16_t mip_3dm_gnss_sbas_settings_command_sbasoptions
Definition: commands_3dm.h:862
mip_3dm_poll_filter_message
mip_cmd_result mip_3dm_poll_filter_message(struct mip_interface *device, bool suppress_ack, uint8_t num_descriptors, const mip_descriptor_rate *descriptors)
Definition: commands_3dm.c:191
mip_3dm_pps_source_response
Definition: commands_3dm.h:1076
MIP_CMD_DESC_3DM_GET_BASE_RATE
@ MIP_CMD_DESC_3DM_GET_BASE_RATE
Definition: commands_3dm.h:48
MIP_CMD_DESC_3DM_LOWPASS_FILTER
@ MIP_CMD_DESC_3DM_LOWPASS_FILTER
Definition: commands_3dm.h:87
insert_mip_3dm_constellation_settings_command_constellation_id
void insert_mip_3dm_constellation_settings_command_constellation_id(struct mip_serializer *serializer, const mip_3dm_constellation_settings_command_constellation_id self)
Definition: commands_3dm.c:1474
mip_3dm_load_complementary_filter
mip_cmd_result mip_3dm_load_complementary_filter(struct mip_interface *device)
Definition: commands_3dm.c:4864
insert_mip_3dm_event_trigger_command_combination_params
void insert_mip_3dm_event_trigger_command_combination_params(mip_serializer *serializer, const mip_3dm_event_trigger_command_combination_params *self)
Definition: commands_3dm.c:3347
mip_3dm_read_lowpass_filter
mip_cmd_result mip_3dm_read_lowpass_filter(struct mip_interface *device, uint8_t desc_set, uint8_t field_desc, bool *enable_out, bool *manual_out, float *frequency_out)
Definition: commands_3dm.c:5183
extract_bool
void extract_bool(mip_serializer *serializer, bool *value)
insert_mip_3dm_uart_baudrate_response
void insert_mip_3dm_uart_baudrate_response(mip_serializer *serializer, const mip_3dm_uart_baudrate_response *self)
Definition: commands_3dm.c:1159
mip_3dm_gpio_state_command
Definition: commands_3dm.h:1210
mip_3dm_read_sensor_2_vehicle_transform_euler
mip_cmd_result mip_3dm_read_sensor_2_vehicle_transform_euler(struct mip_interface *device, float *roll_out, float *pitch_out, float *yaw_out)
Definition: commands_3dm.c:4443
insert_mip_3dm_accel_bias_response
void insert_mip_3dm_accel_bias_response(mip_serializer *serializer, const mip_3dm_accel_bias_response *self)
Definition: commands_3dm.c:3781
mip_3dm_write_gpio_state
mip_cmd_result mip_3dm_write_gpio_state(struct mip_interface *device, uint8_t pin, bool state)
Definition: commands_3dm.c:2533
mip_3dm_event_trigger_command_parameters
Definition: commands_3dm.h:1554
mip_3dm_default_gnss_sbas_settings
mip_cmd_result mip_3dm_default_gnss_sbas_settings(struct mip_interface *device)
Definition: commands_3dm.c:1772
extract_mip_3dm_datastream_control_response
void extract_mip_3dm_datastream_control_response(mip_serializer *serializer, mip_3dm_datastream_control_response *self)
Definition: commands_3dm.c:1318
mip_3dm_odometer_response
Definition: commands_3dm.h:1262
mip_3dm_event_action_command_parameters::gpio
mip_3dm_event_action_command_gpio_params gpio
Definition: commands_3dm.h:1648
insert_mip_3dm_get_event_support_command_info
void insert_mip_3dm_get_event_support_command_info(mip_serializer *serializer, const mip_3dm_get_event_support_command_info *self)
Definition: commands_3dm.c:2773
insert_mip_3dm_event_action_command_gpio_params
void insert_mip_3dm_event_action_command_gpio_params(mip_serializer *serializer, const mip_3dm_event_action_command_gpio_params *self)
Definition: commands_3dm.c:3581
extract_mip_3dm_datastream_control_command
void extract_mip_3dm_datastream_control_command(mip_serializer *serializer, mip_3dm_datastream_control_command *self)
Definition: commands_3dm.c:1298
MIP_CMD_DESC_3DM_SENSOR2VEHICLE_TRANSFORM_DCM
@ MIP_CMD_DESC_3DM_SENSOR2VEHICLE_TRANSFORM_DCM
Definition: commands_3dm.h:67
extract_mip_3dm_event_trigger_command
void extract_mip_3dm_event_trigger_command(mip_serializer *serializer, mip_3dm_event_trigger_command *self)
Definition: commands_3dm.c:3174
MIP_CMD_DESC_3DM_CONTROL_DATA_STREAM
@ MIP_CMD_DESC_3DM_CONTROL_DATA_STREAM
Definition: commands_3dm.h:51
mip_3dm_read_message_format
mip_cmd_result mip_3dm_read_message_format(struct mip_interface *device, uint8_t desc_set, uint8_t *num_descriptors_out, uint8_t num_descriptors_out_max, mip_descriptor_rate *descriptors_out)
Definition: commands_3dm.c:842
mip_3dm_write_imu_lowpass_filter
mip_cmd_result mip_3dm_write_imu_lowpass_filter(struct mip_interface *device, uint8_t target_descriptor, bool enable, bool manual, uint16_t frequency, uint8_t reserved)
Definition: commands_3dm.c:2078
mip_3dm_default_coning_sculling_enable
mip_cmd_result mip_3dm_default_coning_sculling_enable(struct mip_interface *device)
Definition: commands_3dm.c:4365
mip_3dm_read_gyro_bias
mip_cmd_result mip_3dm_read_gyro_bias(struct mip_interface *device, float *bias_out)
Definition: commands_3dm.c:3925
extract_mip_3dm_event_action_response
void extract_mip_3dm_event_action_response(mip_serializer *serializer, mip_3dm_event_action_response *self)
Definition: commands_3dm.c:3561
extract_mip_3dm_sensor_2_vehicle_transform_euler_response
void extract_mip_3dm_sensor_2_vehicle_transform_euler_response(mip_serializer *serializer, mip_3dm_sensor_2_vehicle_transform_euler_response *self)
Definition: commands_3dm.c:4415
MIP_REPLY_DESC_3DM_FILTER_MESSAGE_FORMAT
@ MIP_REPLY_DESC_3DM_FILTER_MESSAGE_FORMAT
Definition: commands_3dm.h:96
MIP_REPLY_DESC_3DM_CONING_AND_SCULLING_ENABLE
@ MIP_REPLY_DESC_3DM_CONING_AND_SCULLING_ENABLE
Definition: commands_3dm.h:120
mip_serializer_remaining
int mip_serializer_remaining(const mip_serializer *serializer)
Determines the difference between the length and buffer size.
Definition: serialization.c:148
insert_mip_3dm_event_trigger_response
void insert_mip_3dm_event_trigger_response(mip_serializer *serializer, const mip_3dm_event_trigger_response *self)
Definition: commands_3dm.c:3202
mip_3dm_write_filter_message_format
mip_cmd_result mip_3dm_write_filter_message_format(struct mip_interface *device, uint8_t num_descriptors, const mip_descriptor_rate *descriptors)
Definition: commands_3dm.c:521
extract_mip_3dm_constellation_settings_response
void extract_mip_3dm_constellation_settings_response(mip_serializer *serializer, mip_3dm_constellation_settings_response *self)
Definition: commands_3dm.c:1460
insert_mip_3dm_poll_imu_message_command
void insert_mip_3dm_poll_imu_message_command(mip_serializer *serializer, const mip_3dm_poll_imu_message_command *self)
Definition: commands_3dm.c:86
insert_mip_3dm_coning_sculling_enable_command
void insert_mip_3dm_coning_sculling_enable_command(mip_serializer *serializer, const mip_3dm_coning_sculling_enable_command *self)
Definition: commands_3dm.c:4269
mip_3dm_read_gnss_time_assistance
mip_cmd_result mip_3dm_read_gnss_time_assistance(struct mip_interface *device, double *tow_out, uint16_t *week_number_out, float *accuracy_out)
Definition: commands_3dm.c:1982
insert_mip_3dm_sensor_2_vehicle_transform_euler_command
void insert_mip_3dm_sensor_2_vehicle_transform_euler_command(mip_serializer *serializer, const mip_3dm_sensor_2_vehicle_transform_euler_command *self)
Definition: commands_3dm.c:4377
insert_mip_3dm_datastream_control_response
void insert_mip_3dm_datastream_control_response(mip_serializer *serializer, const mip_3dm_datastream_control_response *self)
Definition: commands_3dm.c:1311
mip_3dm_sensor_range_response
Definition: commands_3dm.h:2172
mip_3dm_read_accel_bias
mip_cmd_result mip_3dm_read_accel_bias(struct mip_interface *device, float *bias_out)
Definition: commands_3dm.c:3810
mip_3dm_default_imu_lowpass_filter
mip_cmd_result mip_3dm_default_imu_lowpass_filter(struct mip_interface *device, uint8_t target_descriptor)
Definition: commands_3dm.c:2167
insert_mip_3dm_sensor_2_vehicle_transform_euler_response
void insert_mip_3dm_sensor_2_vehicle_transform_euler_response(mip_serializer *serializer, const mip_3dm_sensor_2_vehicle_transform_euler_response *self)
Definition: commands_3dm.c:4406
extract_mip_3dm_constellation_settings_command
void extract_mip_3dm_constellation_settings_command(mip_serializer *serializer, mip_3dm_constellation_settings_command *self)
Definition: commands_3dm.c:1430
extract_mip_nmea_message_message_id
void extract_mip_nmea_message_message_id(struct mip_serializer *serializer, mip_nmea_message_message_id *self)
Definition: commands_3dm.c:52
extract_mip_3dm_factory_streaming_command
void extract_mip_3dm_factory_streaming_command(mip_serializer *serializer, mip_3dm_factory_streaming_command *self)
Definition: commands_3dm.c:1253
MIP_FUNCTION_LOAD
@ MIP_FUNCTION_LOAD
Definition: descriptors.h:51
extract_mip_3dm_gpio_config_response
void extract_mip_3dm_gpio_config_response(mip_serializer *serializer, mip_3dm_gpio_config_response *self)
Definition: commands_3dm.c:2344
mip_serializer_is_ok
bool mip_serializer_is_ok(const mip_serializer *serializer)
Determines if the data read/written is less than the buffer size.
Definition: serialization.c:165
MIP_CMD_DESC_3DM_SOFT_IRON_MATRIX
@ MIP_CMD_DESC_3DM_SOFT_IRON_MATRIX
Definition: commands_3dm.h:75
mip_3dm_event_action_command_type
uint8_t mip_3dm_event_action_command_type
Definition: commands_3dm.h:1641
extract_mip_3dm_get_event_trigger_status_command
void extract_mip_3dm_get_event_trigger_status_command(mip_serializer *serializer, mip_3dm_get_event_trigger_status_command *self)
Definition: commands_3dm.c:2971
mip_3dm_gps_message_format_command
Definition: commands_3dm.h:328
mip_3dm_default_complementary_filter
mip_cmd_result mip_3dm_default_complementary_filter(struct mip_interface *device)
Definition: commands_3dm.c:4876
MIP_CMD_DESC_3DM_EVENT_SUPPORT
@ MIP_CMD_DESC_3DM_EVENT_SUPPORT
Definition: commands_3dm.h:58
mip_3dm_event_trigger_command_type
uint8_t mip_3dm_event_trigger_command_type
Definition: commands_3dm.h:1548
extract_u32
void extract_u32(mip_serializer *serializer, uint32_t *value)
MIP_CMD_DESC_3DM_EVENT_CONTROL
@ MIP_CMD_DESC_3DM_EVENT_CONTROL
Definition: commands_3dm.h:59
mip_3dm_write_mag_soft_iron_matrix
mip_cmd_result mip_3dm_write_mag_soft_iron_matrix(struct mip_interface *device, const float *offset)
Definition: commands_3dm.c:4190
extract_mip_3dm_event_trigger_command_gpio_params_mode
void extract_mip_3dm_event_trigger_command_gpio_params_mode(struct mip_serializer *serializer, mip_3dm_event_trigger_command_gpio_params_mode *self)
Definition: commands_3dm.c:3266
mip_3dm_load_nmea_message_format
mip_cmd_result mip_3dm_load_nmea_message_format(struct mip_interface *device)
Definition: commands_3dm.c:1067
MIP_3DM_EVENT_TRIGGER_COMMAND_TYPE_COMBINATION
static const mip_3dm_event_trigger_command_type MIP_3DM_EVENT_TRIGGER_COMMAND_TYPE_COMBINATION
Logical combination of two or more triggers. See CombinationParams.
Definition: commands_3dm.h:1552
mip_3dm_complementary_filter_response
Definition: commands_3dm.h:2128
mip_3dm_sensor_range_command
Definition: commands_3dm.h:2161
extract_mip_3dm_lowpass_filter_response
void extract_mip_3dm_lowpass_filter_response(mip_serializer *serializer, mip_3dm_lowpass_filter_response *self)
Definition: commands_3dm.c:5147
extract_mip_3dm_event_control_command_mode
void extract_mip_3dm_event_control_command_mode(struct mip_serializer *serializer, mip_3dm_event_control_command_mode *self)
Definition: commands_3dm.c:2867
mip_3dm_constellation_settings_command_option_flags
uint16_t mip_3dm_constellation_settings_command_option_flags
Definition: commands_3dm.h:797
mip_3dm_read_sensor_range
mip_cmd_result mip_3dm_read_sensor_range(struct mip_interface *device, mip_sensor_range_type sensor, uint8_t *setting_out)
Definition: commands_3dm.c:4944
insert_mip_3dm_gps_message_format_response
void insert_mip_3dm_gps_message_format_response(mip_serializer *serializer, const mip_3dm_gps_message_format_response *self)
Definition: commands_3dm.c:370
insert_mip_3dm_constellation_settings_command
void insert_mip_3dm_constellation_settings_command(mip_serializer *serializer, const mip_3dm_constellation_settings_command *self)
Definition: commands_3dm.c:1414
insert_mip_3dm_factory_streaming_command_action
void insert_mip_3dm_factory_streaming_command_action(struct mip_serializer *serializer, const mip_3dm_factory_streaming_command_action self)
Definition: commands_3dm.c:1261
insert_mip_3dm_event_control_command_mode
void insert_mip_3dm_event_control_command_mode(struct mip_serializer *serializer, const mip_3dm_event_control_command_mode self)
Definition: commands_3dm.c:2863
insert_mip_3dm_imu_message_format_response
void insert_mip_3dm_imu_message_format_response(mip_serializer *serializer, const mip_3dm_imu_message_format_response *self)
Definition: commands_3dm.c:238
mip_3dm_write_gnss_sbas_settings
mip_cmd_result mip_3dm_write_gnss_sbas_settings(struct mip_interface *device, uint8_t enable_sbas, mip_3dm_gnss_sbas_settings_command_sbasoptions sbas_options, uint8_t num_included_prns, const uint16_t *included_prns)
Definition: commands_3dm.c:1690
mip_descriptor_rate
Definition: common.h:20
MIP_REPLY_DESC_3DM_SENSOR2VEHICLE_TRANSFORM_EUL
@ MIP_REPLY_DESC_3DM_SENSOR2VEHICLE_TRANSFORM_EUL
Definition: commands_3dm.h:125
insert_mip_3dm_nmea_message_format_command
void insert_mip_3dm_nmea_message_format_command(mip_serializer *serializer, const mip_3dm_nmea_message_format_command *self)
Definition: commands_3dm.c:959
insert_mip_3dm_get_event_action_status_command
void insert_mip_3dm_get_event_action_status_command(mip_serializer *serializer, const mip_3dm_get_event_action_status_command *self)
Definition: commands_3dm.c:3060
extract_mip_3dm_get_event_support_command_query
void extract_mip_3dm_get_event_support_command_query(struct mip_serializer *serializer, mip_3dm_get_event_support_command_query *self)
Definition: commands_3dm.c:2766
insert_mip_3dm_gnss_sbas_settings_command_sbasoptions
void insert_mip_3dm_gnss_sbas_settings_command_sbasoptions(struct mip_serializer *serializer, const mip_3dm_gnss_sbas_settings_command_sbasoptions self)
Definition: commands_3dm.c:1679
mip_3dm_poll_gnss_message
mip_cmd_result mip_3dm_poll_gnss_message(struct mip_interface *device, bool suppress_ack, uint8_t num_descriptors, const mip_descriptor_rate *descriptors)
Definition: commands_3dm.c:150
mip_interface
State of the interface for communicating with a MIP device.
Definition: mip_interface.h:44
mip_3dm_event_trigger_command_parameters::combination
mip_3dm_event_trigger_command_combination_params combination
Definition: commands_3dm.h:1558
extract_mip_3dm_event_trigger_command_type
void extract_mip_3dm_event_trigger_command_type(struct mip_serializer *serializer, mip_3dm_event_trigger_command_type *self)
Definition: commands_3dm.c:3368
mip_3dm_poll_data_command
Definition: commands_3dm.h:473
extract_mip_3dm_sensor_2_vehicle_transform_quaternion_command
void extract_mip_3dm_sensor_2_vehicle_transform_quaternion_command(mip_serializer *serializer, mip_3dm_sensor_2_vehicle_transform_quaternion_command *self)
Definition: commands_3dm.c:4522
mip_3dm_load_datastream_control
mip_cmd_result mip_3dm_load_datastream_control(struct mip_interface *device, uint8_t desc_set)
Definition: commands_3dm.c:1386
mip_3dm_load_odometer
mip_cmd_result mip_3dm_load_odometer(struct mip_interface *device)
Definition: commands_3dm.c:2700
insert_mip_3dm_mag_soft_iron_matrix_command
void insert_mip_3dm_mag_soft_iron_matrix_command(mip_serializer *serializer, const mip_3dm_mag_soft_iron_matrix_command *self)
Definition: commands_3dm.c:4154
insert_mip_3dm_get_event_action_status_response
void insert_mip_3dm_get_event_action_status_response(mip_serializer *serializer, const mip_3dm_get_event_action_status_response *self)
Definition: commands_3dm.c:3079
mip_3dm_calibrated_sensor_ranges
mip_cmd_result mip_3dm_calibrated_sensor_ranges(struct mip_interface *device, mip_sensor_range_type sensor, uint8_t *num_ranges_out, uint8_t num_ranges_out_max, mip_3dm_calibrated_sensor_ranges_command_entry *ranges_out)
Definition: commands_3dm.c:5065
MIP_REPLY_DESC_3DM_BASE_RATE
@ MIP_REPLY_DESC_3DM_BASE_RATE
Definition: commands_3dm.h:107
MIP_REPLY_DESC_3DM_IMU_MESSAGE_FORMAT
@ MIP_REPLY_DESC_3DM_IMU_MESSAGE_FORMAT
Definition: commands_3dm.h:94
mip_3dm_gpio_config_command
Definition: commands_3dm.h:1147
mip_3dm_load_gpio_config
mip_cmd_result mip_3dm_load_gpio_config(struct mip_interface *device, uint8_t pin)
Definition: commands_3dm.c:2459
mip_3dm_get_event_support
mip_cmd_result mip_3dm_get_event_support(struct mip_interface *device, mip_3dm_get_event_support_command_query query, uint8_t *max_instances_out, uint8_t *num_entries_out, uint8_t num_entries_out_max, mip_3dm_get_event_support_command_info *entries_out)
Definition: commands_3dm.c:2788
extract_mip_3dm_imu_message_format_command
void extract_mip_3dm_imu_message_format_command(mip_serializer *serializer, mip_3dm_imu_message_format_command *self)
Definition: commands_3dm.c:223
mip_3dm_save_constellation_settings
mip_cmd_result mip_3dm_save_constellation_settings(struct mip_interface *device)
Definition: commands_3dm.c:1579
mip_3dm_read_mag_soft_iron_matrix
mip_cmd_result mip_3dm_read_mag_soft_iron_matrix(struct mip_interface *device, float *offset_out)
Definition: commands_3dm.c:4206
extract_mip_3dm_capture_gyro_bias_response
void extract_mip_3dm_capture_gyro_bias_response(mip_serializer *serializer, mip_3dm_capture_gyro_bias_response *self)
Definition: commands_3dm.c:4005
MIP_REPLY_DESC_3DM_PPS_SOURCE
@ MIP_REPLY_DESC_3DM_PPS_SOURCE
Definition: commands_3dm.h:135
extract_mip_nmea_message
void extract_mip_nmea_message(mip_serializer *serializer, mip_nmea_message *self)
Definition: commands_3dm.c:36
MIP_CMD_DESC_3DM_SENSOR_RANGE
@ MIP_CMD_DESC_3DM_SENSOR_RANGE
Definition: commands_3dm.h:85
insert_mip_3dm_constellation_settings_response
void insert_mip_3dm_constellation_settings_response(mip_serializer *serializer, const mip_3dm_constellation_settings_response *self)
Definition: commands_3dm.c:1447
mip_3dm_factory_streaming
mip_cmd_result mip_3dm_factory_streaming(struct mip_interface *device, mip_3dm_factory_streaming_command_action action, uint8_t reserved)
Definition: commands_3dm.c:1272
mip_3dm_write_sensor_range
mip_cmd_result mip_3dm_write_sensor_range(struct mip_interface *device, mip_sensor_range_type sensor, uint8_t setting)
Definition: commands_3dm.c:4928
mip_nmea_message_message_id
uint8_t mip_nmea_message_message_id
Definition: commands_3dm.h:148
MIP_CMD_DESC_3DM_IMU_MESSAGE_FORMAT
@ MIP_CMD_DESC_3DM_IMU_MESSAGE_FORMAT
Definition: commands_3dm.h:42
insert_mip_3dm_gpio_state_response
void insert_mip_3dm_gpio_state_response(mip_serializer *serializer, const mip_3dm_gpio_state_response *self)
Definition: commands_3dm.c:2518
extract_mip_3dm_get_event_support_command
void extract_mip_3dm_get_event_support_command(mip_serializer *serializer, mip_3dm_get_event_support_command *self)
Definition: commands_3dm.c:2729
assert.h
mip_3dm_write_complementary_filter
mip_cmd_result mip_3dm_write_complementary_filter(struct mip_interface *device, bool pitch_roll_enable, bool heading_enable, float pitch_roll_time_constant, float heading_time_constant)
Definition: commands_3dm.c:4797
extract_mip_3dm_poll_filter_message_command
void extract_mip_3dm_poll_filter_message_command(mip_serializer *serializer, mip_3dm_poll_filter_message_command *self)
Definition: commands_3dm.c:179
MIP_CMD_DESC_3DM_MESSAGE_FORMAT
@ MIP_CMD_DESC_3DM_MESSAGE_FORMAT
Definition: commands_3dm.h:49
extract_mip_3dm_mag_hard_iron_offset_command
void extract_mip_3dm_mag_hard_iron_offset_command(mip_serializer *serializer, mip_3dm_mag_hard_iron_offset_command *self)
Definition: commands_3dm.c:4050
mip_3dm_read_sensor_2_vehicle_transform_quaternion
mip_cmd_result mip_3dm_read_sensor_2_vehicle_transform_quaternion(struct mip_interface *device, float *q_out)
Definition: commands_3dm.c:4563
extract_mip_3dm_coning_sculling_enable_response
void extract_mip_3dm_coning_sculling_enable_response(mip_serializer *serializer, mip_3dm_coning_sculling_enable_response *self)
Definition: commands_3dm.c:4295
extract_mip_3dm_gpio_config_command_pin_mode
void extract_mip_3dm_gpio_config_command_pin_mode(struct mip_serializer *serializer, mip_3dm_gpio_config_command_pin_mode *self)
Definition: commands_3dm.c:2382
mip_3dm_default_constellation_settings
mip_cmd_result mip_3dm_default_constellation_settings(struct mip_interface *device)
Definition: commands_3dm.c:1603
MIP_FUNCTION_RESET
@ MIP_FUNCTION_RESET
Definition: descriptors.h:52
extract_mip_3dm_calibrated_sensor_ranges_command_entry
void extract_mip_3dm_calibrated_sensor_ranges_command_entry(mip_serializer *serializer, mip_3dm_calibrated_sensor_ranges_command_entry *self)
Definition: commands_3dm.c:5057
mip_3dm_load_uart_baudrate
mip_cmd_result mip_3dm_load_uart_baudrate(struct mip_interface *device)
Definition: commands_3dm.c:1222
mip_3dm_read_pps_source
mip_cmd_result mip_3dm_read_pps_source(struct mip_interface *device, mip_3dm_pps_source_command_source *source_out)
Definition: commands_3dm.c:2238
insert_mip_3dm_message_format_command
void insert_mip_3dm_message_format_command(mip_serializer *serializer, const mip_3dm_message_format_command *self)
Definition: commands_3dm.c:766
mip_3dm_load_coning_sculling_enable
mip_cmd_result mip_3dm_load_coning_sculling_enable(struct mip_interface *device)
Definition: commands_3dm.c:4353
mip_3dm_default_message_format
mip_cmd_result mip_3dm_default_message_format(struct mip_interface *device, uint8_t desc_set)
Definition: commands_3dm.c:904
extract_mip_3dm_gpio_config_command
void extract_mip_3dm_gpio_config_command(mip_serializer *serializer, mip_3dm_gpio_config_command *self)
Definition: commands_3dm.c:2316
mip_3dm_save_sensor_range
mip_cmd_result mip_3dm_save_sensor_range(struct mip_interface *device, mip_sensor_range_type sensor)
Definition: commands_3dm.c:4974
mip_3dm_complementary_filter_command
Definition: commands_3dm.h:2115
mip_3dm_default_sensor_2_vehicle_transform_dcm
mip_cmd_result mip_3dm_default_sensor_2_vehicle_transform_dcm(struct mip_interface *device)
Definition: commands_3dm.c:4729
mip_3dm_poll_filter_message_command
Definition: commands_3dm.h:268
mip_3dm_default_odometer
mip_cmd_result mip_3dm_default_odometer(struct mip_interface *device)
Definition: commands_3dm.c:2712
MIP_FUNCTION_READ
@ MIP_FUNCTION_READ
Definition: descriptors.h:49
extract_mip_3dm_gyro_bias_command
void extract_mip_3dm_gyro_bias_command(mip_serializer *serializer, mip_3dm_gyro_bias_command *self)
Definition: commands_3dm.c:3884
MIP_CMD_DESC_3DM_ACCEL_BIAS
@ MIP_CMD_DESC_3DM_ACCEL_BIAS
Definition: commands_3dm.h:71
mip_3dm_read_sensor_2_vehicle_transform_dcm
mip_cmd_result mip_3dm_read_sensor_2_vehicle_transform_dcm(struct mip_interface *device, float *dcm_out)
Definition: commands_3dm.c:4678
insert_mip_3dm_sensor_2_vehicle_transform_quaternion_response
void insert_mip_3dm_sensor_2_vehicle_transform_quaternion_response(mip_serializer *serializer, const mip_3dm_sensor_2_vehicle_transform_quaternion_response *self)
Definition: commands_3dm.c:4534
mip_3dm_write_accel_bias
mip_cmd_result mip_3dm_write_accel_bias(struct mip_interface *device, const float *bias)
Definition: commands_3dm.c:3794
mip_3dm_load_sensor_2_vehicle_transform_dcm
mip_cmd_result mip_3dm_load_sensor_2_vehicle_transform_dcm(struct mip_interface *device)
Definition: commands_3dm.c:4717
mip_3dm_datastream_control_response
Definition: commands_3dm.h:748
mip_3dm_default_sensor_2_vehicle_transform_quaternion
mip_cmd_result mip_3dm_default_sensor_2_vehicle_transform_quaternion(struct mip_interface *device)
Definition: commands_3dm.c:4614
mip_3dm_event_action_command_parameters
Definition: commands_3dm.h:1646
extract_mip_3dm_get_event_action_status_command_entry
void extract_mip_3dm_get_event_action_status_command_entry(mip_serializer *serializer, mip_3dm_get_event_action_status_command_entry *self)
Definition: commands_3dm.c:3105
insert_mip_3dm_event_trigger_command
void insert_mip_3dm_event_trigger_command(mip_serializer *serializer, const mip_3dm_event_trigger_command *self)
Definition: commands_3dm.c:3147
insert_mip_3dm_event_action_command_message_params
void insert_mip_3dm_event_action_command_message_params(mip_serializer *serializer, const mip_3dm_event_action_command_message_params *self)
Definition: commands_3dm.c:3607
mip_3dm_gps_message_format_response
Definition: commands_3dm.h:339
extract_mip_3dm_gnss_assisted_fix_command_assisted_fix_option
void extract_mip_3dm_gnss_assisted_fix_command_assisted_fix_option(struct mip_serializer *serializer, mip_3dm_gnss_assisted_fix_command_assisted_fix_option *self)
Definition: commands_3dm.c:1828
extract_mip_3dm_message_format_command
void extract_mip_3dm_message_format_command(mip_serializer *serializer, mip_3dm_message_format_command *self)
Definition: commands_3dm.c:782
mip_interface_run_command_with_response
enum mip_cmd_result mip_interface_run_command_with_response(mip_interface *device, uint8_t descriptor_set, uint8_t cmd_descriptor, const uint8_t *cmd_data, uint8_t cmd_length, uint8_t response_descriptor, uint8_t *response_buffer, uint8_t *response_length_inout)
Runs a command using a pre-serialized payload.
Definition: mip_interface.c:597
mip_3dm_imu_lowpass_filter_response
Definition: commands_3dm.h:1029
mip_3dm_read_coning_sculling_enable
mip_cmd_result mip_3dm_read_coning_sculling_enable(struct mip_interface *device, bool *enable_out)
Definition: commands_3dm.c:4315
insert_mip_3dm_accel_bias_command
void insert_mip_3dm_accel_bias_command(mip_serializer *serializer, const mip_3dm_accel_bias_command *self)
Definition: commands_3dm.c:3758
mip_3dm_write_gpio_config
mip_cmd_result mip_3dm_write_gpio_config(struct mip_interface *device, uint8_t pin, mip_3dm_gpio_config_command_feature feature, mip_3dm_gpio_config_command_behavior behavior, mip_3dm_gpio_config_command_pin_mode pin_mode)
Definition: commands_3dm.c:2389
mip_3dm_read_gpio_state
mip_cmd_result mip_3dm_read_gpio_state(struct mip_interface *device, uint8_t pin, bool *state_out)
Definition: commands_3dm.c:2549
mip_3dm_event_control_command_mode
uint8_t mip_3dm_event_control_command_mode
Definition: commands_3dm.h:1360
mip_3dm_accel_bias_response
Definition: commands_3dm.h:1716
mip_3dm_default_imu_message_format
mip_cmd_result mip_3dm_default_imu_message_format(struct mip_interface *device)
Definition: commands_3dm.c:329
extract_mip_3dm_get_event_trigger_status_command_status
void extract_mip_3dm_get_event_trigger_status_command_status(struct mip_serializer *serializer, mip_3dm_get_event_trigger_status_command_status *self)
Definition: commands_3dm.c:3004
extract_mip_3dm_factory_streaming_command_action
void extract_mip_3dm_factory_streaming_command_action(struct mip_serializer *serializer, mip_3dm_factory_streaming_command_action *self)
Definition: commands_3dm.c:1265
insert_mip_3dm_get_event_action_status_command_entry
void insert_mip_3dm_get_event_action_status_command_entry(mip_serializer *serializer, const mip_3dm_get_event_action_status_command_entry *self)
Definition: commands_3dm.c:3098
mip_3dm_save_device_settings
mip_cmd_result mip_3dm_save_device_settings(struct mip_interface *device)
Definition: commands_3dm.c:1102
insert_mip_3dm_odometer_command_mode
void insert_mip_3dm_odometer_command_mode(struct mip_serializer *serializer, const mip_3dm_odometer_command_mode self)
Definition: commands_3dm.c:2627
insert_mip_3dm_capture_gyro_bias_command
void insert_mip_3dm_capture_gyro_bias_command(mip_serializer *serializer, const mip_3dm_capture_gyro_bias_command *self)
Definition: commands_3dm.c:3988
mip_3dm_imu_message_format_response
Definition: commands_3dm.h:302
mip_3dm_poll_imu_message
mip_cmd_result mip_3dm_poll_imu_message(struct mip_interface *device, bool suppress_ack, uint8_t num_descriptors, const mip_descriptor_rate *descriptors)
Definition: commands_3dm.c:109
extract_mip_3dm_event_action_command
void extract_mip_3dm_event_action_command(mip_serializer *serializer, mip_3dm_event_action_command *self)
Definition: commands_3dm.c:3517
mip_3dm_load_filter_message_format
mip_cmd_result mip_3dm_load_filter_message_format(struct mip_interface *device)
Definition: commands_3dm.c:581
MIP_CMD_DESC_3DM_POLL_NMEA_MESSAGE
@ MIP_CMD_DESC_3DM_POLL_NMEA_MESSAGE
Definition: commands_3dm.h:39
extract_mip_descriptor_rate
void extract_mip_descriptor_rate(mip_serializer *serializer, mip_descriptor_rate *self)
Definition: common.c:13
mip_3dm_read_datastream_control
mip_cmd_result mip_3dm_read_datastream_control(struct mip_interface *device, uint8_t desc_set, bool *enabled_out)
Definition: commands_3dm.c:1342
mip_3dm_default_mag_hard_iron_offset
mip_cmd_result mip_3dm_default_mag_hard_iron_offset(struct mip_interface *device)
Definition: commands_3dm.c:4142
mip_3dm_default_lowpass_filter
mip_cmd_result mip_3dm_default_lowpass_filter(struct mip_interface *device, uint8_t desc_set, uint8_t field_desc)
Definition: commands_3dm.c:5255


microstrain_inertial_driver
Author(s): Brian Bingham, Parker Hannifin Corp
autogenerated on Mon Jun 24 2024 02:51:39