In my previous commit, I said applying the low-nibble rule to digital telemetry produces nonsensical output. But it appears I was wrong after taking a second look. I may have made a simple mistake that led me to believe this, but after properly masking the lower nibble, it is clear that it's properly gating digital telemetry.
I checked a handful of CADUs, some including digital telemetry and others analog, and this change appears to work without issue.
Upon investigating decodes that reported analog telemetry as missing, I noticed that the conditional in parseMSUMRTelemetry checks all 8 bits of the analog/digital marker (msumr_frame[13]). While this works at times, it breaks when the marker's behavior changes. The fix is to check only the lower nibble of the marker to determine whether the telemetry is analog.
I've intentionally left the digital telemetry branch untouched, since applying the same low-nibble rule there produces nonsensical output.
As a side note, @bush22 on Discord reported M2-3 restarting today at 07:55 UTC. I later received LRPT from M2-3 and the analog telemetry was reported as missing in the nightly build. With the fix above, analog telemetry parses and appears nominal across all sensor readings. Notably, after this restart M2-3 now mirrors M2-4's analog/digital marker behavior.
As a sanity check, I compared multiple M2-4 decodes (which previously showed "no analog telemetry") against M2-3 decodes (with analog telemetry). The results are nearly identical, with minimal deviations and the same trends over time.