MIP SDK  0.0.1
MicroStrain Communications Library for embedded systems
mip_field.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <stdint.h>
4 #include <stdbool.h>
5 #include "mip_packet.h"
6 
7 #ifdef __cplusplus
8 namespace mip{
9 namespace C {
10 extern "C" {
11 #endif
12 
13 
17 
37 
52 typedef struct mip_field
53 {
54  const uint8_t* _payload;
55  uint8_t _payload_length;
56  uint8_t _field_descriptor;
57  uint8_t _descriptor_set;
58  uint8_t _remaining_length;
60 
61 
62 void mip_field_init(mip_field* field, uint8_t descriptor_set, uint8_t field_descriptor, const uint8_t* payload, uint8_t payload_length);
63 
70 
71 uint8_t mip_field_descriptor_set(const mip_field* field);
72 uint8_t mip_field_field_descriptor(const mip_field* field);
73 uint8_t mip_field_payload_length(const mip_field* field);
74 const uint8_t* mip_field_payload(const mip_field* field);
75 
76 bool mip_field_is_valid(const mip_field* field);
77 
102 
104 
105 mip_field mip_field_from_header_ptr(const uint8_t* header, uint8_t total_length, uint8_t descriptor_set);
106 
110 
111 bool mip_field_next_in_packet(mip_field* field, const mip_packet* packet);
112 
113 // bool mip_field_is_at_end(const struct mip_field* field);
114 
120 
121 #ifdef __cplusplus
122 } // namespace mip
123 } // namespace C
124 } // extern "C"
125 #endif
bool mip_field_is_valid(const mip_field *field)
const uint8_t * mip_field_payload(const mip_field *field)
uint8_t mip_field_field_descriptor(const mip_field *field)
uint8_t mip_field_descriptor_set(const mip_field *field)
uint8_t mip_field_payload_length(const mip_field *field)
mip_field mip_field_first_from_packet(const mip_packet *packet)
mip_field mip_field_next_after(const mip_field *field)
mip_field mip_field_from_header_ptr(const uint8_t *header, uint8_t total_length, uint8_t descriptor_set)
bool mip_field_next_in_packet(mip_field *field, const mip_packet *packet)
void mip_field_init_empty(mip_field *field)
bool mip_field_next(mip_field *field)
struct mip::C::mip_field mip_field
A structure representing a MIP field.
void mip_field_init(mip_field *field, uint8_t descriptor_set, uint8_t field_descriptor, const uint8_t *payload, uint8_t payload_length)
A collection of C++ classes and functions covering the full mip api.
Definition: commands_3dm.c:11
A structure representing a MIP field.
Definition: mip_field.h:53
Structure representing a MIP Packet.
Definition: mip_packet.h:44