Receiving Davis Vantage data with RTL-SDR dongle and program rtldavis

2,815 views
Skip to first unread message

ljm.h...@gmail.com

unread,
Mar 13, 2019, 7:50:29 PM3/13/19
to weewx-development
To all,

In the weewx forum I started a thread about reception of Davis vantage messages with a RTL-SDR dongle.
I have (re)written two programs
1. A modified version of rtldavis which reads the raw messages and print the data to stderr.
2. A weewx-rtld driver which parses the raw data and store the weather data in the weewx database. This driver is not public yet as by now.

Until now we couldn’t find a usefull set of US frequencies. The modified program rtldavis works resonable well for the EU frequencies.
In this thread we will discuss the progress to get a good working program for both EU and US.

Luc Heijst

ljm.h...@gmail.com

unread,
Mar 13, 2019, 8:00:43 PM3/13/19
to weewx-development
Hi Rich,

Some quick analyse to start with.

US band 902 - 928 MHz range 26 MHz = 26,000 kHz
EU band 868.0 - 868.6 MHz range 0.6 MHz = 600 kHz

US frequencies are 501,000 Hz spreaded = 501 kHz
EU frequencies are 6,000 to 27,000 Hz spreaded = 6 to 27 kHz

Proposal for the testprogram.

US step size: 80 kHz, total steps is 325, duration 135 s * 325 = 43,875 s = 12.2 h.
May be the step size of 80kHz is too big to catch all channels, but with a step size of 10 kHz, the program will run for 4 days!

EU step size: 2 kHz, total steps is 300, duration 17 s * 300 = 5100 s = 1.4 h.

Testprogram need startfreq, endfreq and stepfreq as extra parameters

In case we stopped half way, we can continue with a new startfreq, where we ended last time.

Luc

ljm.h...@gmail.com

unread,
Mar 13, 2019, 8:31:45 PM3/13/19
to weewx-development
Hi, it’s me again!

Rich, may be a last quick step to try, before writing a test program.

What you can do is the following:

Take the list of RFM69 frequencies in your spread sheet.
Sort them from low to high.
Subtract from each of the 51 frequencies the value 26062 (Hz)
Use these smaller (and sorted) frequencies in protogol.go

Explanation: the frequencies of the original rtldavis program and the sorted RFM69 frequencies all differ about 26000 Hz from each other.

The sorted hop frequencies differ about 51000 Hz from their ‘neighbour’ frequency, so an offset of 26000 Hz from the good frequency is too much as we have seen.

Test have already shown that the first frequency of rtldavis is good: we received the data of both transmitters. The first RFM69 frequency differs 26062 Hz with the first rtldavis frequency.

Let me know if you like the idea or have any questions.

Cheers, Luc

rich T

unread,
Mar 13, 2019, 9:10:55 PM3/13/19
to weewx-development
Luc

Ok, will run with the new frequencies; will post the results later this evening.  If we need the test program, I have no issues allowing it to run until it is complete.

thanks
Rich

rich T

unread,
Mar 13, 2019, 9:44:51 PM3/13/19
to weewx-development
Hi Luc

Here is approximately 10 minutes worth of data, using the new frequencies.

Rich

pi@raspberrypi:~/work/src/github.com/lheijst/rtldavis $ $GOPATH/bin/rtldavis -tr 3  -tf US
21:29:10.210225 rtldavis.go VERSION=0.7
21:29:10.210719 tr=3 actChan=[0 1] maxChan=2 *transmitterId=1 msgIdToChan=[0 1 9 9 9 9 9 9]
21:29:10.210844 idLoopPeriods=[2562500000 2625000000 2687500000 2750000000 2812500000 2875000000 2937500000 3000000000]
21:29:10.211635 BitRate: 19200
21:29:10.211681 SymbolLength: 14
21:29:10.211720 SampleRate: 268800
21:29:10.211754 Preamble: 1100101110001001
21:29:10.211790 PreambleSymbols: 16
21:29:10.211824 PreambleLength: 224
21:29:10.211858 PacketSymbols: 80
21:29:10.211893 PacketLength: 1120
21:29:10.211929 BlockSize: 512
21:29:10.211962 BufferLength: 2048
Detached kernel driver
Found Rafael Micro R820T tuner
21:29:10.911997 main.go:157: {ChannelIdx: 0 ChannelFreq:902355835 FreqError:0}
Exact sample rate is: 268800.001367 Hz
21:29:11.095738 Init loopTimer and wait for messages on channel 0: loopTimer=273465728 idLoopPeriods=2625000000 loopPeriod=136500000000
21:29:25.897283 msg.Data: 88005D19F900E174
21:29:25.897761 init channels, msg.ID=0 msgIdToChan=0 chLastVisits=[0 0]
21:29:25.898016 NEW TRANSMITTER: msg.ID=0 chLastVisits=[1552526965897269565 0] visitCount=1 chLastHops=[0 0]
21:30:33.252094 msg.Data: 590059FF71004A31
21:30:33.252250 init channels, msg.ID=1 msgIdToChan=1 chLastVisits=[1552526965897269565 0]
21:30:33.252452 NEW TRANSMITTER: msg.ID=1 chLastVisits=[1552526965897269565 1552527033252081701] visitCount=2 chLastHops=[0 0]
21:30:33.252570 ALL TRANSMITTERS SEEN: chLastVisits=[1552526965897269565 1552527033252081701] visitCount=2 chLastHops=[0 0]
21:30:33.252615 last seen msg.Data: 590059FF71004A31
21:30:33.252750 Hop to channelIdx: 34 21:30:35.084769 ID=0
21:30:33.253051 main.go:185: Hop: {ChannelIdx:34 ChannelFreq:919415344 FreqError:-17343}
21:30:35.149766 ID:0 packet missed
21:30:35.149959 loopTimer expired; hop to channelIdx: 19 21:30:35.877081 ID=1
21:30:35.150099 main.go:185: Hop: {ChannelIdx:19 ChannelFreq:911889099 FreqError:-17343}
21:30:35.940124 ID:1 packet missed
21:30:35.940241 loopTimer expired; hop to channelIdx: 45 21:30:37.647269 ID=0
21:30:35.940336 main.go:185: Hop: {ChannelIdx:45 ChannelFreq:924934143 FreqError:-17343}
21:30:37.711705 ID:0 packet missed
21:30:37.711971 loopTimer expired; hop to channelIdx: 41 21:30:38.502081 ID=1
21:30:37.712124 main.go:185: Hop: {ChannelIdx:41 ChannelFreq:922927124 FreqError:-17343}
21:30:38.565269 ID:1 packet missed
21:30:38.565663 loopTimer expired; hop to channelIdx: 1 21:30:40.209769 ID=0
21:30:38.565899 main.go:185: Hop: {ChannelIdx: 1 ChannelFreq:902858459 FreqError:-17343}
21:30:40.273635 ID:0 packet missed
21:30:40.273816 loopTimer expired; hop to channelIdx: 25 21:30:41.127081 ID=1
21:30:40.273949 main.go:185: Hop: {ChannelIdx:25 ChannelFreq:914900513 FreqError:-17343}
21:30:41.189848 ID:1 packet missed
21:30:41.190366 loopTimer expired; hop to channelIdx: 17 21:30:42.772269 ID=0
21:30:41.190675 main.go:185: Hop: {ChannelIdx:17 ChannelFreq:910886047 FreqError:-17343}
21:30:42.835837 ID:0 packet missed
21:30:42.835939 Init channels: wait for messages
21:30:42.836059 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902355835 FreqError:-17343}
21:31:36.586629 msg.Data: 480259FFC1004F9B
21:31:36.586742 init channels, msg.ID=0 msgIdToChan=0 chLastVisits=[0 0]
21:31:36.586905 NEW TRANSMITTER: msg.ID=0 chLastVisits=[1552527096586616956 0] visitCount=1 chLastHops=[0 3]
21:32:47.129415 msg.Data: 590452FF7100DD28
21:32:47.129631 init channels, msg.ID=1 msgIdToChan=1 chLastVisits=[1552527096586616956 0]
21:32:47.129802 NEW TRANSMITTER: msg.ID=1 chLastVisits=[1552527096586616956 1552527167129402876] visitCount=2 chLastHops=[0 0]
21:32:47.129960 ALL TRANSMITTERS SEEN: chLastVisits=[1552527096586616956 1552527167129402876] visitCount=2 chLastHops=[0 0]
21:32:47.130045 last seen msg.Data: 590452FF7100DD28
21:32:47.130222 Hop to channelIdx: 45 21:32:48.336616 ID=0
21:32:47.130518 main.go:185: Hop: {ChannelIdx:45 ChannelFreq:924934143 FreqError:-17205}
21:32:48.401408 ID:0 packet missed
21:32:48.401599 loopTimer expired; hop to channelIdx: 19 21:32:49.754402 ID=1
21:32:48.401731 main.go:185: Hop: {ChannelIdx:19 ChannelFreq:911889099 FreqError:-17205}
21:32:49.818703 ID:1 packet missed
21:32:49.818871 loopTimer expired; hop to channelIdx: 1 21:32:50.899116 ID=0
21:32:49.818990 main.go:185: Hop: {ChannelIdx: 1 ChannelFreq:902858459 FreqError:-17205}
21:32:50.963015 ID:0 packet missed
21:32:50.963208 loopTimer expired; hop to channelIdx: 41 21:32:52.379402 ID=1
21:32:50.963336 main.go:185: Hop: {ChannelIdx:41 ChannelFreq:922927124 FreqError:-17205}
21:32:52.442876 ID:1 packet missed
21:32:52.443134 loopTimer expired; hop to channelIdx: 17 21:32:53.461616 ID=0
21:32:52.443318 main.go:185: Hop: {ChannelIdx:17 ChannelFreq:910886047 FreqError:-17205}
21:32:53.524945 ID:0 packet missed
21:32:53.525217 loopTimer expired; hop to channelIdx: 25 21:32:55.004402 ID=1
21:32:53.525401 main.go:185: Hop: {ChannelIdx:25 ChannelFreq:914900513 FreqError:-17205}
21:32:55.067686 ID:1 packet missed
21:32:55.067949 loopTimer expired; hop to channelIdx: 39 21:32:56.024116 ID=0
21:32:55.068135 main.go:185: Hop: {ChannelIdx:39 ChannelFreq:921923645 FreqError:-17205}
21:32:56.087431 ID:0 packet missed
21:32:56.087598 Init channels: wait for messages
21:32:56.087772 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902355835 FreqError:-17205}
21:33:47.275313 msg.Data: 58004EFF73002379
21:33:47.275654 init channels, msg.ID=0 msgIdToChan=0 chLastVisits=[0 0]
21:33:47.275922 NEW TRANSMITTER: msg.ID=0 chLastVisits=[1552527227275299525 0] visitCount=1 chLastHops=[0 3]
21:35:01.007125 msg.Data: 59004EFF730066D9
21:35:01.007380 init channels, msg.ID=1 msgIdToChan=1 chLastVisits=[1552527227275299525 0]
21:35:01.007547 NEW TRANSMITTER: msg.ID=1 chLastVisits=[1552527227275299525 1552527301007112212] visitCount=2 chLastHops=[0 0]
21:35:01.007673 ALL TRANSMITTERS SEEN: chLastVisits=[1552527227275299525 1552527301007112212] visitCount=2 chLastHops=[0 0]
21:35:01.007722 last seen msg.Data: 59004EFF730066D9
21:35:01.007871 Hop to channelIdx: 1 21:35:01.587799 ID=0
21:35:01.008022 main.go:185: Hop: {ChannelIdx: 1 ChannelFreq:902858459 FreqError:-16268}
21:35:01.652349 ID:0 packet missed
21:35:01.652457 loopTimer expired; hop to channelIdx: 19 21:35:03.632112 ID=1
21:35:01.652529 main.go:185: Hop: {ChannelIdx:19 ChannelFreq:911889099 FreqError:-16268}
21:35:03.696333 ID:1 packet missed
21:35:03.696524 loopTimer expired; hop to channelIdx: 17 21:35:04.150299 ID=0
21:35:03.696659 main.go:185: Hop: {ChannelIdx:17 ChannelFreq:910886047 FreqError:-16268}
21:35:04.213245 ID:0 packet missed
21:35:04.213411 loopTimer expired; hop to channelIdx: 41 21:35:06.257112 ID=1
21:35:04.213490 main.go:185: Hop: {ChannelIdx:41 ChannelFreq:922927124 FreqError:-16268}
21:35:06.320112 ID:1 packet missed
21:35:06.320379 loopTimer expired; hop to channelIdx: 39 21:35:06.712799 ID=0
21:35:06.320516 main.go:185: Hop: {ChannelIdx:39 ChannelFreq:921923645 FreqError:-16268}
21:35:06.777210 ID:0 packet missed
21:35:06.777373 loopTimer expired; hop to channelIdx: 25 21:35:08.882112 ID=1
21:35:06.777452 main.go:185: Hop: {ChannelIdx:25 ChannelFreq:914900513 FreqError:-16268}
21:35:08.945314 ID:1 packet missed
21:35:08.945502 loopTimer expired; hop to channelIdx: 26 21:35:09.275299 ID=0
21:35:08.945630 main.go:185: Hop: {ChannelIdx:26 ChannelFreq:915401794 FreqError:-16268}
21:35:09.338050 ID:0 packet missed
21:35:09.338229 Init channels: wait for messages
21:35:09.338358 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902355835 FreqError:-16268}
21:35:57.962967 msg.Data: E8005C4401004E2F
21:35:57.963096 init channels, msg.ID=0 msgIdToChan=0 chLastVisits=[0 0]
21:35:57.963201 NEW TRANSMITTER: msg.ID=0 chLastVisits=[1552527357962953119 0] visitCount=1 chLastHops=[0 3]
21:37:14.882670 msg.Data: E90251440100768A
21:37:14.882929 init channels, msg.ID=1 msgIdToChan=1 chLastVisits=[1552527357962953119 0]
21:37:14.883107 NEW TRANSMITTER: msg.ID=1 chLastVisits=[1552527357962953119 1552527434882658275] visitCount=2 chLastHops=[0 0]
21:37:14.883305 ALL TRANSMITTERS SEEN: chLastVisits=[1552527357962953119 1552527434882658275] visitCount=2 chLastHops=[0 0]
21:37:14.883390 last seen msg.Data: E90251440100768A
21:37:14.883562 Hop to channelIdx: 39 21:37:17.400453 ID=0
21:37:14.883724 main.go:185: Hop: {ChannelIdx:39 ChannelFreq:921923645 FreqError:-20436}
21:37:17.465813 ID:0 packet missed
21:37:17.466069 loopTimer expired; hop to channelIdx: 19 21:37:17.507658 ID=1
21:37:17.466196 main.go:185: Hop: {ChannelIdx:19 ChannelFreq:911889099 FreqError:-20436}
21:37:17.570448 ID:1 packet missed
21:37:17.570737 loopTimer expired; hop to channelIdx: 26 21:37:19.962953 ID=0
21:37:17.570879 main.go:185: Hop: {ChannelIdx:26 ChannelFreq:915401794 FreqError:-20436}
21:37:20.027660 ID:0 packet missed
21:37:20.027853 loopTimer expired; hop to channelIdx: 41 21:37:20.132658 ID=1
21:37:20.027986 main.go:185: Hop: {ChannelIdx:41 ChannelFreq:922927124 FreqError:-20436}
21:37:20.195532 ID:1 packet missed
21:37:20.195654 loopTimer expired; hop to channelIdx: 9 21:37:22.525453 ID=0
21:37:20.195733 main.go:185: Hop: {ChannelIdx: 9 ChannelFreq:906872009 FreqError:-20436}
21:37:22.588152 ID:0 packet missed
21:37:22.588338 loopTimer expired; hop to channelIdx: 25 21:37:22.757658 ID=1
21:37:22.588470 main.go:185: Hop: {ChannelIdx:25 ChannelFreq:914900513 FreqError:-20436}
21:37:22.821831 ID:1 packet missed
21:37:22.821951 loopTimer expired; hop to channelIdx: 31 21:37:25.087953 ID=0
21:37:22.822032 main.go:185: Hop: {ChannelIdx:31 ChannelFreq:917909607 FreqError:-20436}
21:37:25.151467 ID:0 packet missed
21:37:25.151576 Init channels: wait for messages
21:37:25.151697 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902355835 FreqError:-20436}
21:38:08.652269 msg.Data: 88014E19FB00AD3C
21:38:08.652506 init channels, msg.ID=0 msgIdToChan=0 chLastVisits=[0 0]
21:38:08.652821 NEW TRANSMITTER: msg.ID=0 chLastVisits=[1552527488652254054 0] visitCount=1 chLastHops=[0 3]
21:39:28.760629 msg.Data: 9902700503074EF4
21:39:28.760770 init channels, msg.ID=1 msgIdToChan=1 chLastVisits=[1552527488652254054 0]
21:39:28.760895 NEW TRANSMITTER: msg.ID=1 chLastVisits=[1552527488652254054 1552527568760617025] visitCount=2 chLastHops=[0 0]
21:39:28.761075 ALL TRANSMITTERS SEEN: chLastVisits=[1552527488652254054 1552527568760617025] visitCount=2 chLastHops=[0 0]
21:39:28.761121 last seen msg.Data: 9902700503074EF4
21:39:28.761249 Hop to channelIdx: 26 21:39:30.652254 ID=0
21:39:28.761363 main.go:185: Hop: {ChannelIdx:26 ChannelFreq:915401794 FreqError:-18135}
21:39:30.717071 ID:0 packet missed
21:39:30.717741 loopTimer expired; hop to channelIdx: 19 21:39:31.385617 ID=1
21:39:30.718047 main.go:185: Hop: {ChannelIdx:19 ChannelFreq:911889099 FreqError:-18135}
21:39:31.450082 ID:1 packet missed
21:39:31.450188 loopTimer expired; hop to channelIdx: 9 21:39:33.214754 ID=0
21:39:31.450257 main.go:185: Hop: {ChannelIdx: 9 ChannelFreq:906872009 FreqError:-18135}
21:39:33.279052 ID:0 packet missed
21:39:33.279576 loopTimer expired; hop to channelIdx: 41 21:39:34.010617 ID=1
21:39:33.279918 main.go:185: Hop: {ChannelIdx:41 ChannelFreq:922927124 FreqError:-18135}
21:39:34.075313 ID:1 packet missed
21:39:34.075486 loopTimer expired; hop to channelIdx: 31 21:39:35.777254 ID=0
21:39:34.075607 main.go:185: Hop: {ChannelIdx:31 ChannelFreq:917909607 FreqError:-18135}
21:39:35.840951 ID:0 packet missed
21:39:35.841126 loopTimer expired; hop to channelIdx: 25 21:39:36.635617 ID=1
21:39:35.841249 main.go:185: Hop: {ChannelIdx:25 ChannelFreq:914900513 FreqError:-18135}
21:39:36.699809 ID:1 packet missed
21:39:36.699979 loopTimer expired; hop to channelIdx: 50 21:39:38.339754 ID=0
21:39:36.700095 main.go:185: Hop: {ChannelIdx:50 ChannelFreq:927443787 FreqError:-18135}
21:39:38.402818 ID:0 packet missed
21:39:38.403082 Init channels: wait for messages
21:39:38.403283 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902355835 FreqError:-18135}
21:40:19.341065 msg.Data: 98006D05011719A5
21:40:19.341182 init channels, msg.ID=0 msgIdToChan=0 chLastVisits=[0 0]
21:40:19.341281 NEW TRANSMITTER: msg.ID=0 chLastVisits=[1552527619341050925 0] visitCount=1 chLastHops=[0 3]
21:41:42.637439 msg.Data: 69006D000100449F
21:41:42.637596 init channels, msg.ID=1 msgIdToChan=1 chLastVisits=[1552527619341050925 0]
21:41:42.637734 NEW TRANSMITTER: msg.ID=1 chLastVisits=[1552527619341050925 1552527702637426766] visitCount=2 chLastHops=[0 0]
21:41:42.637845 ALL TRANSMITTERS SEEN: chLastVisits=[1552527619341050925 1552527702637426766] visitCount=2 chLastHops=[0 0]
21:41:42.637888 last seen msg.Data: 69006D000100449F
21:41:42.638025 Hop to channelIdx: 9 21:41:43.90355 ID=0
21:41:42.638145 main.go:185: Hop: {ChannelIdx: 9 ChannelFreq:906872009 FreqError:-16345}
21:41:43.966882 ID:0 packet missed
21:41:43.967147 loopTimer expired; hop to channelIdx: 19 21:41:45.262426 ID=1
21:41:43.967277 main.go:185: Hop: {ChannelIdx:19 ChannelFreq:911889099 FreqError:-16345}
21:41:45.326780 ID:1 packet missed
21:41:45.326977 loopTimer expired; hop to channelIdx: 31 21:41:46.46605 ID=0
21:41:45.327180 main.go:185: Hop: {ChannelIdx:31 ChannelFreq:917909607 FreqError:-16345}
21:41:46.529005 ID:0 packet missed
21:41:46.529247 loopTimer expired; hop to channelIdx: 41 21:41:47.887426 ID=1
21:41:46.529456 main.go:185: Hop: {ChannelIdx:41 ChannelFreq:922927124 FreqError:-16345}
21:41:47.952095 ID:1 packet missed
21:41:47.952507 loopTimer expired; hop to channelIdx: 50 21:41:49.02855 ID=0
21:41:47.952683 main.go:185: Hop: {ChannelIdx:50 ChannelFreq:927443787 FreqError:-16345}
21:41:49.092385 ID:0 packet missed
21:41:49.092520 loopTimer expired; hop to channelIdx: 25 21:41:50.512426 ID=1
21:41:49.092601 main.go:185: Hop: {ChannelIdx:25 ChannelFreq:914900513 FreqError:-16345}
21:41:50.576489 ID:1 packet missed
21:41:50.576925 loopTimer expired; hop to channelIdx: 37 21:41:51.59105 ID=0
21:41:50.577118 main.go:185: Hop: {ChannelIdx:37 ChannelFreq:920921021 FreqError:-16345}
21:41:51.654713 ID:0 packet missed
21:41:51.654819 Init channels: wait for messages
21:41:51.654936 main.go:185: Hop: {ChannelIdx: 0 ChannelFreq:902355835 FreqError:-16345}
21:42:30.029897 msg.Data: 58006DFF7000DAB8
21:42:30.030192 init channels, msg.ID=0 msgIdToChan=0 chLastVisits=[0 0]
21:42:30.030379 NEW TRANSMITTER: msg.ID=0 chLastVisits=[1552527750029884317 0] visitCount=1 chLastHops=[0 3]

ljm.h...@gmail.com

unread,
Mar 14, 2019, 2:06:52 AM3/14/19
to weewx-development
Rich,

What we have learned from the log:
- the frequency of channel 0 in the table is about 17000 Hz too low
- the data could be read with this big frequency offset
- the data of none of the other selected channels could be read
- selected were channels 34,19,45,41,1,25,17,26,9,50,25,37 (may be more, I just checked the log quickly).

So, next step will be the test program. Can I send you the program by private mail? If yes, drop a mail to ljm.heijst at gmail.com.

Thanks for testing,

Luc

rich T

unread,
Mar 14, 2019, 8:40:00 AM3/14/19
to weewx-development
Luc

Glad to help. During the evening I noticed the offset would drop to around -7000 Hz on certain channels.

Rich

ljm.h...@gmail.com

unread,
Mar 14, 2019, 8:48:24 AM3/14/19
to weewx-development
On Thursday, 14 March 2019 09:40:00 UTC-3, rich T wrote:
During the evening I noticed the offset would drop to around -7000 Hz on certain channels.

Yes, that are the temperature influences I was talking about. 

rich T

unread,
Mar 15, 2019, 8:10:22 PM3/15/19
to weewx-development
Luc

Used a NESDR Smart dongle with 868/900MHz antenna.  The dongle's PPM was -47.5 (-750Hz) The ISS has a low battery indication (new batteries arriving tomorrow). Here are the results for the first US band 902 - 928 MHz test:

