Skip to content

Commit 76b299d

Browse files
CopilotMrAlders0n
andcommitted
Improve validation and clarify SNR comments
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
1 parent c3b07ea commit 76b299d

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

content/wardrive.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -494,20 +494,22 @@ function startRepeaterTracking(sessionLi) {
494494
if (packet.getPayloadType() === Packet.PAYLOAD_TYPE_GRP_TXT &&
495495
packet.path && packet.path.length > 0) {
496496
// Extract repeater ID (first byte of path)
497-
// Note: repeaterId can be 0 (valid byte value), so we check path.length instead
498497
const repeaterId = packet.path[0];
499498

500499
// Validate repeater ID is a valid byte value (0-255)
501-
if (typeof repeaterId !== 'number' || repeaterId < 0 || repeaterId > 255) {
500+
// Note: repeaterId can be 0 (valid byte value), so we check type and range
501+
if (repeaterId === undefined || typeof repeaterId !== 'number' ||
502+
!Number.isInteger(repeaterId) || repeaterId < 0 || repeaterId > 255) {
502503
console.warn(`Invalid repeater ID: ${repeaterId}`);
503504
return;
504505
}
505506

506-
// SNR ranges from -12 to +12 dB (Int8 / 4)
507+
// SNR ranges from -12 to +12 dB
508+
// Note: logData.lastSnr is already processed (readInt8() / 4) by the connection layer
507509
const snr = Math.round(logData.lastSnr);
508510

509-
// Store or update repeater data (keep best/strongest SNR if duplicate)
510-
// Higher (less negative) SNR values indicate better signal quality
511+
// Store or update repeater data
512+
// Keep the highest SNR value (closest to +12dB) for duplicate repeaters
511513
if (!state.repeaterData.repeaters.has(repeaterId) ||
512514
state.repeaterData.repeaters.get(repeaterId) < snr) {
513515
state.repeaterData.repeaters.set(repeaterId, snr);

0 commit comments

Comments
 (0)