MIP SDK  0.0.1
MicroStrain Communications Library for embedded systems
data_system.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "descriptors.h"
4 #include "../mip_result.h"
5 
6 #include <stdint.h>
7 #include <stddef.h>
8 #include <stdbool.h>
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 
26 
28 // Descriptors
30 
31 enum
32 {
34 
39 
40 };
41 
43 // Shared Type Definitions
45 
46 
48 // Mip Fields
50 
74 
76 {
77  uint8_t result[16];
78 
79 };
83 bool extract_mip_system_built_in_test_data_from_field(const struct mip_field* field, void* ptr);
84 
92 
94 {
95  bool time_sync;
96  uint8_t last_pps_rcvd;
97 
98 };
103 
129 
131 {
132  uint8_t states;
133 
134 };
138 bool extract_mip_system_gpio_state_data_from_field(const struct mip_field* field, void* ptr);
139 
148 
150 {
151  uint8_t gpio_id;
152  float value;
153 
154 };
159 
162 
167 #ifdef __cplusplus
168 } // namespace C
169 } // namespace mip
170 } // extern "C"
171 #endif // __cplusplus
172 
void insert_mip_system_built_in_test_data(mip_serializer *serializer, const mip_system_built_in_test_data *self)
Definition: data_system.c:30
void extract_mip_system_built_in_test_data(mip_serializer *serializer, mip_system_built_in_test_data *self)
Definition: data_system.c:36
void extract_mip_system_gpio_analog_value_data(mip_serializer *serializer, mip_system_gpio_analog_value_data *self)
Definition: data_system.c:103
void insert_mip_system_gpio_analog_value_data(mip_serializer *serializer, const mip_system_gpio_analog_value_data *self)
Definition: data_system.c:96
void insert_mip_system_gpio_state_data(mip_serializer *serializer, const mip_system_gpio_state_data *self)
Definition: data_system.c:76
void extract_mip_system_gpio_state_data(mip_serializer *serializer, mip_system_gpio_state_data *self)
Definition: data_system.c:81
void extract_mip_system_time_sync_status_data(mip_serializer *serializer, mip_system_time_sync_status_data *self)
Definition: data_system.c:59
void insert_mip_system_time_sync_status_data(mip_serializer *serializer, const mip_system_time_sync_status_data *self)
Definition: data_system.c:52
@ MIP_DATA_DESC_SYSTEM_GPIO_ANALOG_VALUE
Definition: data_system.h:38
@ MIP_DATA_DESC_SYSTEM_GPIO_STATE
Definition: data_system.h:37
@ MIP_DATA_DESC_SYSTEM_TIME_SYNC_STATUS
Definition: data_system.h:36
@ MIP_DATA_DESC_SYSTEM_BUILT_IN_TEST
Definition: data_system.h:35
@ MIP_SYSTEM_DATA_DESC_SET
Definition: data_system.h:33
bool extract_mip_system_time_sync_status_data_from_field(const mip_field *field, void *ptr)
Definition: data_system.c:66
bool extract_mip_system_built_in_test_data_from_field(const mip_field *field, void *ptr)
Definition: data_system.c:42
bool extract_mip_system_gpio_state_data_from_field(const mip_field *field, void *ptr)
Definition: data_system.c:86
bool extract_mip_system_gpio_analog_value_data_from_field(const mip_field *field, void *ptr)
Definition: data_system.c:110
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
State of the interface for communicating with a MIP device.
Definition: mip_interface.h:52
Structure used for serialization.
Definition: serialization.h:44
Definition: data_system.h:76
uint8_t result[16]
Device-specific bitfield (128 bits). See device user manual. Bits are least-significant-byte first....
Definition: data_system.h:77
Definition: data_system.h:150
float value
Value of the GPIO line in scaled volts.
Definition: data_system.h:152
uint8_t gpio_id
GPIO pin number starting with 1.
Definition: data_system.h:151
Definition: data_system.h:131
uint8_t states
Bitfield containing the states for each GPIO pin. Bit 0 (0x01): pin 1 Bit 1 (0x02): pin 2 Bit 2 (0...
Definition: data_system.h:132
Definition: data_system.h:94
bool time_sync
True if sync with the PPS signal is currently valid. False if PPS feature is disabled or a PPS signal...
Definition: data_system.h:95
uint8_t last_pps_rcvd
Elapsed time in seconds since last PPS was received, with a maximum value of 255.
Definition: data_system.h:96