summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2010-05-24 20:12:10 +0000
committerMichael Sevakis <jethead71@rockbox.org>2010-05-24 20:12:10 +0000
commite236b9574641302d02e4d044ed78a65e9ae6fdc2 (patch)
tree7c560c9397de3670e2448587050591c05eae436d
parent06601e5fbaa772bdfe4265c19ff75c3f8c24e223 (diff)
downloadrockbox-e236b9574641302d02e4d044ed78a65e9ae6fdc2.zip
rockbox-e236b9574641302d02e4d044ed78a65e9ae6fdc2.tar.gz
rockbox-e236b9574641302d02e4d044ed78a65e9ae6fdc2.tar.bz2
rockbox-e236b9574641302d02e4d044ed78a65e9ae6fdc2.tar.xz
Si4700 tuner: It doesn't like to do i2c while powered off and hangs the bus. Make 'pause' simply be 'mute', allowing tuning during user mute as well as nicer-sounding unmute.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26269 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/radio/radio.c4
-rw-r--r--firmware/drivers/tuner/si4700.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/apps/radio/radio.c b/apps/radio/radio.c
index b354061..403d1ae 100644
--- a/apps/radio/radio.c
+++ b/apps/radio/radio.c
@@ -279,7 +279,9 @@ void radio_pause(void)
}
tuner_set(RADIO_MUTE, 1);
- tuner_set(RADIO_SLEEP, 1);
+ /* For si4700: 2==this is really 'pause'. other tuners treat it
+ * like 'bool'. */
+ tuner_set(RADIO_SLEEP, 2);
radio_status = FMRADIO_PAUSED;
} /* radio_pause */
diff --git a/firmware/drivers/tuner/si4700.c b/firmware/drivers/tuner/si4700.c
index 3a49d6e..985659b 100644
--- a/firmware/drivers/tuner/si4700.c
+++ b/firmware/drivers/tuner/si4700.c
@@ -411,7 +411,9 @@ int si4700_set(int setting, int value)
switch(setting)
{
case RADIO_SLEEP:
- si4700_sleep(value);
+ if (value != 2)
+ si4700_sleep(value);
+ /* else actually it's 'pause' */
break;
case RADIO_FREQUENCY: