diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2010-11-18 11:47:42 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2010-11-18 11:47:42 +0000 |
commit | 1ce7ba4931c64a7ae6a95981e838db97d7e05699 (patch) | |
tree | 0bb3de85e23bb64951f3acbd176a20301f7efb30 /uisimulator/common/fmradio.c | |
parent | 62b8efe6741b61ef10d3c7b98dd0d3416b7fce11 (diff) | |
download | rockbox-1ce7ba4931c64a7ae6a95981e838db97d7e05699.tar.gz rockbox-1ce7ba4931c64a7ae6a95981e838db97d7e05699.zip |
Make the %tr (radio RSSI) tag work as a bar tag or as a conditional.
As a conditional it scales its value to the number of options you give it (like volume)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28613 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'uisimulator/common/fmradio.c')
-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) int tuner_get(int setting) { int val = 0; +#ifdef HAVE_RADIO_RSSI + static int rssi = 0, rssidiff = 2; +#endif switch(setting) { @@ -83,6 +86,29 @@ int tuner_get(int setting) if(frequency == 99500000) val = mono?0:1; break; + +#ifdef HAVE_RADIO_RSSI + case RADIO_RSSI_MIN: + val = 5; + break; + case RADIO_RSSI_MAX: + val = 75; + break; + case RADIO_RSSI: + rssi += rssidiff; + if (rssi >= 75) + { + rssi = 75; + rssidiff = -2; + } + else if (rssi < 5) + { + rssi = 5; + rssidiff = 2; + } + val = rssi; + break; +#endif case RADIO_ALL: /* debug query */ break; |