snrOrNull

fun MeshPacket.snrOrNull(): Float?(source)

Signal-to-noise ratio in dB for this reception, or null when the packet carries no SNR measurement (it did not arrive over LoRa, or the radio reported none).

Deliberately does NOT fold 0 the way rxTimeOrNull does: 0 dB is a genuine, common reading — a signal at the noise floor, comfortably demodulable on every preset — so treating it as "absent" would hide real measurements and, worse, discard the only zero that can ever reach us. Under proto3 implicit presence a field at its zero value is never put on the wire, so an SNR-less packet from firmware predating the optional conversion already decodes to null for free. A 0 that survives to this accessor was written explicitly and means 0 dB.

Presence cannot be inferred from isLora instead: transport_mechanism defaults to TRANSPORT_INTERNAL (0), so firmware that never sets it would have every reading suppressed.