From de870b3ee049262f984254305c7a062a1cdf3026 Mon Sep 17 00:00:00 2001 From: Bertrik Sikken Date: Thu, 11 Nov 2010 21:13:29 +0000 Subject: Signal strength meter for FM radio - FS#8151 by Przemysław Hołubowski MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28559 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/tuner/tea5760uk.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'firmware/drivers/tuner/tea5760uk.c') diff --git a/firmware/drivers/tuner/tea5760uk.c b/firmware/drivers/tuner/tea5760uk.c index 20234e28ed..c1dff598b3 100644 --- a/firmware/drivers/tuner/tea5760uk.c +++ b/firmware/drivers/tuner/tea5760uk.c @@ -30,6 +30,10 @@ #define I2C_ADR 0x22 +/* define RSSI range */ +#define RSSI_MIN 4 +#define RSSI_MAX 46 + static bool tuner_present = false; static unsigned char write_bytes[7] = { 0x00, /* INTREG LSB */ @@ -138,6 +142,19 @@ int tea5760_get(int setting) case RADIO_STEREO: val = read_bytes[9] >> 2; break; + + case RADIO_RSSI: + val = (read_bytes[9] >> 4) & 0x0F; + val = 4 + (28 * val + 5) / 10; + break; + + case RADIO_RSSI_MIN: + val = RSSI_MIN; + break; + + case RADIO_RSSI_MAX: + val = RSSI_MAX; + break; } return val; -- cgit v1.2.3