20:17:41.673497 TESTFREQ 24: Frequency 902920000 (freqError=-7771): OK, msg.data: E005574402002B76
20:39:56.745993 TESTFREQ 35: Frequency 903360000 (freqError=587): OK, msg.data: 500362FF7100DEF7
21:09:09.506517 TESTFREQ 49: Frequency 903920000 (freqError=-7921): OK, msg.data: 500049FF71001974
21:32:26.080181 TESTFREQ 60: Frequency 904360000 (freqError=5446): OK, msg.data: 60034B000000C149
22:27:18.920785 TESTFREQ 85: Frequency 905360000 (freqError=-17643): OK, msg.data: 80088120B9005FD2
23:01:29.478740 TESTFREQ 101: Frequency 906000000 (freqError=-23787): OK, msg.data: F83F780F5C82E476
23:20:08.758227 TESTFREQ 110: Frequency 906360000 (freqError=-12959): OK, msg.data: E0054C4401007B9D
00:15:27.221107 TESTFREQ 135: Frequency 907360000 (freqError=-8369): OK, msg.data: 80044C207B002EED
00:18:57.347731 TESTFREQ 137: Frequency 907440000 (freqError=6199): OK, msg.data: 5004AEFF730023D7
01:14:15.811477 TESTFREQ 162: Frequency 908440000 (freqError=-8622): OK, msg.data: E007324402008A62
02:08:07.147511 TESTFREQ 187: Frequency 909440000 (freqError=-5901): OK, msg.data: 500675FF7300D148
02:32:22.656936 TESTFREQ 198: Frequency 909880000 (freqError=3984): OK, msg.data: 500785FF71008236
03:27:46.244250 TESTFREQ 223: Frequency 910880000 (freqError=-4474): OK, msg.data: 600C6A000100D67B
04:22:59.563153 TESTFREQ 248: Frequency 911880000 (freqError=-14314): OK, msg.data: 8009662279005870
04:26:34.817307 TESTFREQ 250: Frequency 911960000 (freqError=1040): OK, msg.data: 80096E229B00AB63
05:16:30.403769 TESTFREQ 273: Frequency 912880000 (freqError=-7099): OK, msg.data: E005764401003FDF
05:19:37.466300 TESTFREQ 275: Frequency 912960000 (freqError=4898): OK, msg.data: 500563FF710065C6
06:13:08.292103 TESTFREQ 300: Frequency 913960000 (freqError=-8602): OK, msg.data: A8043B403900F53A
07:07:50.879619 TESTFREQ 325: Frequency 914960000 (freqError=-4283): OK, msg.data: 88046621E90035F3
07:31:17.706919 TESTFREQ 336: Frequency 915400000 (freqError=4785): OK, msg.data: E8067544000074A2
08:00:38.152655 TESTFREQ 350: Frequency 915960000 (freqError=-9044): OK, msg.data: 880068222B0037C9
09:18:39.816797 TESTFREQ 386: Frequency 917400000 (freqError=-18224): OK, msg.data: A80673653B0051B2
09:21:28.940016 TESTFREQ 388: Frequency 917480000 (freqError=514): OK, msg.data: E8037544010064C4
10:11:50.208276 TESTFREQ 411: Frequency 918400000 (freqError=-8900): OK, msg.data: 88027B22D9008692
10:15:17.772593 TESTFREQ 413: Frequency 918480000 (freqError=3669): OK, msg.data: E80063440300D04A
11:05:28.706191 TESTFREQ 436: Frequency 919400000 (freqError=-12103): OK, msg.data: 8805922589001DF4
11:08:28.081048 TESTFREQ 438: Frequency 919480000 (freqError=6868): OK, msg.data: 580373FF7200EBF5
12:02:06.583627 TESTFREQ 463: Frequency 920480000 (freqError=-6150): OK, msg.data: 5800BAFF710010A7
12:24:52.381782 TESTFREQ 474: Frequency 920920000 (freqError=-11314): OK, msg.data: A8008C912B00EB75
12:54:43.561832 TESTFREQ 488: Frequency 921480000 (freqError=-6578): OK, msg.data: 5800CFFF7100EE97
13:18:05.277492 TESTFREQ 499: Frequency 921920000 (freqError=6728): OK, msg.data: E800D1440100AA91
14:12:01.710155 TESTFREQ 524: Frequency 922920000 (freqError=-16066): OK, msg.data: 8000BD292B00DE3C
14:14:43.147971 TESTFREQ 526: Frequency 923000000 (freqError=839): OK, msg.data: 9000E903032F60B7
15:03:44.854921 TESTFREQ 549: Frequency 923920000 (freqError=-9857): OK, msg.data: A00171272B00A6F2
15:06:28.849723 TESTFREQ 551: Frequency 924000000 (freqError=3908): OK, msg.data: 60087A6C0200FF83
15:06:49.348428 TESTFREQ 552: Frequency 924040000 (freqError=-4130): OK, msg.data: 9002880E03081D86
15:55:02.461872 TESTFREQ 574: Frequency 924920000 (freqError=-4796): OK, msg.data: 8002842C2A009DE0
15:58:12.087871 TESTFREQ 576: Frequency 925000000 (freqError=6972): OK, msg.data: 5004D1FF7300B54C
16:00:12.523126 TESTFREQ 577: Frequency 925040000 (freqError=-881): OK, msg.data: E000CF4401001E2E
16:51:40.332463 TESTFREQ 601: Frequency 926000000 (freqError=-10249): OK, msg.data: 5003D0FF7100C24E
17:14:44.087914 TESTFREQ 612: Frequency 926440000 (freqError=-15864): OK, msg.data: 50009AFF71002AAB
17:44:30.147888 TESTFREQ 626: Frequency 927000000 (freqError=-10788): OK, msg.data: 60009B0683007BF3

I believe 41 frequencies were captured.  Tonight I'm rerunning the test with the offset included.

Rich






Paul Anderson

unread,
Mar 16, 2019, 11:32:40 AM3/16/19
to weewx-development
Hi Luc and Rich,
Been following your work and ran the test program on my U.S, Davis Vantage Pro 2.
 Used a RTL-SDR.com  dongle RTL2832 dongle has <1 PPM temperature compensated oscillator (TCXO)
After 5 min warm up rtl_test -p showed cumulative PPM: 0
Here are the results for the US band 902 - 928 MHz test:
Looks like 68 frequencies were captured? Some must be bad as I think we only want 51?
$GOPATH/bin/rtldavis -tr 1 -tf US -startfreq 902000000 -endfreq 928000000 -stepfreq 40000


12:05:12.931583 TESTFREQ 24: Frequency 902920000 (freqError=-1089): OK, msg.data: 800000738500B115
12:05:41.118438 TESTFREQ 25: Frequency 902960000 (freqError=1906): OK, msg.data: A00000328500AE80
12:58:51.477901 TESTFREQ 49: Frequency 903920000 (freqError=29606): OK, msg.data: 80000070C500E589
13:22:08.049315 TESTFREQ 60: Frequency 904360000 (freqError=12748): OK, msg.data: E000006505000456
14:17:00.904831 TESTFREQ 85: Frequency 905360000 (freqError=-715): OK, msg.data: 500000FF7500485B
14:22:36.596902 TESTFREQ 88: Frequency 905480000 (freqError=-855): OK, msg.data: E000006505000456
15:09:50.719534 TESTFREQ 110: Frequency 906360000 (freqError=26478): OK, msg.data: 9000000005003151
15:13:38.781187 TESTFREQ 112: Frequency 906440000 (freqError=3062): OK, msg.data: 8000006A85006CE7
15:15:28.968434 TESTFREQ 113: Frequency 906480000 (freqError=-5089): OK, msg.data: 600000FFC50079DA
16:02:58.523355 TESTFREQ 135: Frequency 907360000 (freqError=-1728): OK, msg.data: C00000047500955C
16:02:58.525352 TESTFREQ 136: Frequency 907400000 (freqError=6929): OK, msg.data: C00000047500955C
16:04:17.965477 TESTFREQ 137: Frequency 907440000 (freqError=6929): OK, msg.data: 500000FF7500485B
16:06:03.030503 TESTFREQ 138: Frequency 907480000 (freqError=-1742): OK, msg.data: 400000FFC5004CD2
16:57:25.756451 TESTFREQ 162: Frequency 908440000 (freqError=-1525): OK, msg.data: 500000FF7500485B
16:57:41.131232 TESTFREQ 163: Frequency 908480000 (freqError=875): OK, msg.data: 8000006BC500561B
17:49:06.408230 TESTFREQ 187: Frequency 909440000 (freqError=28537): OK, msg.data: 8000006DC500E4BB
18:00:51.103917 TESTFREQ 193: Frequency 909680000 (freqError=11774): OK, msg.data: C00000047500955C
18:11:11.237742 TESTFREQ 198: Frequency 909880000 (freqError=-2301): OK, msg.data: E000006505000456
18:40:57.322258 TESTFREQ 212: Frequency 910440000 (freqError=-5508): OK, msg.data: 500000FF7500485B
18:52:34.331178 TESTFREQ 218: Frequency 910680000 (freqError=7340): OK, msg.data: 500000FF7500485B
19:02:13.462738 TESTFREQ 223: Frequency 910880000 (freqError=736): OK, msg.data: 8000007245009071
19:02:13.464493 TESTFREQ 224: Frequency 910920000 (freqError=-2353): OK, msg.data: 8000007245009071
19:55:16.035833 TESTFREQ 248: Frequency 911880000 (freqError=26039): OK, msg.data: 500000FF7500485B
19:57:01.096119 TESTFREQ 249: Frequency 911920000 (freqError=593): OK, msg.data: C00000047500955C
19:58:51.284135 TESTFREQ 250: Frequency 911960000 (freqError=27251): OK, msg.data: 500000FF7500485B
19:59:11.782803 TESTFREQ 251: Frequency 912000000 (freqError=-6736): OK, msg.data: 500000FF7500485B
20:46:36.307858 TESTFREQ 273: Frequency 912880000 (freqError=-3067): OK, msg.data: 8000007745007B81
20:47:50.621221 TESTFREQ 274: Frequency 912920000 (freqError=4663): OK, msg.data: E000006505000456
20:49:43.372121 TESTFREQ 275: Frequency 912960000 (freqError=17203): OK, msg.data: E000006505000456
20:50:01.309265 TESTFREQ 276: Frequency 913000000 (freqError=-3303): OK, msg.data: 80000077C5006019
21:43:14.231848 TESTFREQ 300: Frequency 913960000 (freqError=-2635): OK, msg.data: 500000FF7500485B
21:44:43.921493 TESTFREQ 301: Frequency 914000000 (freqError=45): OK, msg.data: E000006505000456
21:51:15.987745 TESTFREQ 304: Frequency 914120000 (freqError=24336): OK, msg.data: 500000FF7500485B
22:35:46.157460 TESTFREQ 325: Frequency 914960000 (freqError=1673): OK, msg.data: 8000007AC5002248
22:59:12.992657 TESTFREQ 336: Frequency 915400000 (freqError=9315): OK, msg.data: E000007805000564
23:28:33.459265 TESTFREQ 350: Frequency 915960000 (freqError=4902): OK, msg.data: 8000007C45008B70
23:52:46.393871 TESTFREQ 361: Frequency 916400000 (freqError=17857): OK, msg.data: C00000047500955C
00:46:35.230736 TESTFREQ 386: Frequency 917400000 (freqError=-619): OK, msg.data: C00000047500955C
00:49:24.360163 TESTFREQ 388: Frequency 917480000 (freqError=637): OK, msg.data: E000007D0500EE94
00:50:10.486491 TESTFREQ 389: Frequency 917520000 (freqError=-7660): OK, msg.data: A00000F775007046
01:37:34.897589 TESTFREQ 411: Frequency 918400000 (freqError=-3584): OK, msg.data: E000007D0500EE94
01:41:02.463375 TESTFREQ 413: Frequency 918480000 (freqError=3373): OK, msg.data: 500000FF7500485B
01:42:39.840615 TESTFREQ 414: Frequency 918520000 (freqError=-3730): OK, msg.data: 8000007CC50090E8
02:31:13.454254 TESTFREQ 436: Frequency 919400000 (freqError=-697): OK, msg.data: E000007D0500EE94
02:34:12.833575 TESTFREQ 438: Frequency 919480000 (freqError=6030): OK, msg.data: C00000047500955C
02:34:35.896333 TESTFREQ 439: Frequency 919520000 (freqError=-856): OK, msg.data: 800000854500F6B3
02:41:07.966804 TESTFREQ 442: Frequency 919640000 (freqError=22278): OK, msg.data: E000007D0500EE94
03:25:40.663092 TESTFREQ 463: Frequency 920480000 (freqError=-275): OK, msg.data: 80000088C500AF7A
03:26:39.599498 TESTFREQ 464: Frequency 920520000 (freqError=1975): OK, msg.data: 600000FFC50079DA
03:48:26.559736 TESTFREQ 474: Frequency 920920000 (freqError=27548): OK, msg.data: E000007D0500EE94
04:18:17.783966 TESTFREQ 488: Frequency 921480000 (freqError=-8099): OK, msg.data: 8000008C050065EE
04:29:49.673752 TESTFREQ 494: Frequency 921720000 (freqError=5216): OK, msg.data: 500000FF7500485B
04:39:28.815406 TESTFREQ 499: Frequency 921920000 (freqError=-2355): OK, msg.data: 8000008A8500CCD6
05:23:02.638014 TESTFREQ 519: Frequency 922720000 (freqError=-430): OK, msg.data: 8000008A4500DA82
05:33:25.340112 TESTFREQ 524: Frequency 922920000 (freqError=1704): OK, msg.data: 9000000005003151
05:38:43.098795 TESTFREQ 527: Frequency 923040000 (freqError=-564): OK, msg.data: C00000047500955C
06:27:19.258381 TESTFREQ 549: Frequency 923920000 (freqError=27268): OK, msg.data: E000007D0500EE94
06:28:13.076492 TESTFREQ 550: Frequency 923960000 (freqError=2164): OK, msg.data: 500000FF7500485B
06:30:03.274780 TESTFREQ 551: Frequency 924000000 (freqError=29429): OK, msg.data: E000007D0500EE94
06:30:23.777042 TESTFREQ 552: Frequency 924040000 (freqError=-5957): OK, msg.data: E000007D0500EE94
07:18:36.941811 TESTFREQ 574: Frequency 924920000 (freqError=-1264): OK, msg.data: 500000FF7500485B
07:18:36.943822 TESTFREQ 575: Frequency 924960000 (freqError=5393): OK, msg.data: 500000FF7500485B
07:19:35.879817 TESTFREQ 576: Frequency 925000000 (freqError=5398): OK, msg.data: E000007D0500EE94
07:21:36.319616 TESTFREQ 577: Frequency 925040000 (freqError=-2662): OK, msg.data: 80000090050053EC
08:13:04.197004 TESTFREQ 601: Frequency 926000000 (freqError=-1132): OK, msg.data: E000007D0500EE94
08:14:21.072311 TESTFREQ 602: Frequency 926040000 (freqError=2596): OK, msg.data: A0000078850074EC
09:05:54.058956 TESTFREQ 626: Frequency 927000000 (freqError=28377): OK, msg.data: 500000FF7500485B
09:17:31.048838 TESTFREQ 632: Frequency 927240000 (freqError=-9307): OK, msg.data: 500000FF7500485B

Thanks
Paul



kobuki

unread,
Mar 16, 2019, 11:37:52 AM3/16/19
to weewx-development
"Explanation: the frequencies of the original rtldavis program and the sorted RFM69 frequencies all differ about 26000 Hz from each other."

It's worth noting that there are too many unknown variables here. Questions:
 - Do we know that the original rtldavis author used a frequency offset calibrated device, ie. his frequencies are correct?
 - Do you all use calibrated (or at least offset corrected) SDR radios? If not, you need to determine the offset and apply it.
 - Does the RFM69 Arduino/Moteino code work for your stations? If so, then the RFM69 frequencies are correct, and the original rtldavis frequencies are most likely incorrect.

Since I've multiple reports (including the original RFM69 code author, Dekay) that the RFM69 frequencies for US are working, I'm positive they should work for a calibrated SDR stick, too.

rich T

unread,
Mar 16, 2019, 11:43:55 AM3/16/19
to weewx-development
Paul

Yes, the Vantage Pro 2 hops between 51 frequencies.  I'm 12 hours in with the second 24 hr test (ppm offset included in test range).  My station batteries should arrive today, so going to run additional 24 hr test with brand new batteries.

Rich

kobuki

unread,
Mar 16, 2019, 11:51:07 AM3/16/19
to weewx-development
Looking at your log, I see some frequency errors that are quite large at 25-30 kHz (more than the required FSK bandwidth for original equipment), and a lot of the errors are larger than 10kHz, while the bulk of them are way under 10kHz. The packets with high offset errors are most likely neighboring frequencies catched while tuned to another neighbor. Or the chosen reception bandwidth is too wide to catch the desired frequency and the receiver auto-corrects to some degree while reporting a false frequency. I think the reception bandwidth should be narrower for the test to work. The original receivers use 25 kHz bandwidth. I think the testing frequency sweep should be taking this into consideration.

kobuki

unread,
Mar 16, 2019, 12:20:21 PM3/16/19
to weewx-development
I've made a small spreadsheet using the original RFM69 US frequency table. It can be observed that the 51 hopping frequencies are about 502 kHz apart when sorted in increasing order. This is about 2 times the used carrier bandwidth. There are only sub-kHz fluctuations in the differences between neighboring frequencies. These frequencies have been collected from the SPI bus of the radio receiver IC in a console configured for the US band, and then converted to literal frequencies, then into a data array required for programming the RFM69 chips. They're not perfectly uniform because the firmware of the console applies a small correction when tuning onto them - however, these very small errors should be handled in any receiver and pose no problem at all. I'm still of the opinion that one can just use the table in the RFM69 code without frequency testing and scanning. All errors are most likely attributable to the frequency error and temperature skew of cheaper SDR sticks which are not properly calibrated or at least manually offset corrected to a certain degree.

kobuki

unread,
Mar 16, 2019, 12:21:28 PM3/16/19
to weewx-development
A typo fix: ... This is about 20 times the used carrier bandwidth ...

kobuki

unread,
Mar 16, 2019, 1:16:20 PM3/16/19
to weewx-development
Re-doing what others have done in this and the other thread in weewx-user, I can conclude that the Golang rtldavis frequencies are most likely wrong. If we take the original SPI-sniffed Davis frequency values as a standard, the rtldavis frequencies are off by -26,3 kHz or -28,75 ppm on average, with almost negligible deviation. Thus I think the original author forgot to offset-correct the frequencies in the source. They are probably spot on with his own SDR stick, though.

ljm.h...@gmail.com

unread,
Mar 16, 2019, 2:18:26 PM3/16/19
to weewx-development
Hi Paul,

The idea is to first get a raw list of US hop frequencies.
The second step is to correct the found frequency with the reported freqError.
Then we look at the sorted list of ‘corrected’ frequencies and calculate the differences between each two adjacent frequencies, so we will detect any likely missed frequencies.
At last interpolate values for the ‘missed’ frequencies.
When all frequencies are more or less right, we can add them to the program and start the normal hopping proces.
At last we will use the average freqError per channel to fine-tune the frequency list.

Luc

kobuki

unread,
Mar 16, 2019, 2:34:19 PM3/16/19
to weewx-development
You're on the wrong path, guys. I'd suggest paying more attention to the subject instead of doing wild experiments and inform yourselves using available and proven information. Paul's frequencies are waaay off. Even if corrected with the error value, they have nothing to do with the original Davis frequencies. The frequency sweep WILL find bogus frequencies, because the SDR stick is not a precise narrowband receiver. The chips are originally made for digital terrestrial and analog radio reception for several hundred kHz to low MHz bandwidths.

Consider this: the Davis uses a bandwidth of 25 kHz and an FSK deviation of 19.8 kHz (double-sided). Hopping slots are allocated 502 kHz apart. If you skip when sweeping by 40 kHz, no way in life will you find the proper frequencies, ever. I guess the SDR FSK decoder code is not very well tuned to the task at hand, and while I admit I haven't programmed any SDR task, even though I know the theory behind it.

To re-iterate: there is no need to "find" the proper frequencies, they are available in the RFM69 Arduino code. You do need to find and fix your offset on your sticks before starting rtlsdr, though. Or use precise ~1ppm devices. Your scanned frequencies will be local to your setup, they most probably will not work reliably for anyone else!
Message has been deleted

kobuki

unread,
Mar 16, 2019, 3:19:23 PM3/16/19
to weewx-development
Luc,

Please don't use all caps. It's rude and is considered shouting per internet standards. Thanks. Since I have a lot of experience with these transmitters and receivers, I'm trying to help here. No need for the tone.

And, I was talking about the US frequency scan and the relation between the Arduino code table and the one in rtldavis, not the EU frequencies. Please read my messages again. Although the EU frequencies should be the same for both the Arduino code and the rtlsdr code. There is no difference in the transmitters. If one works with a given set of frequencies, so will the other. You're set out to ignore established facts and others' valuable research and their time spent with it. I'm not trying to tell anyone what to do, but I'd like to point that out and try to keep you from doing the hard work already done by others - that is what I meant by wrong path. I haven't myself sniffed the frequency tables, but I'm using the frequencies with success for years for the EU band. And those sniffed frequencies ARE the correct ones, according to multiple reports I have received during the years.

So, in my opinion the culprit is most probably the FSK code itself or the stick's imprecise tuning. These are the 2 ones to consider first and foremost. The first is obviously wrong as the frequencies are shifted by a constant (possibly the original author's ppm error on his SDR radio). It can be easily fixed. The second - I have no experience in coding the FSK decoder part so I can't possibly work on that right now.

If you do intend to do the scanning to verify the facts (which is a completely normal thing to do in a research), please consider the radio parameters I mentioned in my earlier posts.

As soon as I have the necessary time, I'll test code thoroughly, you can count on me.

On Saturday, March 16, 2019 at 8:02:01 PM UTC+1, ljm.h...@gmail.com wrote:
On Saturday, 16 March 2019 15:34:19 UTC-3, kobuki wrote:
You're on the wrong path, guys.

HI KOBUKI,

I SUGGEST YOU FIRST INSTALL THE RTLDAVIS PROGRAM AN INSERT YOUR FREQUENCIES IN THE EU TABLE.
THEN RUN THE PROGRAM AND TELL US WHAT WE ARE DOING WRONG.

LUC 

ljm.h...@gmail.com

unread,
Mar 16, 2019, 3:25:04 PM3/16/19
to weewx-development
On Saturday, 16 March 2019 16:19:23 UTC-3, kobuki wrote:
As soon as I have the necessary time, I'll test code thoroughly, you can count on me.

Thanks in advance, kobuki 

kobuki

unread,
Mar 16, 2019, 4:15:25 PM3/16/19
to weewx-development
Alright, another bit of info which might be useful. Back a couple of years ago when analyzing the Davis packet structure, coding, FSK parameters, etc., I did a very simple test in SDR#. I set it on the center of the EU band, zoomed around +-500 kHz into view and observed the small sausages originating from the transmitters around the house. They were all over the place until I learned to correct the offset of my SDR stick (since then I purchased a 1ppm one). After I found applied the proper offset of my stick (used Kalibrate, but there are better tools now), the spots started to appear within about 5 kHz of their expected frequencies (I'm fine with that precision, it's a cheap stick, not a calibrated VNA). I calculated the frequencies from the Davis Arduino code table. For me it alone confirms that the frequencies are right and well known. Thus they can be used for rtldavis, too, as is. For anyone in the mood, I suggest trying this simple method out to re-verify the frequencies.

Of course I'm eager to try your code as well, soon.

ljm.h...@gmail.com

unread,
Mar 16, 2019, 4:44:35 PM3/16/19
to weewx-development
kobuki,

As I stated earlier: I do not know any ins and outs of the RTL-SDR hardware and/or programs.

