mirror of
https://github.com/meshtastic/firmware.git
synced 2025-08-20 04:01:14 +00:00
include our local user in the node db
This commit is contained in:
parent
b04fb061c4
commit
b538677ad2
@ -36,7 +36,7 @@ monitor_speed = 115200
|
|||||||
# debug_port = /dev/ttyUSB0
|
# debug_port = /dev/ttyUSB0
|
||||||
|
|
||||||
debug_tool = olimex-arm-usb-ocd-h
|
debug_tool = olimex-arm-usb-ocd-h
|
||||||
upload_protocol = olimex-arm-usb-ocd-h
|
; upload_protocol = olimex-arm-usb-ocd-h
|
||||||
|
|
||||||
;debug_init_cmds =
|
;debug_init_cmds =
|
||||||
; adapter_khz 10000
|
; adapter_khz 10000
|
||||||
|
@ -37,6 +37,8 @@ MeshService::MeshService()
|
|||||||
|
|
||||||
void MeshService::init()
|
void MeshService::init()
|
||||||
{
|
{
|
||||||
|
nodeDB.init();
|
||||||
|
|
||||||
if (!radio.init())
|
if (!radio.init())
|
||||||
DEBUG_MSG("radio init failed\n");
|
DEBUG_MSG("radio init failed\n");
|
||||||
}
|
}
|
||||||
|
@ -10,32 +10,60 @@
|
|||||||
|
|
||||||
MyNodeInfo myNodeInfo = MyNodeInfo_init_zero;
|
MyNodeInfo myNodeInfo = MyNodeInfo_init_zero;
|
||||||
NodeDB nodeDB;
|
NodeDB nodeDB;
|
||||||
User owner = User_init_zero;
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Normally userids are unique and start with +country code to look like Signal phone numbers.
|
||||||
|
* But there are some special ids used when we haven't yet been configured by a user. In that case
|
||||||
|
* we use !macaddr (no colons).
|
||||||
|
*/
|
||||||
|
User owner = {"+1650xxxyyyy", "unset name", "????", {0}};
|
||||||
|
|
||||||
|
static uint8_t ourMacAddr[6];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get our starting (provisional) nodenum from flash. But check first if anyone else is using it, by trying to send a message to it (arping)
|
* get our starting (provisional) nodenum from flash. But check first if anyone else is using it, by trying to send a message to it (arping)
|
||||||
*/
|
*/
|
||||||
static NodeNum getDesiredNodeNum()
|
static NodeNum getDesiredNodeNum()
|
||||||
{
|
{
|
||||||
uint8_t dmac[6];
|
esp_efuse_mac_get_default(ourMacAddr);
|
||||||
esp_efuse_mac_get_default(dmac);
|
|
||||||
|
|
||||||
// FIXME not the right way to guess node numes
|
// FIXME not the right way to guess node numes
|
||||||
uint8_t r = dmac[5];
|
uint8_t r = ourMacAddr[5];
|
||||||
assert(r != 0xff); // It better not be the broadcast address
|
assert(r != 0xff); // It better not be the broadcast address
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
NodeDB::NodeDB() : ourNodeNum(getDesiredNodeNum())
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/// return number msecs since 1970
|
/// return number msecs since 1970
|
||||||
uint64_t getCurrentTime()
|
uint64_t getCurrentTime()
|
||||||
{
|
{
|
||||||
return 4403; // FIXME
|
return 4403; // FIXME
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
NodeDB::NodeDB()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void NodeDB::init() {
|
||||||
|
ourNodeNum = getDesiredNodeNum();
|
||||||
|
|
||||||
|
// Init our blank owner info to reasonable defaults
|
||||||
|
sprintf(owner.id, "!%02x%02x%02x%02x%02x%02x", ourMacAddr[0],
|
||||||
|
ourMacAddr[1], ourMacAddr[2], ourMacAddr[3], ourMacAddr[4], ourMacAddr[5]);
|
||||||
|
memcpy(owner.macaddr, ourMacAddr, sizeof(owner.macaddr));
|
||||||
|
|
||||||
|
// FIXME, read owner info from flash
|
||||||
|
|
||||||
|
// Include our owner in the node db under our nodenum
|
||||||
|
NodeInfo *info = getOrCreateNode(ourNodeNum);
|
||||||
|
info->user = owner;
|
||||||
|
info->has_user = true;
|
||||||
|
info->last_seen = getCurrentTime();
|
||||||
|
}
|
||||||
|
|
||||||
const NodeInfo *NodeDB::readNextInfo()
|
const NodeInfo *NodeDB::readNextInfo()
|
||||||
{
|
{
|
||||||
if (readPointer < numNodes)
|
if (readPointer < numNodes)
|
||||||
@ -60,8 +88,7 @@ void NodeDB::updateFrom(const MeshPacket &mp)
|
|||||||
if (oldNumNodes != numNodes)
|
if (oldNumNodes != numNodes)
|
||||||
updateGUI = true; // we just created a nodeinfo
|
updateGUI = true; // we just created a nodeinfo
|
||||||
|
|
||||||
info->last_seen.msecs = getCurrentTime();
|
info->last_seen = getCurrentTime();
|
||||||
info->has_last_seen = true;
|
|
||||||
|
|
||||||
switch (p.which_variant)
|
switch (p.which_variant)
|
||||||
{
|
{
|
||||||
@ -99,7 +126,7 @@ NodeInfo *NodeDB::getOrCreateNode(NodeNum n)
|
|||||||
{
|
{
|
||||||
NodeInfo *info = getNode(n);
|
NodeInfo *info = getNode(n);
|
||||||
|
|
||||||
if (!n)
|
if (!info)
|
||||||
{
|
{
|
||||||
// add the node
|
// add the node
|
||||||
assert(numNodes < MAX_NUM_NODES);
|
assert(numNodes < MAX_NUM_NODES);
|
||||||
|
@ -10,7 +10,7 @@ class NodeDB
|
|||||||
{
|
{
|
||||||
// NodeNum provisionalNodeNum; // if we are trying to find a node num this is our current attempt
|
// NodeNum provisionalNodeNum; // if we are trying to find a node num this is our current attempt
|
||||||
|
|
||||||
NodeNum ourNodeNum;
|
NodeNum ourNodeNum = 0;
|
||||||
|
|
||||||
// A NodeInfo for every node we've seen
|
// A NodeInfo for every node we've seen
|
||||||
// Eventually use a smarter datastructure
|
// Eventually use a smarter datastructure
|
||||||
@ -28,6 +28,9 @@ public:
|
|||||||
/// instead just store in flash - possibly even in the initial alpha release do this hack
|
/// instead just store in flash - possibly even in the initial alpha release do this hack
|
||||||
NodeDB();
|
NodeDB();
|
||||||
|
|
||||||
|
/// Called from service after app start, to do init which can only be done after OS load
|
||||||
|
void init();
|
||||||
|
|
||||||
/// given a subpacket sniffed from the network, update our DB state
|
/// given a subpacket sniffed from the network, update our DB state
|
||||||
/// we updateGUI and updateGUIforNode if we think our this change is big enough for a redraw
|
/// we updateGUI and updateGUIforNode if we think our this change is big enough for a redraw
|
||||||
void updateFrom(const MeshPacket &p);
|
void updateFrom(const MeshPacket &p);
|
||||||
|
@ -9,9 +9,6 @@
|
|||||||
PB_BIND(Position, Position, AUTO)
|
PB_BIND(Position, Position, AUTO)
|
||||||
|
|
||||||
|
|
||||||
PB_BIND(Time, Time, AUTO)
|
|
||||||
|
|
||||||
|
|
||||||
PB_BIND(Data, Data, AUTO)
|
PB_BIND(Data, Data, AUTO)
|
||||||
|
|
||||||
|
|
||||||
|
@ -55,14 +55,10 @@ typedef struct _RadioConfig {
|
|||||||
bool promiscuous_mode;
|
bool promiscuous_mode;
|
||||||
} RadioConfig;
|
} RadioConfig;
|
||||||
|
|
||||||
typedef struct _Time {
|
|
||||||
uint64_t msecs;
|
|
||||||
} Time;
|
|
||||||
|
|
||||||
typedef struct _User {
|
typedef struct _User {
|
||||||
char id[16];
|
char id[16];
|
||||||
char long_name[40];
|
char long_name[40];
|
||||||
char short_name[4];
|
char short_name[5];
|
||||||
pb_byte_t macaddr[6];
|
pb_byte_t macaddr[6];
|
||||||
} User;
|
} User;
|
||||||
|
|
||||||
@ -77,8 +73,7 @@ typedef struct _NodeInfo {
|
|||||||
User user;
|
User user;
|
||||||
bool has_position;
|
bool has_position;
|
||||||
Position position;
|
Position position;
|
||||||
bool has_last_seen;
|
uint64_t last_seen;
|
||||||
Time last_seen;
|
|
||||||
int32_t rx_power;
|
int32_t rx_power;
|
||||||
} NodeInfo;
|
} NodeInfo;
|
||||||
|
|
||||||
@ -86,7 +81,7 @@ typedef struct _SubPacket {
|
|||||||
pb_size_t which_variant;
|
pb_size_t which_variant;
|
||||||
union {
|
union {
|
||||||
Position position;
|
Position position;
|
||||||
Time time;
|
uint64_t time;
|
||||||
Data data;
|
Data data;
|
||||||
User user;
|
User user;
|
||||||
WantNodeNum want_node;
|
WantNodeNum want_node;
|
||||||
@ -135,7 +130,6 @@ typedef struct _ToRadio {
|
|||||||
|
|
||||||
/* Initializer values for message structs */
|
/* Initializer values for message structs */
|
||||||
#define Position_init_default {0, 0, 0, 0, 0}
|
#define Position_init_default {0, 0, 0, 0, 0}
|
||||||
#define Time_init_default {0}
|
|
||||||
#define Data_init_default {_Data_Type_MIN, {0, {0}}}
|
#define Data_init_default {_Data_Type_MIN, {0, {0}}}
|
||||||
#define User_init_default {"", "", "", {0}}
|
#define User_init_default {"", "", "", {0}}
|
||||||
#define WantNodeNum_init_default {0, {0}}
|
#define WantNodeNum_init_default {0, {0}}
|
||||||
@ -143,13 +137,12 @@ typedef struct _ToRadio {
|
|||||||
#define SubPacket_init_default {0, {Position_init_default}}
|
#define SubPacket_init_default {0, {Position_init_default}}
|
||||||
#define MeshPacket_init_default {0, 0, false, SubPacket_init_default}
|
#define MeshPacket_init_default {0, 0, false, SubPacket_init_default}
|
||||||
#define RadioConfig_init_default {0, 0, 0, 0, 0, 0, 0, 0, 0}
|
#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}
|
#define NodeInfo_init_default {0, false, User_init_default, false, Position_init_default, 0, 0}
|
||||||
#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}
|
#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}
|
||||||
#define MyNodeInfo_init_default {0}
|
#define MyNodeInfo_init_default {0}
|
||||||
#define FromRadio_init_default {0, 0, {MeshPacket_init_default}}
|
#define FromRadio_init_default {0, 0, {MeshPacket_init_default}}
|
||||||
#define ToRadio_init_default {0, {MeshPacket_init_default}}
|
#define ToRadio_init_default {0, {MeshPacket_init_default}}
|
||||||
#define Position_init_zero {0, 0, 0, 0, 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 Data_init_zero {_Data_Type_MIN, {0, {0}}}
|
||||||
#define User_init_zero {"", "", "", {0}}
|
#define User_init_zero {"", "", "", {0}}
|
||||||
#define WantNodeNum_init_zero {0, {0}}
|
#define WantNodeNum_init_zero {0, {0}}
|
||||||
@ -157,7 +150,7 @@ typedef struct _ToRadio {
|
|||||||
#define SubPacket_init_zero {0, {Position_init_zero}}
|
#define SubPacket_init_zero {0, {Position_init_zero}}
|
||||||
#define MeshPacket_init_zero {0, 0, false, SubPacket_init_zero}
|
#define MeshPacket_init_zero {0, 0, false, SubPacket_init_zero}
|
||||||
#define RadioConfig_init_zero {0, 0, 0, 0, 0, 0, 0, 0, 0}
|
#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}
|
#define NodeInfo_init_zero {0, false, User_init_zero, false, Position_init_zero, 0, 0}
|
||||||
#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}
|
#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}
|
||||||
#define MyNodeInfo_init_zero {0}
|
#define MyNodeInfo_init_zero {0}
|
||||||
#define FromRadio_init_zero {0, 0, {MeshPacket_init_zero}}
|
#define FromRadio_init_zero {0, 0, {MeshPacket_init_zero}}
|
||||||
@ -182,7 +175,6 @@ typedef struct _ToRadio {
|
|||||||
#define RadioConfig_coding_rate_tag 7
|
#define RadioConfig_coding_rate_tag 7
|
||||||
#define RadioConfig_keep_all_packets_tag 100
|
#define RadioConfig_keep_all_packets_tag 100
|
||||||
#define RadioConfig_promiscuous_mode_tag 101
|
#define RadioConfig_promiscuous_mode_tag 101
|
||||||
#define Time_msecs_tag 1
|
|
||||||
#define User_id_tag 1
|
#define User_id_tag 1
|
||||||
#define User_long_name_tag 2
|
#define User_long_name_tag 2
|
||||||
#define User_short_name_tag 3
|
#define User_short_name_tag 3
|
||||||
@ -191,9 +183,9 @@ typedef struct _ToRadio {
|
|||||||
#define WantNodeNum_macaddr_tag 2
|
#define WantNodeNum_macaddr_tag 2
|
||||||
#define NodeInfo_num_tag 1
|
#define NodeInfo_num_tag 1
|
||||||
#define NodeInfo_user_tag 2
|
#define NodeInfo_user_tag 2
|
||||||
#define NodeInfo_position_tag 4
|
#define NodeInfo_position_tag 3
|
||||||
#define NodeInfo_last_seen_tag 5
|
#define NodeInfo_last_seen_tag 4
|
||||||
#define NodeInfo_rx_power_tag 6
|
#define NodeInfo_rx_power_tag 5
|
||||||
#define SubPacket_position_tag 1
|
#define SubPacket_position_tag 1
|
||||||
#define SubPacket_time_tag 2
|
#define SubPacket_time_tag 2
|
||||||
#define SubPacket_data_tag 3
|
#define SubPacket_data_tag 3
|
||||||
@ -221,11 +213,6 @@ X(a, STATIC, SINGULAR, BOOL, from_hardware, 5)
|
|||||||
#define Position_CALLBACK NULL
|
#define Position_CALLBACK NULL
|
||||||
#define Position_DEFAULT NULL
|
#define Position_DEFAULT NULL
|
||||||
|
|
||||||
#define Time_FIELDLIST(X, a) \
|
|
||||||
X(a, STATIC, SINGULAR, UINT64, msecs, 1)
|
|
||||||
#define Time_CALLBACK NULL
|
|
||||||
#define Time_DEFAULT NULL
|
|
||||||
|
|
||||||
#define Data_FIELDLIST(X, a) \
|
#define Data_FIELDLIST(X, a) \
|
||||||
X(a, STATIC, SINGULAR, UENUM, typ, 1) \
|
X(a, STATIC, SINGULAR, UENUM, typ, 1) \
|
||||||
X(a, STATIC, SINGULAR, BYTES, payload, 2)
|
X(a, STATIC, SINGULAR, BYTES, payload, 2)
|
||||||
@ -253,7 +240,7 @@ X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, macaddr, 1)
|
|||||||
|
|
||||||
#define SubPacket_FIELDLIST(X, a) \
|
#define SubPacket_FIELDLIST(X, a) \
|
||||||
X(a, STATIC, ONEOF, MESSAGE, (variant,position,variant.position), 1) \
|
X(a, STATIC, ONEOF, MESSAGE, (variant,position,variant.position), 1) \
|
||||||
X(a, STATIC, ONEOF, MESSAGE, (variant,time,variant.time), 2) \
|
X(a, STATIC, ONEOF, UINT64, (variant,time,variant.time), 2) \
|
||||||
X(a, STATIC, ONEOF, MESSAGE, (variant,data,variant.data), 3) \
|
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,user,variant.user), 4) \
|
||||||
X(a, STATIC, ONEOF, MESSAGE, (variant,want_node,variant.want_node), 5) \
|
X(a, STATIC, ONEOF, MESSAGE, (variant,want_node,variant.want_node), 5) \
|
||||||
@ -261,7 +248,6 @@ X(a, STATIC, ONEOF, MESSAGE, (variant,deny_node,variant.deny_node), 6)
|
|||||||
#define SubPacket_CALLBACK NULL
|
#define SubPacket_CALLBACK NULL
|
||||||
#define SubPacket_DEFAULT NULL
|
#define SubPacket_DEFAULT NULL
|
||||||
#define SubPacket_variant_position_MSGTYPE Position
|
#define SubPacket_variant_position_MSGTYPE Position
|
||||||
#define SubPacket_variant_time_MSGTYPE Time
|
|
||||||
#define SubPacket_variant_data_MSGTYPE Data
|
#define SubPacket_variant_data_MSGTYPE Data
|
||||||
#define SubPacket_variant_user_MSGTYPE User
|
#define SubPacket_variant_user_MSGTYPE User
|
||||||
#define SubPacket_variant_want_node_MSGTYPE WantNodeNum
|
#define SubPacket_variant_want_node_MSGTYPE WantNodeNum
|
||||||
@ -291,14 +277,13 @@ X(a, STATIC, SINGULAR, BOOL, promiscuous_mode, 101)
|
|||||||
#define NodeInfo_FIELDLIST(X, a) \
|
#define NodeInfo_FIELDLIST(X, a) \
|
||||||
X(a, STATIC, SINGULAR, INT32, num, 1) \
|
X(a, STATIC, SINGULAR, INT32, num, 1) \
|
||||||
X(a, STATIC, OPTIONAL, MESSAGE, user, 2) \
|
X(a, STATIC, OPTIONAL, MESSAGE, user, 2) \
|
||||||
X(a, STATIC, OPTIONAL, MESSAGE, position, 4) \
|
X(a, STATIC, OPTIONAL, MESSAGE, position, 3) \
|
||||||
X(a, STATIC, OPTIONAL, MESSAGE, last_seen, 5) \
|
X(a, STATIC, SINGULAR, UINT64, last_seen, 4) \
|
||||||
X(a, STATIC, SINGULAR, INT32, rx_power, 6)
|
X(a, STATIC, SINGULAR, INT32, rx_power, 5)
|
||||||
#define NodeInfo_CALLBACK NULL
|
#define NodeInfo_CALLBACK NULL
|
||||||
#define NodeInfo_DEFAULT NULL
|
#define NodeInfo_DEFAULT NULL
|
||||||
#define NodeInfo_user_MSGTYPE User
|
#define NodeInfo_user_MSGTYPE User
|
||||||
#define NodeInfo_position_MSGTYPE Position
|
#define NodeInfo_position_MSGTYPE Position
|
||||||
#define NodeInfo_last_seen_MSGTYPE Time
|
|
||||||
|
|
||||||
#define DeviceState_FIELDLIST(X, a) \
|
#define DeviceState_FIELDLIST(X, a) \
|
||||||
X(a, STATIC, OPTIONAL, MESSAGE, radio, 1) \
|
X(a, STATIC, OPTIONAL, MESSAGE, radio, 1) \
|
||||||
@ -330,7 +315,6 @@ X(a, STATIC, ONEOF, MESSAGE, (variant,packet,variant.packet), 1)
|
|||||||
#define ToRadio_variant_packet_MSGTYPE MeshPacket
|
#define ToRadio_variant_packet_MSGTYPE MeshPacket
|
||||||
|
|
||||||
extern const pb_msgdesc_t Position_msg;
|
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 Data_msg;
|
||||||
extern const pb_msgdesc_t User_msg;
|
extern const pb_msgdesc_t User_msg;
|
||||||
extern const pb_msgdesc_t WantNodeNum_msg;
|
extern const pb_msgdesc_t WantNodeNum_msg;
|
||||||
@ -346,7 +330,6 @@ extern const pb_msgdesc_t ToRadio_msg;
|
|||||||
|
|
||||||
/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
|
/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
|
||||||
#define Position_fields &Position_msg
|
#define Position_fields &Position_msg
|
||||||
#define Time_fields &Time_msg
|
|
||||||
#define Data_fields &Data_msg
|
#define Data_fields &Data_msg
|
||||||
#define User_fields &User_msg
|
#define User_fields &User_msg
|
||||||
#define WantNodeNum_fields &WantNodeNum_msg
|
#define WantNodeNum_fields &WantNodeNum_msg
|
||||||
@ -362,16 +345,15 @@ extern const pb_msgdesc_t ToRadio_msg;
|
|||||||
|
|
||||||
/* Maximum encoded size of messages (where known) */
|
/* Maximum encoded size of messages (where known) */
|
||||||
#define Position_size 42
|
#define Position_size 42
|
||||||
#define Time_size 11
|
|
||||||
#define Data_size 104
|
#define Data_size 104
|
||||||
#define User_size 71
|
#define User_size 72
|
||||||
#define WantNodeNum_size 14
|
#define WantNodeNum_size 14
|
||||||
#define DenyNodeNum_size 8
|
#define DenyNodeNum_size 8
|
||||||
#define SubPacket_size 106
|
#define SubPacket_size 106
|
||||||
#define MeshPacket_size 130
|
#define MeshPacket_size 130
|
||||||
#define RadioConfig_size 62
|
#define RadioConfig_size 62
|
||||||
#define NodeInfo_size 152
|
#define NodeInfo_size 151
|
||||||
#define DeviceState_size 9291
|
#define DeviceState_size 9259
|
||||||
#define MyNodeInfo_size 11
|
#define MyNodeInfo_size 11
|
||||||
#define FromRadio_size 139
|
#define FromRadio_size 139
|
||||||
#define ToRadio_size 133
|
#define ToRadio_size 133
|
||||||
|
Loading…
Reference in New Issue
Block a user