diff options
Diffstat (limited to 'uisimulator')
-rw-r--r-- | uisimulator/common/fmradio.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/uisimulator/common/fmradio.c b/uisimulator/common/fmradio.c index cef9abf94e..6f6b0f914f 100644 --- a/uisimulator/common/fmradio.c +++ b/uisimulator/common/fmradio.c | |||
@@ -67,6 +67,9 @@ int tuner_set(int setting, int value) | |||
67 | int tuner_get(int setting) | 67 | int tuner_get(int setting) |
68 | { | 68 | { |
69 | int val = 0; | 69 | int val = 0; |
70 | #ifdef HAVE_RADIO_RSSI | ||
71 | static int rssi = 0, rssidiff = 2; | ||
72 | #endif | ||
70 | 73 | ||
71 | switch(setting) | 74 | switch(setting) |
72 | { | 75 | { |
@@ -83,6 +86,29 @@ int tuner_get(int setting) | |||
83 | if(frequency == 99500000) | 86 | if(frequency == 99500000) |
84 | val = mono?0:1; | 87 | val = mono?0:1; |
85 | break; | 88 | break; |
89 | |||
90 | #ifdef HAVE_RADIO_RSSI | ||
91 | case RADIO_RSSI_MIN: | ||
92 | val = 5; | ||
93 | break; | ||
94 | case RADIO_RSSI_MAX: | ||
95 | val = 75; | ||
96 | break; | ||
97 | case RADIO_RSSI: | ||
98 | rssi += rssidiff; | ||
99 | if (rssi >= 75) | ||
100 | { | ||
101 | rssi = 75; | ||
102 | rssidiff = -2; | ||
103 | } | ||
104 | else if (rssi < 5) | ||
105 | { | ||
106 | rssi = 5; | ||
107 | rssidiff = 2; | ||
108 | } | ||
109 | val = rssi; | ||
110 | break; | ||
111 | #endif | ||
86 | 112 | ||
87 | case RADIO_ALL: /* debug query */ | 113 | case RADIO_ALL: /* debug query */ |
88 | break; | 114 | break; |