Skip to content

Commit cc855bc

Browse files
committed
Fixing SendMessage to put the actual data in the message
1 parent f7e0506 commit cc855bc

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

MeshBase.cpp

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,15 +92,19 @@ void MeshBase::HandlePeerDiscovery(const MeshBase::Message* msg, const void* buf
9292
if (length != sizeof(PeerDiscoveryMessage))
9393
return;
9494
const PeerDiscoveryMessage* pd = (struct PeerDiscoveryMessage*)buff;
95-
//if (msg.protocol_version != 1)
96-
// return;
95+
if (pd->protocol_version != 1)
96+
return;
9797

9898
Peer* peer = GetPeer(msg->address_from);
9999
if (peer == NULL)
100100
{
101101
// Found a new peer
102-
Serial.print("New Peer: ");
103-
Serial.println(msg->address_from, DEC);
102+
Serial.print("New Peer. Address=");
103+
Serial.print(msg->address_from, DEC);
104+
Serial.print(" uptime=");
105+
Serial.print(pd->uptime, DEC);
106+
Serial.print(" num_peers=");
107+
Serial.println(pd->num_peers, DEC);
104108
Peer* p = new Peer(msg->address_from);
105109
peers.Add(p);
106110
OnNewPeer(p);
@@ -119,7 +123,7 @@ void MeshBase::SendPeerDiscovery()
119123
payload.application_capabilities = 0;
120124
payload.num_peers = peers.length;
121125
payload.uptime = millis() / 1000;
122-
SendMessage(PEER_DISCOVERY, type_peer_discovery, &payload, sizeof(MeshBase::PeerDiscoveryMessage), true);
126+
SendMessage(PEER_DISCOVERY, type_peer_discovery, &payload, sizeof(payload), true);
123127
}
124128

125129
void MeshBase::SendMessage(uint32_t to, uint8_t type, const void* data, uint8_t length, bool is_broadcast)
@@ -132,12 +136,13 @@ void MeshBase::SendMessage(uint32_t to, uint8_t type, const void* data, uint8_t
132136
msg->address_from = address;
133137
msg->split_enabled = 0;
134138
msg->split_part = 0;
139+
memcpy(&buff[sizeof(Message)], data, min(length, 32 - sizeof(Message)));
135140
radio.stopListening();
136141
if (is_broadcast)
137142
radio.openWritingPipe(TO_BROADCAST(to));
138143
else
139144
radio.openWritingPipe(TO_ADDRESS(to));
140-
radio.write(data, length);
145+
radio.write(buff, length + sizeof(Message));
141146
radio.startListening();
142147
}
143148

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy