rtldavis - go lang sdr reader problems

149 views
Skip to first unread message

lloyd...@gmail.com

unread,
Nov 1, 2022, 5:15:44 PM11/1/22
to weewx-user
I am using the Luc Heijst programs weewx-rtldavis and rtldavis as the driver for weewx and ran across these 2 situations that don't make sense.  Mostly I assume these problems have to do with duplicate packages.  Anyone figure out why the go lang rtldavis would be doing that?

1.The go language rtldavis keeps coming up with duplicate packets - about 450 per hour. I know the Davis ISS is not sending duplicate packages. That data is from running go lang rtldavis by itself.

13:59:24.014924 8000762409005152 431 0 0 0 0 msg.ID=0
13:59:24.015349 Hop: {ChannelIdx:45 ChannelFreq:924998110 FreqError:2751 Transmitter:0}
13:59:24.016933 duplicate packet: 8000762409005152

2. Occasionally I get bad data that shows up in weewx.  For example rain data shows 1.3" but that is a bad reading.  See below. For some reason the CRC is good on all the readings but the tip count goes from 73 to 31 and then 73.  I am assuming that this might be related to the duplicate packages.  See below for an example. That data is from weewx-rtldavis debug.  When it went from 73 to 31 on the tip count it was within milliseconds of each other. The next poll it goes back to 73.  Causing problems with the rain amount.

        1. data: 03:57:08.612942 E003BE730300E26A 34901
        2. data: 03:57:08.613204 E0019E310300E26A 34902
        3. data: 03:57:29.113525 E001BE730300A6E9 34909

lloyd...@gmail.com

unread,
Nov 1, 2022, 10:36:52 PM11/1/22
to weewx-user
Make that 450 PER DAY not hour or about 1 every 3 1/2 minutes.

lloyd...@gmail.com

unread,
Mar 18, 2023, 1:53:02 PM3/18/23
to weewx-user
After much looking at code and log looking it appears that the weewx-rtldavis and rtldavis programs have the following problems. The duplicates are coming in within milliseconds of the reading of the Davis ISS data. This is obviously incorrect since I have only 1 ISS and no other ISS around so the readings should be 2 1/2 seconds apart. Also sometimes the near instantaneous read can produce a bogus reading that passes CRC check. The second problem is the weewx-rtldavis program does not check for good type before processing the wind data. That causes bogus wind values to be produced. I changed the rtldavis.py program so it would check for good data type before processing the wind data. I also changed the go program so if the next read is less than 2 seconds (indexed by transmitter if there are more than just the one ISS) then that data is thrown out. This seems to have prevented bad data from coming through but doesn't cure the problem of the sdr seeming to read something from the ISS within milliseconds of the first read.

vince

unread,
Mar 18, 2023, 6:12:32 PM3/18/23
to weewx-user
I would think Luc would likely appreciate seeing any suggested improvements  in a pull request so he can consider including them in his official code so future folks don't have to run into the same issues...
Reply all
Reply to author
Forward
0 new messages