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

+11-6
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)