dl9rdz / rdz_ttgo_sonde

259 stars 92 forks source link

DFM17->DFM09 mis-idenficiation #440

Open darksidelemm opened 1 month ago

darksidelemm commented 1 month ago

Describe the bug DFM17 radiosondes being mis-identified as DFM09 sondes due to the way we are currently doing identification using the maximum channel number. I'm pretty sure rdz_ttgo_sonde is doing pretty much the same thing as the RS decoders in this respect.

To Reproduce Receive a 'new' NWS DFM17 sonde... something has changed in their configurations recently resulting in them being identified as DFM17s, as their max channel count is 0xA.

Expected behavior These sondes get identified properly!

Additional context Copied from here: https://github.com/projecthorus/sondehub-infra/issues/141

We're beginning to see many DFM17 launches mis-identified as DFM09 by the various decoders out there (all seem to be behaving consistently... I think).

The method that we currently use to identify DFM sub-types is known to be flawed, as changes in sensor configuration can result in the maximum channel ID field that we use for identification to change.

We have reliable information that DFM09 sondes have not been manufactured since early 2023, and that the highest DFM09 serial number is around the 22033000 area (presumably programmed in 2022).

So, the consequences of a mis-detection are:

Incorrect identification of subtype on the receiving software and tracker Incorrect calculation of sensor temperature due to using a different Rf value (refer line 862 in dfm09mod.c).

What we've been doing:

dl9rdz commented 1 month ago

Yes, polarity is available and should always be reliable (unlike RS where it might depend on the receiver?). So I assume that the simplest approach is to just use the polarity to decided if it is a DFM09 or a DFM17 if max. channel is 0xA. I added this functionality in devel20240521.