linux-mips
[Top] [All Lists]

SNR calculation in stv0299 driver

To: <linux-mips@linux-mips.org>
Subject: SNR calculation in stv0299 driver
From: "Gill Robles-Thome" <gill.robles@exterity.co.uk>
Date: Tue, 19 Jul 2005 17:08:10 +0100
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
Thread-index: AcWMfA7+zUQuRUwsRJCe8P1oYSmlsg==
Thread-topic: SNR calculation in stv0299 driver
Hi -

Can anyone explain the algorithm used to calculate the SNR for the
stv0299 driver? Ie


        case FE_READ_SNR:
        {
                s32 snr = 0xffff - ((stv0299_readreg (i2c, 0x24) << 8)
                                   | stv0299_readreg (i2c, 0x25));
                snr = 3 * (snr - 0xa100);
                *((u16*) arg) = (snr > 0xffff) ? 0xffff :
                                (snr < 0) ? 0 : snr;
                break;
        }
 

I don't understand where the 0xa100 value comes from, or why the result
is them multiplied by 3!  Registers 0x24 and 0x25 are apparently "Noise
Indicator" registers, but the stv0299 specification doesn't explain very
well how these registers should be used.

Thanks for your help,
Gill

<Prev in Thread] Current Thread [Next in Thread>