data_system.c
Go to the documentation of this file.
1 
2 #include "data_system.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 
25 
27 // Mip Fields
29 
31 {
32  for(unsigned int i=0; i < 16; i++)
33  insert_u8(serializer, self->result[i]);
34 
35 }
37 {
38  for(unsigned int i=0; i < 16; i++)
39  extract_u8(serializer, &self->result[i]);
40 
41 }
43 {
44  assert(ptr);
46  struct mip_serializer serializer;
47  mip_serializer_init_from_field(&serializer, field);
48  extract_mip_system_built_in_test_data(&serializer, self);
49  return mip_serializer_is_complete(&serializer);
50 }
51 
53 {
54  insert_bool(serializer, self->time_sync);
55 
56  insert_u8(serializer, self->last_pps_rcvd);
57 
58 }
60 {
61  extract_bool(serializer, &self->time_sync);
62 
63  extract_u8(serializer, &self->last_pps_rcvd);
64 
65 }
67 {
68  assert(ptr);
70  struct mip_serializer serializer;
71  mip_serializer_init_from_field(&serializer, field);
73  return mip_serializer_is_complete(&serializer);
74 }
75 
77 {
78  insert_u8(serializer, self->states);
79 
80 }
82 {
83  extract_u8(serializer, &self->states);
84 
85 }
87 {
88  assert(ptr);
89  mip_system_gpio_state_data* self = ptr;
90  struct mip_serializer serializer;
91  mip_serializer_init_from_field(&serializer, field);
92  extract_mip_system_gpio_state_data(&serializer, self);
93  return mip_serializer_is_complete(&serializer);
94 }
95 
97 {
98  insert_u8(serializer, self->gpio_id);
99 
100  insert_float(serializer, self->value);
101 
102 }
104 {
105  extract_u8(serializer, &self->gpio_id);
106 
107  extract_float(serializer, &self->value);
108 
109 }
111 {
112  assert(ptr);
114  struct mip_serializer serializer;
115  mip_serializer_init_from_field(&serializer, field);
117  return mip_serializer_is_complete(&serializer);
118 }
119 
120 
121 #ifdef __cplusplus
122 } // namespace C
123 } // namespace mip
124 } // extern "C"
125 #endif // __cplusplus
126 
insert_bool
void insert_bool(mip_serializer *serializer, bool value)
mip
Definition: built_in_test.h:17
mip_serializer_init_from_field
void mip_serializer_init_from_field(mip_serializer *serializer, const mip_field *field)
Initialize a serialization struct from a MIP field payload.
Definition: serialization.c:103
extract_mip_system_built_in_test_data
void extract_mip_system_built_in_test_data(mip_serializer *serializer, mip_system_built_in_test_data *self)
Definition: data_system.c:36
mip_system_built_in_test_data
Definition: data_system.h:76
insert_mip_system_gpio_state_data
void insert_mip_system_gpio_state_data(mip_serializer *serializer, const mip_system_gpio_state_data *self)
Definition: data_system.c:76
extract_mip_system_gpio_state_data_from_field
bool extract_mip_system_gpio_state_data_from_field(const mip_field *field, void *ptr)
Definition: data_system.c:86
extract_mip_system_gpio_analog_value_data_from_field
bool extract_mip_system_gpio_analog_value_data_from_field(const mip_field *field, void *ptr)
Definition: data_system.c:110
extract_mip_system_gpio_state_data
void extract_mip_system_gpio_state_data(mip_serializer *serializer, mip_system_gpio_state_data *self)
Definition: data_system.c:81
extract_float
void extract_float(mip_serializer *serializer, float *value)
extract_mip_system_built_in_test_data_from_field
bool extract_mip_system_built_in_test_data_from_field(const mip_field *field, void *ptr)
Definition: data_system.c:42
insert_mip_system_time_sync_status_data
void insert_mip_system_time_sync_status_data(mip_serializer *serializer, const mip_system_time_sync_status_data *self)
Definition: data_system.c:52
extract_mip_system_time_sync_status_data
void extract_mip_system_time_sync_status_data(mip_serializer *serializer, mip_system_time_sync_status_data *self)
Definition: data_system.c:59
mip_serializer
Structure used for serialization.
Definition: serialization.h:45
insert_mip_system_built_in_test_data
void insert_mip_system_built_in_test_data(mip_serializer *serializer, const mip_system_built_in_test_data *self)
Definition: data_system.c:30
insert_u8
void insert_u8(mip_serializer *serializer, uint8_t value)
mip_field
A structure representing a MIP field.
Definition: mip_field.h:52
extract_mip_system_gpio_analog_value_data
void extract_mip_system_gpio_analog_value_data(mip_serializer *serializer, mip_system_gpio_analog_value_data *self)
Definition: data_system.c:103
mip_serializer_is_complete
bool mip_serializer_is_complete(const mip_serializer *serializer)
Determines if the number of remaining bytes is 0.
Definition: serialization.c:180
insert_mip_system_gpio_analog_value_data
void insert_mip_system_gpio_analog_value_data(mip_serializer *serializer, const mip_system_gpio_analog_value_data *self)
Definition: data_system.c:96
data_system.h
mip_system_time_sync_status_data
Definition: data_system.h:95
mip_system_gpio_analog_value_data
Definition: data_system.h:153
insert_float
void insert_float(mip_serializer *serializer, float value)
extract_u8
void extract_u8(mip_serializer *serializer, uint8_t *value)
mip_system_gpio_state_data
Definition: data_system.h:133
extract_bool
void extract_bool(mip_serializer *serializer, bool *value)
mip_interface
State of the interface for communicating with a MIP device.
Definition: mip_interface.h:44
assert.h
extract_mip_system_time_sync_status_data_from_field
bool extract_mip_system_time_sync_status_data_from_field(const mip_field *field, void *ptr)
Definition: data_system.c:66


microstrain_inertial_driver
Author(s): Brian Bingham, Parker Hannifin Corp
autogenerated on Fri Sep 6 2024 02:51:39