Hi,
I have a dvb-t usb2 device with a dib3000mc and the signal strength
doesn't seem right : the value goes up and down.
The signal strength calculation is little strange :
- why does it use DIB3000MC_REG_SIGNAL_NOISE_LSB register ?
- the computing is strange : it remove bits 3 and 4 from the value.
- the comments are wrong : the dib3000mb signal_strength is different
(there is a signal power register).
Any hints on that ?
Thanks
Matthieu
[1]
/* see dib3000mb.c for calculation comments */
static int dib3000mc_read_signal_strength(struct dvb_frontend* fe, u16
*strength)
{
struct dib3000_state* state = fe->demodulator_priv;
u16 val = rd(DIB3000MC_REG_SIGNAL_NOISE_LSB);
*strength = (((val >> 6) & 0xff) << 8) + (val & 0x3f);
deb_stat("signal: mantisse = %d, exponent = %d\n",(*strength >> 8)
& 0xff, *strength & 0xff);
return 0;
}
_______________________________________________
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb