mirror of
https://github.com/meshtastic/firmware.git
synced 2025-09-06 11:39:32 +00:00
added debugging and fixed byte writes to coverage_filter
This commit is contained in:
parent
6a8e6c15e0
commit
f9c7471c31
@ -77,19 +77,20 @@ bool FloodingRouter::perhapsRebroadcast(const meshtastic_MeshPacket *p)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
LOG_INFO("Rebroadcasting packet ID=0x%x with ForwardProb=%.2f", p->id, forwardProb);
|
|
||||||
|
|
||||||
CoverageFilter updatedCoverage = incomingCoverage;
|
CoverageFilter updatedCoverage = incomingCoverage;
|
||||||
mergeMyCoverage(updatedCoverage);
|
mergeMyCoverage(updatedCoverage);
|
||||||
storeCoverageFilterInPacket(updatedCoverage, tosend);
|
storeCoverageFilterInPacket(updatedCoverage, tosend);
|
||||||
|
|
||||||
|
LOG_INFO("Rebroadcasting packet ID=0x%x with ForwardProb=%.2f", p->id, forwardProb);
|
||||||
|
|
||||||
// Note: we are careful to resend using the original senders node id
|
// Note: we are careful to resend using the original senders node id
|
||||||
// We are careful not to call our hooked version of send() - because we don't want to check this again
|
// We are careful not to call our hooked version of send() - because we don't want to check this again
|
||||||
Router::send(tosend);
|
Router::send(tosend);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
LOG_DEBUG("No rebroadcast: Random number %f > Forward Probability %f", rnd, forwardProb);
|
LOG_INFO("No rebroadcast: Random number %f > Forward Probability %f", rnd, forwardProb);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
LOG_DEBUG("No rebroadcast: Role = CLIENT_MUTE or Rebroadcast Mode = NONE");
|
LOG_DEBUG("No rebroadcast: Role = CLIENT_MUTE or Rebroadcast Mode = NONE");
|
||||||
@ -129,6 +130,7 @@ void FloodingRouter::loadCoverageFilterFromPacket(const meshtastic_MeshPacket *p
|
|||||||
void FloodingRouter::storeCoverageFilterInPacket(const CoverageFilter &filter, meshtastic_MeshPacket *p)
|
void FloodingRouter::storeCoverageFilterInPacket(const CoverageFilter &filter, meshtastic_MeshPacket *p)
|
||||||
{
|
{
|
||||||
auto bits = filter.getBits();
|
auto bits = filter.getBits();
|
||||||
|
p->coverage_filter.size = BLOOM_FILTER_SIZE_BYTES;
|
||||||
memcpy(p->coverage_filter.bytes, bits.data(), BLOOM_FILTER_SIZE_BYTES);
|
memcpy(p->coverage_filter.bytes, bits.data(), BLOOM_FILTER_SIZE_BYTES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -315,6 +315,25 @@ void printPacket(const char *prefix, const meshtastic_MeshPacket *p)
|
|||||||
out += " encrypted";
|
out += " encrypted";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// --- Coverage filter logging ---
|
||||||
|
if (p->coverage_filter.size > 0) {
|
||||||
|
// If the coverage_filter.size is 0, you might skip printing or
|
||||||
|
// choose to indicate it differently. Usually it will be 16 though.
|
||||||
|
std::string coverageHex;
|
||||||
|
// Reserve enough space for 2 hex characters per byte.
|
||||||
|
coverageHex.reserve(p->coverage_filter.size * 2);
|
||||||
|
|
||||||
|
for (int i = 0; i < p->coverage_filter.size; i++) {
|
||||||
|
coverageHex += DEBUG_PORT.mt_sprintf("%02x", p->coverage_filter.bytes[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Append the coverage filter to output
|
||||||
|
out += DEBUG_PORT.mt_sprintf(" coverageFilter=0x%s", coverageHex.c_str());
|
||||||
|
} else {
|
||||||
|
out += DEBUG_PORT.mt_sprintf(" coverageFilter=empty");
|
||||||
|
}
|
||||||
|
// --- End coverage filter logging ---
|
||||||
|
|
||||||
if (p->rx_time != 0)
|
if (p->rx_time != 0)
|
||||||
out += DEBUG_PORT.mt_sprintf(" rxtime=%u", p->rx_time);
|
out += DEBUG_PORT.mt_sprintf(" rxtime=%u", p->rx_time);
|
||||||
if (p->rx_snr != 0.0)
|
if (p->rx_snr != 0.0)
|
||||||
|
Loading…
Reference in New Issue
Block a user