MIP SDK  0.0.1
MicroStrain Communications Library for embedded systems
commands_rtk.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 
47 
57 };
58 
60 // Shared Type Definitions
62 
63 typedef uint8_t mip_media_selector;
64 static const mip_media_selector MIP_MEDIA_SELECTOR_MEDIA_EXTERNALFLASH = 0;
65 static const mip_media_selector MIP_MEDIA_SELECTOR_MEDIA_SD = 1;
66 
67 void insert_mip_media_selector(struct mip_serializer* serializer, const mip_media_selector self);
68 void extract_mip_media_selector(struct mip_serializer* serializer, mip_media_selector* self);
69 
70 typedef uint8_t mip_led_action;
71 static const mip_led_action MIP_LED_ACTION_LED_NONE = 0;
72 static const mip_led_action MIP_LED_ACTION_LED_FLASH = 1;
73 static const mip_led_action MIP_LED_ACTION_LED_PULSATE = 2;
74 
75 void insert_mip_led_action(struct mip_serializer* serializer, const mip_led_action self);
76 void extract_mip_led_action(struct mip_serializer* serializer, mip_led_action* self);
77 
78 
80 // Mip Fields
82 
87 
89 static const mip_rtk_get_status_flags_command_status_flags_legacy MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_LEGACY_NONE = 0x00000000;
90 static const mip_rtk_get_status_flags_command_status_flags_legacy MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_LEGACY_CONTROLLERSTATE = 0x00000007;
91 static const mip_rtk_get_status_flags_command_status_flags_legacy MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_LEGACY_PLATFORMSTATE = 0x000000F8;
92 static const mip_rtk_get_status_flags_command_status_flags_legacy MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_LEGACY_CONTROLLERSTATUSCODE = 0x00000700;
93 static const mip_rtk_get_status_flags_command_status_flags_legacy MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_LEGACY_PLATFORMSTATUSCODE = 0x00003800;
94 static const mip_rtk_get_status_flags_command_status_flags_legacy MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_LEGACY_RESETCODE = 0x0000C000;
95 static const mip_rtk_get_status_flags_command_status_flags_legacy MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_LEGACY_SIGNALQUALITY = 0x000F0000;
96 static const mip_rtk_get_status_flags_command_status_flags_legacy MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_LEGACY_RESERVED = 0xFFF00000;
97 static const mip_rtk_get_status_flags_command_status_flags_legacy MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_LEGACY_RSSI = 0x03F00000;
98 static const mip_rtk_get_status_flags_command_status_flags_legacy MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_LEGACY_RSRP = 0x0C000000;
99 static const mip_rtk_get_status_flags_command_status_flags_legacy MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_LEGACY_RSRQ = 0x30000000;
100 static const mip_rtk_get_status_flags_command_status_flags_legacy MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_LEGACY_SINR = 0xC0000000;
101 
103 static const mip_rtk_get_status_flags_command_status_flags MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_NONE = 0x00000000;
104 static const mip_rtk_get_status_flags_command_status_flags MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_MODEM_STATE = 0x0000000F;
105 static const mip_rtk_get_status_flags_command_status_flags MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_CONNECTION_TYPE = 0x000000F0;
106 static const mip_rtk_get_status_flags_command_status_flags MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_RSSI = 0x0000FF00;
107 static const mip_rtk_get_status_flags_command_status_flags MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_SIGNAL_QUALITY = 0x000F0000;
108 static const mip_rtk_get_status_flags_command_status_flags MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_TOWER_CHANGE_INDICATOR = 0x00F00000;
109 static const mip_rtk_get_status_flags_command_status_flags MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_NMEA_TIMEOUT = 0x01000000;
110 static const mip_rtk_get_status_flags_command_status_flags MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_SERVER_TIMEOUT = 0x02000000;
111 static const mip_rtk_get_status_flags_command_status_flags MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_RTCM_TIMEOUT = 0x04000000;
112 static const mip_rtk_get_status_flags_command_status_flags MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_DEVICE_OUT_OF_RANGE = 0x08000000;
113 static const mip_rtk_get_status_flags_command_status_flags MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_CORRECTIONS_UNAVAILABLE = 0x10000000;
114 static const mip_rtk_get_status_flags_command_status_flags MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_RESERVED = 0x20000000;
115 static const mip_rtk_get_status_flags_command_status_flags MIP_RTK_GET_STATUS_FLAGS_COMMAND_STATUS_FLAGS_VERSION = 0xC0000000;
116 
119 
122 
124 {
126 
127 };
131 
139 
141 {
142  char IMEI[32];
143 
144 };
148 
149 mip_cmd_result mip_rtk_get_imei(struct mip_interface* device, char* imei_out);
156 
158 {
159  char IMSI[32];
160 
161 };
165 
166 mip_cmd_result mip_rtk_get_imsi(struct mip_interface* device, char* imsi_out);
173 
175 {
176  char ICCID[32];
177 
178 };
182 
183 mip_cmd_result mip_rtk_get_iccid(struct mip_interface* device, char* iccid_out);
190 
192 static const mip_rtk_connected_device_type_command_type MIP_RTK_CONNECTED_DEVICE_TYPE_COMMAND_TYPE_GENERIC = 0;
193 static const mip_rtk_connected_device_type_command_type MIP_RTK_CONNECTED_DEVICE_TYPE_COMMAND_TYPE_GQ7 = 1;
194 
196 {
199 
200 };
204 
207 
209 {
211 
212 };
216 
228 
230 {
231  char ActivationCode[32];
232 
233 };
237 
238 mip_cmd_result mip_rtk_get_act_code(struct mip_interface* device, char* activation_code_out);
245 
247 {
249 
250 };
254 
255 mip_cmd_result mip_rtk_get_modem_firmware_version(struct mip_interface* device, char* modem_firmware_version_out);
263 
265 {
266  bool valid;
267  int32_t rssi;
268  int32_t signalQuality;
269 
270 };
274 
275 mip_cmd_result mip_rtk_get_rssi(struct mip_interface* device, bool* valid_out, int32_t* rssi_out, int32_t* signal_quality_out);
283 
285 static const mip_rtk_service_status_command_service_flags MIP_RTK_SERVICE_STATUS_COMMAND_SERVICE_FLAGS_NONE = 0x00;
286 static const mip_rtk_service_status_command_service_flags MIP_RTK_SERVICE_STATUS_COMMAND_SERVICE_FLAGS_THROTTLE = 0x01;
287 static const mip_rtk_service_status_command_service_flags MIP_RTK_SERVICE_STATUS_COMMAND_SERVICE_FLAGS_CORRECTIONS_UNAVAILABLE = 0x02;
288 static const mip_rtk_service_status_command_service_flags MIP_RTK_SERVICE_STATUS_COMMAND_SERVICE_FLAGS_RESERVED = 0xFC;
289 
291 {
292  uint32_t reserved1;
293  uint32_t reserved2;
294 
295 };
299 
302 
304 {
306  uint32_t recievedBytes;
307  uint32_t lastBytes;
308  uint64_t lastBytesTime;
309 
310 };
314 
315 mip_cmd_result mip_rtk_service_status(struct mip_interface* device, uint32_t reserved1, uint32_t reserved2, mip_rtk_service_status_command_service_flags* flags_out, uint32_t* recieved_bytes_out, uint32_t* last_bytes_out, uint64_t* last_bytes_time_out);
324 
326 {
328 
329 };
333 
342 
344 {
345  uint8_t primaryColor[3];
346  uint8_t altColor[3];
348  uint32_t period;
349 
350 };
354 
355 mip_cmd_result mip_rtk_led_control(struct mip_interface* device, const uint8_t* primary_color, const uint8_t* alt_color, mip_led_action act, uint32_t period);
364 
368 
373 #ifdef __cplusplus
374 } // namespace C
375 } // namespace mip
376 } // extern "C"
377 #endif // __cplusplus
378 
void insert_mip_rtk_connected_device_type_command_type(struct mip_serializer *serializer, const mip_rtk_connected_device_type_command_type self)
Definition: commands_rtk.c:189
mip_cmd_result mip_rtk_write_connected_device_type(struct mip_interface *device, mip_rtk_connected_device_type_command_type dev_type)
Definition: commands_rtk.c:200
void insert_mip_rtk_connected_device_type_command(mip_serializer *serializer, const mip_rtk_connected_device_type_command *self)
Definition: commands_rtk.c:157
void insert_mip_rtk_connected_device_type_response(mip_serializer *serializer, const mip_rtk_connected_device_type_response *self)
Definition: commands_rtk.c:178
void extract_mip_rtk_connected_device_type_command(mip_serializer *serializer, mip_rtk_connected_device_type_command *self)
Definition: commands_rtk.c:167
mip_cmd_result mip_rtk_default_connected_device_type(struct mip_interface *device)
Definition: commands_rtk.c:264
void extract_mip_rtk_connected_device_type_command_type(struct mip_serializer *serializer, mip_rtk_connected_device_type_command_type *self)
Definition: commands_rtk.c:193
mip_cmd_result mip_rtk_load_connected_device_type(struct mip_interface *device)
Definition: commands_rtk.c:252
mip_cmd_result mip_rtk_read_connected_device_type(struct mip_interface *device, mip_rtk_connected_device_type_command_type *dev_type_out)
Definition: commands_rtk.c:214
uint8_t mip_rtk_connected_device_type_command_type
Definition: commands_rtk.h:191
mip_cmd_result mip_rtk_save_connected_device_type(struct mip_interface *device)
Definition: commands_rtk.c:240
void extract_mip_rtk_connected_device_type_response(mip_serializer *serializer, mip_rtk_connected_device_type_response *self)
Definition: commands_rtk.c:183
void insert_mip_rtk_get_act_code_response(struct mip_serializer *serializer, const mip_rtk_get_act_code_response *self)
void extract_mip_rtk_get_act_code_response(struct mip_serializer *serializer, mip_rtk_get_act_code_response *self)
mip_cmd_result mip_rtk_get_act_code(struct mip_interface *device, char *activation_code_out)
Definition: commands_rtk.c:276
mip_cmd_result mip_rtk_get_iccid(struct mip_interface *device, char *iccid_out)
Definition: commands_rtk.c:136
void insert_mip_rtk_get_iccid_response(struct mip_serializer *serializer, const mip_rtk_get_iccid_response *self)
void extract_mip_rtk_get_iccid_response(struct mip_serializer *serializer, mip_rtk_get_iccid_response *self)
mip_cmd_result mip_rtk_get_imei(struct mip_interface *device, char *imei_out)
Definition: commands_rtk.c:94
void insert_mip_rtk_get_imei_response(struct mip_serializer *serializer, const mip_rtk_get_imei_response *self)
void extract_mip_rtk_get_imei_response(struct mip_serializer *serializer, mip_rtk_get_imei_response *self)
void insert_mip_rtk_get_imsi_response(struct mip_serializer *serializer, const mip_rtk_get_imsi_response *self)
void extract_mip_rtk_get_imsi_response(struct mip_serializer *serializer, mip_rtk_get_imsi_response *self)
mip_cmd_result mip_rtk_get_imsi(struct mip_interface *device, char *imsi_out)
Definition: commands_rtk.c:115
void insert_mip_rtk_get_modem_firmware_version_response(struct mip_serializer *serializer, const mip_rtk_get_modem_firmware_version_response *self)
void extract_mip_rtk_get_modem_firmware_version_response(struct mip_serializer *serializer, mip_rtk_get_modem_firmware_version_response *self)
mip_cmd_result mip_rtk_get_modem_firmware_version(struct mip_interface *device, char *modem_firmware_version_out)
Definition: commands_rtk.c:297
void insert_mip_rtk_get_rssi_response(struct mip_serializer *serializer, const mip_rtk_get_rssi_response *self)
void extract_mip_rtk_get_rssi_response(struct mip_serializer *serializer, mip_rtk_get_rssi_response *self)
mip_cmd_result mip_rtk_get_rssi(struct mip_interface *device, bool *valid_out, int32_t *rssi_out, int32_t *signal_quality_out)
Definition: commands_rtk.c:318
void insert_mip_rtk_get_status_flags_command_status_flags(struct mip_serializer *serializer, const mip_rtk_get_status_flags_command_status_flags self)
Definition: commands_rtk.c:63
void extract_mip_rtk_get_status_flags_response(struct mip_serializer *serializer, mip_rtk_get_status_flags_response *self)
mip_cmd_result mip_rtk_get_status_flags(struct mip_interface *device, mip_rtk_get_status_flags_command_status_flags *flags_out)
Definition: commands_rtk.c:74
void insert_mip_rtk_get_status_flags_response(struct mip_serializer *serializer, const mip_rtk_get_status_flags_response *self)
void extract_mip_rtk_get_status_flags_command_status_flags_legacy(struct mip_serializer *serializer, mip_rtk_get_status_flags_command_status_flags_legacy *self)
Definition: commands_rtk.c:56
uint32_t mip_rtk_get_status_flags_command_status_flags_legacy
Definition: commands_rtk.h:88
void insert_mip_rtk_get_status_flags_command_status_flags_legacy(struct mip_serializer *serializer, const mip_rtk_get_status_flags_command_status_flags_legacy self)
Definition: commands_rtk.c:52
uint32_t mip_rtk_get_status_flags_command_status_flags
Definition: commands_rtk.h:102
void extract_mip_rtk_get_status_flags_command_status_flags(struct mip_serializer *serializer, mip_rtk_get_status_flags_command_status_flags *self)
Definition: commands_rtk.c:67
void extract_mip_rtk_led_control_command(mip_serializer *serializer, mip_rtk_led_control_command *self)
Definition: commands_rtk.c:466
void insert_mip_rtk_led_control_command(mip_serializer *serializer, const mip_rtk_led_control_command *self)
Definition: commands_rtk.c:453
mip_cmd_result mip_rtk_led_control(struct mip_interface *device, const uint8_t *primary_color, const uint8_t *alt_color, mip_led_action act, uint32_t period)
Definition: commands_rtk.c:480
mip_cmd_result mip_rtk_modem_hard_reset(struct mip_interface *device)
Definition: commands_rtk.c:502
mip_cmd_result mip_rtk_prod_erase_storage(struct mip_interface *device, mip_media_selector media)
Definition: commands_rtk.c:441
void insert_mip_rtk_prod_erase_storage_command(mip_serializer *serializer, const mip_rtk_prod_erase_storage_command *self)
Definition: commands_rtk.c:430
void extract_mip_rtk_prod_erase_storage_command(mip_serializer *serializer, mip_rtk_prod_erase_storage_command *self)
Definition: commands_rtk.c:435
void insert_mip_rtk_service_status_command(mip_serializer *serializer, const mip_rtk_service_status_command *self)
Definition: commands_rtk.c:344
void extract_mip_rtk_service_status_command_service_flags(struct mip_serializer *serializer, mip_rtk_service_status_command_service_flags *self)
Definition: commands_rtk.c:386
uint8_t mip_rtk_service_status_command_service_flags
Definition: commands_rtk.h:284
mip_cmd_result mip_rtk_service_status(struct mip_interface *device, uint32_t reserved1, uint32_t reserved2, mip_rtk_service_status_command_service_flags *flags_out, uint32_t *recieved_bytes_out, uint32_t *last_bytes_out, uint64_t *last_bytes_time_out)
Definition: commands_rtk.c:393
void extract_mip_rtk_service_status_response(mip_serializer *serializer, mip_rtk_service_status_response *self)
Definition: commands_rtk.c:370
void insert_mip_rtk_service_status_response(mip_serializer *serializer, const mip_rtk_service_status_response *self)
Definition: commands_rtk.c:359
void extract_mip_rtk_service_status_command(mip_serializer *serializer, mip_rtk_service_status_command *self)
Definition: commands_rtk.c:351
void insert_mip_rtk_service_status_command_service_flags(struct mip_serializer *serializer, const mip_rtk_service_status_command_service_flags self)
Definition: commands_rtk.c:382
mip_cmd_result
Represents the status of a MIP command.
Definition: mip_result.h:24
struct mip::C::mip_field mip_field
A structure representing a MIP field.
struct mip::C::mip_interface mip_interface
State of the interface for communicating with a MIP device.
struct mip::C::mip_serializer mip_serializer
Structure used for serialization.
uint8_t mip_media_selector
Definition: commands_rtk.h:63
void insert_mip_led_action(struct mip_serializer *serializer, const mip_led_action self)
Definition: commands_rtk.c:36
uint8_t mip_led_action
Definition: commands_rtk.h:70
void extract_mip_media_selector(struct mip_serializer *serializer, mip_media_selector *self)
Definition: commands_rtk.c:29
void insert_mip_media_selector(struct mip_serializer *serializer, const mip_media_selector self)
Definition: commands_rtk.c:25
void extract_mip_led_action(struct mip_serializer *serializer, mip_led_action *self)
Definition: commands_rtk.c:40
@ MIP_CMD_DESC_RTK_PROD_ERASE_STORAGE
Definition: commands_rtk.h:44
@ MIP_CMD_DESC_RTK_GET_MODEM_FIRMWARE_VERSION
Definition: commands_rtk.h:42
@ MIP_CMD_DESC_RTK_GET_IMSI
Definition: commands_rtk.h:37
@ MIP_REPLY_DESC_RTK_GET_STATUS_FLAGS
Definition: commands_rtk.h:48
@ MIP_CMD_DESC_RTK_MODEM_HARD_RESET
Definition: commands_rtk.h:46
@ MIP_REPLY_DESC_RTK_GET_MODEM_FIRMWARE_VERSION
Definition: commands_rtk.h:54
@ MIP_CMD_DESC_RTK_GET_STATUS_FLAGS
Definition: commands_rtk.h:35
@ MIP_CMD_DESC_RTK_GET_ICCID
Definition: commands_rtk.h:38
@ MIP_CMD_DESC_RTK_GET_ACT_CODE
Definition: commands_rtk.h:41
@ MIP_CMD_DESC_RTK_GET_IMEI
Definition: commands_rtk.h:36
@ MIP_REPLY_DESC_RTK_GET_ACT_CODE
Definition: commands_rtk.h:53
@ MIP_REPLY_DESC_RTK_GET_ICCID
Definition: commands_rtk.h:51
@ MIP_REPLY_DESC_RTK_GET_RSSI
Definition: commands_rtk.h:55
@ MIP_REPLY_DESC_RTK_GET_IMEI
Definition: commands_rtk.h:49
@ MIP_REPLY_DESC_RTK_GET_IMSI
Definition: commands_rtk.h:50
@ MIP_CMD_DESC_RTK_GET_RSSI
Definition: commands_rtk.h:39
@ MIP_REPLY_DESC_RTK_CONNECTED_DEVICE_TYPE
Definition: commands_rtk.h:52
@ MIP_CMD_DESC_RTK_SERVICE_STATUS
Definition: commands_rtk.h:43
@ MIP_CMD_DESC_LED_CONTROL
Definition: commands_rtk.h:45
@ MIP_REPLY_DESC_RTK_SERVICE_STATUS
Definition: commands_rtk.h:56
@ MIP_CMD_DESC_RTK_CONNECTED_DEVICE_TYPE
Definition: commands_rtk.h:40
@ MIP_RTK_CMD_DESC_SET
Definition: commands_rtk.h:33
mip_function_selector
Definition: descriptors.h:44
A collection of C++ classes and functions covering the full mip api.
Definition: commands_3dm.c:11
State of the interface for communicating with a MIP device.
Definition: mip_interface.h:52
Definition: commands_rtk.h:196
mip_rtk_connected_device_type_command_type devType
Definition: commands_rtk.h:198
mip_rtk_connected_device_type_command_type devType
Definition: commands_rtk.h:210
Definition: commands_rtk.h:230
char ActivationCode[32]
Definition: commands_rtk.h:231
Definition: commands_rtk.h:175
char ICCID[32]
Definition: commands_rtk.h:176
Definition: commands_rtk.h:141
char IMEI[32]
Definition: commands_rtk.h:142
Definition: commands_rtk.h:158
char IMSI[32]
Definition: commands_rtk.h:159
char ModemFirmwareVersion[32]
Definition: commands_rtk.h:248
Definition: commands_rtk.h:265
bool valid
Definition: commands_rtk.h:266
int32_t signalQuality
Definition: commands_rtk.h:268
int32_t rssi
Definition: commands_rtk.h:267
Definition: commands_rtk.h:124
mip_rtk_get_status_flags_command_status_flags flags
Model number dependent. See above structures.
Definition: commands_rtk.h:125
Definition: commands_rtk.h:344
uint32_t period
Definition: commands_rtk.h:348
uint8_t primaryColor[3]
Definition: commands_rtk.h:345
mip_led_action act
Definition: commands_rtk.h:347
uint8_t altColor[3]
Definition: commands_rtk.h:346
Definition: commands_rtk.h:326
mip_media_selector media
Definition: commands_rtk.h:327
Definition: commands_rtk.h:291
uint32_t reserved1
Definition: commands_rtk.h:292
uint32_t reserved2
Definition: commands_rtk.h:293
Definition: commands_rtk.h:304
uint32_t lastBytes
Definition: commands_rtk.h:307
uint32_t recievedBytes
Definition: commands_rtk.h:306
mip_rtk_service_status_command_service_flags flags
Definition: commands_rtk.h:305
uint64_t lastBytesTime
Definition: commands_rtk.h:308
Structure used for serialization.
Definition: serialization.h:44