summaryrefslogtreecommitdiff
path: root/src/rtl-sdr.c
diff options
context:
space:
mode:
authorSteve Markgraf <steve@steve-m.de>2012-04-01 00:38:40 +0200
committerSteve Markgraf <steve@steve-m.de>2012-04-01 00:38:40 +0200
commit31cb96fc3cdad63761ef4eeff2c722318bc1d89b (patch)
tree3a2c2cd041dccdbe307bafed6d225ecf350b46a2 /src/rtl-sdr.c
parentff7910482453d39a776fbbe2ad79c59e87fa5132 (diff)
add tuner initialization, fix fc0013 replug bug
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Diffstat (limited to 'src/rtl-sdr.c')
-rw-r--r--src/rtl-sdr.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/rtl-sdr.c b/src/rtl-sdr.c
index b88ac60..70ea7cd 100644
--- a/src/rtl-sdr.c
+++ b/src/rtl-sdr.c
@@ -160,10 +160,14 @@ int rtlsdr_write_array(rtlsdr_dev_t *dev, uint8_t block, uint16_t addr, uint8_t
return r;
}
-int rtlsdr_i2c_write_reg(rtlsdr_dev_t *dev, uint8_t i2c_addr, uint8_t data)
+int rtlsdr_i2c_write_reg(rtlsdr_dev_t *dev, uint8_t i2c_addr, uint8_t reg, uint8_t val)
{
uint16_t addr = i2c_addr;
- return rtlsdr_write_array(dev, IICB, addr, &data, 1);
+ uint8_t data[2];
+
+ data[0] = reg;
+ data[1] = val;
+ return rtlsdr_write_array(dev, IICB, addr, &data, 2);
}
uint8_t rtlsdr_i2c_read_reg(rtlsdr_dev_t *dev, uint8_t i2c_addr, uint8_t reg)
@@ -601,6 +605,9 @@ rtlsdr_dev_t *rtlsdr_open(int index)
}
found:
+ if (dev->tuner)
+ dev->tuner->init(dev);
+
rtlsdr_set_i2c_repeater(dev, 0);
return dev;