descriptors.c
Go to the documentation of this file.
1 
2 #include "descriptors.h"
3 
4 #include "../utils/serialization.h"
5 
6 #ifdef __cplusplus
7 namespace mip {
8 extern "C" {
9 #endif // __cplusplus
10 
11 
19 bool mip_is_valid_descriptor_set(uint8_t descriptor_set)
20 {
21  return descriptor_set != MIP_INVALID_DESCRIPTOR_SET;
22 }
23 
31 bool mip_is_data_descriptor_set(uint8_t descriptor_set)
32 {
33  return (descriptor_set >= MIP_DATA_DESCRIPTOR_SET_START) && (descriptor_set < MIP_RESERVED_DESCRIPTOR_SET_START);
34 }
35 
43 bool mip_is_cmd_descriptor_set(uint8_t descriptor_set)
44 {
45  return !mip_is_data_descriptor_set(descriptor_set);
46 }
47 
55 bool mip_is_reserved_descriptor_set(uint8_t descriptor_set)
56 {
57  return (descriptor_set >= MIP_RESERVED_DESCRIPTOR_SET_START);
58 }
59 
67 bool mip_is_gnss_data_descriptor_set(uint8_t descriptor_set)
68 {
69  return ((descriptor_set == 0x81) || ((descriptor_set >= 0x91) && (descriptor_set <= 0x95)));
70 }
71 
72 
73 
81 bool mip_is_valid_field_descriptor(uint8_t field_descriptor)
82 {
83  return field_descriptor != MIP_INVALID_FIELD_DESCRIPTOR;
84 }
85 
93 bool mip_is_cmd_field_descriptor(uint8_t field_descriptor)
94 {
95  return (field_descriptor < MIP_RESPONSE_DESCRIPTOR_START);
96 }
97 
105 bool mip_is_reply_field_descriptor(uint8_t field_descriptor)
106 {
107  return (field_descriptor == MIP_REPLY_DESCRIPTOR);
108 }
109 
120 bool mip_is_response_field_descriptor(uint8_t field_descriptor)
121 {
122  return field_descriptor >= MIP_RESPONSE_DESCRIPTOR_START && !mip_is_reserved_cmd_field_descriptor(field_descriptor);
123 }
124 
134 bool mip_is_reserved_cmd_field_descriptor(uint8_t field_descriptor)
135 {
136  return ((field_descriptor|MIP_RESPONSE_DESCRIPTOR_START) >= MIP_RESERVED_DESCRIPTOR_START);
137 }
138 
148 bool mip_is_shared_data_field_descriptor(uint8_t field_descriptor)
149 {
150  return field_descriptor >= MIP_SHARED_DATA_FIELD_DESCRIPTOR_START;
151 }
152 
153 
155 {
156  insert_u8(serializer, self);
157 }
158 
160 {
161  uint8_t tmp;
162  extract_u8(serializer, &tmp);
163  *self = (enum mip_function_selector)tmp;
164 }
165 
166 
167 #ifdef __cplusplus
168 } // namespace mip
169 } // extern "C"
170 #endif // __cplusplus
insert_mip_function_selector
void insert_mip_function_selector(mip_serializer *serializer, enum mip_function_selector self)
Definition: descriptors.c:154
mip_function_selector
mip_function_selector
Definition: descriptors.h:46
MIP_DATA_DESCRIPTOR_SET_START
@ MIP_DATA_DESCRIPTOR_SET_START
Definition: descriptors.h:22
MIP_RESPONSE_DESCRIPTOR_START
@ MIP_RESPONSE_DESCRIPTOR_START
Definition: descriptors.h:28
mip
Definition: ping.cpp:12
mip_is_gnss_data_descriptor_set
bool mip_is_gnss_data_descriptor_set(uint8_t descriptor_set)
Determines if the descriptor set represents some kind of GNSS data.
Definition: descriptors.c:67
MIP_RESERVED_DESCRIPTOR_START
@ MIP_RESERVED_DESCRIPTOR_START
Definition: descriptors.h:27
mip_is_reply_field_descriptor
bool mip_is_reply_field_descriptor(uint8_t field_descriptor)
Determines if the field descriptor is for an ack/nack reply.
Definition: descriptors.c:105
mip_is_response_field_descriptor
bool mip_is_response_field_descriptor(uint8_t field_descriptor)
Determines if the field descriptor contains response data from a command.
Definition: descriptors.c:120
mip_is_cmd_descriptor_set
bool mip_is_cmd_descriptor_set(uint8_t descriptor_set)
Determines if the descriptor set contains commands.
Definition: descriptors.c:43
MIP_SHARED_DATA_FIELD_DESCRIPTOR_START
@ MIP_SHARED_DATA_FIELD_DESCRIPTOR_START
Definition: descriptors.h:30
mip_serializer
Structure used for serialization.
Definition: serialization.h:45
insert_u8
void insert_u8(mip_serializer *serializer, uint8_t value)
extract_u8
void extract_u8(mip_serializer *serializer, uint8_t *value)
extract_mip_function_selector
void extract_mip_function_selector(mip_serializer *serializer, enum mip_function_selector *self)
Definition: descriptors.c:159
mip_is_valid_field_descriptor
bool mip_is_valid_field_descriptor(uint8_t field_descriptor)
Determines if the field descriptor is valid.
Definition: descriptors.c:81
mip_is_reserved_cmd_field_descriptor
bool mip_is_reserved_cmd_field_descriptor(uint8_t field_descriptor)
Determines if the field descriptor is reserved.
Definition: descriptors.c:134
mip_is_valid_descriptor_set
bool mip_is_valid_descriptor_set(uint8_t descriptor_set)
Determines if the descriptor set is valid.
Definition: descriptors.c:19
mip_is_data_descriptor_set
bool mip_is_data_descriptor_set(uint8_t descriptor_set)
Determines if the descriptor set represents some kind of data.
Definition: descriptors.c:31
MIP_INVALID_DESCRIPTOR_SET
@ MIP_INVALID_DESCRIPTOR_SET
Definition: descriptors.h:21
mip_is_reserved_descriptor_set
bool mip_is_reserved_descriptor_set(uint8_t descriptor_set)
Determines if the descriptor is reserved for special purposes.
Definition: descriptors.c:55
descriptors.h
MIP_REPLY_DESCRIPTOR
@ MIP_REPLY_DESCRIPTOR
Definition: descriptors.h:26
mip_is_shared_data_field_descriptor
bool mip_is_shared_data_field_descriptor(uint8_t field_descriptor)
Determines if the field descriptor is from the shared data set.
Definition: descriptors.c:148
MIP_INVALID_FIELD_DESCRIPTOR
@ MIP_INVALID_FIELD_DESCRIPTOR
Definition: descriptors.h:25
mip_is_cmd_field_descriptor
bool mip_is_cmd_field_descriptor(uint8_t field_descriptor)
Determines if the field descriptor is a command.
Definition: descriptors.c:93
MIP_RESERVED_DESCRIPTOR_SET_START
@ MIP_RESERVED_DESCRIPTOR_SET_START
Definition: descriptors.h:23


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