2020-02-03 17:13:19 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "mesh.pb.h"
|
|
|
|
|
|
|
|
// this file defines constants which come from mesh.options
|
|
|
|
|
|
|
|
// Tricky macro to let you find the sizeof a type member
|
|
|
|
#define member_size(type, member) sizeof(((type *)0)->member)
|
|
|
|
|
|
|
|
/// max number of packets which can be waiting for delivery to android - note, this value comes from mesh.options protobuf
|
|
|
|
#define MAX_RX_TOPHONE (member_size(DeviceState, receive_queue) / member_size(DeviceState, receive_queue[0]))
|
|
|
|
|
|
|
|
/// max number of nodes allowed in the mesh
|
|
|
|
#define MAX_NUM_NODES (member_size(DeviceState, node_db) / member_size(DeviceState, node_db[0]))
|
2020-02-03 19:15:17 +00:00
|
|
|
|
|
|
|
|
|
|
|
/// helper function for encoding a record as a protobuf, any failures to encode are fatal and we will panic
|
|
|
|
/// returns the encoded packet size
|
|
|
|
size_t pb_encode_to_bytes(uint8_t *destbuf, size_t destbufsize, const pb_msgdesc_t *fields, const void *src_struct);
|
|
|
|
|
|
|
|
/// helper function for decoding a record as a protobuf, we will return false if the decoding failed
|
|
|
|
bool pb_decode_from_bytes(const uint8_t *srcbuf, size_t srcbufsize, const pb_msgdesc_t *fields, void *dest_struct);
|