Hey Chuck, I have one of these rev 1 tvrx daughter boards too. Thanks for the effort!
Will you please post your code? I tried the same trick at first, changed the dboard ID: no joy so changed it back. Found the code and data sheet same as you and then struggled to set up a working build environment. By the time that was finally done I totally forgot about the 1st task. Plus my son's cat died in his room. Ugh, the smell. We've stripped out the carpet and are painting and putting in hardwood floor. I really hate cats at this point. Back on point, I think I see how to add another dboard object with code correction, ID = 0x03, and named "TVRX Rev1" if I can just get to it. Then contribute back to the UHD code base so it will be supported by default in the future. Cheers, Mark Napier Date: Sat, 11 Jun 2016 22:10:15 -0400 From: Chuck Swiger <cswi...@swigerco.com> To: Discuss-gnuradio@gnu.org Subject: [Discuss-gnuradio] vintage hardware support: tvrx rev 1 - MT4937DI5 3X7702 Message-ID: <1465697415.2044.19.camel@localhost.localdomain> Content-Type: text/plain; charset="UTF-8" My own personal summer of code project (1st of hopefully many) was to restore support for my old TVRX Rev1 daughter board (id 0x0003 in the current uhd code and was not TOO hard. Comparing the schematic http://files.ettus.com/schematics/tvrx/tvrx.pdf with the board matches. Looking at the MT4937DI5 datasheet http://swigerco.com/4937_DI5_MicroTune_TVRXr_DSA00488550.pdf that covers both the old 3X7702 with the 2nd downconverted to 5.75e6 AND another model with the 43.75e6 IF like the newer tvrx (id 0x0040) still supported in uhd/host/lib/usrp/dboard/db_tvrx.cpp Gain charts in db_tvrx.cpp match that manual, i2c commands sent out for set_freq match the registers, etc. Just changing the board id gets it recognized but just gets static, barely can make out a strong local fm station. There's another tvrx id hiding in an evil hack in uhd/host/lib/usrp/usrp1/dboard_iface.cpp that needs to be changed. Just changing the tvrx_if_freq won't work, as that really is the IF - we just have to compensate for the 2nd converter and that's appearently done in the value returned by set_freq(double freq) - this works: comment out the if (tvrx_if_freq >= codec_rate/2) block as the DAC never sees that IF, and return _lo_freq - tvrx_if_freq + tvrx_2ndif_freq; Now it can get FM just fine, plus make fft plots like this again: http://swigerco.com/tvrx_atsc.jpg Which reminds me the rev 3 turners have to compensate for inverted spectrum (being at 44.75Mhz with a 64Mhz clock). Have to fix that next.
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio