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;
57  uint8_t _descriptor_set;
59 } mip_field;
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 
103 void mip_field_init_empty(mip_field* field);
104 
105 mip_field mip_field_from_header_ptr(const uint8_t* header, uint8_t total_length, uint8_t descriptor_set);
106 
109 bool mip_field_next(mip_field* field);
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
mip_packet.h
mip
Definition: ping.cpp:12
mip_field::_remaining_length
uint8_t _remaining_length
Remaining space after this field.
Definition: mip_field.h:58
mip_field_next_in_packet
bool mip_field_next_in_packet(mip_field *field, const mip_packet *packet)
Iterates over all fields in a packet.
Definition: mip_field.c:227
mip_field::_payload_length
uint8_t _payload_length
The length of the payload, excluding the header.
Definition: mip_field.h:55
mip_field_next_after
mip_field mip_field_next_after(const mip_field *field)
Gets the next field after the specified field._.
Definition: mip_field.c:179
mip_field::_descriptor_set
uint8_t _descriptor_set
MIP descriptor set (from the packet)
Definition: mip_field.h:57
mip_field::_field_descriptor
uint8_t _field_descriptor
MIP field descriptor. Field not valid if set to 0x00.
Definition: mip_field.h:56
mip_field_payload_length
uint8_t mip_field_payload_length(const mip_field *field)
Returns the length of the payload.
Definition: mip_field.c:60
mip_field
struct mip_field mip_field
A structure representing a MIP field.
mip_field
A structure representing a MIP field.
Definition: mip_field.h:52
mip_field_field_descriptor
uint8_t mip_field_field_descriptor(const mip_field *field)
Returns the field descriptor.
Definition: mip_field.c:52
mip_field_next
bool mip_field_next(mip_field *field)
Updates the mip_field to refer to the next field in a packet.
Definition: mip_field.c:198
mip_field_descriptor_set
uint8_t mip_field_descriptor_set(const mip_field *field)
Returns the descriptor set of the packet containing this field._.
Definition: mip_field.c:44
mip_field_init
void mip_field_init(mip_field *field, uint8_t descriptor_set, uint8_t field_descriptor, const uint8_t *payload, uint8_t payload_length)
Constructs a mip_field given the parameters.
Definition: mip_field.c:28
mip_field::_payload
const uint8_t * _payload
The field payload, excluding the header.
Definition: mip_field.h:54
mip_field_is_valid
bool mip_field_is_valid(const mip_field *field)
Returns true if the field has a valid field descriptor.
Definition: mip_field.c:78
mip_packet
Structure representing a MIP Packet.
Definition: mip_packet.h:41
mip_field_payload
const uint8_t * mip_field_payload(const mip_field *field)
Returns the payload pointer for the field data.
Definition: mip_field.c:70
mip_field_from_header_ptr
mip_field mip_field_from_header_ptr(const uint8_t *header, uint8_t total_length, uint8_t descriptor_set)
Constructs a mip_field from a pointer to the heaader.
Definition: mip_field.c:116
mip_field_first_from_packet
mip_field mip_field_first_from_packet(const mip_packet *packet)
Extracts the first field from a MIP packet.
Definition: mip_field.c:164
mip_field_init_empty
void mip_field_init_empty(mip_field *field)
Initialize a mip_field struct to an invalid/empty state.
Definition: mip_field.c:93


microstrain_inertial_driver
Author(s): Brian Bingham, Parker Hannifin Corp
autogenerated on Fri May 24 2024 06:48:21