|
15 | 15 | Since GPS devices can output lots of data, this message allows users to select which data they want to receive
|
16 | 16 | and a resulting command string to initialize the GPS device with the selected options will be generated. */
|
17 | 17 | typedef struct _wippersnapper_gps_GPSConfig {
|
18 |
| - /* Baud rate is not included here as it is included in the UartAdd->UartSerialConfig message. */ |
19 |
| - pb_size_t commands_count; |
20 |
| - char commands[16][90]; /* * List of commands to configure the GPS * */ |
21 |
| - int32_t period; /* * The period to poll the GPS module, in milliseconds */ |
| 18 | + /* NOTE: Baud rate is not included here as it is included in the UartAdd->UartSerialConfig message. */ |
| 19 | + pb_size_t commands_pmtks_count; |
| 20 | + char commands_pmtks[16][90]; /* * List of PMTK commands in string format. * */ |
| 21 | + pb_callback_t commands_ubxes; /* * List of UBX commands in bytes format. * */ |
| 22 | + int32_t period; /* * Desired period to poll the GPS module, in milliseconds */ |
22 | 23 | } wippersnapper_gps_GPSConfig;
|
23 | 24 |
|
24 | 25 | /* * GPSDateTime represents the date and time information from a GPRMC/GPGGA string * */
|
@@ -74,20 +75,21 @@ extern "C" {
|
74 | 75 | #endif
|
75 | 76 |
|
76 | 77 | /* Initializer values for message structs */
|
77 |
| -#define wippersnapper_gps_GPSConfig_init_default {0, {"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""}, 0} |
| 78 | +#define wippersnapper_gps_GPSConfig_init_default {0, {"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""}, {{NULL}, NULL}, 0} |
78 | 79 | #define wippersnapper_gps_GPSDateTime_init_default {0, 0, 0, 0, 0, 0, 0}
|
79 | 80 | #define wippersnapper_gps_GPSRMCResponse_init_default {false, wippersnapper_gps_GPSDateTime_init_default, "", "", "", "", "", "", ""}
|
80 | 81 | #define wippersnapper_gps_GPGGAResponse_init_default {false, wippersnapper_gps_GPSDateTime_init_default, "", "", "", "", 0, 0, "", "", ""}
|
81 | 82 | #define wippersnapper_gps_GPSEvent_init_default {0, {wippersnapper_gps_GPSRMCResponse_init_default, wippersnapper_gps_GPSRMCResponse_init_default, wippersnapper_gps_GPSRMCResponse_init_default, wippersnapper_gps_GPSRMCResponse_init_default, wippersnapper_gps_GPSRMCResponse_init_default, wippersnapper_gps_GPSRMCResponse_init_default, wippersnapper_gps_GPSRMCResponse_init_default, wippersnapper_gps_GPSRMCResponse_init_default, wippersnapper_gps_GPSRMCResponse_init_default, wippersnapper_gps_GPSRMCResponse_init_default}, 0, {wippersnapper_gps_GPGGAResponse_init_default, wippersnapper_gps_GPGGAResponse_init_default, wippersnapper_gps_GPGGAResponse_init_default, wippersnapper_gps_GPGGAResponse_init_default, wippersnapper_gps_GPGGAResponse_init_default, wippersnapper_gps_GPGGAResponse_init_default, wippersnapper_gps_GPGGAResponse_init_default, wippersnapper_gps_GPGGAResponse_init_default, wippersnapper_gps_GPGGAResponse_init_default, wippersnapper_gps_GPGGAResponse_init_default}}
|
82 |
| -#define wippersnapper_gps_GPSConfig_init_zero {0, {"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""}, 0} |
| 83 | +#define wippersnapper_gps_GPSConfig_init_zero {0, {"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""}, {{NULL}, NULL}, 0} |
83 | 84 | #define wippersnapper_gps_GPSDateTime_init_zero {0, 0, 0, 0, 0, 0, 0}
|
84 | 85 | #define wippersnapper_gps_GPSRMCResponse_init_zero {false, wippersnapper_gps_GPSDateTime_init_zero, "", "", "", "", "", "", ""}
|
85 | 86 | #define wippersnapper_gps_GPGGAResponse_init_zero {false, wippersnapper_gps_GPSDateTime_init_zero, "", "", "", "", 0, 0, "", "", ""}
|
86 | 87 | #define wippersnapper_gps_GPSEvent_init_zero {0, {wippersnapper_gps_GPSRMCResponse_init_zero, wippersnapper_gps_GPSRMCResponse_init_zero, wippersnapper_gps_GPSRMCResponse_init_zero, wippersnapper_gps_GPSRMCResponse_init_zero, wippersnapper_gps_GPSRMCResponse_init_zero, wippersnapper_gps_GPSRMCResponse_init_zero, wippersnapper_gps_GPSRMCResponse_init_zero, wippersnapper_gps_GPSRMCResponse_init_zero, wippersnapper_gps_GPSRMCResponse_init_zero, wippersnapper_gps_GPSRMCResponse_init_zero}, 0, {wippersnapper_gps_GPGGAResponse_init_zero, wippersnapper_gps_GPGGAResponse_init_zero, wippersnapper_gps_GPGGAResponse_init_zero, wippersnapper_gps_GPGGAResponse_init_zero, wippersnapper_gps_GPGGAResponse_init_zero, wippersnapper_gps_GPGGAResponse_init_zero, wippersnapper_gps_GPGGAResponse_init_zero, wippersnapper_gps_GPGGAResponse_init_zero, wippersnapper_gps_GPGGAResponse_init_zero, wippersnapper_gps_GPGGAResponse_init_zero}}
|
87 | 88 |
|
88 | 89 | /* Field tags (for use in manual encoding/decoding) */
|
89 |
| -#define wippersnapper_gps_GPSConfig_commands_tag 1 |
90 |
| -#define wippersnapper_gps_GPSConfig_period_tag 2 |
| 90 | +#define wippersnapper_gps_GPSConfig_commands_pmtks_tag 1 |
| 91 | +#define wippersnapper_gps_GPSConfig_commands_ubxes_tag 2 |
| 92 | +#define wippersnapper_gps_GPSConfig_period_tag 3 |
91 | 93 | #define wippersnapper_gps_GPSDateTime_hour_tag 1
|
92 | 94 | #define wippersnapper_gps_GPSDateTime_minute_tag 2
|
93 | 95 | #define wippersnapper_gps_GPSDateTime_seconds_tag 3
|
@@ -118,9 +120,10 @@ extern "C" {
|
118 | 120 |
|
119 | 121 | /* Struct field encoding specification for nanopb */
|
120 | 122 | #define wippersnapper_gps_GPSConfig_FIELDLIST(X, a) \
|
121 |
| -X(a, STATIC, REPEATED, STRING, commands, 1) \ |
122 |
| -X(a, STATIC, SINGULAR, INT32, period, 2) |
123 |
| -#define wippersnapper_gps_GPSConfig_CALLBACK NULL |
| 123 | +X(a, STATIC, REPEATED, STRING, commands_pmtks, 1) \ |
| 124 | +X(a, CALLBACK, REPEATED, BYTES, commands_ubxes, 2) \ |
| 125 | +X(a, STATIC, SINGULAR, INT32, period, 3) |
| 126 | +#define wippersnapper_gps_GPSConfig_CALLBACK pb_default_field_callback |
124 | 127 | #define wippersnapper_gps_GPSConfig_DEFAULT NULL
|
125 | 128 |
|
126 | 129 | #define wippersnapper_gps_GPSDateTime_FIELDLIST(X, a) \
|
@@ -184,9 +187,9 @@ extern const pb_msgdesc_t wippersnapper_gps_GPSEvent_msg;
|
184 | 187 | #define wippersnapper_gps_GPSEvent_fields &wippersnapper_gps_GPSEvent_msg
|
185 | 188 |
|
186 | 189 | /* Maximum encoded size of messages (where known) */
|
| 190 | +/* wippersnapper_gps_GPSConfig_size depends on runtime parameters */ |
187 | 191 | #define WIPPERSNAPPER_GPS_GPS_PB_H_MAX_SIZE wippersnapper_gps_GPSEvent_size
|
188 | 192 | #define wippersnapper_gps_GPGGAResponse_size 168
|
189 |
| -#define wippersnapper_gps_GPSConfig_size 1467 |
190 | 193 | #define wippersnapper_gps_GPSDateTime_size 77
|
191 | 194 | #define wippersnapper_gps_GPSEvent_size 3130
|
192 | 195 | #define wippersnapper_gps_GPSRMCResponse_size 139
|
|
0 commit comments