Cool, thanks, will do!
On 27 October 2017 7:44:45 PM GMT+02:00, Oliver Jowett oliver.jowett@gmail.com wrote:
The original commit fixes configuring the direction of the GPIO pins on the 2832 so it actually works. The FC0012 failure is probably a side-effect of the direction bits now really being set.
The tuner initialization does this:
rtlsdr_set_gpio_output(dev, 5); /* should set GPIO 5 to output mode, but actually does not touch the direction bits and instead turns on GPIO output 5 */ rtlsdr_set_gpio_bit(dev, 5, 1); /* turns on GPIO 5 output */ rtlsdr_set_gpio_bit(dev, 5, 0); /* turns off GPIO 5 output */
I don't know the reset state of the 2832 offhand but assuming GPIO 5 is not set as an output on reset, then that tuner reset was doing nothing much before the GPIO fix. Maybe the FC0012 takes a while to settle after a reset, so when it really gets reset the detection immediately afterwards fails. You could try commenting out those three lines and see if anything changes.
Oliver
On 27 October 2017 at 18:13, Marcus Müller mueller@kit.edu wrote:
Hi Sylvain,
I'd love to, but I honestly don't even have the symptom (whatever
that is)
of what this commit fixes. Admittedly, I'd assume myself that maybe I
just
haven't looked hard enough for a symptom, but if you'd have insight
on what
the fact that the register was wrong effects, then I'd be thankful!
I really just observe that this commit breaks something, and that I haven't been able to find out what out fixes :(
Cheers Marcus
On 27 October 2017 6:09:18 PM GMT+02:00, Sylvain Munaut
wrote:
That commit might break something but it still looks like the right
thing to do.
This is just a symptom of another underlying problem. Find that problem and fix it.
On Fri, Oct 27, 2017 at 5:03 PM, Marcus Müller mueller@kit.edu
wrote:
This reverts commit ba64a7459a43652354990855176a7d8dad5b9d54.
The mentioned commit leads to nonfunctionality of Fitipower FC0012 dongles (tested by a small horde of students) and doesn't increase functionality on my "RTL-SDR.com" branded R820T-based dongle.
src/librtlsdr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/librtlsdr.c b/src/librtlsdr.c index b369a5d..6c079a5 100644 --- a/src/librtlsdr.c +++ b/src/librtlsdr.c @@ -570,7 +570,7 @@ void rtlsdr_set_gpio_output(rtlsdr_dev_t *dev,
uint8_t gpio)
gpio = 1 << gpio; r = rtlsdr_read_reg(dev, SYSB, GPD, 1);
rtlsdr_write_reg(dev, SYSB, GPD, r & ~gpio, 1);
rtlsdr_write_reg(dev, SYSB, GPO, r & ~gpio, 1); r = rtlsdr_read_reg(dev, SYSB, GPOE, 1); rtlsdr_write_reg(dev, SYSB, GPOE, r | gpio, 1);}
2.13.6
-- Sent from my Android device with K-9 Mail. Please excuse my brevity.