MRAS
Multi Rocket Avionics System
Loading...
Searching...
No Matches
telemetry.pb.h
1/* Automatically generated nanopb header */
2/* Generated by nanopb-0.4.7 */
3
4#ifndef PB_TELEMETRY_PB_H_INCLUDED
5#define PB_TELEMETRY_PB_H_INCLUDED
6#include <pb.h>
7
8#if PB_PROTO_HEADER_VERSION != 40
9#error Regenerate this file with the current version of nanopb generator.
10#endif
11
12/* Enum definitions */
13typedef enum _Command {
14 Command_START_TRANSFER_WINDOW = 0,
15 Command_ARM = 1,
16 Command_DISARM = 2,
17 Command_WIPE_FLASH_MEMORY = 3
18} Command;
19
20/* Struct definitions */
21typedef struct _Heartbeat {
22 uint64_t timestamp;
23} Heartbeat;
24
25typedef struct _BasicSensorData {
26 uint64_t timestamp;
27 float temperature;
28 float pressure;
29 float latitude;
30 float longitude;
32
33typedef struct _CommandMessage {
34 Command command;
36
37typedef struct _TelemetryMessage {
38 pb_size_t which_message;
39 union {
40 Heartbeat heartbeat;
41 BasicSensorData basicSensorData;
42 CommandMessage command;
43 } message;
45
46
47#ifdef __cplusplus
48extern "C" {
49#endif
50
51/* Helper constants for enums */
52#define _Command_MIN Command_START_TRANSFER_WINDOW
53#define _Command_MAX Command_WIPE_FLASH_MEMORY
54#define _Command_ARRAYSIZE ((Command)(Command_WIPE_FLASH_MEMORY+1))
55
56
57
58#define CommandMessage_command_ENUMTYPE Command
59
60
61
62/* Initializer values for message structs */
63#define Heartbeat_init_default {0}
64#define BasicSensorData_init_default {0, 0, 0, 0, 0}
65#define CommandMessage_init_default {_Command_MIN}
66#define TelemetryMessage_init_default {0, {Heartbeat_init_default}}
67#define Heartbeat_init_zero {0}
68#define BasicSensorData_init_zero {0, 0, 0, 0, 0}
69#define CommandMessage_init_zero {_Command_MIN}
70#define TelemetryMessage_init_zero {0, {Heartbeat_init_zero}}
71
72/* Field tags (for use in manual encoding/decoding) */
73#define Heartbeat_timestamp_tag 1
74#define BasicSensorData_timestamp_tag 1
75#define BasicSensorData_temperature_tag 2
76#define BasicSensorData_pressure_tag 4
77#define BasicSensorData_latitude_tag 5
78#define BasicSensorData_longitude_tag 6
79#define CommandMessage_command_tag 1
80#define TelemetryMessage_heartbeat_tag 2
81#define TelemetryMessage_basicSensorData_tag 3
82#define TelemetryMessage_command_tag 4
83
84/* Struct field encoding specification for nanopb */
85#define Heartbeat_FIELDLIST(X, a) \
86X(a, STATIC, SINGULAR, UINT64, timestamp, 1)
87#define Heartbeat_CALLBACK NULL
88#define Heartbeat_DEFAULT NULL
89
90#define BasicSensorData_FIELDLIST(X, a) \
91X(a, STATIC, SINGULAR, UINT64, timestamp, 1) \
92X(a, STATIC, SINGULAR, FLOAT, temperature, 2) \
93X(a, STATIC, SINGULAR, FLOAT, pressure, 4) \
94X(a, STATIC, SINGULAR, FLOAT, latitude, 5) \
95X(a, STATIC, SINGULAR, FLOAT, longitude, 6)
96#define BasicSensorData_CALLBACK NULL
97#define BasicSensorData_DEFAULT NULL
98
99#define CommandMessage_FIELDLIST(X, a) \
100X(a, STATIC, SINGULAR, UENUM, command, 1)
101#define CommandMessage_CALLBACK NULL
102#define CommandMessage_DEFAULT NULL
103
104#define TelemetryMessage_FIELDLIST(X, a) \
105X(a, STATIC, ONEOF, MESSAGE, (message,heartbeat,message.heartbeat), 2) \
106X(a, STATIC, ONEOF, MESSAGE, (message,basicSensorData,message.basicSensorData), 3) \
107X(a, STATIC, ONEOF, MESSAGE, (message,command,message.command), 4)
108#define TelemetryMessage_CALLBACK NULL
109#define TelemetryMessage_DEFAULT NULL
110#define TelemetryMessage_message_heartbeat_MSGTYPE Heartbeat
111#define TelemetryMessage_message_basicSensorData_MSGTYPE BasicSensorData
112#define TelemetryMessage_message_command_MSGTYPE CommandMessage
113
114extern const pb_msgdesc_t Heartbeat_msg;
115extern const pb_msgdesc_t BasicSensorData_msg;
116extern const pb_msgdesc_t CommandMessage_msg;
117extern const pb_msgdesc_t TelemetryMessage_msg;
118
119/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
120#define Heartbeat_fields &Heartbeat_msg
121#define BasicSensorData_fields &BasicSensorData_msg
122#define CommandMessage_fields &CommandMessage_msg
123#define TelemetryMessage_fields &TelemetryMessage_msg
124
125/* Maximum encoded size of messages (where known) */
126#define BasicSensorData_size 31
127#define CommandMessage_size 2
128#define Heartbeat_size 11
129#define TelemetryMessage_size 33
130
131#ifdef __cplusplus
132} /* extern "C" */
133#endif
134
135#endif
A base class for all telemetry messages.
Definition: TelemetryMessage.h:39
Definition: telemetry.pb.h:25
Definition: telemetry.pb.h:33
Definition: telemetry.pb.h:21
Definition: telemetry.pb.h:37