summaryrefslogtreecommitdiff
path: root/firmware/tuner_samsung.c
diff options
context:
space:
mode:
authorJörg Hohensohn <hohensoh@rockbox.org>2004-10-19 08:20:38 +0000
committerJörg Hohensohn <hohensoh@rockbox.org>2004-10-19 08:20:38 +0000
commitef8d508d5a276c0e738c0e9d6d1b574a6024f0fb (patch)
treefd823e1f409f3c67e6c45b8e9b213b071e20abf6 /firmware/tuner_samsung.c
parent2d6eca7e6687e97d30aa60cc6feb526799f6ca2f (diff)
downloadrockbox-ef8d508d5a276c0e738c0e9d6d1b574a6024f0fb.tar.gz
rockbox-ef8d508d5a276c0e738c0e9d6d1b574a6024f0fb.zip
tuner cleanup + improvements:
- use sleep and powerdown for those who can - philips station search works now git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5306 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/tuner_samsung.c')
-rw-r--r--firmware/tuner_samsung.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/firmware/tuner_samsung.c b/firmware/tuner_samsung.c
index 98166e1d4d..f54748e7c6 100644
--- a/firmware/tuner_samsung.c
+++ b/firmware/tuner_samsung.c
@@ -19,6 +19,7 @@
19 ****************************************************************************/ 19 ****************************************************************************/
20 20
21#include <stdbool.h> 21#include <stdbool.h>
22#include <stdlib.h>
22#include "tuner.h" /* tuner abstraction interface */ 23#include "tuner.h" /* tuner abstraction interface */
23#include "fmradio.h" /* physical interface driver */ 24#include "fmradio.h" /* physical interface driver */
24 25
@@ -35,11 +36,15 @@ void samsung_set(int setting, int value)
35{ 36{
36 switch(setting) 37 switch(setting)
37 { 38 {
38 case RADIO_INIT: 39 case RADIO_SLEEP:
39 fm_in1 = DEFAULT_IN1; 40 if (!value)
40 fm_in2 = DEFAULT_IN2; 41 { /* wakeup: just unit */
41 fmradio_set(1, fm_in1); 42 fm_in1 = DEFAULT_IN1;
42 fmradio_set(2, fm_in2); 43 fm_in2 = DEFAULT_IN2;
44 fmradio_set(1, fm_in1);
45 fmradio_set(2, fm_in2);
46 }
47 /* else we have no sleep mode? */
43 break; 48 break;
44 49
45 case RADIO_FREQUENCY: 50 case RADIO_FREQUENCY:
@@ -96,9 +101,9 @@ int samsung_get(int setting)
96 val = (val == 0x140885); 101 val = (val == 0x140885);
97 break; 102 break;
98 103
99 case RADIO_DEVIATION: 104 case RADIO_TUNED:
100 val = fmradio_read(3); 105 val = fmradio_read(3);
101 val = 10700 - ((val & 0x7ffff) / 8); /* convert to kHz */ 106 val = abs(10700 - ((val & 0x7ffff) / 8)) < 50; /* convert to kHz */
102 break; 107 break;
103 108
104 case RADIO_STEREO: 109 case RADIO_STEREO: