summaryrefslogtreecommitdiff
path: root/firmware/drivers/tuner/lv24020lp.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/tuner/lv24020lp.c')
-rw-r--r--firmware/drivers/tuner/lv24020lp.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/firmware/drivers/tuner/lv24020lp.c b/firmware/drivers/tuner/lv24020lp.c
index 0228888309..590ca9641e 100644
--- a/firmware/drivers/tuner/lv24020lp.c
+++ b/firmware/drivers/tuner/lv24020lp.c
@@ -35,6 +35,10 @@
35 35
36static struct mutex tuner_mtx; 36static struct mutex tuner_mtx;
37 37
38/* define RSSI range */
39#define RSSI_MIN 5
40#define RSSI_MAX 75
41
38/* define to enable tuner logging */ 42/* define to enable tuner logging */
39#undef SANYO_TUNER_LOG_FILE 43#undef SANYO_TUNER_LOG_FILE
40#undef SANYO_TUNER_LOGF 44#undef SANYO_TUNER_LOGF
@@ -966,6 +970,8 @@ int lv24020lp_set(int setting, int value)
966int lv24020lp_get(int setting) 970int lv24020lp_get(int setting)
967{ 971{
968 int val = -1; 972 int val = -1;
973 const unsigned char fst[7] = {0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f};
974 unsigned char fst_ndx, fs;
969 975
970 mutex_lock(&tuner_mtx); 976 mutex_lock(&tuner_mtx);
971 977
@@ -994,6 +1000,22 @@ int lv24020lp_get(int setting)
994 break; 1000 break;
995 } 1001 }
996 1002
1003 case RADIO_RSSI:
1004 fs = RSS_FS(lv24020lp_read(RADIO_STAT));
1005 for(fst_ndx=0; fst_ndx<7; fst_ndx++)
1006 if(fs == fst[fst_ndx])
1007 break;
1008 val = 75 - 10*fst_ndx;
1009 break;
1010
1011 case RADIO_RSSI_MIN:
1012 val = RSSI_MIN;
1013 break;
1014
1015 case RADIO_RSSI_MAX:
1016 val = RSSI_MAX;
1017 break;
1018
997 default: 1019 default:
998 val = lv24020lp_debug_info(setting); 1020 val = lv24020lp_debug_info(setting);
999 } 1021 }