This commit is contained in:
geeksville
2020-05-23 15:48:23 -07:00
parent e89fe2f7d9
commit fb3b62f8f0
9 changed files with 117 additions and 37 deletions

View File

@@ -14,6 +14,12 @@ extern "C" {
#endif
/* Enum definitions */
typedef enum _RouteError {
RouteError_NONE = 0,
RouteError_NO_ROUTE = 1,
RouteError_GOT_NAK = 2
} RouteError;
typedef enum _Constants {
Constants_Unused = 0
} Constants;
@@ -130,8 +136,9 @@ typedef struct _SubPacket {
Position position;
Data data;
User user;
RouteDiscovery request;
RouteDiscovery reply;
RouteDiscovery route_request;
RouteDiscovery route_reply;
RouteError route_error;
};
bool want_response;
uint32_t dest;
@@ -140,6 +147,7 @@ typedef struct _SubPacket {
uint32_t success_id;
uint32_t fail_id;
} ack;
uint32_t source;
} SubPacket;
typedef PB_BYTES_ARRAY_T(256) MeshPacket_encrypted_t;
@@ -200,6 +208,10 @@ typedef struct _ToRadio {
/* Helper constants for enums */
#define _RouteError_MIN RouteError_NONE
#define _RouteError_MAX RouteError_GOT_NAK
#define _RouteError_ARRAYSIZE ((RouteError)(RouteError_GOT_NAK+1))
#define _Constants_MIN Constants_Unused
#define _Constants_MAX Constants_Unused
#define _Constants_ARRAYSIZE ((Constants)(Constants_Unused+1))
@@ -218,7 +230,7 @@ typedef struct _ToRadio {
#define Data_init_default {_Data_Type_MIN, {0, {0}}}
#define User_init_default {"", "", "", {0}}
#define RouteDiscovery_init_default {0, {0, 0, 0, 0, 0, 0, 0, 0}}
#define SubPacket_init_default {0, {Position_init_default}, 0, 0, 0, {0}}
#define SubPacket_init_default {0, {Position_init_default}, 0, 0, 0, {0}, 0}
#define MeshPacket_init_default {0, 0, 0, {SubPacket_init_default}, 0, 0, 0, 0, 0}
#define ChannelSettings_init_default {0, _ChannelSettings_ModemConfig_MIN, {0, {0}}, ""}
#define RadioConfig_init_default {false, RadioConfig_UserPreferences_init_default, false, ChannelSettings_init_default}
@@ -234,7 +246,7 @@ typedef struct _ToRadio {
#define Data_init_zero {_Data_Type_MIN, {0, {0}}}
#define User_init_zero {"", "", "", {0}}
#define RouteDiscovery_init_zero {0, {0, 0, 0, 0, 0, 0, 0, 0}}
#define SubPacket_init_zero {0, {Position_init_zero}, 0, 0, 0, {0}}
#define SubPacket_init_zero {0, {Position_init_zero}, 0, 0, 0, {0}, 0}
#define MeshPacket_init_zero {0, 0, 0, {SubPacket_init_zero}, 0, 0, 0, 0, 0}
#define ChannelSettings_init_zero {0, _ChannelSettings_ModemConfig_MIN, {0, {0}}, ""}
#define RadioConfig_init_zero {false, RadioConfig_UserPreferences_init_zero, false, ChannelSettings_init_zero}
@@ -302,12 +314,14 @@ typedef struct _ToRadio {
#define SubPacket_position_tag 1
#define SubPacket_data_tag 3
#define SubPacket_user_tag 4
#define SubPacket_request_tag 6
#define SubPacket_reply_tag 7
#define SubPacket_route_request_tag 6
#define SubPacket_route_reply_tag 7
#define SubPacket_route_error_tag 13
#define SubPacket_success_id_tag 10
#define SubPacket_fail_id_tag 11
#define SubPacket_want_response_tag 5
#define SubPacket_dest_tag 9
#define SubPacket_source_tag 12
#define MeshPacket_decoded_tag 3
#define MeshPacket_encrypted_tag 8
#define MeshPacket_from_tag 1
@@ -370,19 +384,21 @@ X(a, STATIC, REPEATED, INT32, route, 2)
X(a, STATIC, ONEOF, MESSAGE, (payload,position,position), 1) \
X(a, STATIC, ONEOF, MESSAGE, (payload,data,data), 3) \
X(a, STATIC, ONEOF, MESSAGE, (payload,user,user), 4) \
X(a, STATIC, ONEOF, MESSAGE, (payload,request,request), 6) \
X(a, STATIC, ONEOF, MESSAGE, (payload,reply,reply), 7) \
X(a, STATIC, ONEOF, MESSAGE, (payload,route_request,route_request), 6) \
X(a, STATIC, ONEOF, MESSAGE, (payload,route_reply,route_reply), 7) \
X(a, STATIC, ONEOF, ENUM, (payload,route_error,route_error), 13) \
X(a, STATIC, SINGULAR, BOOL, want_response, 5) \
X(a, STATIC, SINGULAR, UINT32, dest, 9) \
X(a, STATIC, ONEOF, UINT32, (ack,success_id,ack.success_id), 10) \
X(a, STATIC, ONEOF, UINT32, (ack,fail_id,ack.fail_id), 11)
X(a, STATIC, ONEOF, UINT32, (ack,fail_id,ack.fail_id), 11) \
X(a, STATIC, SINGULAR, UINT32, source, 12)
#define SubPacket_CALLBACK NULL
#define SubPacket_DEFAULT NULL
#define SubPacket_payload_position_MSGTYPE Position
#define SubPacket_payload_data_MSGTYPE Data
#define SubPacket_payload_user_MSGTYPE User
#define SubPacket_payload_request_MSGTYPE RouteDiscovery
#define SubPacket_payload_reply_MSGTYPE RouteDiscovery
#define SubPacket_payload_route_request_MSGTYPE RouteDiscovery
#define SubPacket_payload_route_reply_MSGTYPE RouteDiscovery
#define MeshPacket_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, from, 1) \
@@ -554,17 +570,17 @@ extern const pb_msgdesc_t ManufacturingData_msg;
#define Data_size 256
#define User_size 72
#define RouteDiscovery_size 88
#define SubPacket_size 273
#define MeshPacket_size 312
#define SubPacket_size 279
#define MeshPacket_size 318
#define ChannelSettings_size 60
#define RadioConfig_size 157
#define RadioConfig_UserPreferences_size 93
#define NodeInfo_size 132
#define MyNodeInfo_size 80
#define DeviceState_size 15037
#define DeviceState_size 15235
#define DebugString_size 258
#define FromRadio_size 321
#define ToRadio_size 315
#define FromRadio_size 327
#define ToRadio_size 321
/* ManufacturingData_size depends on runtime parameters */
#ifdef __cplusplus