diff options
| author | Lorenzo Miori <memorys60@gmail.com> | 2012-04-07 10:30:23 +0200 |
|---|---|---|
| committer | Thomas Martitz <kugel@rockbox.org> | 2012-05-28 19:39:14 +0200 |
| commit | 3cad5573b68917442564dc4f210fac056447c5cd (patch) | |
| tree | 16e7f637a7bf9a22b00fde445a97f267b5467cc2 /apps | |
| parent | 9c33f93c1c9bfd37f33f638eccceefa4c0d5b5e6 (diff) | |
| download | rockbox-3cad5573b68917442564dc4f210fac056447c5cd.zip rockbox-3cad5573b68917442564dc4f210fac056447c5cd.tar.gz rockbox-3cad5573b68917442564dc4f210fac056447c5cd.tar.bz2 rockbox-3cad5573b68917442564dc4f210fac056447c5cd.tar.xz | |
ypr0: This patch adds radio support to Samsung YP-R0
Basically it uses the default SI4700 radio chip driver, the only thing that's different is the I2C access,
written specifically to interact with my kernel module.
Next things to add are:
- RDS support!
Change-Id: I0ed125641e00f93124d7a34f90dd508e7f1db5a4
Signed-off-by: Lorenzo Miori <memorys60@gmail.com>
Diffstat (limited to 'apps')
| -rw-r--r-- | apps/audio_path.c | 2 | ||||
| -rw-r--r-- | apps/debug_menu.c | 5 | ||||
| -rw-r--r-- | apps/keymaps/keymap-ypr0.c | 19 | ||||
| -rw-r--r-- | apps/radio/radio.c | 10 |
4 files changed, 34 insertions, 2 deletions
diff --git a/apps/audio_path.c b/apps/audio_path.c index dab43eb..9ef7483 100644 --- a/apps/audio_path.c +++ b/apps/audio_path.c @@ -42,7 +42,7 @@ #endif #endif -#if (CONFIG_PLATFORM & PLATFORM_NATIVE) +#if ((CONFIG_PLATFORM & PLATFORM_NATIVE) || defined(SAMSUNG_YPR0)) #ifdef AUDIO_CPU_BOOST static void audio_cpu_boost(bool state) diff --git a/apps/debug_menu.c b/apps/debug_menu.c index e611694..aec0a9a 100644 --- a/apps/debug_menu.c +++ b/apps/debug_menu.c @@ -78,6 +78,11 @@ #endif #include "power.h" +#if defined(SAMSUNG_YPR0) && defined(CONFIG_TUNER) +#include "tuner.h" +#include "radio.h" +#endif + #ifdef HAVE_LCD_BITMAP #include "scrollbar.h" #include "peakmeter.h" diff --git a/apps/keymaps/keymap-ypr0.c b/apps/keymaps/keymap-ypr0.c index b570676..306fd91 100644 --- a/apps/keymaps/keymap-ypr0.c +++ b/apps/keymaps/keymap-ypr0.c @@ -212,7 +212,24 @@ static const struct button_mapping button_context_keyboard[] = { }; /* button_context_keyboard */ static const struct button_mapping button_context_radio[] = { - LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS) + { ACTION_FM_MENU, BUTTON_SELECT | BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_FM_PRESET, BUTTON_MENU | BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_FM_STOP, BUTTON_POWER | BUTTON_REL, BUTTON_POWER }, + { ACTION_FM_MODE, BUTTON_MENU | BUTTON_REL, BUTTON_MENU }, + { ACTION_FM_EXIT, BUTTON_BACK | BUTTON_REL, BUTTON_BACK }, + { ACTION_FM_PLAY, BUTTON_SELECT | BUTTON_REL, BUTTON_SELECT }, + { ACTION_FM_NEXT_PRESET, BUTTON_USER | BUTTON_RIGHT, BUTTON_NONE }, + { ACTION_FM_PREV_PRESET, BUTTON_USER | BUTTON_LEFT, BUTTON_NONE }, + /* Volume */ + { ACTION_SETTINGS_INC, BUTTON_UP | BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_SETTINGS_INCREPEAT, BUTTON_UP, BUTTON_NONE }, + { ACTION_SETTINGS_DEC, BUTTON_DOWN | BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_SETTINGS_DECREPEAT, BUTTON_DOWN, BUTTON_NONE }, + /* Tuning */ + { ACTION_STD_PREV, BUTTON_LEFT, BUTTON_NONE }, + { ACTION_STD_PREVREPEAT, BUTTON_LEFT | BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE }, + { ACTION_STD_NEXTREPEAT, BUTTON_RIGHT | BUTTON_REPEAT, BUTTON_NONE }, }; /* button_context_radio */ const struct button_mapping* get_context_mapping(int context) diff --git a/apps/radio/radio.c b/apps/radio/radio.c index 9f139f4..326e6a3 100644 --- a/apps/radio/radio.c +++ b/apps/radio/radio.c @@ -127,6 +127,16 @@ #define FM_MODE #define FM_STOP +#elif (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD) +#define FM_MENU +#define FM_PRESET +#define FM_STOP +#define FM_MODE +#define FM_EXIT +#define FM_PLAY +#define FM_PREV_PRESET +#define FM_NEXT_PRESET + #endif /* presets.c needs these so keep unstatic or redo the whole thing! */ |