2020-02-01 11:56:32 -08:00
|
|
|
/* Automatically generated nanopb header */
|
|
|
|
|
/* Generated by nanopb-0.4.0 */
|
|
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
#ifndef PB_MESH_PB_H_INCLUDED
|
|
|
|
|
#define PB_MESH_PB_H_INCLUDED
|
2020-02-01 11:56:32 -08:00
|
|
|
#include <pb.h>
|
|
|
|
|
|
|
|
|
|
#if PB_PROTO_HEADER_VERSION != 40
|
|
|
|
|
#error Regenerate this file with the current version of nanopb generator.
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/* Enum definitions */
|
2020-02-01 14:23:02 -08:00
|
|
|
typedef enum _Data_Type {
|
|
|
|
|
Data_Type_SIGNAL_OPAQUE = 0,
|
|
|
|
|
Data_Type_CLEAR_TEXT = 1,
|
|
|
|
|
Data_Type_CLEAR_READACK = 2
|
|
|
|
|
} Data_Type;
|
2020-02-01 11:56:32 -08:00
|
|
|
|
|
|
|
|
/* Struct definitions */
|
2020-02-01 14:23:02 -08:00
|
|
|
typedef struct _ToRadio_WantNodes {
|
2020-02-01 11:56:32 -08:00
|
|
|
char dummy_field;
|
2020-02-01 14:23:02 -08:00
|
|
|
} ToRadio_WantNodes;
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
typedef PB_BYTES_ARRAY_T(100) Data_payload_t;
|
|
|
|
|
typedef struct _Data {
|
|
|
|
|
Data_Type typ;
|
|
|
|
|
Data_payload_t payload;
|
|
|
|
|
} Data;
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
typedef struct _DenyNodeNum {
|
2020-02-01 12:32:35 -08:00
|
|
|
char macaddr[6];
|
2020-02-01 14:23:02 -08:00
|
|
|
} DenyNodeNum;
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-03 10:00:53 -08:00
|
|
|
typedef struct _MyNodeInfo {
|
|
|
|
|
int32_t my_node_num;
|
|
|
|
|
} MyNodeInfo;
|
|
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
typedef struct _Position {
|
2020-02-01 11:56:32 -08:00
|
|
|
double latitude;
|
|
|
|
|
double longitude;
|
|
|
|
|
int32_t altitude;
|
|
|
|
|
int32_t battery_level;
|
2020-02-01 14:23:02 -08:00
|
|
|
bool from_hardware;
|
|
|
|
|
} Position;
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
typedef struct _RadioConfig {
|
2020-02-03 10:00:53 -08:00
|
|
|
uint32_t position_broadcast_msec;
|
|
|
|
|
uint32_t min_broadcast_msec;
|
|
|
|
|
int32_t tx_power;
|
|
|
|
|
float center_freq;
|
|
|
|
|
uint32_t bandwidth;
|
|
|
|
|
int32_t spread_factor;
|
|
|
|
|
int32_t coding_rate;
|
2020-02-01 11:56:32 -08:00
|
|
|
bool keep_all_packets;
|
|
|
|
|
bool promiscuous_mode;
|
2020-02-01 14:23:02 -08:00
|
|
|
} RadioConfig;
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
typedef struct _Time {
|
2020-02-01 11:56:32 -08:00
|
|
|
uint64_t msecs;
|
2020-02-01 14:23:02 -08:00
|
|
|
} Time;
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
typedef struct _User {
|
2020-02-01 12:32:35 -08:00
|
|
|
char id[16];
|
|
|
|
|
char long_name[40];
|
|
|
|
|
char short_name[4];
|
|
|
|
|
char macaddr[6];
|
2020-02-01 14:23:02 -08:00
|
|
|
} User;
|
2020-02-01 12:32:35 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
typedef struct _WantNodeNum {
|
2020-02-01 11:56:32 -08:00
|
|
|
uint32_t desired_nodenum;
|
2020-02-01 12:32:35 -08:00
|
|
|
char macaddr[6];
|
2020-02-01 14:23:02 -08:00
|
|
|
} WantNodeNum;
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
typedef struct _NodeInfo {
|
2020-02-01 11:56:32 -08:00
|
|
|
int32_t num;
|
|
|
|
|
bool has_user;
|
2020-02-01 14:23:02 -08:00
|
|
|
User user;
|
2020-02-01 11:56:32 -08:00
|
|
|
bool has_position;
|
2020-02-01 14:23:02 -08:00
|
|
|
Position position;
|
2020-02-01 11:56:32 -08:00
|
|
|
bool has_last_seen;
|
2020-02-01 14:23:02 -08:00
|
|
|
Time last_seen;
|
2020-02-03 10:00:53 -08:00
|
|
|
int32_t rx_power;
|
2020-02-01 14:23:02 -08:00
|
|
|
} NodeInfo;
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
typedef struct _SubPacket {
|
2020-02-01 11:56:32 -08:00
|
|
|
pb_size_t which_variant;
|
|
|
|
|
union {
|
2020-02-01 14:23:02 -08:00
|
|
|
Position position;
|
|
|
|
|
Time time;
|
|
|
|
|
Data data;
|
|
|
|
|
User user;
|
|
|
|
|
WantNodeNum want_node;
|
|
|
|
|
DenyNodeNum deny_node;
|
2020-02-01 11:56:32 -08:00
|
|
|
} variant;
|
2020-02-01 14:23:02 -08:00
|
|
|
} SubPacket;
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
typedef struct _MeshPacket {
|
2020-02-01 12:32:35 -08:00
|
|
|
int32_t from;
|
|
|
|
|
int32_t to;
|
|
|
|
|
bool has_payload;
|
2020-02-02 09:59:00 -08:00
|
|
|
SubPacket payload;
|
2020-02-01 14:23:02 -08:00
|
|
|
} MeshPacket;
|
2020-02-01 12:32:35 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
typedef struct _DeviceState {
|
2020-02-01 12:32:35 -08:00
|
|
|
bool has_radio;
|
2020-02-01 14:23:02 -08:00
|
|
|
RadioConfig radio;
|
2020-02-01 12:32:35 -08:00
|
|
|
pb_size_t node_db_count;
|
2020-02-01 14:23:02 -08:00
|
|
|
NodeInfo node_db[32];
|
2020-02-01 12:32:35 -08:00
|
|
|
pb_size_t receive_queue_count;
|
2020-02-01 14:23:02 -08:00
|
|
|
MeshPacket receive_queue[32];
|
2020-02-01 12:32:35 -08:00
|
|
|
int32_t my_node_num;
|
2020-02-01 14:23:02 -08:00
|
|
|
} DeviceState;
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
typedef struct _FromRadio {
|
2020-02-01 11:56:32 -08:00
|
|
|
uint32_t num;
|
|
|
|
|
pb_size_t which_variant;
|
|
|
|
|
union {
|
2020-02-01 14:23:02 -08:00
|
|
|
MeshPacket packet;
|
2020-02-01 11:56:32 -08:00
|
|
|
} variant;
|
2020-02-01 14:23:02 -08:00
|
|
|
} FromRadio;
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
typedef struct _ToRadio {
|
2020-02-01 12:32:35 -08:00
|
|
|
pb_size_t which_variant;
|
|
|
|
|
union {
|
2020-02-01 14:23:02 -08:00
|
|
|
MeshPacket packet;
|
|
|
|
|
ToRadio_WantNodes want_nodes;
|
|
|
|
|
RadioConfig set_radio;
|
|
|
|
|
User set_owner;
|
2020-02-01 12:32:35 -08:00
|
|
|
} variant;
|
2020-02-01 14:23:02 -08:00
|
|
|
} ToRadio;
|
2020-02-01 12:32:35 -08:00
|
|
|
|
2020-02-01 11:56:32 -08:00
|
|
|
|
|
|
|
|
/* Helper constants for enums */
|
2020-02-01 14:23:02 -08:00
|
|
|
#define _Data_Type_MIN Data_Type_SIGNAL_OPAQUE
|
|
|
|
|
#define _Data_Type_MAX Data_Type_CLEAR_READACK
|
|
|
|
|
#define _Data_Type_ARRAYSIZE ((Data_Type)(Data_Type_CLEAR_READACK+1))
|
2020-02-01 11:56:32 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Initializer values for message structs */
|
2020-02-01 14:23:02 -08:00
|
|
|
#define Position_init_default {0, 0, 0, 0, 0}
|
|
|
|
|
#define Time_init_default {0}
|
|
|
|
|
#define Data_init_default {_Data_Type_MIN, {0, {0}}}
|
|
|
|
|
#define User_init_default {"", "", "", ""}
|
|
|
|
|
#define WantNodeNum_init_default {0, ""}
|
|
|
|
|
#define DenyNodeNum_init_default {""}
|
|
|
|
|
#define SubPacket_init_default {0, {Position_init_default}}
|
2020-02-02 09:59:00 -08:00
|
|
|
#define MeshPacket_init_default {0, 0, false, SubPacket_init_default}
|
2020-02-03 10:00:53 -08:00
|
|
|
#define RadioConfig_init_default {0, 0, 0, 0, 0, 0, 0, 0, 0}
|
|
|
|
|
#define NodeInfo_init_default {0, false, User_init_default, false, Position_init_default, false, Time_init_default, 0}
|
2020-02-01 14:23:02 -08:00
|
|
|
#define DeviceState_init_default {false, RadioConfig_init_default, 0, {NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default}, 0, {MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default, MeshPacket_init_default}, 0}
|
2020-02-03 10:00:53 -08:00
|
|
|
#define MyNodeInfo_init_default {0}
|
2020-02-01 14:23:02 -08:00
|
|
|
#define FromRadio_init_default {0, 0, {MeshPacket_init_default}}
|
|
|
|
|
#define ToRadio_init_default {0, {MeshPacket_init_default}}
|
|
|
|
|
#define ToRadio_WantNodes_init_default {0}
|
|
|
|
|
#define Position_init_zero {0, 0, 0, 0, 0}
|
|
|
|
|
#define Time_init_zero {0}
|
|
|
|
|
#define Data_init_zero {_Data_Type_MIN, {0, {0}}}
|
|
|
|
|
#define User_init_zero {"", "", "", ""}
|
|
|
|
|
#define WantNodeNum_init_zero {0, ""}
|
|
|
|
|
#define DenyNodeNum_init_zero {""}
|
|
|
|
|
#define SubPacket_init_zero {0, {Position_init_zero}}
|
2020-02-02 09:59:00 -08:00
|
|
|
#define MeshPacket_init_zero {0, 0, false, SubPacket_init_zero}
|
2020-02-03 10:00:53 -08:00
|
|
|
#define RadioConfig_init_zero {0, 0, 0, 0, 0, 0, 0, 0, 0}
|
|
|
|
|
#define NodeInfo_init_zero {0, false, User_init_zero, false, Position_init_zero, false, Time_init_zero, 0}
|
2020-02-01 14:23:02 -08:00
|
|
|
#define DeviceState_init_zero {false, RadioConfig_init_zero, 0, {NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero}, 0, {MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero, MeshPacket_init_zero}, 0}
|
2020-02-03 10:00:53 -08:00
|
|
|
#define MyNodeInfo_init_zero {0}
|
2020-02-01 14:23:02 -08:00
|
|
|
#define FromRadio_init_zero {0, 0, {MeshPacket_init_zero}}
|
|
|
|
|
#define ToRadio_init_zero {0, {MeshPacket_init_zero}}
|
|
|
|
|
#define ToRadio_WantNodes_init_zero {0}
|
2020-02-01 11:56:32 -08:00
|
|
|
|
|
|
|
|
/* Field tags (for use in manual encoding/decoding) */
|
2020-02-01 14:23:02 -08:00
|
|
|
#define Data_typ_tag 1
|
|
|
|
|
#define Data_payload_tag 2
|
|
|
|
|
#define DenyNodeNum_macaddr_tag 1
|
2020-02-03 10:00:53 -08:00
|
|
|
#define MyNodeInfo_my_node_num_tag 1
|
2020-02-01 14:23:02 -08:00
|
|
|
#define Position_latitude_tag 1
|
|
|
|
|
#define Position_longitude_tag 2
|
|
|
|
|
#define Position_altitude_tag 3
|
|
|
|
|
#define Position_battery_level_tag 4
|
|
|
|
|
#define Position_from_hardware_tag 5
|
2020-02-03 10:00:53 -08:00
|
|
|
#define RadioConfig_position_broadcast_msec_tag 1
|
|
|
|
|
#define RadioConfig_min_broadcast_msec_tag 2
|
|
|
|
|
#define RadioConfig_tx_power_tag 3
|
|
|
|
|
#define RadioConfig_center_freq_tag 4
|
|
|
|
|
#define RadioConfig_bandwidth_tag 5
|
|
|
|
|
#define RadioConfig_spread_factor_tag 6
|
|
|
|
|
#define RadioConfig_coding_rate_tag 7
|
2020-02-01 14:23:02 -08:00
|
|
|
#define RadioConfig_keep_all_packets_tag 100
|
|
|
|
|
#define RadioConfig_promiscuous_mode_tag 101
|
|
|
|
|
#define Time_msecs_tag 1
|
|
|
|
|
#define User_id_tag 1
|
|
|
|
|
#define User_long_name_tag 2
|
|
|
|
|
#define User_short_name_tag 3
|
|
|
|
|
#define User_macaddr_tag 4
|
|
|
|
|
#define WantNodeNum_desired_nodenum_tag 1
|
|
|
|
|
#define WantNodeNum_macaddr_tag 2
|
|
|
|
|
#define NodeInfo_num_tag 1
|
|
|
|
|
#define NodeInfo_user_tag 2
|
|
|
|
|
#define NodeInfo_position_tag 4
|
|
|
|
|
#define NodeInfo_last_seen_tag 5
|
2020-02-03 10:00:53 -08:00
|
|
|
#define NodeInfo_rx_power_tag 6
|
2020-02-01 14:23:02 -08:00
|
|
|
#define SubPacket_position_tag 1
|
|
|
|
|
#define SubPacket_time_tag 2
|
|
|
|
|
#define SubPacket_data_tag 3
|
|
|
|
|
#define SubPacket_user_tag 4
|
|
|
|
|
#define SubPacket_want_node_tag 5
|
|
|
|
|
#define SubPacket_deny_node_tag 6
|
|
|
|
|
#define MeshPacket_from_tag 1
|
|
|
|
|
#define MeshPacket_to_tag 2
|
|
|
|
|
#define MeshPacket_payload_tag 3
|
|
|
|
|
#define DeviceState_radio_tag 1
|
|
|
|
|
#define DeviceState_node_db_tag 2
|
|
|
|
|
#define DeviceState_receive_queue_tag 3
|
|
|
|
|
#define DeviceState_my_node_num_tag 4
|
|
|
|
|
#define FromRadio_packet_tag 2
|
|
|
|
|
#define FromRadio_num_tag 1
|
|
|
|
|
#define ToRadio_packet_tag 1
|
|
|
|
|
#define ToRadio_want_nodes_tag 100
|
|
|
|
|
#define ToRadio_set_radio_tag 101
|
|
|
|
|
#define ToRadio_set_owner_tag 102
|
2020-02-01 11:56:32 -08:00
|
|
|
|
|
|
|
|
/* Struct field encoding specification for nanopb */
|
2020-02-01 14:23:02 -08:00
|
|
|
#define Position_FIELDLIST(X, a) \
|
2020-02-01 11:56:32 -08:00
|
|
|
X(a, STATIC, SINGULAR, DOUBLE, latitude, 1) \
|
|
|
|
|
X(a, STATIC, SINGULAR, DOUBLE, longitude, 2) \
|
|
|
|
|
X(a, STATIC, SINGULAR, INT32, altitude, 3) \
|
2020-02-01 14:23:02 -08:00
|
|
|
X(a, STATIC, SINGULAR, INT32, battery_level, 4) \
|
|
|
|
|
X(a, STATIC, SINGULAR, BOOL, from_hardware, 5)
|
|
|
|
|
#define Position_CALLBACK NULL
|
|
|
|
|
#define Position_DEFAULT NULL
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
#define Time_FIELDLIST(X, a) \
|
2020-02-01 11:56:32 -08:00
|
|
|
X(a, STATIC, SINGULAR, UINT64, msecs, 1)
|
2020-02-01 14:23:02 -08:00
|
|
|
#define Time_CALLBACK NULL
|
|
|
|
|
#define Time_DEFAULT NULL
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
#define Data_FIELDLIST(X, a) \
|
2020-02-01 11:56:32 -08:00
|
|
|
X(a, STATIC, SINGULAR, UENUM, typ, 1) \
|
2020-02-01 12:32:35 -08:00
|
|
|
X(a, STATIC, SINGULAR, BYTES, payload, 2)
|
2020-02-01 14:23:02 -08:00
|
|
|
#define Data_CALLBACK NULL
|
|
|
|
|
#define Data_DEFAULT NULL
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
#define User_FIELDLIST(X, a) \
|
2020-02-01 12:32:35 -08:00
|
|
|
X(a, STATIC, SINGULAR, STRING, id, 1) \
|
|
|
|
|
X(a, STATIC, SINGULAR, STRING, long_name, 2) \
|
|
|
|
|
X(a, STATIC, SINGULAR, STRING, short_name, 3) \
|
|
|
|
|
X(a, STATIC, SINGULAR, STRING, macaddr, 4)
|
2020-02-01 14:23:02 -08:00
|
|
|
#define User_CALLBACK NULL
|
|
|
|
|
#define User_DEFAULT NULL
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
#define WantNodeNum_FIELDLIST(X, a) \
|
2020-02-01 11:56:32 -08:00
|
|
|
X(a, STATIC, SINGULAR, UINT32, desired_nodenum, 1) \
|
2020-02-01 12:32:35 -08:00
|
|
|
X(a, STATIC, SINGULAR, STRING, macaddr, 2)
|
2020-02-01 14:23:02 -08:00
|
|
|
#define WantNodeNum_CALLBACK NULL
|
|
|
|
|
#define WantNodeNum_DEFAULT NULL
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
#define DenyNodeNum_FIELDLIST(X, a) \
|
2020-02-01 12:32:35 -08:00
|
|
|
X(a, STATIC, SINGULAR, STRING, macaddr, 1)
|
2020-02-01 14:23:02 -08:00
|
|
|
#define DenyNodeNum_CALLBACK NULL
|
|
|
|
|
#define DenyNodeNum_DEFAULT NULL
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
#define SubPacket_FIELDLIST(X, a) \
|
2020-02-01 11:56:32 -08:00
|
|
|
X(a, STATIC, ONEOF, MESSAGE, (variant,position,variant.position), 1) \
|
|
|
|
|
X(a, STATIC, ONEOF, MESSAGE, (variant,time,variant.time), 2) \
|
|
|
|
|
X(a, STATIC, ONEOF, MESSAGE, (variant,data,variant.data), 3) \
|
|
|
|
|
X(a, STATIC, ONEOF, MESSAGE, (variant,user,variant.user), 4) \
|
|
|
|
|
X(a, STATIC, ONEOF, MESSAGE, (variant,want_node,variant.want_node), 5) \
|
|
|
|
|
X(a, STATIC, ONEOF, MESSAGE, (variant,deny_node,variant.deny_node), 6)
|
2020-02-01 14:23:02 -08:00
|
|
|
#define SubPacket_CALLBACK NULL
|
|
|
|
|
#define SubPacket_DEFAULT NULL
|
|
|
|
|
#define SubPacket_variant_position_MSGTYPE Position
|
|
|
|
|
#define SubPacket_variant_time_MSGTYPE Time
|
|
|
|
|
#define SubPacket_variant_data_MSGTYPE Data
|
|
|
|
|
#define SubPacket_variant_user_MSGTYPE User
|
|
|
|
|
#define SubPacket_variant_want_node_MSGTYPE WantNodeNum
|
|
|
|
|
#define SubPacket_variant_deny_node_MSGTYPE DenyNodeNum
|
|
|
|
|
|
|
|
|
|
#define MeshPacket_FIELDLIST(X, a) \
|
2020-02-01 11:56:32 -08:00
|
|
|
X(a, STATIC, SINGULAR, INT32, from, 1) \
|
|
|
|
|
X(a, STATIC, SINGULAR, INT32, to, 2) \
|
|
|
|
|
X(a, STATIC, OPTIONAL, MESSAGE, payload, 3)
|
2020-02-01 14:23:02 -08:00
|
|
|
#define MeshPacket_CALLBACK NULL
|
|
|
|
|
#define MeshPacket_DEFAULT NULL
|
2020-02-02 09:59:00 -08:00
|
|
|
#define MeshPacket_payload_MSGTYPE SubPacket
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
#define RadioConfig_FIELDLIST(X, a) \
|
2020-02-03 10:00:53 -08:00
|
|
|
X(a, STATIC, SINGULAR, UINT32, position_broadcast_msec, 1) \
|
|
|
|
|
X(a, STATIC, SINGULAR, UINT32, min_broadcast_msec, 2) \
|
|
|
|
|
X(a, STATIC, SINGULAR, INT32, tx_power, 3) \
|
|
|
|
|
X(a, STATIC, SINGULAR, FLOAT, center_freq, 4) \
|
|
|
|
|
X(a, STATIC, SINGULAR, UINT32, bandwidth, 5) \
|
|
|
|
|
X(a, STATIC, SINGULAR, INT32, spread_factor, 6) \
|
|
|
|
|
X(a, STATIC, SINGULAR, INT32, coding_rate, 7) \
|
2020-02-01 11:56:32 -08:00
|
|
|
X(a, STATIC, SINGULAR, BOOL, keep_all_packets, 100) \
|
|
|
|
|
X(a, STATIC, SINGULAR, BOOL, promiscuous_mode, 101)
|
2020-02-01 14:23:02 -08:00
|
|
|
#define RadioConfig_CALLBACK NULL
|
|
|
|
|
#define RadioConfig_DEFAULT NULL
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
#define NodeInfo_FIELDLIST(X, a) \
|
2020-02-01 11:56:32 -08:00
|
|
|
X(a, STATIC, SINGULAR, INT32, num, 1) \
|
|
|
|
|
X(a, STATIC, OPTIONAL, MESSAGE, user, 2) \
|
|
|
|
|
X(a, STATIC, OPTIONAL, MESSAGE, position, 4) \
|
2020-02-03 10:00:53 -08:00
|
|
|
X(a, STATIC, OPTIONAL, MESSAGE, last_seen, 5) \
|
|
|
|
|
X(a, STATIC, SINGULAR, INT32, rx_power, 6)
|
2020-02-01 14:23:02 -08:00
|
|
|
#define NodeInfo_CALLBACK NULL
|
|
|
|
|
#define NodeInfo_DEFAULT NULL
|
|
|
|
|
#define NodeInfo_user_MSGTYPE User
|
|
|
|
|
#define NodeInfo_position_MSGTYPE Position
|
|
|
|
|
#define NodeInfo_last_seen_MSGTYPE Time
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
#define DeviceState_FIELDLIST(X, a) \
|
2020-02-01 11:56:32 -08:00
|
|
|
X(a, STATIC, OPTIONAL, MESSAGE, radio, 1) \
|
2020-02-01 12:32:35 -08:00
|
|
|
X(a, STATIC, REPEATED, MESSAGE, node_db, 2) \
|
|
|
|
|
X(a, STATIC, REPEATED, MESSAGE, receive_queue, 3) \
|
2020-02-03 10:00:53 -08:00
|
|
|
X(a, STATIC, SINGULAR, INT32, my_node_num, 4)
|
2020-02-01 14:23:02 -08:00
|
|
|
#define DeviceState_CALLBACK NULL
|
|
|
|
|
#define DeviceState_DEFAULT NULL
|
|
|
|
|
#define DeviceState_radio_MSGTYPE RadioConfig
|
|
|
|
|
#define DeviceState_node_db_MSGTYPE NodeInfo
|
|
|
|
|
#define DeviceState_receive_queue_MSGTYPE MeshPacket
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-03 10:00:53 -08:00
|
|
|
#define MyNodeInfo_FIELDLIST(X, a) \
|
|
|
|
|
X(a, STATIC, SINGULAR, INT32, my_node_num, 1)
|
|
|
|
|
#define MyNodeInfo_CALLBACK NULL
|
|
|
|
|
#define MyNodeInfo_DEFAULT NULL
|
|
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
#define FromRadio_FIELDLIST(X, a) \
|
2020-02-01 11:56:32 -08:00
|
|
|
X(a, STATIC, SINGULAR, UINT32, num, 1) \
|
2020-02-03 10:00:53 -08:00
|
|
|
X(a, STATIC, ONEOF, MESSAGE, (variant,packet,variant.packet), 2)
|
2020-02-01 14:23:02 -08:00
|
|
|
#define FromRadio_CALLBACK NULL
|
|
|
|
|
#define FromRadio_DEFAULT NULL
|
|
|
|
|
#define FromRadio_variant_packet_MSGTYPE MeshPacket
|
2020-02-01 11:56:32 -08:00
|
|
|
|
2020-02-01 14:23:02 -08:00
|
|
|
#define ToRadio_FIELDLIST(X, a) \
|
2020-02-01 11:56:32 -08:00
|
|
|
X(a, STATIC, ONEOF, MESSAGE, (variant,packet,variant.packet), 1) \
|
|
|
|
|
X(a, STATIC, ONEOF, MESSAGE, (variant,want_nodes,variant.want_nodes), 100) \
|
|
|
|
|
X(a, STATIC, ONEOF, MESSAGE, (variant,set_radio,variant.set_radio), 101) \
|
|
|
|
|
X(a, STATIC, ONEOF, MESSAGE, (variant,set_owner,variant.set_owner), 102)
|
2020-02-01 14:23:02 -08:00
|
|
|
#define ToRadio_CALLBACK NULL
|
|
|
|
|
#define ToRadio_DEFAULT NULL
|
|
|
|
|
#define ToRadio_variant_packet_MSGTYPE MeshPacket
|
|
|
|
|
#define ToRadio_variant_want_nodes_MSGTYPE ToRadio_WantNodes
|
|
|
|
|
#define ToRadio_variant_set_radio_MSGTYPE RadioConfig
|
|
|
|
|
#define ToRadio_variant_set_owner_MSGTYPE User
|
|
|
|
|
|
|
|
|
|
#define ToRadio_WantNodes_FIELDLIST(X, a) \
|
|
|
|
|
|
|
|
|
|
#define ToRadio_WantNodes_CALLBACK NULL
|
|
|
|
|
#define ToRadio_WantNodes_DEFAULT NULL
|
|
|
|
|
|
|
|
|
|
extern const pb_msgdesc_t Position_msg;
|
|
|
|
|
extern const pb_msgdesc_t Time_msg;
|
|
|
|
|
extern const pb_msgdesc_t Data_msg;
|
|
|
|
|
extern const pb_msgdesc_t User_msg;
|
|
|
|
|
extern const pb_msgdesc_t WantNodeNum_msg;
|
|
|
|
|
extern const pb_msgdesc_t DenyNodeNum_msg;
|
|
|
|
|
extern const pb_msgdesc_t SubPacket_msg;
|
|
|
|
|
extern const pb_msgdesc_t MeshPacket_msg;
|
|
|
|
|
extern const pb_msgdesc_t RadioConfig_msg;
|
|
|
|
|
extern const pb_msgdesc_t NodeInfo_msg;
|
|
|
|
|
extern const pb_msgdesc_t DeviceState_msg;
|
2020-02-03 10:00:53 -08:00
|
|
|
extern const pb_msgdesc_t MyNodeInfo_msg;
|
2020-02-01 14:23:02 -08:00
|
|
|
extern const pb_msgdesc_t FromRadio_msg;
|
|
|
|
|
extern const pb_msgdesc_t ToRadio_msg;
|
|
|
|
|
extern const pb_msgdesc_t ToRadio_WantNodes_msg;
|
2020-02-01 11:56:32 -08:00
|
|
|
|
|
|
|
|
/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
|
2020-02-01 14:23:02 -08:00
|
|
|
#define Position_fields &Position_msg
|
|
|
|
|
#define Time_fields &Time_msg
|
|
|
|
|
#define Data_fields &Data_msg
|
|
|
|
|
#define User_fields &User_msg
|
|
|
|
|
#define WantNodeNum_fields &WantNodeNum_msg
|
|
|
|
|
#define DenyNodeNum_fields &DenyNodeNum_msg
|
|
|
|
|
#define SubPacket_fields &SubPacket_msg
|
|
|
|
|
#define MeshPacket_fields &MeshPacket_msg
|
|
|
|
|
#define RadioConfig_fields &RadioConfig_msg
|
|
|
|
|
#define NodeInfo_fields &NodeInfo_msg
|
|
|
|
|
#define DeviceState_fields &DeviceState_msg
|
2020-02-03 10:00:53 -08:00
|
|
|
#define MyNodeInfo_fields &MyNodeInfo_msg
|
2020-02-01 14:23:02 -08:00
|
|
|
#define FromRadio_fields &FromRadio_msg
|
|
|
|
|
#define ToRadio_fields &ToRadio_msg
|
|
|
|
|
#define ToRadio_WantNodes_fields &ToRadio_WantNodes_msg
|
2020-02-01 11:56:32 -08:00
|
|
|
|
|
|
|
|
/* Maximum encoded size of messages (where known) */
|
2020-02-01 14:23:02 -08:00
|
|
|
#define Position_size 42
|
|
|
|
|
#define Time_size 11
|
|
|
|
|
#define Data_size 104
|
|
|
|
|
#define User_size 70
|
|
|
|
|
#define WantNodeNum_size 13
|
|
|
|
|
#define DenyNodeNum_size 7
|
|
|
|
|
#define SubPacket_size 106
|
2020-02-02 09:59:00 -08:00
|
|
|
#define MeshPacket_size 130
|
2020-02-03 10:00:53 -08:00
|
|
|
#define RadioConfig_size 62
|
|
|
|
|
#define NodeInfo_size 151
|
|
|
|
|
#define DeviceState_size 9259
|
|
|
|
|
#define MyNodeInfo_size 11
|
|
|
|
|
#define FromRadio_size 139
|
2020-02-02 09:59:00 -08:00
|
|
|
#define ToRadio_size 133
|
2020-02-01 14:23:02 -08:00
|
|
|
#define ToRadio_WantNodes_size 0
|
2020-02-01 11:56:32 -08:00
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
} /* extern "C" */
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#endif
|