REVISION
Definition in file UI_PSF_radio.c.
#include "../SYSTEM/sys_main.h"
#include "../SYSTEM/sys_clock.h"
#include "../SYSTEM/sys_hiddenfeature.h"
#include "../AUDIO/audio.h"
#include "../TUNER/tuner.h"
#include "../MENU/tmplt.h"
#include "xim.h"
#include "ui.h"
#include "ui_assert.h"
#include "../HDD/hdd.h"
Include dependency graph for UI_PSF_radio.c:

Go to the source code of this file.
Functions | |
| PARENT_STATE | UI_PSF_radio (st_MSG *msgIN) |
| Function serves as the parent FM radio state handle. | |
|
|
Function serves as the parent FM radio state handle.
Definition at line 82 of file UI_PSF_radio.c. References AF_PCM, AI_SHUTDOWN, AI_START, AM_FMRADIO, AUDIO_initInterface(), AUDIO_setInterface(), CLOCK_FMTUNER, CODEC_hpVolume(), st_SYSPARAM::myfiChannel, SBROWSE, SENDOFMENU, SGO2PRESET, SHIDDENFEATURE, SPRESET, SRESUMEPLAY, SSTART2HISI, SSTART2PLAY, SSTART2RECORD, SSTARTRADIO, SSTATE_END, SSTATE_START, st_SYSPARAM::station, SVOLWIN_CREATE, SXIM_CREATE, SXIM_EXIT, SYS_clockSetup(), SYS_delayMicrosecond(), SYS_deleteDiskDbTask(), TMR_delete(), TMR_TUNERSEEK, TUNER_control(), TUNER_initFIR(), TUNER_tune(), UI_presetRadio(), and st_SYSPARAM::volume. 00083 {
00084 MSG_ID id = msgIN->id;
00085 MSG_DATA d1 = msgIN->d1;
00086 MSG_DATA d2 = msgIN->d2;
00087
00088 switch(id)
00089 {
00090 case SYS_MSG_ID:
00091
00092 switch(d1)
00093 {
00094 case SSTATE_START:
00095 {
00096 SYS_clockSetup(CLOCK_FMTUNER);
00097 SYS_presetable();
00098 if(!SYS_isRadioActive())
00099 {
00100 SYS_radioActive();
00101
00102 TUNER_control(ON);
00103 TUNER_initFIR();
00104 SYS_delayMicrosecond(300000);
00105 AUDIO_initInterface(AM_FMRADIO, AF_PCM, 0, 0);
00106 AUDIO_setInterface(AI_START);
00107 TUNER_tune(TUNER_SET, sysParam.station);
00108 CODEC_hpVolume(sysParam.volume);
00109 SYS_audioNotPaused();
00110 HDD_shutdown();
00111 }
00112 _radioGUIon(TRUE, d2);
00113 return P_RADIO;
00114 }
00115 case SHIDDENFEATURE:
00116 {
00117 if(1 != d2) break;
00118 _stateEnd();
00119 SYS_HF_myfiTestEnable();
00120 sysParam.myfiChannel = 963;
00121 mMSG_send(sysMsgQ, SYS_MSG_ID, SSTART2PLAY, 0xA5A5, SYS_FOREVER);
00122 return P_NULL;
00123 }
00124 case SSTATE_END:
00125 {
00126 return _stateEnd();
00127 }
00128 case SGO2PRESET:
00129 {
00130 if(UI_presetType(d2) == PRESET_RADIO)
00131 {
00132 int station = UI_presetStation(d2);
00133 if(sysParam.station != station)
00134 {
00135 sysParam.station = station;
00136 TUNER_tune(TUNER_SET, station);
00137 }
00138 _radioGUIon(TRUE, d2);
00139 }
00140 else
00141 {
00142 _radioGUIon(FALSE, d2);
00143 AUDIO_setInterface(AI_SHUTDOWN);
00144 return P_PLAY;
00145 }
00146 return P_RADIO;
00147 }
00148 case SSTARTRADIO:
00149 case SRESUMEPLAY:
00150 case SENDOFMENU:
00151 {
00152 _radioGUIon(TRUE, curPresetIdx);
00153 return P_RADIO;
00154 }
00155 case SPRESET:
00156 {
00157 UI_presetRadio(d2, sysParam.station);
00158 _updateRadioDisplay(sysParam.station, menu, d2);
00159 return P_RADIO;
00160 }
00161 case SSTART2RECORD:
00162 case SSTART2HISI:
00163 {
00164 SYS_deleteDiskDbTask(SYS_FOREVER);
00165 // Bugzilla #157 Pt. 2b
00166 if(SYS_isAudioPaused())
00167 {
00168 SYS_toggleAudioPaused();
00169 mMENU_update(menu, 7, (ULONG)text_null, FALSE);
00170 CODEC_hpVolume(sysParam.volume);
00171 }
00172 mMENU_refresh(menu);
00173 _radioGUIon(FALSE, DONTCARE);
00174 return((SSTART2RECORD == d1)? P_RECORD:P_HISI);
00175 }
00176 case SXIM_EXIT:
00177 {
00178 return(_ximAction(d2));
00179 }
00180 }
00181 break;
00182
00183 case KBD_MSG_ID:
00184 switch(d1)
00185 {
00186 case KEY_HSELECT:
00187 sysParam.station = TUNER_tune(TUNER_SET, TUN_MAX_REAL_FREQ);
00188 _updateRadioDisplay(sysParam.station, menu, DONTCARE);
00189 return P_RADIO;
00190 case KEY_HBACK:
00191 sysParam.station = TUNER_tune(TUNER_SET, TUN_MIN_REAL_FREQ);
00192 _updateRadioDisplay(sysParam.station, menu, DONTCARE);
00193 return P_RADIO;
00194 case KEY_BACK:
00195 // Auto resume play window.
00196 SYS_autoResumePlayEnable();
00197 _radioGUIon(FALSE, DONTCARE);
00198 mMSG_send(uiChildMsgQ, SYS_MSG_ID, SBROWSE, DONTCARE, SYS_FOREVER);
00199 return P_RADIO;
00200
00201 case KEY_HREWIND:
00202 case KEY_RREWIND:
00203 sysParam.station = TUNER_tune(TUNER_DEC, sysParam.station);
00204 _updateRadioDisplay(sysParam.station, menu, DONTCARE);
00205 return P_RADIO;
00206
00207 case KEY_REWIND:
00208 _seeksetup(TUNER_SEEK_DOWN);
00209 return P_RADIO;
00210
00211 case KEY_FORWARD:
00212 _seeksetup(TUNER_SEEK_UP);
00213 return P_RADIO;
00214
00215 case KEY_HFORWARD:
00216 case KEY_RFORWARD:
00217 sysParam.station = TUNER_tune(TUNER_INC, sysParam.station);
00218 _updateRadioDisplay(sysParam.station, menu, DONTCARE);
00219 return P_RADIO;
00220
00221 case KEY_PLAY:
00222 SYS_toggleAudioPaused();
00223 if(SYS_isAudioPaused())
00224 {
00225 mMENU_update(menu, 7, (ULONG)text_tunermuted, FALSE);
00226 CODEC_hpVolume(0);
00227 }
00228 else
00229 {
00230 mMENU_update(menu, 7, (ULONG)text_null, FALSE);
00231 CODEC_hpVolume(sysParam.volume);
00232 }
00233 mMENU_refresh(menu);
00234 return P_RADIO;
00235
00236 case KEY_UP:
00237 case KEY_HUP:
00238 case KEY_DOWN:
00239 case KEY_HDOWN:
00240 mMSG_send(uiChildMsgQ, SYS_MSG_ID, SVOLWIN_CREATE, DONTCARE, SYS_FOREVER);
00241 return P_RADIO;
00242
00243 case KEY_SELECT:
00244 SYS_autoResumePlayEnable();
00245 mMSG_send(uiChildMsgQ, SYS_MSG_ID, SXIM_CREATE, XIMWIN_RADIO, SYS_FOREVER);
00246 return P_RADIO;
00247 }
00248 break;
00249
00250 case TMR_MSG_ID:
00251 switch(d1)
00252 {
00253 case TFRWD_DOUBLECLICK:
00254 if(TUNER_SEEK_DOWN == d2)
00255 sysParam.station = TUNER_tune(TUNER_DEC, sysParam.station);
00256 else
00257 sysParam.station = TUNER_tune(TUNER_INC, sysParam.station);
00258 _updateRadioDisplay(sysParam.station, menu, DONTCARE);
00259 break;
00260
00261 case TTUNERSEEK:
00262 if( _SEEK_DONE != _seektest())
00263 {
00264 unsigned int oldStation;
00265 oldStation = sysParam.station;
00266 if(TUNER_SEEK_DOWN == d2)
00267 {
00268 sysParam.station = TUNER_tune(TUNER_DEC, sysParam.station);
00269 if(oldStation < sysParam.station) {_seekdone(oldStation);}
00270 else _seekcontinue();
00271 }
00272 else
00273 {
00274 sysParam.station = TUNER_tune(TUNER_INC, sysParam.station);
00275 if(oldStation > sysParam.station) {_seekdone(oldStation);}
00276 else _seekcontinue();
00277 }
00278 }
00279 else
00280 {
00281 TMR_delete(TMR_TUNERSEEK);
00282 // Bugzilla #157 Pt. 2a
00283 if(SYS_isAudioPaused())
00284 {
00285 SYS_toggleAudioPaused();
00286 mMENU_update(menu, 7, (ULONG)text_null, FALSE);
00287 CODEC_hpVolume(sysParam.volume);
00288 }
00289 mMENU_refresh(menu);
00290 }
00291 _updateRadioDisplay(sysParam.station, menu, DONTCARE);
00292 break;
00293 }
00294 break;
00295 }
00296
00297 return P_RADIO;
00298 }
|
Here is the call graph for this function:

1.3.9.1