mirror of
https://github.com/meshtastic/firmware.git
synced 2025-04-25 09:42:35 +00:00
we now reply to owner messages with our owner
This commit is contained in:
parent
2792e2148f
commit
61a88a343e
@ -68,13 +68,13 @@ bool MeshRadio::init()
|
|||||||
|
|
||||||
ErrorCode MeshRadio::send(MeshPacket *p)
|
ErrorCode MeshRadio::send(MeshPacket *p)
|
||||||
{
|
{
|
||||||
DEBUG_MSG("enquing packet for send from=%d, to=%d\n", p->from, p->to);
|
DEBUG_MSG("enquing packet for send from=0x%x, to=0x%x\n", p->from, p->to);
|
||||||
return txQueue.enqueue(p, 0); // nowait
|
return txQueue.enqueue(p, 0); // nowait
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorCode MeshRadio::sendTo(NodeNum dest, const uint8_t *buf, size_t len)
|
ErrorCode MeshRadio::sendTo(NodeNum dest, const uint8_t *buf, size_t len)
|
||||||
{
|
{
|
||||||
DEBUG_MSG("mesh sendTo %d bytes to %d\n", len, dest);
|
DEBUG_MSG("mesh sendTo %d bytes to 0x%x\n", len, dest);
|
||||||
// FIXME - for now we do all packets as broadcast
|
// FIXME - for now we do all packets as broadcast
|
||||||
dest = NODENUM_BROADCAST;
|
dest = NODENUM_BROADCAST;
|
||||||
|
|
||||||
|
@ -67,6 +67,11 @@ void MeshService::loop()
|
|||||||
while ((mp = fromRadioQueue.dequeuePtr(0)) != NULL)
|
while ((mp = fromRadioQueue.dequeuePtr(0)) != NULL)
|
||||||
{
|
{
|
||||||
nodeDB.updateFrom(*mp); // update our DB state based off sniffing every RX packet from the radio
|
nodeDB.updateFrom(*mp); // update our DB state based off sniffing every RX packet from the radio
|
||||||
|
if(mp->has_payload && mp->payload.which_variant == SubPacket_user_tag && mp->to == NODENUM_BROADCAST) {
|
||||||
|
// Someone just sent us a User, reply with our Owner
|
||||||
|
DEBUG_MSG("Received broadcast Owner from 0x%x, replying with our owner\n", mp->from);
|
||||||
|
sendOurOwner(mp->from);
|
||||||
|
}
|
||||||
|
|
||||||
fromNum++;
|
fromNum++;
|
||||||
assert(toPhoneQueue.enqueue(mp, 0) == pdTRUE); // FIXME, instead of failing for full queue, delete the oldest mssages
|
assert(toPhoneQueue.enqueue(mp, 0) == pdTRUE); // FIXME, instead of failing for full queue, delete the oldest mssages
|
||||||
|
@ -55,7 +55,7 @@ public:
|
|||||||
void reloadConfig() { radio.reloadConfig(); }
|
void reloadConfig() { radio.reloadConfig(); }
|
||||||
|
|
||||||
/// The owner User record just got updated, update our node DB and broadcast the info into the mesh
|
/// The owner User record just got updated, update our node DB and broadcast the info into the mesh
|
||||||
void reloadOwner() { DEBUG_MSG("FIXME implement reloadOwner\n"); }
|
void reloadOwner() { sendOurOwner(); }
|
||||||
|
|
||||||
/// Allocate and return a meshpacket which defaults as send to broadcast from the current node.
|
/// Allocate and return a meshpacket which defaults as send to broadcast from the current node.
|
||||||
MeshPacket *allocForSending();
|
MeshPacket *allocForSending();
|
||||||
|
@ -76,7 +76,7 @@ void NodeDB::updateFrom(const MeshPacket &mp)
|
|||||||
if (mp.has_payload)
|
if (mp.has_payload)
|
||||||
{
|
{
|
||||||
const SubPacket &p = mp.payload;
|
const SubPacket &p = mp.payload;
|
||||||
DEBUG_MSG("Update DB node %x for variant %d\n", mp.from, p.which_variant);
|
DEBUG_MSG("Update DB node 0x%x for variant %d\n", mp.from, p.which_variant);
|
||||||
if (p.which_variant != SubPacket_want_node_tag) // we don't create nodeinfo records for someone that is just trying to claim a nodenum
|
if (p.which_variant != SubPacket_want_node_tag) // we don't create nodeinfo records for someone that is just trying to claim a nodenum
|
||||||
{
|
{
|
||||||
int oldNumNodes = numNodes;
|
int oldNumNodes = numNodes;
|
||||||
|
Loading…
Reference in New Issue
Block a user