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.

On Saturday, March 16, 2019 at 5:21:28 PM UTC+1, kobuki wrote:
>
> A typo fix: ... This is about *20 times *the used carrier bandwidth ...
>
> On Saturday, March 16, 2019 at 5:20:21 PM UTC+1, kobuki wrote:
>>
>> 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.
>>
>> The sheet: 
>> https://docs.google.com/spreadsheets/d/1SyNKF-ynoYvKEiOfr7CcZSvaKDU49rJLbNvfN0avzbQ/edit?usp=sharing
>>
>> On Saturday, March 16, 2019 at 4:51:07 PM UTC+1, kobuki wrote:
>>>
>>> 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.
>>>
>>> On Saturday, March 16, 2019 at 4:32:40 PM UTC+1, Paul Anderson wrote:
>>>>
>>>> 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
>>>>
>>>>
>>>>
>>>>

Reply via email to