Do not touch FM tuner when it is turned off

Credit to Igor Poretsky

Change-Id: Ie9e61740f87f3b56d0b602cd431757262a6ed808
This commit is contained in:
Solomon Peachy 2018-12-22 22:07:19 -05:00
parent d636c5e823
commit 7a718fc27d
2 changed files with 8 additions and 6 deletions

View file

@ -516,7 +516,6 @@ int handle_radio_presets(void)
curr_preset = gui_synclist_get_sel_pos(&lists); curr_preset = gui_synclist_get_sel_pos(&lists);
curr_freq = presets[curr_preset].frequency; curr_freq = presets[curr_preset].frequency;
next_station(0); next_station(0);
remember_frequency();
result = 1; result = 1;
break; break;
case ACTION_F3: case ACTION_F3:

View file

@ -333,6 +333,7 @@ void next_station(int direction)
if (radio_status == FMRADIO_PLAYING) if (radio_status == FMRADIO_PLAYING)
tuner_set(RADIO_MUTE, 1); tuner_set(RADIO_MUTE, 1);
if(radio_status != FMRADIO_OFF)
tuner_set(RADIO_FREQUENCY, curr_freq); tuner_set(RADIO_FREQUENCY, curr_freq);
if (radio_status == FMRADIO_PLAYING) if (radio_status == FMRADIO_PLAYING)
@ -853,17 +854,19 @@ void radio_screen(void)
void toggle_mono_mode(bool mono) void toggle_mono_mode(bool mono)
{ {
if(radio_status != FMRADIO_OFF)
tuner_set(RADIO_FORCE_MONO, mono); tuner_set(RADIO_FORCE_MONO, mono);
} }
void set_radio_region(int region) void set_radio_region(int region)
{ {
#ifdef HAVE_RADIO_REGION #ifdef HAVE_RADIO_REGION
if(radio_status != FMRADIO_OFF)
tuner_set(RADIO_REGION, region); tuner_set(RADIO_REGION, region);
#else
(void)region;
#endif #endif
next_station(0); next_station(0);
remember_frequency();
(void)region;
} }
#endif #endif