summaryrefslogtreecommitdiff
path: root/firmware/export
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2007-03-16 14:40:40 +0000
committerMichael Sevakis <jethead71@rockbox.org>2007-03-16 14:40:40 +0000
commita2ee6a66814191c851efb043802740b4d8d1ab0e (patch)
tree82dc1d505b3606e192241ded2d6626be14c71704 /firmware/export
parenta91a35be74774742d8efc766a89ca33fcb880ab1 (diff)
downloadrockbox-a2ee6a66814191c851efb043802740b4d8d1ab0e.tar.gz
rockbox-a2ee6a66814191c851efb043802740b4d8d1ab0e.zip
FM Radio mishmash: Make a quieter screen for the SWCODEC targets esp. for the benefit of x5; I wasn't sure if it was good to alter timeouts for HW codec. Simplify things and prepare for eventual scanning and tuning changes (which should help quiet x5 down even more). Make things behave themselves better in general. Enable SWCODEC FM Recording menu and screen for sim as a bonus.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12804 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export')
-rw-r--r--firmware/export/tuner.h59
1 files changed, 53 insertions, 6 deletions
diff --git a/firmware/export/tuner.h b/firmware/export/tuner.h
index 0a13613711..590e61dedb 100644
--- a/firmware/export/tuner.h
+++ b/firmware/export/tuner.h
@@ -20,34 +20,81 @@
20#ifndef __TUNER_SAMSUNG_H__ 20#ifndef __TUNER_SAMSUNG_H__
21#define __TUNER_SAMSUNG_H__ 21#define __TUNER_SAMSUNG_H__
22 22
23#include "hwcompat.h"
24
23/* settings to the tuner layer */ 25/* settings to the tuner layer */
26#define RADIO_ALL -1 /* debug */
24#define RADIO_SLEEP 0 27#define RADIO_SLEEP 0
25#define RADIO_FREQUENCY 1 28#define RADIO_FREQUENCY 1
26#define RADIO_MUTE 2 29#define RADIO_MUTE 2
27#define RADIO_IF_MEASUREMENT 3 30#define RADIO_IF_MEASUREMENT 3
28#define RADIO_SENSITIVITY 4 31#define RADIO_SENSITIVITY 4
29#define RADIO_FORCE_MONO 5 32#define RADIO_FORCE_MONO 5
33#define RADIO_SCAN_FREQUENCY 6
30#if (CONFIG_TUNER & TEA5767) 34#if (CONFIG_TUNER & TEA5767)
31#define RADIO_SET_DEEMPHASIS 6 35#define RADIO_SET_DEEMPHASIS 7
32#define RADIO_SET_BAND 7 36#define RADIO_SET_BAND 8
33#endif 37#endif
34/* readback from the tuner layer */ 38/* readback from the tuner layer */
35#define RADIO_PRESENT 0 39#define RADIO_PRESENT 0
36#define RADIO_TUNED 1 40#define RADIO_TUNED 1
37#define RADIO_STEREO 2 41#define RADIO_STEREO 2
38#define RADIO_ALL 3 /* debug */
39 42
40#if CONFIG_TUNER 43#if CONFIG_TUNER
41 44
45#ifdef SIMULATOR
46int radio_set(int setting, int value);
47int radio_get(int setting);
48#else
49#if CONFIG_TUNER == S1A0903X01 /* FM recorder */
50#define radio_set samsung_set
51#define radio_get samsung_get
52#elif CONFIG_TUNER == TEA5767 /* iRiver, iAudio */
53#define radio_set philips_set
54#define radio_get philips_get
55#elif CONFIG_TUNER == (S1A0903X01 | TEA5767) /* OndioFM */
56#define radio_set _radio_set
57#define radio_get _radio_get
58int (*_radio_set)(int setting, int value);
59int (*_radio_get)(int setting);
60#endif
61#endif
62
42#if (CONFIG_TUNER & S1A0903X01) 63#if (CONFIG_TUNER & S1A0903X01)
43void samsung_set(int setting, int value); 64int samsung_set(int setting, int value);
44int samsung_get(int setting); 65int samsung_get(int setting);
45#endif 66#endif /* CONFIG_TUNER & S1A0903X01 */
46 67
47#if (CONFIG_TUNER & TEA5767) 68#if (CONFIG_TUNER & TEA5767)
48void philips_set(int setting, int value); 69struct philips_dbg_info
70{
71 unsigned char read_regs[5];
72 unsigned char write_regs[5];
73};
74int philips_set(int setting, int value);
49int philips_get(int setting); 75int philips_get(int setting);
76void philips_dbg_info(struct philips_dbg_info *info);
77#endif /* CONFIG_TUNER & TEA5767 */
78
79/* Just inline here since only radio screen needs this atm and
80 there's no tuner.c. */
81static inline void tuner_init(void)
82{
83#ifndef SIMULATOR
84#if CONFIG_TUNER == (S1A0903X01 | TEA5767)
85 if (read_hw_mask() & TUNER_MODEL)
86 {
87 _radio_set = philips_set;
88 _radio_get = philips_get;
89 }
90 else
91 {
92 _radio_set = samsung_set;
93 _radio_get = samsung_get;
94 }
95#endif
50#endif 96#endif
97}
51 98
52#endif /* #if CONFIG_TUNER */ 99#endif /* #if CONFIG_TUNER */
53 100