I came across program tfrec and without any modifications this program read the temperatures and humidities of my TFA KlimaLogg sensors.
For this purpose I bought two RTL-SDR dongles and ordered a third one in China (not delivered yet).

Later I came across program rtldavis and I tried to get the program working. The original EU frequencies were NOT working here.
With the set I found by trial and error I can read three (or four if I want) of my Davis transmitters at once. These EU frequency set has no constant offset with the EU RFM69 frequencies BTW.
I can't explain why this is working and the RFM69 frequencies not. 
To my knowledge, the main.go program doesn't do anything special. It just calls the SetCenterFreq with help of the the gortlsdr package to the rtl-sdr driver, see code below.

// SetCenterFreq sets the center frequency.
func (dev *Context) SetCenterFreq(freqHz int) (err error) {
i := int(C.rtlsdr_set_center_freq((*C.rtlsdr_dev_t)(dev),
C.uint32_t(freqHz)))
return libError(i)
}

See the results on my website (http://www.lucdesign.nl/_weewx/rtld/index.html) where I show the differences between values measured by the meteostick dongle and weewx-meteostick versus a RTL-SDR dongle with programs rtldavis and weewx-rtld.

Luc

ljm.h...@gmail.com

unread,
Mar 16, 2019, 4:50:04 PM3/16/19
to weewx-development
kobuki,

May be here is the difference...

Below are the outputs of rtldavis at startup. Do you notice anything special at these settings?

Mar 15 15:20:38 pi36 rtld[7801]: rtldavis: info: 15:20:37.699861 BitRate: 19200
Mar 15 15:20:38 pi36 rtld[7801]: rtldavis: info: 15:20:37.699886 SymbolLength: 14
Mar 15 15:20:38 pi36 rtld[7801]: rtldavis: info: 15:20:37.699901 SampleRate: 268800
Mar 15 15:20:38 pi36 rtld[7801]: rtldavis: info: 15:20:37.699987 Preamble: 1100101110001001
Mar 15 15:20:38 pi36 rtld[7801]: rtldavis: info: 15:20:37.700006 PreambleSymbols: 16
Mar 15 15:20:38 pi36 rtld[7801]: rtldavis: info: 15:20:37.700020 PreambleLength: 224
Mar 15 15:20:38 pi36 rtld[7801]: rtldavis: info: 15:20:37.700032 PacketSymbols: 80
Mar 15 15:20:38 pi36 rtld[7801]: rtldavis: info: 15:20:37.700046 PacketLength: 1120
Mar 15 15:20:38 pi36 rtld[7801]: rtldavis: info: 15:20:37.700059 BlockSize: 512
Mar 15 15:20:38 pi36 rtld[7801]: rtldavis: info: 15:20:37.700072 BufferLength: 2048
Mar 15 15:20:38 pi36 rtld[7801]: rtldavis: info: Found Rafael Micro R820T tuner
Mar 15 15:20:38 pi36 rtld[7801]: rtldavis: info: Exact sample rate is: 268800.001367 Hz

Luc

kobuki

unread,
Mar 16, 2019, 4:55:10 PM3/16/19
to weewx-development
"With the set I found by trial and error I can read three (or four if I want) of my Davis transmitters at once. These EU frequency set has no constant offset with the EU RFM69 frequencies BTW."

Ah, OK. A misunderstanding - I was talking about the US frequencies which are stored in the Golang code and the RFM69 code too. I can't tell anything about the EU ones, since they are not in the Golang code.

kobuki

unread,
Mar 16, 2019, 5:00:21 PM3/16/19
to weewx-development
Bitrate is OK, but the preamble is off, it should be 0xAAAA (alternating 1 and 0). If a bit is a symbol here, then PreambleSymbols and PacketSymbols look right. I'm not sure what the length values mean here. At the very least, they're not the reciprocal of the bit rate.

ljm.h...@gmail.com

unread,
Mar 16, 2019, 5:03:28 PM3/16/19
to weewx-development
On Saturday, 16 March 2019 17:55:10 UTC-3, kobuki wrote:
 I can't tell anything about the EU ones, since they are not in the Golang code.

For the EU frequencies (and more), see my fork of rtldavis on github: https://github.com/lheijst/rtldavis 

Luc

nls

unread,
Mar 16, 2019, 5:06:39 PM3/16/19
to L.J.M. Heijst, weewx-development
OK, thanks. I'll try to look into this in the upcoming week, but so far I have been deterred by my work... Believe me, I'd rather indulge myself in this new code than anything else. Things are being a bit hard for me since I don't have US transmitters, only EU ones, so I'll only be able to test those.

ljm.h...@gmail.com

unread,
Mar 16, 2019, 5:30:53 PM3/16/19
to weewx-development
On Saturday, 16 March 2019 18:00:21 UTC-3, kobuki wrote:
Bitrate is OK, but the preamble is off, it should be 0xAAAA (alternating 1 and 0).

With a preamble of "1010101010101010", no messages were received. Neither with my set frequencies, nor with the RFM69 frequencies.

if tf == "EU" {
p.channels = []int{ 
// 868072000, 868192000, 868312000, 868432000, 868552000, // original set that worked
// 868073575, 868192150, 868312125, 868433150, 868553825, // ok trial-error set
868078500, 868199000, 868318500, 868438500, 868560000, // best trial-error set
// 868066711, 868181885, 868297119, 868412292, 868527466, // RFM69 EU frequencies
}

nls

unread,
Mar 16, 2019, 5:49:47 PM3/16/19
to L.J.M. Heijst, weewx-development
That's not exactly good news... If you get less than 16 bits of alternating 0 and 1 values, that's still better. Well, the decoder sems to handle the packets themselves when a reception does occur, but I'd rather see it decode every single bit properly, including the preamble. A fixed set of 0xAA or 0x55 values is pretty standard for an FSK preamble, btw. That aside, if the bad preamble were the only problem, we wouldn't complain, would we.

ljm.h...@gmail.com

unread,
Mar 16, 2019, 8:50:06 PM3/16/19
to weewx-development
On Saturday, 16 March 2019 17:44:35 UTC-3, ljm.h...@gmail.com wrote:
With the set I found by trial and error I can read three (or four if I want) of my Davis transmitters at once. These EU frequency set has no constant offset with the EU RFM69 frequencies BTW.

I found a correlation formula between the RFM69 frequencies and my EU trial-and-error frequency set.

rtldavis frequency = (RFM69 frequency -40000000) * 1,048319523

These calculated rtldavis frequencies DO work!

Excel gave the following equation: y = 1.0439x - 4E+07, but the factor was not precise enough.

The results:

RFM69 rtldavis
868066711 868078500
868181885 868199238
868297119 868320041
868412292 868440779
868527466 868561518

Luc

nls

unread,
Mar 16, 2019, 8:58:37 PM3/16/19
to L.J.M. Heijst, weewx-development
Wow. So the offset is progressively getting worse by increasing frequency? Interesting find. Sounds like some calculation mishap in the demodulator code. Now, that's one part no one is very familiar with, except for the original author who abandoned the code... Maybe something similar is happening in the US band.

ljm.h...@gmail.com

unread,
Mar 16, 2019, 9:27:13 PM3/16/19
to weewx-development
Kobuki,

Yes, when I create a scatterplot of the two sets US frequencies they appear as (almost) a straight line.
May be we can do a correlation for a few found frequencies with a low frequency error.

And I agree with you that somewhere in the rtldavis software an error is made. The challenge is to find out where and what.

Luc

Message has been deleted

rich T

unread,
Mar 16, 2019, 10:38:48 PM3/16/19
to weewx-development

Luc

Here is a comparison of test frequencies between both of the stations. 

Rich

Test Freq Comparision.png

Greg Troxel

unread,
Mar 17, 2019, 7:56:28 PM3/17/19
to ljm.h...@gmail.com, weewx-development
ljm.h...@gmail.com writes:

> I found a correlation formula between the RFM69 frequencies and my EU
> trial-and-error frequency set.
>
> rtldavis frequency = (RFM69 frequency -40000000) * 1,048319523
>
> These calculated rtldavis frequencies DO work!
>
> Excel gave the following equation: y = 1.0439x - 4E+07, but the factor was
> not precise enough.
>
> The results:
>
> RFM69 rtldavis
> 868066711 868078500
> 868181885 868199238
> 868297119 868320041
> 868412292 868440779
> 868527466 868561518

It would be interesting to really understand what's going on. It seems
like the "RFM69 frequencies" are what is programmed into the
transmitter, and I wonder if that is the intended transmit frequency or
if there is some IF involved. It would be interesting to also sniff the
RFM69 receive chip frequencies at the console.

And, to measure the actual frequencies with test equipment, or something
that can be relied upon to be reaosnably accurate because of
calibration.

When I saw the formula above, I suspected a 40 MHz IF and was suspicious
of the 1.048ish factor. But I wonder what that would look like if it
were fit with different assumptions about the base formula.

Overall, something seems wrong in code somewhere, as a change of 12 kHz
offset to a 35 kHz offset over 500 kHz does not seem plausible.

I'll try to run this and see if I can spot anything.

nls

unread,
Mar 17, 2019, 8:07:51 PM3/17/19
to Greg Troxel, L.J.M. Heijst, weewx-development
As mentioned earlier, the frequencies were sniffed in original VP2 consoles (you can find the posts about that in wxforum threads). They're the GFSK center frequencies, no IF. The "RFM69 frequencies" just mean the ones programmed into the firmware of small Arduino clone based receivers using an RFM69 transceiver module. Also noted that with a simple SDR receiver the packets are appearing at the expected frequency. It's possibly a simple overlook with handling frequencies or frequency correction in the SDR demodulator code. I think any help or ideas come handy.

Greg Troxel

unread,
Mar 18, 2019, 8:05:27 AM3/18/19
to nls, L.J.M. Heijst, weewx-development
nls <nls...@gmail.com> writes:

> As mentioned earlier, the frequencies were sniffed in original VP2 consoles
> (you can find the posts about that in wxforum threads). They're the GFSK
> center frequencies, no IF. The "RFM69 frequencies" just mean the ones
> programmed into the firmware of small Arduino clone based receivers using
> an RFM69 transceiver module. Also noted that with a simple SDR receiver the
> packets are appearing at the expected frequency. It's possibly a simple
> overlook with handling frequencies or frequency correction in the SDR
> demodulator code. I think any help or ideas come handy.

If I follow then, the RFM69 list matches both the VP2 console sniffing
and the Arduino RFM69 code, and those arduino projects are known to
work. And the RFM69 frequencies have been confirmed with SDR code not
involving rtldavis. So it is clear that there is a bug in the rtldavis
code and of course somebody needs to find it. Is that right?

I will have a look.

nls

unread,
Mar 18, 2019, 8:09:02 AM3/18/19
to Greg Troxel, L.J.M. Heijst, weewx-development
Yes, you summed up correctly. All things point to the fact the Golang code is at fault somewhere.
Message has been deleted

rich T

unread,
Mar 18, 2019, 10:47:45 PM3/18/19
to weewx-development
Are these the Frequencies?

902.381925, 902.884575, 903.385425, 903.888075, 904.389375, 904.890675
905.391975, 905.894625, 906.395925, 906.898125, 907.399425, 907.901175
908.402925, 908.904675, 909.406875, 909.909075, 910.409925, 910.912125
911.413875, 911.915175, 912.417375, 912.919125, 913.420425, 913.922625
914.424375, 914.926575, 915.427875, 915.929175, 916.431825, 916.933575
917.434425, 917.935725, 918.438375, 918.940125, 919.441425, 919.943625
920.445375, 920.947125, 921.448425, 921.949725, 922.451925, 922.953225
923.456325, 923.957175, 924.458925, 924.960225, 925.462425, 925.964625
926.466375, 926.967675, 927.469875

ljm.h...@gmail.com

unread,
Mar 19, 2019, 2:14:40 AM3/19/19
to weewx-development
Rich,

I don’t know. What we do know by now is that the well known and proven to be good frequencies (of RFM69) are not working in program rtldavis.
We can do one of two things to solve this.
1. Find out what the problem is and fix it. This is not easy and a thorough knowledge of the demodulator program is needed.
2. Find by experiment a set of frequencies that work.
As I don’t. own a US Davis station, you have to tell me if the set frequencies you mentoon are working.
Right now I can’t come op with a set that might work.

Luc

Greg Troxel

unread,
Mar 19, 2019, 7:41:52 AM3/19/19
to ljm.h...@gmail.com, weewx-development
As part of getting to 1 eventually which is the only sane long term
approach, it would be nice to have the RFM69 frequencies in the source,
clearly annotated with their source, even if another set is used for
now. I am finding this all a wee bit confusing.
signature.asc

nls

unread,
Mar 19, 2019, 7:49:48 AM3/19/19
to Greg Troxel, L.J.M. Heijst, weewx-development
You can find the frequency tables starting here: https://github.com/kobuki/VPTools/blob/master/DavisRFM69.h#L206

The conversion process is to concatenate the 3 octets - eg. for the first 3 it's producing the 0xE3DA7C hex number. You convert it to decimal and multiply by RF69_FSTEP, which is 61.03515625. Thus the first frequency is 911,413,818 Hz or 911.413818 Mhz.


I think you're free to add references (except for the sheet which is temporary) in your fork. These are the frequencies that work with RFM69.

kobuki

unread,
Mar 21, 2019, 5:39:38 AM3/21/19
to weewx-development
Yesterday I was able to try the current version of https://github.com/lheijst/rtldavis. It wasn't able to catch a single packet here (EU band). I didn't do a scan, but I checked the packets OTA with my SDR stick. The Davis Envoy and my RFM69-based receiver have no problems at the same location.

On Thursday, March 14, 2019 at 12:50:29 AM UTC+1, ljm.h...@gmail.com wrote:
To all,

In the weewx forum I started a thread about reception of Davis vantage messages with a RTL-SDR dongle.
I have (re)written two programs
1. A modified version of rtldavis which reads the raw messages and print the data to stderr.
2. A weewx-rtld driver which parses the raw data and store the weather data in the weewx database. This driver is not public yet as by now.

Until now we couldn’t find a usefull set of US frequencies. The modified program rtldavis works resonable well for the EU frequencies.
In this thread we will discuss the progress to get a good working program for both EU and US.

Luc Heijst

ljm.h...@gmail.com

unread,
Mar 21, 2019, 9:38:19 PM3/21/19
to weewx-development
On Thursday, 21 March 2019 06:39:38 UTC-3, kobuki wrote:
 It wasn't able to catch a single packet here (EU band).

Kobuki,

I have changed the EU frequency set in commit a729589 to values which work OK with my equipment.
I will contact the author of rtldavis, Douglas Hall, to get more insight in the demodulator program.
For now we have to use the trial-and-error frequency values.

Luc

rich T

unread,
Mar 21, 2019, 10:21:06 PM3/21/19
to weewx-development
Luc

 The issue I'm having now, the program only hops between the first 5 frequencies from the hop table for the US frequencies.  Even though frequencies might not be right, I thought it should hop through all 51 frequencies. 

Rich

ljm.h...@gmail.com

unread,
Mar 21, 2019, 10:57:34 PM3/21/19
to weewx-development
On Thursday, 21 March 2019 23:21:06 UTC-3, rich T wrote:
 The issue I'm having now, the program only hops between the first 5 frequencies from the hop table for the US frequencies.  Even though frequencies might not be right, I thought it should hop through all 51 frequencies. 

The program works as follows for one transmitter:
1. The program is reading at channel 0 until a message is read. This is the init phase.
2a. When no message could be read, a time-out will occur and the program start again with step 1 (reading channel 0).
2b. When a message is read from channel 0, the channel is changed to the next hop frequency (for US this is channel 19).
3a. When a message is read from channel 19, the channel will hop yo the next frequency (for US: channel 41).
3b. When no message could be read, a time-out will occur and the program will increase the 'missed-counts-in-a-row'. The next channel is selected (for US: channel 25).
4a. When a message is read, the 'missed-counts-in-a-row' is reset to zero.
4b. When no message could be read, and the 'missed-counts-in-a-row' has value 5 or bigger, the program start all over with the init phase at step 1.

So in your case, Rich, only with the first frequency a message could be read. The other 4 hop frequencies were no good and no single message could be read, so the program started all over with channel 0.

When you change line 262 in main.go:
if chAlarmCnts[i] > 5 {
into:
if chAlarmCnts[i] > 51 {

The program will hop through all 51 channels. This could be a nice test to see which of the 51 frequencies are good and which aren't.

Luc


 

rich T

unread,
Mar 21, 2019, 11:11:35 PM3/21/19
to weewx-development
Luc

Thanks for the explanation.  Made the change and going to let it run to see what happens.

Rich

kobuki

unread,
Mar 22, 2019, 11:55:47 AM3/22/19
to weewx-development
Thanks. Unfortunately the receiver still doesn't spit a single packet. Ah well. Maybe it's not sensitive enough, though it has a 5 dB dipole antenna for the 868 MHz band. Let's see what the orugunal author might say.

rich T

unread,
Mar 23, 2019, 5:37:15 PM3/23/19
to weewx-development
Luc

Wondering why when the program decodes a packet, it jumps to the bottom of the hop table instead of going to the next in the list?

17:25:57.366318 Hop: {ChannelIdx:38 ChannelFreq:921422353 FreqError:-7586}
17:25:59.927866 ID:0 packet missed (16)
17:25:59.928283 Hop: {ChannelIdx:10 ChannelFreq:907373340 FreqError:-7586}
17:26:02.428719 500041FF7300FAD5 2 0 0 0 0 msg.ID=0
17:26:02.429009 Hop: {ChannelIdx:46 ChannelFreq:925436357 FreqError:-7918}
17:26:05.055593 ID:0 packet missed (1)
17:26:05.055888 Hop: {ChannelIdx:18 ChannelFreq:911387344 FreqError:-7918}



17:34:37.560028 Hop: {ChannelIdx:27 ChannelFreq:915903098 FreqError:-7509}
17:34:40.121778 ID:0 packet missed (15)
17:34:40.122095 Hop: {ChannelIdx:38 ChannelFreq:921422353 FreqError:-7509}
17:34:41.184930 0000000000000000 6 0 0 0 2 msg.ID=0
17:34:41.185156 Hop: {ChannelIdx:26 ChannelFreq:915401347 FreqError:-41047}
17:34:43.811459 ID:0 packet missed (1)
17:34:43.812866 Hop: {ChannelIdx:9 ChannelFreq:906871589 FreqError:-41047}



Thanks 
Rich


rich T

unread,
Mar 23, 2019, 5:52:37 PM3/23/19
to weewx-development
Here is several minutes of data:

17:28:20.867017 Init channels: wait max 133 seconds for a message of each transmitter
17:28:20.867091 Hop: {ChannelIdx:0 ChannelFreq:902355835 FreqError:-7918}
17:29:40.243266 TRANSMITTER 0 SEEN
17:29:40.243493 Hop: {ChannelIdx:19 ChannelFreq:911874959 FreqError:-7614}
17:29:42.869691 ID:0 packet missed (1)
17:29:42.870133 Hop: {ChannelIdx:41 ChannelFreq:922927605 FreqError:-7614}
17:29:45.431613 ID:0 packet missed (2)
17:29:45.432058 Hop: {ChannelIdx:25 ChannelFreq:914899597 FreqError:-7614}
17:29:47.995587 ID:0 packet missed (3)
17:29:47.995880 Hop: {ChannelIdx:8 ChannelFreq:906369839 FreqError:-7614}
17:29:50.558207 ID:0 packet missed (4)
17:29:50.558995 Hop: {ChannelIdx:47 ChannelFreq:925938108 FreqError:-7614}
17:29:53.119424 ID:0 packet missed (5)
17:29:53.119858 Hop: {ChannelIdx:32 ChannelFreq:918411850 FreqError:-7614}
17:29:55.681279 ID:0 packet missed (6)
17:29:55.681506 Hop: {ChannelIdx:13 ChannelFreq:908878591 FreqError:-7614}
17:29:58.244932 ID:0 packet missed (7)
17:29:58.245234 Hop: {ChannelIdx:36 ChannelFreq:920418852 FreqError:-7614}
17:30:00.806263 ID:0 packet missed (8)
17:30:00.806561 Hop: {ChannelIdx:22 ChannelFreq:913394346 FreqError:-7614}
17:30:03.369441 ID:0 packet missed (9)
17:30:03.369625 Hop: {ChannelIdx:3 ChannelFreq:903861086 FreqError:-7614}
17:30:05.931783 ID:0 packet missed (10)
17:30:05.932002 Hop: {ChannelIdx:29 ChannelFreq:916906599 FreqError:-7614}
17:30:08.493725 ID:0 packet missed (11)
17:30:08.494028 Hop: {ChannelIdx:44 ChannelFreq:924432856 FreqError:-7614}
17:30:11.057720 ID:0 packet missed (12)
17:30:11.058034 Hop: {ChannelIdx:16 ChannelFreq:910383843 FreqError:-7614}
17:30:13.619189 ID:0 packet missed (13)
17:30:13.619364 Hop: {ChannelIdx:5 ChannelFreq:904864587 FreqError:-7614}
17:30:16.181589 ID:0 packet missed (14)
17:30:16.181837 Hop: {ChannelIdx:27 ChannelFreq:915903098 FreqError:-7614}
17:30:18.744419 ID:0 packet missed (15)
17:30:18.744643 Hop: {ChannelIdx:38 ChannelFreq:921422353 FreqError:-7614}
17:30:21.306346 ID:0 packet missed (16)
17:30:21.306482 Hop: {ChannelIdx:10 ChannelFreq:907373340 FreqError:-7614}
17:30:23.805458 80008D1B19003AE7 4 0 0 0 1 msg.ID=0
17:30:23.805603 Hop: {ChannelIdx:46 ChannelFreq:925436357 FreqError:-7877}
17:30:26.432342 ID:0 packet missed (1)
17:30:26.432774 Hop: {ChannelIdx:18 ChannelFreq:911387344 FreqError:-7877}
17:30:28.995385 ID:0 packet missed (2)
17:30:28.995596 Hop: {ChannelIdx:0 ChannelFreq:902355835 FreqError:-7877}
17:30:31.556041 ID:0 packet missed (3)
17:30:31.556368 Hop: {ChannelIdx:19 ChannelFreq:911874959 FreqError:-7877}
17:30:34.119948 ID:0 packet missed (4)
17:30:34.120227 Hop: {ChannelIdx:41 ChannelFreq:922927605 FreqError:-7877}
17:30:36.681044 ID:0 packet missed (5)
17:30:36.681210 Hop: {ChannelIdx:25 ChannelFreq:914899597 FreqError:-7877}
17:30:39.243255 ID:0 packet missed (6)
17:30:39.243571 Hop: {ChannelIdx:8 ChannelFreq:906369839 FreqError:-7877}
17:30:41.806656 ID:0 packet missed (7)
17:30:41.806890 Hop: {ChannelIdx:47 ChannelFreq:925938108 FreqError:-7877}
17:30:44.368822 ID:0 packet missed (8)
17:30:44.368951 Hop: {ChannelIdx:32 ChannelFreq:918411850 FreqError:-7877}
17:30:46.931496 ID:0 packet missed (9)
17:30:46.931737 Hop: {ChannelIdx:13 ChannelFreq:908878591 FreqError:-7877}
17:30:49.493354 ID:0 packet missed (10)
17:30:49.493582 Hop: {ChannelIdx:36 ChannelFreq:920418852 FreqError:-7877}
17:30:52.057958 ID:0 packet missed (11)
17:30:52.058241 Hop: {ChannelIdx:22 ChannelFreq:913394346 FreqError:-7877}
17:30:54.620022 ID:0 packet missed (12)
17:30:54.620309 Hop: {ChannelIdx:3 ChannelFreq:903861086 FreqError:-7877}
17:30:57.181637 ID:0 packet missed (13)
17:30:57.182069 Hop: {ChannelIdx:29 ChannelFreq:916906599 FreqError:-7877}
17:30:59.744155 ID:0 packet missed (14)
17:30:59.744283 Hop: {ChannelIdx:44 ChannelFreq:924432856 FreqError:-7877}
17:31:02.306223 ID:0 packet missed (15)
17:31:02.306398 Hop: {ChannelIdx:16 ChannelFreq:910383843 FreqError:-7877}
17:31:04.869531 ID:0 packet missed (16)
17:31:04.869882 Hop: {ChannelIdx:5 ChannelFreq:904864587 FreqError:-7877}
17:31:07.431335 ID:0 packet missed (17)
17:31:07.431476 Hop: {ChannelIdx:27 ChannelFreq:915903098 FreqError:-7877}
17:31:09.993558 ID:0 packet missed (18)
17:31:09.993849 Hop: {ChannelIdx:38 ChannelFreq:921422353 FreqError:-7877}
17:31:12.556291 ID:0 packet missed (19)
17:31:12.556522 Hop: {ChannelIdx:10 ChannelFreq:907373340 FreqError:-7877}
17:31:15.119845 ID:0 packet missed (20)
17:31:15.120073 Hop: {ChannelIdx:49 ChannelFreq:926941609 FreqError:-7877}
17:31:17.682642 ID:0 packet missed (21)
17:31:17.682825 Hop: {ChannelIdx:21 ChannelFreq:912892595 FreqError:-7877}
17:31:20.244728 ID:0 packet missed (22)
17:31:20.244954 Hop: {ChannelIdx:2 ChannelFreq:903359336 FreqError:-7877}
17:31:22.806976 ID:0 packet missed (23)
17:31:22.807390 Hop: {ChannelIdx:30 ChannelFreq:917408349 FreqError:-7877}
17:31:25.369327 ID:0 packet missed (24)
17:31:25.369668 Hop: {ChannelIdx:42 ChannelFreq:923429355 FreqError:-7877}
17:31:27.932614 ID:0 packet missed (25)
17:31:27.932861 Hop: {ChannelIdx:14 ChannelFreq:909380342 FreqError:-7877}
17:31:30.493436 ID:0 packet missed (26)
17:31:30.493712 Hop: {ChannelIdx:48 ChannelFreq:926439858 FreqError:-7877}
17:31:33.056044 ID:0 packet missed (27)
17:31:33.056202 Hop: {ChannelIdx:7 ChannelFreq:905868088 FreqError:-7877}
17:31:35.618365 ID:0 packet missed (28)
17:31:35.618651 Hop: {ChannelIdx:24 ChannelFreq:914397847 FreqError:-7877}
17:31:38.182322 ID:0 packet missed (29)
17:31:38.182633 Hop: {ChannelIdx:34 ChannelFreq:919415351 FreqError:-16876}
17:31:40.744272 ID:0 packet missed (30)
17:31:40.744496 Hop: {ChannelIdx:45 ChannelFreq:924934607 FreqError:-16876}
17:31:43.306151 ID:0 packet missed (31)
17:31:43.306448 Hop: {ChannelIdx:1 ChannelFreq:902857585 FreqError:-16876}
17:31:45.869083 ID:0 packet missed (32)
17:31:45.869211 Hop: {ChannelIdx:17 ChannelFreq:910885593 FreqError:-16876}
17:31:48.431400 ID:0 packet missed (33)
17:31:48.431562 Hop: {ChannelIdx:39 ChannelFreq:921924104 FreqError:-16876}
17:31:50.993290 ID:0 packet missed (34)
17:31:50.993530 Hop: {ChannelIdx:26 ChannelFreq:915401347 FreqError:-16876}
17:31:53.556923 ID:0 packet missed (35)
17:31:53.557049 Hop: {ChannelIdx:9 ChannelFreq:906871589 FreqError:-16876}
17:31:56.120009 ID:0 packet missed (36)
17:31:56.120175 Hop: {ChannelIdx:31 ChannelFreq:917910100 FreqError:-16876}
17:31:58.681133 ID:0 packet missed (37)
17:31:58.681250 Hop: {ChannelIdx:50 ChannelFreq:927443359 FreqError:-16876}
17:32:01.244837 ID:0 packet missed (38)
17:32:01.245131 Hop: {ChannelIdx:37 ChannelFreq:920920603 FreqError:-16876}
17:32:03.806682 ID:0 packet missed (39)
17:32:03.806815 Hop: {ChannelIdx:12 ChannelFreq:908376841 FreqError:-16876}
17:32:06.369108 ID:0 packet missed (40)
17:32:06.369579 Hop: {ChannelIdx:20 ChannelFreq:912390845 FreqError:-16876}
17:32:08.930989 ID:0 packet missed (41)
17:32:08.931165 Hop: {ChannelIdx:33 ChannelFreq:918913601 FreqError:-16876}
17:32:11.494544 ID:0 packet missed (42)
17:32:11.494768 Hop: {ChannelIdx:4 ChannelFreq:904362837 FreqError:-16876}
17:32:14.057486 ID:0 packet missed (43)
17:32:14.057617 Hop: {ChannelIdx:43 ChannelFreq:923931106 FreqError:-16876}
17:32:16.618801 ID:0 packet missed (44)
17:32:16.618938 Hop: {ChannelIdx:28 ChannelFreq:916404848 FreqError:-16876}
17:32:19.181141 ID:0 packet missed (45)
17:32:19.181746 Hop: {ChannelIdx:15 ChannelFreq:909882092 FreqError:-16876}
17:32:21.745417 ID:0 packet missed (46)
17:32:21.745844 Hop: {ChannelIdx:35 ChannelFreq:919917102 FreqError:-16876}
17:32:24.307309 ID:0 packet missed (47)
17:32:24.307447 Hop: {ChannelIdx:6 ChannelFreq:905366338 FreqError:-16876}
17:32:26.869752 ID:0 packet missed (48)
17:32:26.870003 Hop: {ChannelIdx:40 ChannelFreq:922425854 FreqError:-16876}
17:32:29.430873 ID:0 packet missed (49)
17:32:29.430997 Hop: {ChannelIdx:11 ChannelFreq:907875090 FreqError:-16876}
17:32:31.995340 ID:0 packet missed (50)
17:32:31.995615 Hop: {ChannelIdx:23 ChannelFreq:913896096 FreqError:-16876}
17:32:34.555937 ID:0 packet missed (51)
17:32:34.556063 Hop: {ChannelIdx:46 ChannelFreq:925436357 FreqError:-16876}
17:32:37.120790 ID:0 packet missed (52)
17:32:37.120951 Hop: {ChannelIdx:18 ChannelFreq:911387344 FreqError:-16906}
17:32:39.681673 ID:0 packet missed (53)
17:32:39.681800 Hop: {ChannelIdx:0 ChannelFreq:902355835 FreqError:-16906}
17:32:42.244510 ID:0 packet missed (54)
17:32:42.244593 Init channels: wait max 133 seconds for a message of each transmitter
17:32:42.244654 Hop: {ChannelIdx:0 ChannelFreq:902355835 FreqError:-16906}
17:34:01.621310 TRANSMITTER 0 SEEN
17:34:01.621589 Hop: {ChannelIdx:19 ChannelFreq:911874959 FreqError:-7509}
17:34:04.246783 ID:0 packet missed (1)
17:34:04.246972 Hop: {ChannelIdx:41 ChannelFreq:922927605 FreqError:-7509}
17:34:06.810797 ID:0 packet missed (2)
17:34:06.811050 Hop: {ChannelIdx:25 ChannelFreq:914899597 FreqError:-7509}
17:34:09.372654 ID:0 packet missed (3)
17:34:09.372784 Hop: {ChannelIdx:8 ChannelFreq:906369839 FreqError:-7509}
17:34:11.935256 ID:0 packet missed (4)
17:34:11.935395 Hop: {ChannelIdx:47 ChannelFreq:925938108 FreqError:-7509}
17:34:14.497704 ID:0 packet missed (5)
17:34:14.497987 Hop: {ChannelIdx:32 ChannelFreq:918411850 FreqError:-7509}
17:34:17.059547 ID:0 packet missed (6)
17:34:17.060811 Hop: {ChannelIdx:13 ChannelFreq:908878591 FreqError:-7509}
17:34:19.623242 ID:0 packet missed (7)
17:34:19.623468 Hop: {ChannelIdx:36 ChannelFreq:920418852 FreqError:-7509}
17:34:22.185221 ID:0 packet missed (8)
17:34:22.185639 Hop: {ChannelIdx:22 ChannelFreq:913394346 FreqError:-7509}
17:34:24.747284 ID:0 packet missed (9)
17:34:24.747488 Hop: {ChannelIdx:3 ChannelFreq:903861086 FreqError:-7509}
17:34:27.309237 ID:0 packet missed (10)
17:34:27.309544 Hop: {ChannelIdx:29 ChannelFreq:916906599 FreqError:-7509}
17:34:29.873277 ID:0 packet missed (11)
17:34:29.873586 Hop: {ChannelIdx:44 ChannelFreq:924432856 FreqError:-7509}
17:34:32.435881 ID:0 packet missed (12)
17:34:32.437137 Hop: {ChannelIdx:16 ChannelFreq:910383843 FreqError:-7509}
17:34:34.997778 ID:0 packet missed (13)
17:34:34.997985 Hop: {ChannelIdx:5 ChannelFreq:904864587 FreqError:-7509}
17:34:37.559804 ID:0 packet missed (14)
17:34:37.560028 Hop: {ChannelIdx:27 ChannelFreq:915903098 FreqError:-7509}
17:34:40.121778 ID:0 packet missed (15)
17:34:40.122095 Hop: {ChannelIdx:38 ChannelFreq:921422353 FreqError:-7509}
17:34:41.184930 0000000000000000 6 0 0 0 2 msg.ID=0
17:34:41.185156 Hop: {ChannelIdx:26 ChannelFreq:915401347 FreqError:-41047}
17:34:43.811459 ID:0 packet missed (1)
17:34:43.812866 Hop: {ChannelIdx:9 ChannelFreq:906871589 FreqError:-41047}
17:34:46.373546 ID:0 packet missed (2)
17:34:46.373898 Hop: {ChannelIdx:31 ChannelFreq:917910100 FreqError:-41047}
17:34:48.935824 ID:0 packet missed (3)
17:34:48.936060 Hop: {ChannelIdx:50 ChannelFreq:927443359 FreqError:-41047}
17:34:51.497777 ID:0 packet missed (4)
17:34:51.498054 Hop: {ChannelIdx:37 ChannelFreq:920920603 FreqError:-41047}
17:34:54.061788 ID:0 packet missed (5)
17:34:54.062005 Hop: {ChannelIdx:12 ChannelFreq:908376841 FreqError:-41047}
17:34:56.623317 ID:0 packet missed (6)
17:34:56.623484 Hop: {ChannelIdx:20 ChannelFreq:912390845 FreqError:-41047}
17:34:59.187090 ID:0 packet missed (7)
17:34:59.187239 Hop: {ChannelIdx:33 ChannelFreq:918913601 FreqError:-41047}
17:35:01.749466 ID:0 packet missed (8)
17:35:01.750834 Hop: {ChannelIdx:4 ChannelFreq:904362837 FreqError:-41047}
17:35:04.312351 ID:0 packet missed (9)
17:35:04.312670 Hop: {ChannelIdx:43 ChannelFreq:923931106 FreqError:-41047}
17:35:06.873621 ID:0 packet missed (10)
17:35:06.874112 Hop: {ChannelIdx:28 ChannelFreq:916404848 FreqError:-41047}
17:35:09.436957 ID:0 packet missed (11)
17:35:09.437086 Hop: {ChannelIdx:15 ChannelFreq:909882092 FreqError:-41047}
17:35:11.998904 ID:0 packet missed (12)
17:35:11.999019 Hop: {ChannelIdx:35 ChannelFreq:919917102 FreqError:-41047}
17:35:14.560235 ID:0 packet missed (13)
17:35:14.560460 Hop: {ChannelIdx:6 ChannelFreq:905366338 FreqError:-41047}
17:35:17.123863 ID:0 packet missed (14)
17:35:17.124789 Hop: {ChannelIdx:40 ChannelFreq:922425854 FreqError:-41047}
17:35:19.685933 ID:0 packet missed (15)
17:35:19.686110 Hop: {ChannelIdx:11 ChannelFreq:907875090 FreqError:-41047}
17:35:22.247837 ID:0 packet missed (16)
17:35:22.248087 Hop: {ChannelIdx:23 ChannelFreq:913896096 FreqError:-41047}
17:35:24.811549 ID:0 packet missed (17)
17:35:24.811768 Hop: {ChannelIdx:46 ChannelFreq:925436357 FreqError:-41047}
17:35:27.373511 ID:0 packet missed (18)
17:35:27.373734 Hop: {ChannelIdx:18 ChannelFreq:911387344 FreqError:-41047}
17:35:29.935393 ID:0 packet missed (19)
17:35:29.935673 Hop: {ChannelIdx:0 ChannelFreq:902355835 FreqError:-41047}
17:35:32.499063 ID:0 packet missed (20)
17:35:32.499211 Hop: {ChannelIdx:19 ChannelFreq:911874959 FreqError:-41047}
17:35:35.061502 ID:0 packet missed (21)
17:35:35.062040 Hop: {ChannelIdx:41 ChannelFreq:922927605 FreqError:-41047}
17:35:37.623429 ID:0 packet missed (22)
17:35:37.623751 Hop: {ChannelIdx:25 ChannelFreq:914899597 FreqError:-41047}
17:35:40.185311 ID:0 packet missed (23)
17:35:40.185531 Hop: {ChannelIdx:8 ChannelFreq:906369839 FreqError:-41047}
17:35:42.749060 ID:0 packet missed (24)
17:35:42.749262 Hop: {ChannelIdx:47 ChannelFreq:925938108 FreqError:-41047}
17:35:45.311301 ID:0 packet missed (25)
17:35:45.311527 Hop: {ChannelIdx:32 ChannelFreq:918411850 FreqError:-41047}
17:35:47.873360 ID:0 packet missed (26)
17:35:47.873601 Hop: {ChannelIdx:13 ChannelFreq:908878591 FreqError:-41047}
17:35:50.435400 ID:0 packet missed (27)
17:35:50.435686 Hop: {ChannelIdx:36 ChannelFreq:920418852 FreqError:-41047}
17:35:52.999221 ID:0 packet missed (28)
17:35:52.999757 Hop: {ChannelIdx:22 ChannelFreq:913394346 FreqError:-41047}
17:35:55.561033 ID:0 packet missed (29)
17:35:55.561226 Hop: {ChannelIdx:3 ChannelFreq:903861086 FreqError:-41047}
17:35:56.936687 500590FF70005266 7 0 0 0 2 msg.ID=0
17:35:56.936821 Hop: {ChannelIdx:34 ChannelFreq:919415351 FreqError:-7862}
17:35:59.563295 ID:0 packet missed (1)
17:35:59.563453 Hop: {ChannelIdx:45 ChannelFreq:924934607 FreqError:-7862}
17:36:02.125765 ID:0 packet missed (2)
17:36:02.126009 Hop: {ChannelIdx:1 ChannelFreq:902857585 FreqError:-7862}
17:36:04.687491 ID:0 packet missed (3)
17:36:04.687653 Hop: {ChannelIdx:17 ChannelFreq:910885593 FreqError:-7862}
17:36:07.250596 ID:0 packet missed (4)
17:36:07.250737 Hop: {ChannelIdx:39 ChannelFreq:921924104 FreqError:-7862}
17:36:09.812553 ID:0 packet missed (5)
17:36:09.813410 Hop: {ChannelIdx:26 ChannelFreq:915401347 FreqError:-7862}
17:36:12.375588 ID:0 packet missed (6)
17:36:12.375857 Hop: {ChannelIdx:9 ChannelFreq:906871589 FreqError:-7862}
17:36:14.937698 ID:0 packet missed (7)
17:36:14.937893 Hop: {ChannelIdx:31 ChannelFreq:917910100 FreqError:-7862}
17:36:17.499929 ID:0 packet missed (8)
17:36:17.500222 Hop: {ChannelIdx:50 ChannelFreq:927443359 FreqError:-7862}
17:36:20.064086 ID:0 packet missed (9)
17:36:20.064316 Hop: {ChannelIdx:37 ChannelFreq:920920603 FreqError:-7862}
17:36:22.626647 ID:0 packet missed (10)
17:36:22.626883 Hop: {ChannelIdx:12 ChannelFreq:908376841 FreqError:-7862}
17:36:25.188138 ID:0 packet missed (11)
17:36:25.191692 Hop: {ChannelIdx:20 ChannelFreq:912390845 FreqError:-7862}
17:36:27.751352 ID:0 packet missed (12)
17:36:27.751899 Hop: {ChannelIdx:33 ChannelFreq:918913601 FreqError:-7862}
17:36:30.314084 ID:0 packet missed (13)
17:36:30.314269 Hop: {ChannelIdx:4 ChannelFreq:904362837 FreqError:-7862}
17:36:32.875299 ID:0 packet missed (14)
17:36:32.875456 Hop: {ChannelIdx:43 ChannelFreq:923931106 FreqError:-7862}
17:36:35.437655 ID:0 packet missed (15)
17:36:35.437922 Hop: {ChannelIdx:28 ChannelFreq:916404848 FreqError:-7862}
17:36:37.999909 ID:0 packet missed (16)
17:36:38.000043 Hop: {ChannelIdx:15 ChannelFreq:909882092 FreqError:-7862}
17:36:40.562893 ID:0 packet missed (17)
17:36:40.563053 Hop: {ChannelIdx:35 ChannelFreq:919917102 FreqError:-7862}
17:36:43.124632 ID:0 packet missed (18)
17:36:43.124861 Hop: {ChannelIdx:6 ChannelFreq:905366338 FreqError:-7862}
17:36:45.693673 ID:0 packet missed (19)
17:36:45.693857 Hop: {ChannelIdx:40 ChannelFreq:922425854 FreqError:-7862}
17:36:48.250474 ID:0 packet missed (20)
17:36:48.250609 Hop: {ChannelIdx:11 ChannelFreq:907875090 FreqError:-7862}
17:36:50.812498 ID:0 packet missed (21)
17:36:50.812723 Hop: {ChannelIdx:23 ChannelFreq:913896096 FreqError:-7862}
17:36:53.375448 ID:0 packet missed (22)
17:36:53.376395 Hop: {ChannelIdx:46 ChannelFreq:925436357 FreqError:-7862}
17:36:55.938838 ID:0 packet missed (23)
17:36:55.939440 Hop: {ChannelIdx:18 ChannelFreq:911387344 FreqError:-7862}
17:36:58.439879 500274FF71004898 8 0 0 0 2 msg.ID=0
17:36:58.440393 Hop: {ChannelIdx:25 ChannelFreq:914899597 FreqError:-6931}
17:37:01.066276 ID:0 packet missed (1)
17:37:01.066524 Hop: {ChannelIdx:8 ChannelFreq:906369839 FreqError:-6931}
17:37:03.628116 ID:0 packet missed (2)
17:37:03.628346 Hop: {ChannelIdx:47 ChannelFreq:925938108 FreqError:-6931}
17:37:06.191752 ID:0 packet missed (3)
17:37:06.191886 Hop: {ChannelIdx:32 ChannelFreq:918411850 FreqError:-6931}
17:37:08.752915 ID:0 packet missed (4)
17:37:08.753335 Hop: {ChannelIdx:13 ChannelFreq:908878591 FreqError:-6931}
17:37:11.251734 60027504830077A0 9 0 0 0 2 msg.ID=0
17:37:11.251866 Hop: {ChannelIdx:37 ChannelFreq:920920603 FreqError:-7257}
17:37:13.878461 ID:0 packet missed (1)
17:37:13.878827 Hop: {ChannelIdx:12 ChannelFreq:908376841 FreqError:-7257}
17:37:16.440785 ID:0 packet missed (2)
17:37:16.441304 Hop: {ChannelIdx:20 ChannelFreq:912390845 FreqError:-7257}
17:37:19.002643 ID:0 packet missed (3)
17:37:19.003107 Hop: {ChannelIdx:33 ChannelFreq:918913601 FreqError:-16604}
17:37:21.566338 ID:0 packet missed (4)
17:37:21.566816 Hop: {ChannelIdx:4 ChannelFreq:904362837 FreqError:-16604}
17:37:24.127881 ID:0 packet missed (5)
17:37:24.128026 Hop: {ChannelIdx:43 ChannelFreq:923931106 FreqError:-16604}
17:37:26.691200 ID:0 packet missed (6)
17:37:26.691426 Hop: {ChannelIdx:28 ChannelFreq:916404848 FreqError:-16604}
17:37:29.254058 ID:0 packet missed (7)
17:37:29.254267 Hop: {ChannelIdx:15 ChannelFreq:909882092 FreqError:-16604}
17:37:31.814959 ID:0 packet missed (8)
17:37:31.815323 Hop: {ChannelIdx:35 ChannelFreq:919917102 FreqError:-16604}
17:37:34.378573 ID:0 packet missed (9)
17:37:34.378753 Hop: {ChannelIdx:6 ChannelFreq:905366338 FreqError:-16604}
17:37:36.939720 ID:0 packet missed (10)
17:37:36.940041 Hop: {ChannelIdx:40 ChannelFreq:922425854 FreqError:-16604}
17:37:39.502144 ID:0 packet missed (11)
17:37:39.502304 Hop: {ChannelIdx:11 ChannelFreq:907875090 FreqError:-16604}
17:37:42.065239 ID:0 packet missed (12)
17:37:42.065416 Hop: {ChannelIdx:23 ChannelFreq:913896096 FreqError:-16604}
17:37:44.627354 ID:0 packet missed (13)
17:37:44.627501 Hop: {ChannelIdx:46 ChannelFreq:925436357 FreqError:-16604}
17:37:47.190648 ID:0 packet missed (14)
17:37:47.190861 Hop: {ChannelIdx:18 ChannelFreq:911387344 FreqError:-16604}
17:37:49.753054 ID:0 packet missed (15)
17:37:49.753288 Hop: {ChannelIdx:0 ChannelFreq:902355835 FreqError:-16604}
17:37:52.314538 ID:0 packet missed (16)
17:37:52.314681 Hop: {ChannelIdx:19 ChannelFreq:911874959 FreqError:-16604}
17:37:54.878622 ID:0 packet missed (17)
17:37:54.878849 Hop: {ChannelIdx:41 ChannelFreq:922927605 FreqError:-16604}
17:37:57.441302 ID:0 packet missed (18)
17:37:57.441523 Hop: {ChannelIdx:25 ChannelFreq:914899597 FreqError:-16604}
17:38:00.003156 ID:0 packet missed (19)
17:38:00.003381 Hop: {ChannelIdx:8 ChannelFreq:906369839 FreqError:-16604}
17:38:02.565104 ID:0 packet missed (20)
17:38:02.565354 Hop: {ChannelIdx:47 ChannelFreq:925938108 FreqError:-16604}
17:38:05.128783 ID:0 packet missed (21)
17:38:05.128921 Hop: {ChannelIdx:32 ChannelFreq:918411850 FreqError:-16604}
17:38:07.690703 ID:0 packet missed (22)
17:38:07.690866 Hop: {ChannelIdx:13 ChannelFreq:908878591 FreqError:-16243}
17:38:10.253088 ID:0 packet missed (23)
17:38:10.253311 Hop: {ChannelIdx:36 ChannelFreq:920418852 FreqError:-16243}
17:38:12.754043 4000AEFFC100C83A 10 0 0 0 2 msg.ID=0
17:38:12.754595 Hop: {ChannelIdx:27 ChannelFreq:915903098 FreqError:-7139}
17:38:15.380792 ID:0 packet missed (1)
17:38:15.381106 Hop: {ChannelIdx:38 ChannelFreq:921422353 FreqError:-7139}
17:38:17.943499 ID:0 packet missed (2)
17:38:17.943856 Hop: {ChannelIdx:10 ChannelFreq:907373340 FreqError:-7139}
17:38:20.504713 ID:0 packet missed (3)
17:38:20.504941 Hop: {ChannelIdx:49 ChannelFreq:926941609 FreqError:-7139}
17:38:23.068685 ID:0 packet missed (4)
17:38:23.068971 Hop: {ChannelIdx:21 ChannelFreq:912892595 FreqError:-7139}
17:38:25.630009 ID:0 packet missed (5)
17:38:25.630230 Hop: {ChannelIdx:2 ChannelFreq:903359336 FreqError:-7139}
17:38:28.191869 ID:0 packet missed (6)
17:38:28.192264 Hop: {ChannelIdx:30 ChannelFreq:917408349 FreqError:-7139}
17:38:30.755907 ID:0 packet missed (7)
17:38:30.756130 Hop: {ChannelIdx:42 ChannelFreq:923429355 FreqError:-7139}
17:38:33.317848 ID:0 packet missed (8)
17:38:33.318078 Hop: {ChannelIdx:14 ChannelFreq:909380342 FreqError:-7139}
17:38:35.879865 ID:0 packet missed (9)
17:38:35.880092 Hop: {ChannelIdx:48 ChannelFreq:926439858 FreqError:-7139}
17:38:38.443570 ID:0 packet missed (10)
17:38:38.443793 Hop: {ChannelIdx:7 ChannelFreq:905868088 FreqError:-7139}
17:38:41.005511 ID:0 packet missed (11)
17:38:41.005725 Hop: {ChannelIdx:24 ChannelFreq:914397847 FreqError:-7139}
17:38:43.567440 ID:0 packet missed (12)
17:38:43.567688 Hop: {ChannelIdx:34 ChannelFreq:919415351 FreqError:-7139}
17:38:46.131048 ID:0 packet missed (13)
17:38:46.131176 Hop: {ChannelIdx:45 ChannelFreq:924934607 FreqError:-7139}
17:38:48.693368 ID:0 packet missed (14)
17:38:48.693588 Hop: {ChannelIdx:1 ChannelFreq:902857585 FreqError:-7139}
17:38:51.256373 ID:0 packet missed (15)
17:38:51.256900 Hop: {ChannelIdx:17 ChannelFreq:910885593 FreqError:-7139}
17:38:53.818473 ID:0 packet missed (16)
17:38:53.818773 Hop: {ChannelIdx:39 ChannelFreq:921924104 FreqError:-7139}
17:38:56.380312 ID:0 packet missed (17)
17:38:56.380592 Hop: {ChannelIdx:26 ChannelFreq:915401347 FreqError:-7139}
17:38:58.943937 ID:0 packet missed (18)
17:38:58.944158 Hop: {ChannelIdx:9 ChannelFreq:906871589 FreqError:-7139}
17:39:01.506176 ID:0 packet missed (19)
17:39:01.506467 Hop: {ChannelIdx:31 ChannelFreq:917910100 FreqError:-7139}
17:39:04.067810 ID:0 packet missed (20)
17:39:04.068055 Hop: {ChannelIdx:50 ChannelFreq:927443359 FreqError:-7139}
17:39:06.629757 ID:0 packet missed (21)
17:39:06.629978 Hop: {ChannelIdx:37 ChannelFreq:920920603 FreqError:-7139}
17:39:09.192193 ID:0 packet missed (22)
17:39:09.192608 Hop: {ChannelIdx:12 ChannelFreq:908376841 FreqError:-7139}
17:39:11.754379 ID:0 packet missed (23)
17:39:11.754765 Hop: {ChannelIdx:20 ChannelFreq:912390845 FreqError:-7139}
17:39:14.317688 ID:0 packet missed (24)
17:39:14.317913 Hop: {ChannelIdx:33 ChannelFreq:918913601 FreqError:-7139}
17:39:16.881356 ID:0 packet missed (25)
17:39:16.881594 Hop: {ChannelIdx:4 ChannelFreq:904362837 FreqError:-7139}
17:39:19.443666 ID:0 packet missed (26)
17:39:19.443892 Hop: {ChannelIdx:43 ChannelFreq:923931106 FreqError:-7139}
17:39:22.005615 ID:0 packet missed (27)
17:39:22.005995 Hop: {ChannelIdx:28 ChannelFreq:916404848 FreqError:-7139}
17:39:24.568322 ID:0 packet missed (28)
17:39:24.568551 Hop: {ChannelIdx:15 ChannelFreq:909882092 FreqError:-7139}
17:39:27.130364 ID:0 packet missed (29)
17:39:27.130693 Hop: {ChannelIdx:35 ChannelFreq:919917102 FreqError:-7139}
17:39:29.692231 ID:0 packet missed (30)
17:39:29.692628 Hop: {ChannelIdx:6 ChannelFreq:905366338 FreqError:-7139}
17:39:32.256179 ID:0 packet missed (31)
17:39:32.256392 Hop: {ChannelIdx:40 ChannelFreq:922425854 FreqError:-7139}

ljm.h...@gmail.com

unread,
Mar 24, 2019, 2:43:17 AM3/24/19
to weewx-development
It seems you catched a bug, Rich. Each time the program received a message after the init phase, the program picks a wrong channel to continue.
I think the housekeeping of the last visited channel index has an error.

You also received a message with only zeros which passed the crc check.

More to come.

Luc

ljm.h...@gmail.com

unread,
Mar 24, 2019, 2:46:33 AM3/24/19
to weewx-development
When I look at the frequency errors of the received messages I notice the values in our frequency list are too low. When I can discover a pattern, I will suggest a better list.

Luc

ljm.h...@gmail.com

unread,
Mar 24, 2019, 7:24:17 AM3/24/19
to weewx-development
2019-03-24 NEW RELEASE rtldavis

main.go version 0.10 (commit 5858894)
protocol.go version 0.9 (commit e8ff83d)

Changes:

- Fixed wrong calculation of next hop index in some situations.

- Addaed presentation of missed number of messages per channel.
  Note: The missed number of messages should be spread equaly over the channels.
  When some channels have much higher error numbers than average, 
  this may indicate a not optimal channel frequency.

- Added frequency correction.
  Note: Each RTL-SDR device will have its own frequency error.
  The same with the Davis equipment: each Davis transmitter will haave its own frequency error.
  Also each frequency channel will have its own frequency error.
  protocol.go version 9 calculates per Davis transmitter and per channel 
  the average frequency error over the last 10 occurrences and use this value to correct 
  the next frequency for the next time the same transmitter and frequency channel is selceted.

- Updated channel frequencies EU and US
  Based upon recent test values.

Luc

rich T

unread,
Mar 24, 2019, 8:48:20 AM3/24/19
to weewx-development
Luc

Running the updated driver and the driver exits after 5 hops.  

pi@raspberrypi:~/work/src/github.com/lheijst/rtldavis $ $GOPATH/bin/rtldavis -tf US
08:39:53.358822 rtldavis.go VERSION=0.10
08:39:53.359302 tr=1 fc=0 ex=0 actChan=[0] maxChan=1
08:39:53.360076 BitRate: 19200
08:39:53.360126 SymbolLength: 14
08:39:53.360163 SampleRate: 268800
08:39:53.360197 Preamble: 1100101110001001
08:39:53.360231 PreambleSymbols: 16
08:39:53.360264 PreambleLength: 224
08:39:53.360300 PacketSymbols: 80
08:39:53.360334 PacketLength: 1120
08:39:53.360367 BlockSize: 512
08:39:53.360403 BufferLength: 2048
Detached kernel driver
Found Rafael Micro R820T tuner
08:39:54.067981 {ChannelIdx:0 ChannelFreq:902348338 FreqError:0}
Exact sample rate is: 268800.001367 Hz
08:39:54.250524 Init channels: wait max 133 seconds for a message of each transmitter
08:40:09.034419 TRANSMITTER 0 SEEN
08:40:09.035983 Hop: {ChannelIdx:19 ChannelFreq:911881597 FreqError:1}
08:40:11.660667 ID:0 packet missed (1), missed per freq: [0 1 0 0 0]
08:40:11.660862 Hop: {ChannelIdx:41 ChannelFreq:922920108 FreqError:1}
08:40:14.222586 ID:0 packet missed (2), missed per freq: [0 1 1 0 0]
08:40:14.222956 Hop: {ChannelIdx:25 ChannelFreq:914892100 FreqError:1}
08:40:16.786159 ID:0 packet missed (3), missed per freq: [0 1 1 1 0]
08:40:16.786331 Hop: {ChannelIdx:8 ChannelFreq:906362342 FreqError:1}
08:40:19.347335 ID:0 packet missed (4), missed per freq: [0 1 1 1 1]
08:40:19.347864 Hop: {ChannelIdx:47 ChannelFreq:925930611 FreqError:1}
Reattached kernel driver
pi@raspberrypi:~/work/src/github.com/lheijst/rtldavis $ $GOPATH/bin/rtldavis -tf US
08:40:39.278607 rtldavis.go VERSION=0.10
08:40:39.279097 tr=1 fc=0 ex=0 actChan=[0] maxChan=1
08:40:39.279869 BitRate: 19200
08:40:39.279915 SymbolLength: 14
08:40:39.279952 SampleRate: 268800
08:40:39.279986 Preamble: 1100101110001001
08:40:39.280019 PreambleSymbols: 16
08:40:39.280052 PreambleLength: 224
08:40:39.280086 PacketSymbols: 80
08:40:39.280121 PacketLength: 1120
08:40:39.280154 BlockSize: 512
08:40:39.280187 BufferLength: 2048
Detached kernel driver
Found Rafael Micro R820T tuner
08:40:39.924789 {ChannelIdx:0 ChannelFreq:902348338 FreqError:0}
Exact sample rate is: 268800.001367 Hz
08:40:40.107675 Init channels: wait max 133 seconds for a message of each transmitter
08:42:19.723712 TRANSMITTER 0 SEEN
08:42:19.724272 Hop: {ChannelIdx:19 ChannelFreq:911881597 FreqError:-2}
08:42:22.350093 ID:0 packet missed (1), missed per freq: [0 1 0 0 0]
08:42:22.350451 Hop: {ChannelIdx:41 ChannelFreq:922920108 FreqError:-2}
08:42:24.911968 ID:0 packet missed (2), missed per freq: [0 1 1 0 0]
08:42:24.912173 Hop: {ChannelIdx:25 ChannelFreq:914892100 FreqError:-2}
08:42:27.476009 ID:0 packet missed (3), missed per freq: [0 1 1 1 0]
08:42:27.476204 Hop: {ChannelIdx:8 ChannelFreq:906362342 FreqError:-2}
08:42:30.038732 ID:0 packet missed (4), missed per freq: [0 1 1 1 1]
08:42:30.039073 Hop: {ChannelIdx:47 ChannelFreq:925930611 FreqError:-2}
Reattached kernel driver
pi@raspberrypi:~/work/src/github.com/lheijst/rtldavis

Thanks
Rich

Paul Anderson

unread,
Mar 24, 2019, 8:56:13 AM3/24/19
to weewx-development
Same Results as Rich
pandes@laptop1:/home/panders# $GOPATH/bin/rtldavis -tf US
08:51:13.602306 rtldavis.go VERSION=0.10
08:51:13.602440 tr=1 fc=0 ex=0 actChan=[0] maxChan=1
08:51:13.602729 BitRate: 19200
08:51:13.602744 SymbolLength: 14
08:51:13.602757 SampleRate: 268800
08:51:13.602772 Preamble: 1100101110001001
08:51:13.602781 PreambleSymbols: 16
08:51:13.602789 PreambleLength: 224
08:51:13.602800 PacketSymbols: 80
08:51:13.602811 PacketLength: 1120
08:51:13.602821 BlockSize: 512
08:51:13.602829 BufferLength: 2048
Detached kernel driver
Found Rafael Micro R820T tuner
08:51:14.072269 {ChannelIdx:0 ChannelFreq:902348338 FreqError:0}
Exact sample rate is: 268800.001367 Hz
Allocating 1 zero-copy buffers
08:51:14.267370 Init channels: wait max 133 seconds for a message of each transmitter
08:53:19.876665 TRANSMITTER 0 SEEN
08:53:19.876755 Hop: {ChannelIdx:19 ChannelFreq:911881597 FreqError:29}
08:53:22.503321 ID:0 packet missed (1), missed per freq: [0 1 0 0 0]
08:53:22.503395 Hop: {ChannelIdx:41 ChannelFreq:922920108 FreqError:29}
08:53:25.065262 ID:0 packet missed (2), missed per freq: [0 1 1 0 0]
08:53:25.065329 Hop: {ChannelIdx:25 ChannelFreq:914892100 FreqError:29}
08:53:27.627171 ID:0 packet missed (3), missed per freq: [0 1 1 1 0]
08:53:27.627279 Hop: {ChannelIdx:8 ChannelFreq:906362342 FreqError:29}
08:53:30.191114 ID:0 packet missed (4), missed per freq: [0 1 1 1 1]
08:53:30.191193 Hop: {ChannelIdx:47 ChannelFreq:925930611 FreqError:29}
Reattached kernel driver
panders@laptop1:/home/panders# 

On Sunday, March 24, 2019 at 7:24:17 AM UTC-4, ljm.h...@gmail.com wrote:

ljm.h...@gmail.com

unread,
Mar 24, 2019, 9:00:46 AM3/24/19
to weewx-development
On Sunday, 24 March 2019 09:48:20 UTC-3, rich T wrote:
Running the updated driver and the driver exits after 5 hops.  

Sorry, my fault. The test array had length 5 instead of 51. Fixed in commit 8ef7656.

Luc

rich T

unread,
Mar 24, 2019, 9:17:33 AM3/24/19
to weewx-development
Luc

The patch fix the issue with exiting, but still only hops between the first five.  First time I seen a packet on channel 19.

pi@raspberrypi:~/work/src/github.com/lheijst/rtldavis $ $GOPATH/bin/rtldavis -tf US
09:08:28.703270 rtldavis.go VERSION=0.10
09:08:28.703760 tr=1 fc=0 ex=0 actChan=[0] maxChan=1
09:08:28.704567 BitRate: 19200
09:08:28.704621 SymbolLength: 14
09:08:28.704659 SampleRate: 268800
09:08:28.704691 Preamble: 1100101110001001
09:08:28.704725 PreambleSymbols: 16
09:08:28.704760 PreambleLength: 224
09:08:28.704795 PacketSymbols: 80
09:08:28.704826 PacketLength: 1120
09:08:28.704860 BlockSize: 512
09:08:28.704895 BufferLength: 2048
Detached kernel driver
Found Rafael Micro R820T tuner
09:08:29.441002 {ChannelIdx:0 ChannelFreq:902348338 FreqError:0}
Exact sample rate is: 268800.001367 Hz
09:08:29.622221 Init channels: wait max 133 seconds for a message of each transmitter
09:10:38.687848 TRANSMITTER 0 SEEN
09:10:38.688457 Hop: {ChannelIdx:19 ChannelFreq:911881597 FreqError:13}
09:10:41.314794 ID:0 packet missed (1), missed per freq: [0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
09:10:41.315044 Hop: {ChannelIdx:41 ChannelFreq:922920108 FreqError:13}
09:10:43.876731 ID:0 packet missed (2), missed per freq: [0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
09:10:43.877134 Hop: {ChannelIdx:25 ChannelFreq:914892100 FreqError:13}
09:10:46.440234 ID:0 packet missed (3), missed per freq: [0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
09:10:46.440470 Hop: {ChannelIdx:8 ChannelFreq:906362342 FreqError:13}
09:10:49.002080 ID:0 packet missed (4), missed per freq: [0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
09:10:49.002532 Hop: {ChannelIdx:47 ChannelFreq:925930611 FreqError:13}
09:10:51.564175 ID:0 packet missed (5), missed per freq: [0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
09:10:51.564447 Hop: {ChannelIdx:32 ChannelFreq:918404353 FreqError:13}
09:10:54.128070 ID:0 packet missed (6), missed per freq: [0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
09:10:54.128577 Init channels: wait max 133 seconds for a message of each transmitter
09:10:54.128890 Hop: {ChannelIdx:0 ChannelFreq:902348338 FreqError:13}
09:12:49.375156 TRANSMITTER 0 SEEN
09:12:49.375563 Hop: {ChannelIdx:19 ChannelFreq:911881597 FreqError:61}
09:12:49.376854 duplicate packet: 5000A7FF730059A6
09:12:52.001712 ID:0 packet missed (1), missed per freq: [0 2 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
09:12:52.001904 Hop: {ChannelIdx:41 ChannelFreq:922920108 FreqError:46}
09:12:54.563461 ID:0 packet missed (2), missed per freq: [0 2 2 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
09:12:54.563652 Hop: {ChannelIdx:25 ChannelFreq:914892100 FreqError:46}
09:12:57.127382 ID:0 packet missed (3), missed per freq: [0 2 2 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
09:12:57.127774 Hop: {ChannelIdx:8 ChannelFreq:906362342 FreqError:46}
09:12:59.689186 ID:0 packet missed (4), missed per freq: [0 2 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
09:12:59.689578 Hop: {ChannelIdx:47 ChannelFreq:925930611 FreqError:46}
09:13:02.251175 ID:0 packet missed (5), missed per freq: [0 2 2 2 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
09:13:02.251456 Hop: {ChannelIdx:32 ChannelFreq:918404353 FreqError:46}
09:13:04.814546 ID:0 packet missed (6), missed per freq: [0 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
09:13:04.814726 Init channels: wait max 133 seconds for a message of each transmitter
09:13:04.814885 Hop: {ChannelIdx:0 ChannelFreq:902348338 FreqError:46}

Thanks
Rich

ljm.h...@gmail.com

unread,
Mar 24, 2019, 9:24:14 AM3/24/19
to weewx-development
On Sunday, 24 March 2019 10:17:33 UTC-3, rich T wrote:
The patch fix the issue with exiting, but still only hops between the first five.  First time I seen a packet on channel 19.

The program does an init after 6 missed packets in a row.

Did you reapply your temporary fix?

change line 266:
if chAlarmCnts[i] > 5 {
into:
if chAlarmCnts[i] > 51 {

Luc 

ljm.h...@gmail.com

unread,
Mar 24, 2019, 9:49:46 AM3/24/19
to weewx-development
On Sunday, 24 March 2019 10:17:33 UTC-3, rich T wrote:
09:10:54.128070 ID:0 packet missed (6), missed per freq: [0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]

The missed per freq array showed the counters in the frequency hop order.

It makes more sense to show the counters in the sorted frequency order. 
Example: the 12th counter show the missed messages for the 12th frequency.
Fixed in commits 7c4b582 (main) and c4a3d25 (protocol).

Luc

ljm.h...@gmail.com

unread,
Mar 24, 2019, 10:27:17 AM3/24/19
to weewx-development
On Sunday, 24 March 2019 10:24:14 UTC-3, ljm.h...@gmail.com wrote:
Did you reapply your temporary fix?

Rich and Paul,

I have added option -maxmisssed = max missed-packets-in-a-row before new init
The default value is 51. 

So you don't have to update main.go after each change. :-)

You can change the value during startup:
Example: $GOPATH/bin/rtldavis -maxmissed 4 -tf US

Luc


rich T

unread,
Mar 24, 2019, 6:59:30 PM3/24/19
to weewx-development
Luc

If the driver decodes a packet, it still does not jump to the next hop frequency.  It jumps from 10 to 46 instead of jumping from 10 to 49.

18:50:40.299734 Hop: {ChannelIdx:38 ChannelFreq:921414856 FreqError:74}
18:50:42.862026 ID:0 packet missed (16), missed per freq: [0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 0 0 0]
18:50:42.862226 Hop: {ChannelIdx:10 ChannelFreq:907365843 FreqError:74}
18:50:45.360001 5000BEFF7100D714 2 0 0 0 0 msg.ID=0
18:50:45.360130 Hop: {ChannelIdx:46 ChannelFreq:925428860 FreqError:62}
18:50:47.987178 ID:0 packet missed (1), missed per freq: [0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0]
18:50:47.987429 Hop: {ChannelIdx:18 ChannelFreq:911379847 FreqError:62}
18:50:50.549197 ID:0 packet missed (2), missed per freq: [0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0]

Rich

On Sunday, March 24, 2019 at 7:24:17 AM UTC-4, ljm.h...@gmail.com wrote:

ljm.h...@gmail.com

unread,
Mar 24, 2019, 7:32:45 PM3/24/19
to weewx-development
Rich,

This bug is harder than I thought. I need some time for debugging.

Luc

rich T

unread,
Mar 24, 2019, 7:39:20 PM3/24/19
to weewx-development
Luc

Okay...here is a example where it worked when a packet was decoded.

19:35:41.197076 Hop: {ChannelIdx:18 ChannelFreq:911379847 FreqError:1775}
19:35:43.760963 ID:0 packet missed (50), missed per freq: [7 9 9 16 9 17 9 9 16 9 10 9 9 16 9 9 17 9 9 16 9 10 16 9 9 16 10 17 9 17 9 9 16 9 9 9 16 9 16 9 9 16 9 9 17 9 15 16 9 10 9]
19:35:43.761307 Hop: {ChannelIdx:0 ChannelFreq:902348338 FreqError:1775}
19:35:46.260077 8000B41D190057D9 18 0 0 0 12 msg.ID=0
19:35:46.260259 Hop: {ChannelIdx:19 ChannelFreq:911881597 FreqError:1653}
19:35:48.886651 ID:0 packet missed (1), missed per freq: [7 9 9 16 9 17 9 9 16 9 10 9 9 16 9 9 17 9 9 17 9 10 16 9 9 16 10 17 9 17 9 9 16 9 9 9 16 9 16 9 9 16 9 9 17 9 15 16 9 10 9]

Rich

ljm.h...@gmail.com

unread,
Mar 24, 2019, 10:37:19 PM3/24/19
to weewx-development
On Sunday, 24 March 2019 19:59:30 UTC-3, rich T wrote:
If the driver decodes a packet, it still does not jump to the next hop frequency.  It jumps from 10 to 46 instead of jumping from 10 to 49.

Rich,

Some data in the reverseHopPatrn list was fault. The contents are now hard coded instead of calculated.

Luc
Message has been deleted

rich T

unread,
Mar 24, 2019, 11:24:25 PM3/24/19
to weewx-development
Luc

The fix seems to be working.  Is there a way to display the gain of the SDR when it first loads?

Rich

Paul Anderson

unread,
Mar 25, 2019, 11:03:36 AM3/25/19
to weewx-development
Hi Luc,
Some very good progress to report !
**** I do not understand why this is so, if I start the program with no initial -fc value it runs and misses all messages on most channels, except maybe 2 or 3. It will continue that way forever, never improving.
example  ~$ $GOPATH/bin/rtldavis -maxmissed 4 -tf US

However when I made a wild guess initial -fc value of 71000, it runs and misses 5 messages, re inits on channel 0  and proceeds to decode messages on all 51 channels.
example that is currently working for my setup   $ $GOPATH/bin/rtldavis -maxmissed 4 -tf US -fc 71000
BTW the -fc 71000 was based on watching errors from previous testing, trail and error, and luck.
Here is the log. I stopped it after a while, it did not crash.

panders@laptop1:~$ $GOPATH/bin/rtldavis -maxmissed 4 -tf US -fc 71000
10:23:13.475074 rtldavis.go VERSION=0.10
10:23:13.475190 tr=1 fc=71000 ex=0 maxmissed=4 actChan=[0] maxChan=1
10:23:13.475494 BitRate: 19200
10:23:13.475510 SymbolLength: 14
10:23:13.475521 SampleRate: 268800
10:23:13.475532 Preamble: 1100101110001001
10:23:13.475544 PreambleSymbols: 16
10:23:13.475557 PreambleLength: 224
10:23:13.475568 PacketSymbols: 80
10:23:13.475582 PacketLength: 1120
10:23:13.475595 BlockSize: 512
10:23:13.475607 BufferLength: 2048
Detached kernel driver
Found Rafael Micro R820T tuner
10:23:13.931778 {ChannelIdx:0 ChannelFreq:902348338 FreqError:0}
Exact sample rate is: 268800.001367 Hz
Allocating 1 zero-copy buffers
10:23:14.127831 Init channels: wait max 133 seconds for a message of each transmitter
10:24:34.949443 TRANSMITTER 0 SEEN
10:24:34.949566 Hop: {ChannelIdx:19 ChannelFreq:911881597 FreqError:28}
10:24:37.576411 ID:0 packet missed (1), missed per freq: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
10:24:37.576482 Hop: {ChannelIdx:41 ChannelFreq:922920108 FreqError:28}
10:24:40.138480 ID:0 packet missed (2), missed per freq: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0]
10:24:40.138560 Hop: {ChannelIdx:25 ChannelFreq:914892100 FreqError:28}
10:24:42.700257 ID:0 packet missed (3), missed per freq: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0]
10:24:42.700345 Hop: {ChannelIdx:8 ChannelFreq:906362342 FreqError:28}
10:24:45.263819 ID:0 packet missed (4), missed per freq: [0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0]
10:24:45.263885 Hop: {ChannelIdx:47 ChannelFreq:925930611 FreqError:28}
10:24:47.825717 ID:0 packet missed (5), missed per freq: [0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0]
10:24:47.825783 Init channels: wait max 133 seconds for a message of each transmitter
10:24:47.825821 Hop: {ChannelIdx:0 ChannelFreq:902348338 FreqError:28}
10:25:54.387292 TRANSMITTER 0 SEEN
10:25:54.387360 Hop: {ChannelIdx:19 ChannelFreq:911881597 FreqError:108}
10:25:54.389049 duplicate packet: E000003D0500F339
10:25:56.951031 500000FF7500485B 3 0 0 0 1 msg.ID=0
10:25:56.951094 Hop: {ChannelIdx:41 ChannelFreq:922920108 FreqError:117}
10:25:59.512858 400000FFC5004CD2 4 0 0 0 1 msg.ID=0
10:25:59.512920 Hop: {ChannelIdx:25 ChannelFreq:914892100 FreqError:47}
10:26:02.074864 80000091050064DC 5 0 0 0 1 msg.ID=0
10:26:02.074927 Hop: {ChannelIdx:8 ChannelFreq:906362342 FreqError:-33}
10:26:04.638785 E000003D0500F339 6 0 0 0 1 msg.ID=0
10:26:04.638843 Hop: {ChannelIdx:47 ChannelFreq:925930611 FreqError:76}
10:26:07.200853 500000FF7500485B 7 0 0 0 1 msg.ID=0
10:26:07.200908 Hop: {ChannelIdx:32 ChannelFreq:918404353 FreqError:69}
10:26:09.762691 9000000005003151 8 0 0 0 1 msg.ID=0
10:26:09.762751 Hop: {ChannelIdx:13 ChannelFreq:908871094 FreqError:67}
10:26:12.326267 80000091050064DC 9 0 0 0 1 msg.ID=0
10:26:12.326329 Hop: {ChannelIdx:36 ChannelFreq:920411355 FreqError:95}
10:26:14.888168 E000003D0500F339 10 0 0 0 1 msg.ID=0
10:26:14.888231 Hop: {ChannelIdx:22 ChannelFreq:913386849 FreqError:23}
10:26:17.450052 500000FF7500485B 11 0 0 0 1 msg.ID=0
10:26:17.450119 Hop: {ChannelIdx:3 ChannelFreq:903853589 FreqError:91}
10:26:20.013694 C00000047500955C 12 0 0 0 1 msg.ID=0
10:26:20.013761 Hop: {ChannelIdx:29 ChannelFreq:916899102 FreqError:37}
10:26:22.575672 80000091050064DC 13 0 0 0 1 msg.ID=0
10:26:22.575735 Hop: {ChannelIdx:44 ChannelFreq:924425359 FreqError:7}
10:26:25.137613 E000003D0500F339 14 0 0 0 1 msg.ID=0
10:26:25.137687 Hop: {ChannelIdx:16 ChannelFreq:910376346 FreqError:20}
10:26:27.701518 500000FF7500485B 15 0 0 0 1 msg.ID=0
10:26:27.701590 Hop: {ChannelIdx:5 ChannelFreq:904857090 FreqError:72}
10:26:30.263425 A00000A785003D49 16 0 0 0 1 msg.ID=0
10:26:30.263474 Hop: {ChannelIdx:27 ChannelFreq:915895601 FreqError:20}
10:26:32.825380 80000091050064DC 17 0 0 0 1 msg.ID=0
10:26:32.825438 Hop: {ChannelIdx:38 ChannelFreq:921414856 FreqError:28}
10:26:35.388906 E000003D0500F339 18 0 0 0 1 msg.ID=0
10:26:35.388967 Hop: {ChannelIdx:10 ChannelFreq:907365843 FreqError:85}
10:26:37.950834 500000FF7500485B 19 0 0 0 1 msg.ID=0
10:26:37.950886 Hop: {ChannelIdx:49 ChannelFreq:926934112 FreqError:49}
10:26:40.512916 600000FFC50079DA 20 0 0 0 1 msg.ID=0
10:26:40.512973 Hop: {ChannelIdx:21 ChannelFreq:912885099 FreqError:43}
10:26:43.076565 80000091050064DC 21 0 0 0 1 msg.ID=0
10:26:43.076622 Hop: {ChannelIdx:2 ChannelFreq:903351839 FreqError:9}
10:26:45.638376 E000003D0500F339 22 0 0 0 1 msg.ID=0
10:26:45.638444 Hop: {ChannelIdx:30 ChannelFreq:917400852 FreqError:142}
10:26:48.200238 500000FF7500485B 23 0 0 0 1 msg.ID=0
10:26:48.200318 Hop: {ChannelIdx:42 ChannelFreq:923421858 FreqError:92}
10:26:50.764269 400000FFC5004CD2 24 0 0 0 1 msg.ID=0
10:26:50.764336 Hop: {ChannelIdx:14 ChannelFreq:909372845 FreqError:37}
10:26:53.326236 80000091050064DC 25 0 0 0 1 msg.ID=0
10:26:53.326293 Hop: {ChannelIdx:48 ChannelFreq:926432361 FreqError:0}
10:26:55.888090 E000003D0500F339 26 0 0 0 1 msg.ID=0
10:26:55.888154 Hop: {ChannelIdx:7 ChannelFreq:905860591 FreqError:66}
10:26:58.451639 500000FF7500485B 27 0 0 0 1 msg.ID=0
10:26:58.451693 Hop: {ChannelIdx:24 ChannelFreq:914390350 FreqError:-2}
10:27:01.013834 9000000005003151 28 0 0 0 1 msg.ID=0
10:27:01.013891 Hop: {ChannelIdx:34 ChannelFreq:919407854 FreqError:73}
10:27:03.575620 80000091050064DC 29 0 0 0 1 msg.ID=0
10:27:03.575683 Hop: {ChannelIdx:45 ChannelFreq:924927110 FreqError:121}
10:27:06.139742 E000003D0500F339 30 0 0 0 1 msg.ID=0
10:27:06.139810 Hop: {ChannelIdx:1 ChannelFreq:902850088 FreqError:95}
10:27:08.701499 500000FF7500485B 31 0 0 0 1 msg.ID=0
10:27:08.701578 Hop: {ChannelIdx:17 ChannelFreq:910878096 FreqError:61}
10:27:11.263461 C00000047500955C 32 0 0 0 1 msg.ID=0
10:27:11.263531 Hop: {ChannelIdx:39 ChannelFreq:921916607 FreqError:58}
10:27:13.827096 8000009145006910 33 0 0 0 1 msg.ID=0
10:27:13.827157 Hop: {ChannelIdx:26 ChannelFreq:915393850 FreqError:-2}
10:27:16.388885 E000003D0500F339 34 0 0 0 1 msg.ID=0
10:27:16.388940 Hop: {ChannelIdx:9 ChannelFreq:906864092 FreqError:53}
10:27:18.950896 500000FF7500485B 35 0 0 0 1 msg.ID=0
10:27:18.950955 Hop: {ChannelIdx:31 ChannelFreq:917902603 FreqError:64}
10:27:21.514508 A00000A585005329 36 0 0 0 1 msg.ID=0
10:27:21.514572 Hop: {ChannelIdx:50 ChannelFreq:927435862 FreqError:80}
10:27:24.076476 8000009145006910 37 0 0 0 1 msg.ID=0
10:27:24.076548 Hop: {ChannelIdx:37 ChannelFreq:920913106 FreqError:40}
10:27:26.638390 E000003D0500F339 38 0 0 0 1 msg.ID=0
10:27:26.638445 Hop: {ChannelIdx:12 ChannelFreq:908369344 FreqError:11}
10:27:29.202401 500000FF7500485B 39 0 0 0 1 msg.ID=0
10:27:29.202475 Hop: {ChannelIdx:20 ChannelFreq:912383348 FreqError:25}
10:27:31.764243 600000FFC50079DA 40 0 0 0 1 msg.ID=0
10:27:31.764301 Hop: {ChannelIdx:33 ChannelFreq:918906104 FreqError:104}
10:27:34.326213 8000009145006910 41 0 0 0 1 msg.ID=0
10:27:34.326271 Hop: {ChannelIdx:4 ChannelFreq:904355340 FreqError:57}
10:27:36.889788 E000003D0500F339 42 0 0 0 1 msg.ID=0
10:27:36.889879 Hop: {ChannelIdx:43 ChannelFreq:923923609 FreqError:124}
10:27:39.451856 500000FF7500485B 43 0 0 0 1 msg.ID=0
10:27:39.451917 Hop: {ChannelIdx:28 ChannelFreq:916397351 FreqError:31}
10:27:42.013680 400000FFC5004CD2 44 0 0 0 1 msg.ID=0
10:27:42.013735 Hop: {ChannelIdx:15 ChannelFreq:909874595 FreqError:17}
10:27:44.577753 8000009145006910 45 0 0 0 1 msg.ID=0
10:27:44.577814 Hop: {ChannelIdx:35 ChannelFreq:919909605 FreqError:81}
10:27:47.139622 E000003D0500F339 46 0 0 0 1 msg.ID=0
10:27:47.139682 Hop: {ChannelIdx:6 ChannelFreq:905358841 FreqError:30}
10:27:49.701503 500000FF7500485B 47 0 0 0 1 msg.ID=0
10:27:49.701580 Hop: {ChannelIdx:40 ChannelFreq:922418357 FreqError:90}
10:27:52.265111 9000000005003151 48 0 0 0 1 msg.ID=0
10:27:52.265167 Hop: {ChannelIdx:11 ChannelFreq:907867593 FreqError:65}
10:27:54.826913 8000009145006910 49 0 0 0 1 msg.ID=0
10:27:54.826978 Hop: {ChannelIdx:23 ChannelFreq:913888599 FreqError:46}
10:27:57.388853 E000003D0500F339 50 0 0 0 1 msg.ID=0
10:27:57.388904 Hop: {ChannelIdx:46 ChannelFreq:925428860 FreqError:-3}
10:27:59.952664 500000FF7500485B 51 0 0 0 1 msg.ID=0
10:27:59.952717 Hop: {ChannelIdx:18 ChannelFreq:911379847 FreqError:-3}
10:28:02.514504 C00000047500955C 52 0 0 0 1 msg.ID=0
10:28:02.514559 Hop: {ChannelIdx:0 ChannelFreq:902348338 FreqError:46}
10:28:05.076337 8000009145006910 53 0 0 0 1 msg.ID=0
10:28:05.076407 Hop: {ChannelIdx:19 ChannelFreq:911881597 FreqError:184}
10:28:07.640363 E000003D0500F339 54 0 0 0 1 msg.ID=0
10:28:07.640426 Hop: {ChannelIdx:41 ChannelFreq:922920108 FreqError:164}
10:28:10.202341 500000FF7500485B 55 0 0 0 1 msg.ID=0
10:28:10.202441 Hop: {ChannelIdx:25 ChannelFreq:914892100 FreqError:102}
10:28:12.764211 A00000A785003D49 56 0 0 0 1 msg.ID=0
10:28:12.764264 Hop: {ChannelIdx:8 ChannelFreq:906362342 FreqError:-55}
10:28:15.327867 8000009145006910 57 0 0 0 1 msg.ID=0
10:28:15.327926 Hop: {ChannelIdx:47 ChannelFreq:925930611 FreqError:148}
10:28:17.889884 E000003D0500F339 58 0 0 0 1 msg.ID=0
10:28:17.889951 Hop: {ChannelIdx:32 ChannelFreq:918404353 FreqError:143}
10:28:20.451650 500000FF7500485B 59 0 0 0 1 msg.ID=0
10:28:20.451716 Hop: {ChannelIdx:13 ChannelFreq:908871094 FreqError:135}
10:28:23.015334 600000FFC50079DA 60 0 0 0 1 msg.ID=0
10:28:23.015391 Hop: {ChannelIdx:36 ChannelFreq:920411355 FreqError:189}
10:28:25.577272 8000009145006910 61 0 0 0 1 msg.ID=0
10:28:25.577330 Hop: {ChannelIdx:22 ChannelFreq:913386849 FreqError:-32}
10:28:28.139121 E000003D0500F339 62 0 0 0 1 msg.ID=0
10:28:28.139184 Hop: {ChannelIdx:3 ChannelFreq:903853589 FreqError:188}
10:28:30.703127 500000FF7500485B 63 0 0 0 1 msg.ID=0
10:28:30.703195 Hop: {ChannelIdx:29 ChannelFreq:916899102 FreqError:77}
10:28:33.265004 400000FFC5004CD2 64 0 0 0 1 msg.ID=0
10:28:33.265060 Hop: {ChannelIdx:44 ChannelFreq:924425359 FreqError:13}
10:28:35.827142 8000009145006910 65 0 0 0 1 msg.ID=0
10:28:35.827197 Hop: {ChannelIdx:16 ChannelFreq:910376346 FreqError:42}
10:28:38.390724 E000003D0500F339 66 0 0 0 1 msg.ID=0
10:28:38.390784 Hop: {ChannelIdx:5 ChannelFreq:904857090 FreqError:148}
10:28:40.952618 500000FF7500485B 67 0 0 0 1 msg.ID=0
10:28:40.952692 Hop: {ChannelIdx:27 ChannelFreq:915895601 FreqError:42}
10:28:43.514508 9000000005003151 68 0 0 0 1 msg.ID=0
10:28:43.514569 Hop: {ChannelIdx:38 ChannelFreq:921414856 FreqError:66}
10:28:46.078445 8000009145006910 69 0 0 0 1 msg.ID=0
10:28:46.078506 Hop: {ChannelIdx:10 ChannelFreq:907365843 FreqError:171}
10:28:48.640304 E000003D0500F339 70 0 0 0 1 msg.ID=0
10:28:48.640363 Hop: {ChannelIdx:49 ChannelFreq:926934112 FreqError:101}
10:28:51.202238 500000FF7500485B 71 0 0 0 1 msg.ID=0
10:28:51.202333 Hop: {ChannelIdx:21 ChannelFreq:912885099 FreqError:99}
10:28:53.765930 C00000047500955C 72 0 0 0 1 msg.ID=0
10:28:53.765992 Hop: {ChannelIdx:2 ChannelFreq:903351839 FreqError:27}
10:28:56.327849 8000009145006910 73 0 0 0 1 msg.ID=0
10:28:56.327898 Hop: {ChannelIdx:30 ChannelFreq:917400852 FreqError:280}
10:28:58.889848 E000003D0500F339 74 0 0 0 1 msg.ID=0
10:28:58.889907 Hop: {ChannelIdx:42 ChannelFreq:923421858 FreqError:91}
10:29:01.453431 500000FF7500485B 75 0 0 0 1 msg.ID=0
10:29:01.453493 Hop: {ChannelIdx:14 ChannelFreq:909372845 FreqError:79}
10:29:04.015387 A00000A485006419 76 0 0 0 1 msg.ID=0
10:29:04.015459 Hop: {ChannelIdx:48 ChannelFreq:926432361 FreqError:11}
10:29:06.577230 8000009145006910 77 0 0 0 1 msg.ID=0
10:29:06.577285 Hop: {ChannelIdx:7 ChannelFreq:905860591 FreqError:140}
10:29:09.141294 E000003D0500F339 78 0 0 0 1 msg.ID=0
10:29:09.141353 Hop: {ChannelIdx:24 ChannelFreq:914390350 FreqError:0}
10:29:11.703111 500000FF7500485B 79 0 0 0 1 msg.ID=0
10:29:11.703181 Hop: {ChannelIdx:34 ChannelFreq:919407854 FreqError:137}
10:29:14.265185 600000FFC50079DA 80 0 0 0 1 msg.ID=0
10:29:14.265245 Hop: {ChannelIdx:45 ChannelFreq:924927110 FreqError:240}
10:29:16.826993 8000009145006910 81 0 0 0 1 msg.ID=0
10:29:16.827052 Hop: {ChannelIdx:1 ChannelFreq:902850088 FreqError:195}
10:29:16.828753 duplicate packet: 8000009145006910
10:29:19.390601 E000003D0500F339 82 0 0 0 1 msg.ID=0
10:29:19.390666 Hop: {ChannelIdx:17 ChannelFreq:910878096 FreqError:230}
10:29:21.952608 500000FF7500485B 83 0 0 0 1 msg.ID=0
10:29:21.952679 Hop: {ChannelIdx:39 ChannelFreq:921916607 FreqError:118}
10:29:24.514566 400000FFC5004CD2 84 0 0 0 1 msg.ID=0
10:29:24.514623 Hop: {ChannelIdx:26 ChannelFreq:915393850 FreqError:-18}
10:29:24.516456 duplicate packet: 400000FFC5004CD2
10:29:27.078529 8000009145006910 85 0 0 0 1 msg.ID=0
10:29:27.078584 Hop: {ChannelIdx:9 ChannelFreq:906864092 FreqError:85}
10:29:29.640056 E000003D0500F339 86 0 0 0 1 msg.ID=0
10:29:29.640119 Hop: {ChannelIdx:31 ChannelFreq:917902603 FreqError:125}
10:29:32.201962 500000FF7500485B 87 0 0 0 1 msg.ID=0
10:29:32.202016 Hop: {ChannelIdx:50 ChannelFreq:927435862 FreqError:154}
10:29:34.766076 9000000005003151 88 0 0 0 1 msg.ID=0
10:29:34.766133 Hop: {ChannelIdx:37 ChannelFreq:920913106 FreqError:-2}
10:29:37.327915 8000009145006910 89 0 0 0 1 msg.ID=0
10:29:37.327974 Hop: {ChannelIdx:12 ChannelFreq:908369344 FreqError:27}
10:29:39.889781 E000003D0500F339 90 0 0 0 1 msg.ID=0
10:29:39.889846 Hop: {ChannelIdx:20 ChannelFreq:912383348 FreqError:59}
10:29:42.453394 500000FF7500485B 91 0 0 0 1 msg.ID=0
10:29:42.453455 Hop: {ChannelIdx:33 ChannelFreq:918906104 FreqError:213}
10:29:45.015286 C00000047500955C 92 0 0 0 1 msg.ID=0
10:29:45.015351 Hop: {ChannelIdx:4 ChannelFreq:904355340 FreqError:112}
10:29:47.577118 8000009145006910 93 0 0 0 1 msg.ID=0
10:29:47.577170 Hop: {ChannelIdx:43 ChannelFreq:923923609 FreqError:243}
10:29:50.141095 E000003D0500F339 94 0 0 0 1 msg.ID=0
10:29:50.141141 Hop: {ChannelIdx:28 ChannelFreq:916397351 FreqError:70}
10:29:52.703282 500000FF7500485B 95 0 0 0 1 msg.ID=0
10:29:52.703341 Hop: {ChannelIdx:15 ChannelFreq:909874595 FreqError:45}
10:29:55.265066 A00000A785003D49 96 0 0 0 1 msg.ID=0
10:29:55.265140 Hop: {ChannelIdx:35 ChannelFreq:919909605 FreqError:165}
10:29:57.828806 8000009145006910 97 0 0 0 1 msg.ID=0
10:29:57.828861 Hop: {ChannelIdx:6 ChannelFreq:905358841 FreqError:66}
10:30:00.390693 E000003D0500F339 98 0 0 0 1 msg.ID=0
10:30:00.390770 Hop: {ChannelIdx:40 ChannelFreq:922418357 FreqError:180}
10:30:02.952468 500000FF7500485B 99 0 0 0 1 msg.ID=0
10:30:02.952553 Hop: {ChannelIdx:11 ChannelFreq:907867593 FreqError:41}
10:30:05.516102 600000FFC50079DA 100 0 0 0 1 msg.ID=0
10:30:05.516155 Hop: {ChannelIdx:23 ChannelFreq:913888599 FreqError:77}
10:30:08.078054 8000009145006910 101 0 0 0 1 msg.ID=0
10:30:08.078117 Hop: {ChannelIdx:46 ChannelFreq:925428860 FreqError:-4}
10:30:10.640014 E000003D0500F339 102 0 0 0 1 msg.ID=0
10:30:10.640079 Hop: {ChannelIdx:18 ChannelFreq:911379847 FreqError:-6}
10:30:13.204104 500000FF7500485B 103 0 0 0 1 msg.ID=0
10:30:13.204160 Hop: {ChannelIdx:0 ChannelFreq:902348338 FreqError:95}
10:30:15.765920 400000FFC5004CD2 104 0 0 0 1 msg.ID=0
10:30:15.765994 Hop: {ChannelIdx:19 ChannelFreq:911881597 FreqError:251}
10:30:18.328007 8000009145006910 105 0 0 0 1 msg.ID=0
10:30:18.328071 Hop: {ChannelIdx:41 ChannelFreq:922920108 FreqError:206}
^CReattached kernel driver
panders@laptop1:~$ 

Thanks
Paul



On Sunday, March 24, 2019 at 10:37:19 PM UTC-4, ljm.h...@gmail.com wrote:

rich T

unread,
Mar 25, 2019, 11:46:24 AM3/25/19
to weewx-development
Paul

Will give that a try this evening to see if I can decode all 51 channels. My fc value might vary due to different sdr  ppm offset.

Rich

ljm.h...@gmail.com

unread,
Mar 25, 2019, 12:03:16 PM3/25/19
to weewx-development
Hi Paul,

Good news!

I'm curious if the offset of 71000 Hz also works for Rich.
If so, we simply add (the minus 71000) to all frequencies in our US list and we are done!

Luc

PS. 
The best way is to sort out why we need to use these trial-and-error-frequencies and not the common known and used frequencies of other projects.
So far I didn't hear from the original author and I'm still trying to understand the ins and outs of the demodulate process.
I wish I could find a useful article about FHSS and FSK decoding of Davis weather equipment signals...

ljm.h...@gmail.com

unread,
Mar 25, 2019, 4:26:49 PM3/25/19
to weewx-development
On Monday, 25 March 2019 00:24:25 UTC-3, rich T wrote:
Is there a way to display the gain of the SDR when it first loads?

Rich,

The program sets the gain to auto, see command:
if err := dev.SetTunerGainMode(false); err != nil {
log.Fatal(err)
}
When we read back the gain with:
gain := dev.GetTunerGain()
log.Printf("RTL-SDR gain*10=%d Db\n", gain)
The log show:
rtldavis: info: b'17:18:41.669290 RTL-SDR gain*10=0 Db'

Not much of a help though!

Luc

rich T

unread,
Mar 25, 2019, 6:28:58 PM3/25/19
to weewx-development
Luc

The fc offset does not work for me.  Wondering since each dongle ppm is most likely different the fc number will vary.  Let run kalibrate on the dongle and figure my offset.

Rich

pi@raspberrypi:~/work/src/github.com/lheijst/rtldavis $ $GOPATH/bin/rtldavis  -maxmissed 4 -tf US -fc 71000
18:18:54.206814 rtldavis.go VERSION=0.10
18:18:54.207304 tr=1 fc=71000 ex=0 maxmissed=4 actChan=[0] maxChan=1
18:18:54.208089 BitRate: 19200
18:18:54.208139 SymbolLength: 14
18:18:54.208177 SampleRate: 268800
18:18:54.208212 Preamble: 1100101110001001
18:18:54.208246 PreambleSymbols: 16
18:18:54.208280 PreambleLength: 224
18:18:54.208313 PacketSymbols: 80
18:18:54.208348 PacketLength: 1120
18:18:54.208382 BlockSize: 512
18:18:54.208416 BufferLength: 2048
Found Rafael Micro R820T tuner
18:18:54.624193 {ChannelIdx:0 ChannelFreq:902348338 FreqError:0}
Exact sample rate is: 268800.001367 Hz
18:18:54.806291 Init channels: wait max 133 seconds for a message of each transmitter
18:19:17.794307 TRANSMITTER 0 SEEN
18:19:17.794747 Hop: {ChannelIdx:19 ChannelFreq:911881597 FreqError:46}
18:19:20.421401 ID:0 packet missed (1), missed per freq: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
18:19:20.421613 Hop: {ChannelIdx:41 ChannelFreq:922920108 FreqError:46}
18:19:22.983341 ID:0 packet missed (2), missed per freq: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0]
18:19:22.983559 Hop: {ChannelIdx:25 ChannelFreq:914892100 FreqError:46}
18:19:25.545226 ID:0 packet missed (3), missed per freq: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0]
18:19:25.545491 Hop: {ChannelIdx:8 ChannelFreq:906362342 FreqError:46}
18:19:28.109203 ID:0 packet missed (4), missed per freq: [0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0]
18:19:28.109582 Hop: {ChannelIdx:47 ChannelFreq:925930611 FreqError:46}
18:19:30.671166 ID:0 packet missed (5), missed per freq: [0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0]
18:19:30.671453 Init channels: wait max 133 seconds for a message of each transmitter
18:19:30.671644 Hop: {ChannelIdx:0 ChannelFreq:902348338 FreqError:46}

rich T

unread,
Mar 25, 2019, 6:30:22 PM3/25/19
to weewx-development
Luc

Was wondering what the gain was when the program starts.  Look like it is set for auto.

Rich

kobuki

unread,
Mar 25, 2019, 6:38:45 PM3/25/19
to weewx-development
I think it was discussed several times already, and again and again, that you absolutely must calibrate your sticks before running anything related to this project. You'd shoot yourselves in the foot applying a fixed offset that works in a single setup that uses no calibration at all.

Please also note that the original rtldavis repo has a -26 kHz average error on the frequencies, probably because the author also forgot calibrating. Try to use the well-known ones from the RFM69 sources: https://docs.google.com/spreadsheets/d/1SyNKF-ynoYvKEiOfr7CcZSvaKDU49rJLbNvfN0avzbQ/edit#gid=1265405143 - if you calibrate and use the calibration ppm, you can be in for a surprise again, just because of the offset error in the original source.

I'll try the EU frequencies again after the many small fixes Luc made...

ljm.h...@gmail.com

unread,
Mar 25, 2019, 6:45:05 PM3/25/19
to weewx-development
Rich and Paul,

I am puzzled by the fact that after the first received message on channel zero 5 messages in a row are missed AND after the next init NO SINGLE message is missed for a long period..

I Don't think it has to to with warming up of the dongle, but it can have an influence.

Another possibility is a to precise (time-out) timing. This is important when the program has to scan more than one transmitter but is less critical when only one transmitter is read.

Could you both try to add the -ex parameter for extra loop timing?

Try values such as '-ex 65' to '-ex 200' (ms). Maybe the percentage of missed signals will drop then.

Luc

rich T

unread,
Mar 25, 2019, 7:13:41 PM3/25/19
to weewx-development
Luc

The dongle I'm using that been running for over a week now, so warming up should not be a issue.  The dongle ppm error is + 0.248.  I believe that is about 5 Hz, but I might be wrong. I also tried the RFM69 sources frequencies and get the same results.  Let go back to the original fc and change the timing just see what happens.

Rich

kobuki

unread,
Mar 25, 2019, 7:21:40 PM3/25/19
to weewx-development
Absolute error, based on PPM: measured_ppm / 1 000 000 * F - for F = 911 MHz or F = 911 000 000 Hz it gives 225.928 Hz. But any decent AFC should correct differences of 5-10 kHz with ease, or even more. This is negligible.

What are you calibrating with and what is the reference frequency source? Just out of curiosity.

Paul Anderson

unread,
Mar 25, 2019, 7:23:23 PM3/25/19
to weewx-development
Kobuki,
A ppm calibration offset would be great! Unfortunately the program does not provide one as of yet, I am well aware that my Freq list may be of little use to anyone else. It's just a temporary terrible hack to  get some decoded output for now. 

Luc,If I take your current US test Freq and add + 711 such as:

902419338,902921088,903422839,903924589,904426340,
904928090,905429841,905931591,906433342,906935092,
907436843,907938593,908440344,908942094,909443845,
909945595,910447346,910949096,911450847,911952597,
912454348,912956099,913457849,913959599,914461350,
914963100,915464850,915966601,916468351,916970102,
917471852,917973603,918475353,918977104,919478854,
919980605,920482355,920984106,921485856,921987607,
922489357,922991108,923492858,923994609,924496359,
924998110,925499860,926001611,926503361,927005112,
927506862,

Then it runs without the 5 missed and re-int
panders@laptop1:~/work/src/github.com/lheijst/rtldavis$ $GOPATH/bin/rtldavis -maxmissed 4 -tf US
19:10:26.883329 rtldavis.go VERSION=0.10
19:10:26.883441 tr=1 fc=0 ex=0 maxmissed=4 actChan=[0] maxChan=1
19:10:26.883751 BitRate: 19200
19:10:26.883769 SymbolLength: 14
19:10:26.883782 SampleRate: 268800
19:10:26.883791 Preamble: 1100101110001001
19:10:26.883799 PreambleSymbols: 16
19:10:26.883807 PreambleLength: 224
19:10:26.883817 PacketSymbols: 80
19:10:26.883828 PacketLength: 1120
19:10:26.883839 BlockSize: 512
19:10:26.883851 BufferLength: 2048
Detached kernel driver
Found Rafael Micro R820T tuner
19:10:27.360651 {ChannelIdx:0 ChannelFreq:902419338 FreqError:0}
Exact sample rate is: 268800.001367 Hz
Allocating 1 zero-copy buffers
19:10:27.555825 Init channels: wait max 133 seconds for a message of each transmitter
19:10:50.528429 TRANSMITTER 0 SEEN
19:10:50.528584 Hop: {ChannelIdx:19 ChannelFreq:911952597 FreqError:-14}
19:10:53.090298 E000003D0500F339 2 0 0 0 0 msg.ID=0
19:10:53.090373 Hop: {ChannelIdx:41 ChannelFreq:922991108 FreqError:-45}
19:10:55.654347 500000FF7500485B 3 0 0 0 0 msg.ID=0
19:10:55.654413 Hop: {ChannelIdx:25 ChannelFreq:914963100 FreqError:-28}
19:10:58.216217 A00000AA85007F18 4 0 0 0 0 msg.ID=0
19:10:58.216293 Hop: {ChannelIdx:8 ChannelFreq:906433342 FreqError:-102}
19:11:00.777950 8000009305000ABC 5 0 0 0 0 msg.ID=0
19:11:00.778008 Hop: {ChannelIdx:47 ChannelFreq:926001611 FreqError:-20}
19:11:03.341700 E000003D0500F339 6 0 0 0 0 msg.ID=0
19:11:03.341755 Hop: {ChannelIdx:32 ChannelFreq:918475353 FreqError:-4}
19:11:05.903563 500000FF7500485B 7 0 0 0 0 msg.ID=0
19:11:05.903657 Hop: {ChannelIdx:13 ChannelFreq:908942094 FreqError:-10}
19:11:08.465485 600000FFC50079DA 8 0 0 0 0 msg.ID=0
19:11:08.465549 Hop: {ChannelIdx:36 ChannelFreq:920482355 FreqError:12}
19:11:11.029518 8000009305000ABC 9 0 0 0 0 msg.ID=0
19:11:11.029569 Hop: {ChannelIdx:22 ChannelFreq:913457849 FreqError:-64}
19:11:13.591415 E000003D0500F339 10 0 0 0 0 msg.ID=0
19:11:13.591476 Hop: {ChannelIdx:3 ChannelFreq:903924589 FreqError:12}
19:11:16.153252 500000FF7500485B 11 0 0 0 0 msg.ID=0
19:11:16.153304 Hop: {ChannelIdx:29 ChannelFreq:916970102 FreqError:-43}
19:11:18.716974 400000FFC5004CD2 12 0 0 0 0 msg.ID=0
19:11:18.717045 Hop: {ChannelIdx:44 ChannelFreq:924496359 FreqError:-73}
19:11:21.278841 8000009305000ABC 13 0 0 0 0 msg.ID=0
19:11:21.278908 Hop: {ChannelIdx:16 ChannelFreq:910447346 FreqError:-67}
19:11:23.840833 E000003D0500F339 14 0 0 0 0 msg.ID=0
19:11:23.840887 Hop: {ChannelIdx:5 ChannelFreq:904928090 FreqError:-12}
19:11:26.404319 500000FF7500485B 15 0 0 0 0 msg.ID=0
19:11:26.404373 Hop: {ChannelIdx:27 ChannelFreq:915966601 FreqError:-65}
19:11:28.966327 9000000005003151 16 0 0 0 0 msg.ID=0
19:11:28.966391 Hop: {ChannelIdx:38 ChannelFreq:921485856 FreqError:-47}
^CReattached kernel driver


    

On Monday, March 25, 2019 at 6:45:05 PM UTC-4, ljm.h...@gmail.com wrote:

kobuki

unread,
Mar 25, 2019, 7:24:32 PM3/25/19
to weewx-development
Yes, it's possible to hit a precision barrier with any modern non-realtime multitasking OS. I think it's still doable, though, but it wouldn't surprise me if more than 2-3 simultaneous stations would pose a problem.

kobuki

unread,
Mar 25, 2019, 7:27:14 PM3/25/19
to weewx-development
I see. Actually it's a great start if it gets stable with a constant offset first, but then it will need to be handled somehow, like providing the actual offset error to the receiver as a cline parameter.

rich T

unread,
Mar 25, 2019, 7:36:35 PM3/25/19
to weewx-development
Kobuki

 I use Kalibrate to determine the ppm.  Works pretty good.  The formula I used was ppm * Oscillator Frequency  / 1000000.

Rich

kobuki

unread,
Mar 25, 2019, 7:39:08 PM3/25/19
to weewx-development
Sorry, but what is "Oscillator Frequency"? It's not the tune-in frequency, I assume?
Message has been deleted

rich T

unread,
Mar 25, 2019, 9:01:09 PM3/25/19
to weewx-development
The Local Oscillator frequency.

rich T

unread,
Mar 25, 2019, 10:44:33 PM3/25/19
to weewx-development
Luc and Paul

I re-positioned my RPI and antenna and start over with Paul test and Good news it failed the first 5 attempts at decoding then it decoded 50 out of 51 packets.  Going to run a 24 hour test with this dongle to see how the driver performs.
 
 pi@raspberrypi:~/work/src/github.com/lheijst/rtldavis $ $GOPATH/bin/rtldavis  -maxmissed 4 -tf US -fc 71000
22:33:14.479314 rtldavis.go VERSION=0.10
22:33:14.479797 tr=1 fc=71000 ex=0 maxmissed=4 actChan=[0] maxChan=1
22:33:14.480737 BitRate: 19200
22:33:14.480811 SymbolLength: 14
22:33:14.480849 SampleRate: 268800
22:33:14.480883 Preamble: 1100101110001001
22:33:14.480917 PreambleSymbols: 16
22:33:14.480952 PreambleLength: 224
22:33:14.480985 PacketSymbols: 80
22:33:14.481020 PacketLength: 1120
22:33:14.481055 BlockSize: 512
22:33:14.481089 BufferLength: 2048
Detached kernel driver
Found Rafael Micro R820T tuner
22:33:15.250510 {ChannelIdx:0 ChannelFreq:902348338 FreqError:0}
Exact sample rate is: 268800.001367 Hz
22:33:15.450398 Init channels: wait max 133 seconds for a message of each transmitter
22:34:08.523397 TRANSMITTER 0 SEEN
22:34:08.523952 Hop: {ChannelIdx:19 ChannelFreq:911881597 FreqError:-25}
22:34:11.149930 ID:0 packet missed (1), missed per freq: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
22:34:11.150410 Hop: {ChannelIdx:41 ChannelFreq:922920108 FreqError:-25}
22:34:13.711819 ID:0 packet missed (2), missed per freq: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0]
22:34:13.712281 Hop: {ChannelIdx:25 ChannelFreq:914892100 FreqError:-25}
22:34:16.275601 ID:0 packet missed (3), missed per freq: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0]
22:34:16.276026 Hop: {ChannelIdx:8 ChannelFreq:906362342 FreqError:-25}
22:34:18.837409 ID:0 packet missed (4), missed per freq: [0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0]
22:34:18.837606 Hop: {ChannelIdx:47 ChannelFreq:925930611 FreqError:-25}
22:34:21.399396 ID:0 packet missed (5), missed per freq: [0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0]
22:34:21.399516 Init channels: wait max 133 seconds for a message of each transmitter
22:34:21.399628 Hop: {ChannelIdx:0 ChannelFreq:902348338 FreqError:-25}
22:35:27.963276 TRANSMITTER 0 SEEN
22:35:27.963515 Hop: {ChannelIdx:19 ChannelFreq:911881597 FreqError:-8}
22:35:30.525052 E000825A01001156 3 0 0 0 1 msg.ID=0
22:35:30.525325 Hop: {ChannelIdx:41 ChannelFreq:922920108 FreqError:-11}
22:35:33.087288 500082FF7100B4CF 4 0 0 0 1 msg.ID=0
22:35:33.087472 Hop: {ChannelIdx:25 ChannelFreq:914892100 FreqError:-2}
22:35:35.649229 6000820001005C79 5 0 0 0 1 msg.ID=0
22:35:35.649395 Hop: {ChannelIdx:8 ChannelFreq:906362342 FreqError:-78}
22:35:38.213007 80008213D90051FC 6 0 0 0 1 msg.ID=0
22:35:38.213191 Hop: {ChannelIdx:47 ChannelFreq:925930611 FreqError:15}
22:35:40.774833 E000825A01001156 7 0 0 0 1 msg.ID=0
22:35:40.775221 Hop: {ChannelIdx:32 ChannelFreq:918404353 FreqError:31}
22:35:43.336733 500082FF7100B4CF 8 0 0 0 1 msg.ID=0
22:35:43.337115 Hop: {ChannelIdx:13 ChannelFreq:908871094 FreqError:12}
22:35:45.900671 400082FFC100B046 9 0 0 0 1 msg.ID=0
22:35:45.900838 Hop: {ChannelIdx:36 ChannelFreq:920411355 FreqError:55}
22:35:48.527337 ID:0 packet missed (1), missed per freq: [0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0]
22:35:48.527650 Hop: {ChannelIdx:22 ChannelFreq:913386849 FreqError:55}
22:35:51.025280 E000825A01001156 10 0 0 0 1 msg.ID=0
22:35:51.025464 Hop: {ChannelIdx:3 ChannelFreq:903853589 FreqError:45}
22:35:53.587200 500082FF7100B4CF 11 0 0 0 1 msg.ID=0
22:35:53.587382 Hop: {ChannelIdx:29 ChannelFreq:916899102 FreqError:-14}
22:35:56.150805 9000820001084CCD 12 0 0 0 1 msg.ID=0
22:35:56.150959 Hop: {ChannelIdx:44 ChannelFreq:924425359 FreqError:-40}
22:35:58.712941 80008213C900528F 13 0 0 0 1 msg.ID=0
22:35:58.713429 Hop: {ChannelIdx:16 ChannelFreq:910376346 FreqError:-33}
22:36:01.275015 E000825A01001156 14 0 0 0 1 msg.ID=0
22:36:01.275200 Hop: {ChannelIdx:5 ChannelFreq:904857090 FreqError:20}
22:36:03.838427 500082FF7100B4CF 15 0 0 0 1 msg.ID=0
22:36:03.838925 Hop: {ChannelIdx:27 ChannelFreq:915895601 FreqError:-35}
22:36:06.400298 A0008281190064F9 16 0 0 0 1 msg.ID=0
22:36:06.400633 Hop: {ChannelIdx:38 ChannelFreq:921414856 FreqError:-23}
22:36:08.963906 80008213C900528F 17 0 0 0 1 msg.ID=0
22:36:08.964278 Hop: {ChannelIdx:10 ChannelFreq:907365843 FreqError:34}
22:36:11.525926 E000825A01001156 18 0 0 0 1 msg.ID=0
22:36:11.526125 Hop: {ChannelIdx:49 ChannelFreq:926934112 FreqError:4}
22:36:14.087809 500082FF7100B4CF 19 0 0 0 1 msg.ID=0
22:36:14.087991 Hop: {ChannelIdx:21 ChannelFreq:912885099 FreqError:-3}
22:36:16.650039 A0008281190064F9 20 0 0 0 1 msg.ID=0
22:36:16.650214 Hop: {ChannelIdx:2 ChannelFreq:903351839 FreqError:-40}
22:36:19.214445 80008213C900528F 21 0 0 0 1 msg.ID=0
22:36:19.214915 Hop: {ChannelIdx:30 ChannelFreq:917400852 FreqError:87}
22:36:21.776411 E000825A01001156 22 0 0 0 1 msg.ID=0
22:36:21.776599 Hop: {ChannelIdx:42 ChannelFreq:923421858 FreqError:39}
22:36:24.338281 500082FF7100B4CF 23 0 0 0 1 msg.ID=0
22:36:24.338774 Hop: {ChannelIdx:14 ChannelFreq:909372845 FreqError:-11}
22:36:26.901998 6000820001005C79 24 0 0 0 1 msg.ID=0
22:36:26.902187 Hop: {ChannelIdx:48 ChannelFreq:926432361 FreqError:-37}
22:36:29.463823 80008213C900528F 25 0 0 0 1 msg.ID=0
22:36:29.464012 Hop: {ChannelIdx:7 ChannelFreq:905860591 FreqError:10}
22:36:32.025741 E000825A01001156 26 0 0 0 1 msg.ID=0
22:36:32.026108 Hop: {ChannelIdx:24 ChannelFreq:914390350 FreqError:-55}
22:36:34.589820 500082FF7100B4CF 27 0 0 0 1 msg.ID=0
22:36:34.590115 Hop: {ChannelIdx:34 ChannelFreq:919407854 FreqError:12}
22:36:37.151689 400082FFC100B046 28 0 0 0 1 msg.ID=0
22:36:37.151872 Hop: {ChannelIdx:45 ChannelFreq:924927110 FreqError:84}
22:36:39.713607 80008213C900528F 29 0 0 0 1 msg.ID=0
22:36:39.713873 Hop: {ChannelIdx:1 ChannelFreq:902850088 FreqError:43}
22:36:42.277299 E000825A01001156 30 0 0 0 1 msg.ID=0
22:36:42.277487 Hop: {ChannelIdx:17 ChannelFreq:910878096 FreqError:15}
22:36:44.839211 500082FF7100B4CF 31 0 0 0 1 msg.ID=0
22:36:44.839708 Hop: {ChannelIdx:39 ChannelFreq:921916607 FreqError:4}
22:36:47.401070 9000820001084CCD 32 0 0 0 1 msg.ID=0
22:36:47.401323 Hop: {ChannelIdx:26 ChannelFreq:915393850 FreqError:-64}
22:36:49.964492 80008213C900528F 33 0 0 0 1 msg.ID=0
22:36:49.964731 Hop: {ChannelIdx:9 ChannelFreq:906864092 FreqError:-5}
22:36:52.526366 E000825A01001156 34 0 0 0 1 msg.ID=0
22:36:52.526610 Hop: {ChannelIdx:31 ChannelFreq:917902603 FreqError:15}
22:36:55.090031 500082FF7100B4CF 35 0 0 0 1 msg.ID=0
22:36:55.090217 Hop: {ChannelIdx:50 ChannelFreq:927435862 FreqError:22}
22:36:57.651970 A0008281190064F9 36 0 0 0 1 msg.ID=0
22:36:57.652185 Hop: {ChannelIdx:37 ChannelFreq:920913106 FreqError:-13}
22:37:00.213810 80008213C900528F 37 0 0 0 1 msg.ID=0
22:37:00.214052 Hop: {ChannelIdx:12 ChannelFreq:908369344 FreqError:-41}
22:37:02.777588 E000825A01001156 38 0 0 0 1 msg.ID=0
22:37:02.777795 Hop: {ChannelIdx:20 ChannelFreq:912383348 FreqError:-21}
22:37:05.339482 500082FF7100B4CF 39 0 0 0 1 msg.ID=0
22:37:05.339671 Hop: {ChannelIdx:33 ChannelFreq:918906104 FreqError:56}
22:37:07.901380 A0008281190064F9 40 0 0 0 1 msg.ID=0
22:37:07.901567 Hop: {ChannelIdx:4 ChannelFreq:904355340 FreqError:0}
22:37:10.465320 80008213C900528F 41 0 0 0 1 msg.ID=0
22:37:10.465477 Hop: {ChannelIdx:43 ChannelFreq:923923609 FreqError:65}
22:37:13.027246 E000825A01001156 42 0 0 0 1 msg.ID=0
22:37:13.027640 Hop: {ChannelIdx:28 ChannelFreq:916397351 FreqError:-18}
22:37:15.589245 500082FF7100B4CF 43 0 0 0 1 msg.ID=0
22:37:15.589501 Hop: {ChannelIdx:15 ChannelFreq:909874595 FreqError:-30}
22:37:18.152144 6000820001005C79 44 0 0 0 1 msg.ID=0
22:37:18.152452 Hop: {ChannelIdx:35 ChannelFreq:919909605 FreqError:30}
22:37:20.715835 80008213C900528F 45 0 0 0 1 msg.ID=0
22:37:20.716093 Hop: {ChannelIdx:6 ChannelFreq:905358841 FreqError:-19}
22:37:23.277780 E000825A01001156 46 0 0 0 1 msg.ID=0
22:37:23.277968 Hop: {ChannelIdx:40 ChannelFreq:922418357 FreqError:48}
22:37:25.839655 500082FF7100B4CF 47 0 0 0 1 msg.ID=0
22:37:25.839908 Hop: {ChannelIdx:11 ChannelFreq:907867593 FreqError:13}
22:37:28.403668 400082FFC100B046 48 0 0 0 1 msg.ID=0
22:37:28.403923 Hop: {ChannelIdx:23 ChannelFreq:913888599 FreqError:-8}
22:37:30.965567 80008213C900528F 49 0 0 0 1 msg.ID=0
22:37:30.965746 Hop: {ChannelIdx:46 ChannelFreq:925428860 FreqError:-60}
22:37:33.527544 E000825A01001156 50 0 0 0 1 msg.ID=0
22:37:33.527725 Hop: {ChannelIdx:18 ChannelFreq:911379847 FreqError:-46}
22:37:36.091169 500082FF7100B4CF 51 0 0 0 1 msg.ID=0
22:37:36.091346 Hop: {ChannelIdx:0 ChannelFreq:902348338 FreqError:-6}
22:37:38.653167 9000820001084CCD 52 0 0 0 1 msg.ID=0
22:37:38.653346 Hop: {ChannelIdx:19 ChannelFreq:911881597 FreqError:8}
22:37:41.214969 80008213C900528F 53 0 0 0 1 msg.ID=0
22:37:41.215439 Hop: {ChannelIdx:41 ChannelFreq:922920108 FreqError:-26}
22:37:43.779082 E000825A01001156 54 0 0 0 1 msg.ID=0
22:37:43.779264 Hop: {ChannelIdx:25 ChannelFreq:914892100 FreqError:1}
22:37:46.341690 500082FF7100B4CF 55 0 0 0 1 msg.ID=0
22:37:46.342208 Hop: {ChannelIdx:8 ChannelFreq:906362342 FreqError:-161}
22:37:48.903597 A000828C190026A8 56 0 0 0 1 msg.ID=0
22:37:48.903784 Hop: {ChannelIdx:47 ChannelFreq:925930611 FreqError:35}
22:37:51.465517 80008213C900528F 57 0 0 0 1 msg.ID=0
22:37:51.465695 Hop: {ChannelIdx:32 ChannelFreq:918404353 FreqError:52}
22:37:54.029246 E000825A01001156 58 0 0 0 1 msg.ID=0
22:37:54.029783 Hop: {ChannelIdx:13 ChannelFreq:908871094 FreqError:30}
22:37:56.591144 500082FF7100B4CF 59 0 0 0 1 msg.ID=0
22:37:56.591667 Hop: {ChannelIdx:36 ChannelFreq:920411355 FreqError:104}
^CReattached kernel driver

Rich

On Monday, March 25, 2019 at 6:45:05 PM UTC-4, ljm.h...@gmail.com wrote:

rich T

unread,
Mar 25, 2019, 11:55:58 PM3/25/19
to weewx-development
Paul

What type of dongle are you using?  I'm using a NESDR Smart which is decoding packets.  I also have a NESDR mini 2 SDR running right now that is not decoding any packets using - fc 71000. 

Rich


kobuki

unread,
Mar 26, 2019, 6:20:56 AM3/26/19
to weewx-development
Well, whatever it is, in the future I think it would be better to be able to provide the actual ppm or frequency shift... PPM would be ideal as it's calculated by the various tools.

ljm.h...@gmail.com

unread,
Mar 26, 2019, 12:58:08 PM3/26/19
to weewx-development
To all,

New releases of rtldavis and weewx-rtldavis

rtldavis
========
main.go v0.11
Release notes:
- added parameter -ppm = frequency correction of rtl dongle in ppm, default = 0
- added function GetTunerGain and log the value; when gain is set to auto this value is 0 dB.
- increased init loopperiods with 2.5 seconds
- increased other loopperiods with 10 ms


weewx-rtldavis
==============
rtldavis.py v0.10
- converted for use with both python 2 and python 3

Rich and Paul, could you please test weewx-rtldavis v0.10 on your python 2 systems?
Thanks in advance!

Luc

ljm.h...@gmail.com

unread,
Mar 26, 2019, 1:19:55 PM3/26/19
to weewx-development
To all,

New version of rtldavis

Protocol.go v0.10
Release notes:
- Changed US frequencies (new frequencies = old frequencies + 71000 Hz)
  Thanks to Paul Anderson and Rich T for testing!


Paul and Rich,

Don't forget to change -fc from 71000 to zero when you have updated protocol.go!
Again, thanks for testing!

Luc

Paul Anderson

unread,
Mar 26, 2019, 2:35:48 PM3/26/19
to weewx-development
Hi Rich,
Mine is 
RTL-SDR Blog R820T2 RTL2832U 1PPM TCXO SMA Software Defined Radio 

Claimed ppm less than 1. Yours are calmed .5 ppm so there better spec. However on a less than $25 device I never really trust the claims.
Thanks,
Paul

Paul Anderson

unread,
Mar 26, 2019, 3:18:19 PM3/26/19
to weewx-development
Luc,
Seems to run well. Played with ppm setting on several runs and could watch freq error change. Also could set very high and not receive any messages as expected.
One issue I continue to have is inability to get program to hear my Wind transmitter. If run with tr- 3 it receives Transmitter 0 but never sees Transmitter 1. Have tried various -ex settings from -ex 65 to -ex 200 , with no luck. When run with -u it sees Id:4, which is the wind transmitter very,very rarely. Seems like a low signal issue, maybe only solvable with a better antenna. Have tried a couple home made dipoles and ground plane antennas, but still no reception of Transmitter 1.

Thanks,
Paul

ljm.h...@gmail.com

unread,
Mar 26, 2019, 3:38:47 PM3/26/19
to weewx-development
On Tuesday, 26 March 2019 16:18:19 UTC-3, Paul Anderson wrote:
Luc,
Seems to run well. Played with ppm setting on several runs and could watch freq error change. Also could set very high and not receive any messages as expected.
One issue I continue to have is inability to get program to hear my Wind transmitter. If run with tr- 3 it receives Transmitter 0 but never sees Transmitter 1. Have tried various -ex settings from -ex 65 to -ex 200 , with no luck. When run with -u it sees Id:4, which is the wind transmitter very,very rarely. Seems like a low signal issue, maybe only solvable with a better antenna. Have tried a couple home made dipoles and ground plane antennas, but still no reception of Transmitter 1.

Thanks,
Paul

Paul,

The best you can do for testing is to start the program solely for the wind transmitter and let it hop along all frequencies.
If one ore more frequencies are found, you can look at the frequency error and try to correct this temporary with -fc (use the average FreqError and use the same sign. Example: average FreqError = -2000 => set -fc -2000)

$GOPATH/bin/rtldavis -tr 2 -tf US, -maxmissed 51 -u -fc 0

The -u flag is optional. It reports the packets of other transmitters (only with ID=0 in your case) when they send on the same time on the same hop channel as for transmitter with ID=1.

Success!

Luc

rich T

unread,
Mar 26, 2019, 10:37:33 PM3/26/19
to weewx-development
Luc

Following the install procedures for the weewx-rtldavis driver and step 7 states to run the driver directly to identify the packets you want to capture.

cd /home/weewx
sudo PYTHONPATH=bin python bin/user/rtldavis.py --cmd="/home/pi/work/bin/rtldavis -tf US"

I might be wrong, but I'm expecting is to see the decoded packets, so I can create a sensor map. Is there an option missing?


pi@raspberrypi:/home/weewx $ sudo PYTHONPATH=bin python bin/user/rtldavis.py --cmd="/home/pi/work/bin/rtldavis -tf US"

data: [u'22:32:25.475131 rtldavis.go VERSION=0.11\n']
data: [u'22:32:25.475378 tr=1 fc=0 ppm=0 ex=0 maxmissed=51 actChan=[0] maxChan=1\n']
data: [u'22:32:25.475765 BitRate: 19200\n']
data: [u'22:32:25.475789 SymbolLength: 14\n']
data: [u'22:32:25.475803 SampleRate: 268800\n']
data: [u'22:32:25.475816 Preamble: 1100101110001001\n']
data: [u'22:32:25.475829 PreambleSymbols: 16\n']
data: [u'22:32:25.475845 PreambleLength: 224\n']
data: [u'22:32:25.475858 PacketSymbols: 80\n']
data: [u'22:32:25.475871 PacketLength: 1120\n']
data: [u'22:32:25.475884 BlockSize: 512\n']
data: [u'22:32:25.475898 BufferLength: 2048\n']
data: [u'Found Rafael Micro R820T tuner\n']
data: [u'22:32:25.860995 Hop: {ChannelIdx:0 ChannelFreq:902419338 FreqError:0}\n']
data: [u'Exact sample rate is: 268800.001367 Hz\n']
data: [u'22:32:26.038630 SetFreqCorrection 0 ppm Successful\n']
data: [u'22:32:26.038748 GetTunerGain: 0 Db\n']
data: [u'22:32:26.043818 Init channels: wait max 135 seconds for a message of each transmitter\n']
data: []
data: []
data: []
data: [u'22:33:03.523511 TRANSMITTER 0 SEEN\n']
data: [u'22:33:03.524342 Hop: {ChannelIdx:19 ChannelFreq:911952597 FreqError:36}\n']
data: [u'22:33:06.085702 E000965A0100C000 2 0 0 0 0 msg.ID=0\n']
data: [u'22:33:06.085903 Hop: {ChannelIdx:41 ChannelFreq:922991108 FreqError:7}\n']
data: [u'22:33:08.647569 500096FF71006599 3 0 0 0 0 msg.ID=0\n']
data: [u'22:33:08.647736 Hop: {ChannelIdx:25 ChannelFreq:914963100 FreqError:16}\n']
data: [u'22:33:11.209914 6000960001008D2F 4 0 0 0 0 msg.ID=0\n']
data: [u'22:33:11.210074 Hop: {ChannelIdx:8 ChannelFreq:906433342 FreqError:-56}\n']
data: [u'22:33:13.773963 80009611F900E82C 5 0 0 0 0 msg.ID=0\n']
data: [u'22:33:13.774127 Hop: {ChannelIdx:47 ChannelFreq:926001611 FreqError:43}\n']
data: [u'22:33:16.336041 E000965A0100C000 6 0 0 0 0 msg.ID=0\n']
data: [u'22:33:16.336210 Hop: {ChannelIdx:32 ChannelFreq:918475353 FreqError:50}\n']
data: [u'22:33:18.897982 500096FF71006599 7 0 0 0 0 msg.ID=0\n']
data: [u'22:33:18.898147 Hop: {ChannelIdx:13 ChannelFreq:908942094 FreqError:30}\n']
data: [u'22:33:21.462195 400096FFC1006110 8 0 0 0 0 msg.ID=0\n']
data: [u'22:33:21.462378 Hop: {ChannelIdx:36 ChannelFreq:920482355 FreqError:76}\n']
data: [u'22:33:24.024085 80009611F900E82C 9 0 0 0 0 msg.ID=0\n']
data: [u'22:33:24.024696 Hop: {ChannelIdx:22 ChannelFreq:913457849 FreqError:-8}\n']
data: [u'22:33:26.586087 E000965A0100C000 10 0 0 0 0 msg.ID=0\n']
data: [u'22:33:26.586677 Hop: {ChannelIdx:3 ChannelFreq:903924589 FreqError:59}\n']
data: [u'22:33:29.149949 500096FF71006599 11 0 0 0 0 msg.ID=0\n']
data: [u'22:33:29.150119 Hop: {ChannelIdx:29 ChannelFreq:916970102 FreqError:3}\n']
data: [u'22:33:31.712255 9000960001098DBA 12 0 0 0 0 msg.ID=0\n']
data: [u'22:33:31.712847 Hop: {ChannelIdx:44 ChannelFreq:924496359 FreqError:-25}\n']
data: [u'22:33:34.274212 80009611F900E82C 13 0 0 0 0 msg.ID=0\n']
data: [u'22:33:34.274384 Hop: {ChannelIdx:16 ChannelFreq:910447346 FreqError:-11}\n']
data: [u'22:33:36.838252 E000965A0100C000 14 0 0 0 0 msg.ID=0\n']
data: [u'22:33:36.838420 Hop: {ChannelIdx:5 ChannelFreq:904928090 FreqError:43}\n']
data: [u'22:33:39.400387 500096FF71006599 15 0 0 0 0 msg.ID=0\n']
data: [u'22:33:39.400557 Hop: {ChannelIdx:27 ChannelFreq:915966601 FreqError:-19}\n']
data: [u'22:33:41.961934 A000968C1900F7FE 16 0 0 0 0 msg.ID=0\n']
data: [u'22:33:41.962080 Hop: {ChannelIdx:38 ChannelFreq:921485856 FreqError:-4}\n']
data: [u'22:33:44.525987 80009611F900E82C 17 0 0 0 0 msg.ID=0\n']
data: [u'22:33:44.526159 Hop: {ChannelIdx:10 ChannelFreq:907436843 FreqError:52}\n']
data: [u'22:33:47.088109 E000965A0100C000 18 0 0 0 0 msg.ID=0\n']
data: [u'22:33:47.088288 Hop: {ChannelIdx:49 ChannelFreq:927005112 FreqError:25}\n']
data: [u'22:33:49.650038 500096FF71006599 19 0 0 0 0 msg.ID=0\n']
data: [u'22:33:49.650195 Hop: {ChannelIdx:21 ChannelFreq:912956099 FreqError:17}\n']
data: [u'22:33:52.213902 A000968C1900F7FE 20 0 0 0 0 msg.ID=0\n']
data: [u'22:33:52.214495 Hop: {ChannelIdx:2 ChannelFreq:903422839 FreqError:-25}\n']
data: [u'22:33:54.775773 80009611F900E82C 21 0 0 0 0 msg.ID=0\n']
data: [u'22:33:54.775940 Hop: {ChannelIdx:30 ChannelFreq:917471852 FreqError:107}\n']
data: [u'22:33:57.337277 E000965A0100C000 22 0 0 0 0 msg.ID=0\n']
data: [u'22:33:57.337376 Hop: {ChannelIdx:42 ChannelFreq:923492858 FreqError:62}\n']
data: [u'22:33:59.901838 500096FF71006599 23 0 0 0 0 msg.ID=0\n']
data: [u'22:33:59.902006 Hop: {ChannelIdx:14 ChannelFreq:909443845 FreqError:7}\n']
data: [u'22:34:02.464168 6000960001008D2F 24 0 0 0 0 msg.ID=0\n']
data: [u'22:34:02.464398 Hop: {ChannelIdx:48 ChannelFreq:926503361 FreqError:-23}\n']
data: [u'22:34:05.025795 80009611F900E82C 25 0 0 0 0 msg.ID=0\n']
data: [u'22:34:05.025957 Hop: {ChannelIdx:7 ChannelFreq:905931591 FreqError:31}\n']
data: [u'22:34:07.589752 E000965A0100C000 26 0 0 0 0 msg.ID=0\n']
data: [u'22:34:07.589927 Hop: {ChannelIdx:24 ChannelFreq:914461350 FreqError:-33}\n']
data: [u'22:34:10.151525 500096FF71006599 27 0 0 0 0 msg.ID=0\n']
data: [u'22:34:10.151692 Hop: {ChannelIdx:34 ChannelFreq:919478854 FreqError:29}\n']
data: [u'22:34:12.713489 400096FFC1006110 28 0 0 0 0 msg.ID=0\n']
data: [u'22:34:12.713654 Hop: {ChannelIdx:45 ChannelFreq:924998110 FreqError:103}\n']
data: [u'22:34:15.277273 80009611F900E82C 29 0 0 0 0 msg.ID=0\n']
data: [u'22:34:15.277447 Hop: {ChannelIdx:1 ChannelFreq:902921088 FreqError:61}\n']
data: [u'22:34:17.839298 E000965A0100C000 30 0 0 0 0 msg.ID=0\n']
data: [u'22:34:17.839468 Hop: {ChannelIdx:17 ChannelFreq:910949096 FreqError:30}\n']
data: [u'22:34:20.401386 500096FF71006599 31 0 0 0 0 msg.ID=0\n']
data: [u'22:34:20.401556 Hop: {ChannelIdx:39 ChannelFreq:921987607 FreqError:23}\n']
data: [u'22:34:22.965331 9000960001098DBA 32 0 0 0 0 msg.ID=0\n']
data: [u'22:34:22.965497 Hop: {ChannelIdx:26 ChannelFreq:915464850 FreqError:-48}\n']
data: [u'22:34:25.527353 80009611F900E82C 33 0 0 0 0 msg.ID=0\n']
data: [u'22:34:25.527520 Hop: {ChannelIdx:9 ChannelFreq:906935092 FreqError:16}\n']
data: [u'22:34:28.091070 E000965A0100C000 34 0 0 0 0 msg.ID=0\n']
data: [u'22:34:28.091653 Hop: {ChannelIdx:31 ChannelFreq:917973603 FreqError:33}\n']
data: [u'22:34:30.653099 500096FF71006599 35 0 0 0 0 msg.ID=0\n']
data: [u'22:34:30.653685 Hop: {ChannelIdx:50 ChannelFreq:927506862 FreqError:43}\n']
data: [u'22:34:33.214768 A000968C1900F7FE 36 0 0 0 0 msg.ID=0\n']
data: [u'22:34:33.215154 Hop: {ChannelIdx:37 ChannelFreq:920984106 FreqError:0}\n']
data: [u'22:34:35.779460 80009611F900E82C 37 0 0 0 0 msg.ID=0\n']
data: [u'22:34:35.779622 Hop: {ChannelIdx:12 ChannelFreq:908440344 FreqError:-19}\n']
data: [u'22:34:38.340934 E000965A0100C000 38 0 0 0 0 msg.ID=0\n']
data: [u'22:34:38.341143 Hop: {ChannelIdx:20 ChannelFreq:912454348 FreqError:-1}\n']
data: [u'22:34:40.903062 500096FF71006599 39 0 0 0 0 msg.ID=0\n']
data: [u'22:34:40.903233 Hop: {ChannelIdx:33 ChannelFreq:918977104 FreqError:74}\n']

Thanks
Rich

ljm.h...@gmail.com

unread,
Mar 26, 2019, 11:30:00 PM3/26/19
to weewx-development
On Tuesday, 26 March 2019 23:37:33 UTC-3, rich T wrote:
I might be wrong, but I'm expecting is to see the decoded packets, so I can create a sensor map. Is there an option missing?

Rich,

First of all I have to check the output when the driver is runned directly; the "[u'"at the start and "]"at the end of each line should not be there.
The purpose of step 7 is to see if the driver catches data packets (the lines with the 8-byte hex code) and if they come fast enough (with interval 2.5 - 3.0 seconds).

The default sensor map is in the program, starting at line 668:
DEFAULT_SENSOR_MAP = {
'pressure': 'pressure',
'inTemp': 'temp_in',  # temperature of optional BMP280 module
'windSpeed': 'wind_speed',
'windDir': 'wind_dir',
'outTemp': 'temperature',
'outHumidity': 'humidity',
'inHumidity': 'humidity_in',
# To use a rainRate calculation from this driver that closely matches
# that of a Davis station, uncomment the rainRate field then specify
# rainRate = hardware in section [StdWXCalculate] of weewx.conf
'rainRate': 'rain_rate',
'radiation': 'solar_radiation',
'UV': 'uv',
#'extraTemp1': 'temp_1',
#'extraTemp2': 'temp_2',
#'extraTemp3': 'temp_3',
'soilTemp1': 'soil_temp_1',
'soilTemp2': 'soil_temp_2',
'soilTemp3': 'soil_temp_3',
'soilTemp4': 'soil_temp_4',
'leafTemp1': 'leaf_temp_1',
#'leafTemp2': 'leaf_temp_2',
'extraHumid1': 'humid_1',
'extraHumid2': 'humid_2',
'soilMoist1': 'soil_moisture_1',
'soilMoist2': 'soil_moisture_2',
'soilMoist3': 'soil_moisture_3',
'soilMoist4': 'soil_moisture_4',
'leafWet1': 'leaf_wetness_1',
'leafWet2': 'leaf_wetness_2',
'rxCheckPercent': 'pct_good', # updated in 
'txBatteryStatus': 'bat_iss',
'supplyVoltage': 'supercap_volt',
'referenceVoltage': 'solar_power',
'windBatteryStatus': 'bat_anemometer',
'rainBatteryStatus': 'bat_leaf_soil',
'outTempBatteryStatus': 'bat_th_1',
'inTempBatteryStatus': 'bat_th_2',
'extraTemp1': 'pct_good_1',  # renamed
'extraTemp2': 'pct_good_2',  # renamed
'extraTemp3': 'pct_good_3',  # renamed
'leafTemp2': 'pct_good_4',   # renamed
'consBatteryVoltage': 'freqError0',
'hail': 'freqError1',
'hailRate': 'freqError2',
'heatingTemp': 'freqError3',
'heatingVoltage': 'freqError4'}

The left side of the map contain the field names in de database when the default wview schema is used. See weewx.conf for wx-binding:
    [[wx_binding]]
        # The database must match one of the sections in [Databases].
        # This is likely to be the only option you would want to change.
        database = archive_sqlite
        # The name of the table within the database
        table_name = archive
        # The manager handles aggregation of data for historical summaries
        manager = weewx.wxmanager.WXDaySummaryManager
        # The schema defines the structure of the database.
        # It is *only* used when the database is created.
        schema = schemas.wview.schema

The right side of the map contain the names of the parsed data. Not all parsed data names have an equivalent in the wview schema.
When you have additional temp/humidy stations, you may sore them in fields extraTempx and extraHumidx.
The program has some extra data what might be handy for quality control:
Currently they are mapped to extraTemp1 - extraTemp3 and leafTemp2, but if you only have two stations (ISS and LEAF/SOIL), you might want to use leafTemp2 for the measured leaf_temp_2 signal and only use (i.e. map) pct_good_1 and pct_good_2.

Also the frequency errors of the first 5 channels can be stored in the database. This is handy for EU stations (they have 5 channels) but is is of little use for US stations with its 51 channels).
When you don't want to store a particular packet (e.g. supercap_volt, only available on a Vantage Vue station), you may delete or comment out the line in the default sensor map. 
Be careful with changing the last line: it should have a "}" at the end and no comma.

Success!

Luc  

ljm.h...@gmail.com

unread,
Mar 27, 2019, 6:17:23 AM3/27/19
to weewx-development
Paul,

I overlooked your remark your windmeter has ID=4.
To select this one you have to set -tr 16 (ID 0=1, ID 1=2, ID 2=4, ID 3=8, ID 4=16, ID 5=32, ID 6=64, ID 7=128)
Add the numbers of all transmitters to select.
In your case to select both transmitters use -tr 17

Note: the weewx-rtldavis driver will preset -tr based upon data in the Rtldavis config section in weewx.conf.

Luc

Paul Anderson

unread,
Mar 27, 2019, 9:18:06 AM3/27/19
to weewx-development
Luc,
Funny story. Actually my ISS is 1 and my wind is 2 as we thought. But they seem to differ enough in actual transmitter frequency that if I am well tuned on ISS I can't see wind, however I pick up an unknown neighbor station of ID:4. 
Because of your great advice to listen for tr 2 only I figured it by applying a offset ppm. So now if I apply a compromise ppm between what tr 1 wants and what tr 2 wants I am able to run as -tr 3 and receive both pretty reliably.

09:08:50.036042 TRANSMITTER 1 SEEN
09:09:14.061183 TRANSMITTER 0 SEEN
09:09:14.061209 ALL TRANSMITTERS SEEN
09:09:14.061360 Hop: {ChannelIdx:3 ChannelFreq:903924589 FreqError:484}
09:09:16.286004 51059BFF73005C8A 1 2 0 0 0 msg.ID=1
09:09:16.286067 Hop: {ChannelIdx:19 ChannelFreq:911952597 FreqError:-623}
09:09:16.625271 600000FFC50079DA 2 2 0 0 0 msg.ID=0

Hope that's not too confusing ! So now begins my tour of my neighborhood to find out who else has a Davis weather station.
  
Thanks
Paul 

ljm.h...@gmail.com

unread,
Mar 27, 2019, 9:28:25 AM3/27/19
to weewx-development
On Wednesday, 27 March 2019 10:18:06 UTC-3, Paul Anderson wrote:
So now if I apply a compromise ppm between what tr 1 wants and what tr 2 wants I am able to run as -tr 3 and receive both pretty reliably.

Again, great news, Paul !

I did not play yet with the ppm option. I downloaded kalibrate-rtl on my raspberry PI but until now I could not detect any GSM signals.
In Suriname we use EGSM and DCS.

When you play with the ppm values, what is your strategy? 

Luc

ljm.h...@gmail.com

unread,
Mar 27, 2019, 9:40:46 AM3/27/19
to weewx-development
On Wednesday, 27 March 2019 10:18:06 UTC-3, Paul Anderson wrote:
 So now begins my tour of my neighborhood to find out who else has a Davis weather station.

The program supports both Vantage Pro2 stations as Vantage Vue stations.

The funny part is that two message types only are available on a Vantage Vue !
These are:
- supercap voltage
- solar cell output / solar power

So, when you pick up valid values for those two message types, you deal with a Vantage Vue.

BTW In the meteostick driver we also support signals transferred by a Davis repeater. For this, the program has to read 10-bytes data instead of 8-bytes. I have played with it, but the performance was greatly reduced, so for now I stick with the 8-byte concept.

Luc

rich T

unread,
Mar 27, 2019, 5:27:40 PM3/27/19
to weewx-development
Luc

Looks like I'm only decoding a couple of the data fields, in which could be configuration error on my part.  The driver did crash due to a "none type" error, again the cause could be configuration error on my part.

Thanks
Rich


Syslog.txt
Loop and Rec Log.txt
weewx.conf
It is loading more messages.
0 new messages