📄 fmkey.c
字号:
{
unsigned int i;
switch(KeyVal) {
//--------------------- PLAY KEY ---------------------------
/*case KEY_VAL_PLAY_DOWN:
case KEY_VAL_PLAY_PRESS_START:
case KEY_VAL_PLAY_PRESS:
case KEY_VAL_PLAY_SHORT_UP:
case KEY_VAL_PLAY_LONG_UP:*/
//--------------------- MENU KEY ---------------------------
/*case KEY_VAL_MENU_PRESS:
case KEY_VAL_MENU_LONG_UP:
case KEY_VAL_MENU_PRESS_START:
case KEY_VAL_MENU_DOWN:*/
case KEY_VAL_MENU_SHORT_UP:
{
KeyReset();
if (FmFunctionSele == FM_STATE_AUTO) { //自动
GlobalFmVar.FmState = FM_STATE_AUTO;
GlobalFmVar.FmSaveNum = 0;
GlobalFmVar.FmFreq = FmFreqMinVal;
for (i = 0; i < FREQMAXNUMBLE; i ++) {
GlobalFmVar.FmFreqArray[i] = 0;
}
FmDisplayFlag = (FM_DISPFLAG_NULL | FM_DISPFLAG_BACKGROUND | FM_DISPFLAG_BATT |
FM_DISPFLAG_CH | FM_DISPFLAG_FREQ | FM_DISPFLAG_GUAGE | FM_DISPFLAG_REGION |
FM_DISPFLAG_VOL | FM_DISPFLAG_SENS | FM_DISPFLAG_STEREO);
UpDownFlag = TUN_UP;
PostFun1Message(MSG_FUNCTION1_FM,MSG_FUNCTION1_FM_PLAY,MSG_FUNCTION1_FM_MUTE_ON,MSG_FUNCTION1_FM_AUTO_SEEK,0);
break;
}
if (FmFunctionSele == FM_STATE_MANUAL) { //手动
GlobalFmVar.FmState = FM_STATE_MANUAL;
FmDisplayFlag = (FM_DISPFLAG_NULL | FM_DISPFLAG_BACKGROUND | FM_DISPFLAG_BATT |
FM_DISPFLAG_CH | FM_DISPFLAG_FREQ | FM_DISPFLAG_GUAGE | FM_DISPFLAG_REGION |
FM_DISPFLAG_VOL | FM_DISPFLAG_SENS | FM_DISPFLAG_STEREO);
PostFun1Message(MSG_FUNCTION1_FM, MSG_FUNCTION1_FM_PLAY,0,0,0,0,0,0);
break;
}
if (FmFunctionSele == FM_STATE_PRESET) { //预设
GlobalFmVar.FmState = FM_STATE_PRESET;
if (GlobalFmVar.FmSaveNum >= FREQMAXNUMBLE) GlobalFmVar.FmSaveNum = 0;
if (GlobalFmVar.FmFreq == GlobalFmVar.FmFreqArray[GlobalFmVar.FmSaveNum]) {
PostFun1Message(MSG_FUNCTION1_FM, MSG_FUNCTION1_FM_PLAY,0,0,0,0,0,0);
} else {
GlobalFmVar.FmFreq = GlobalFmVar.FmFreqArray[GlobalFmVar.FmSaveNum];
if((GlobalFmVar.FmFreq < FmFreqMinVal) || (GlobalFmVar.FmFreq > FmFreqMaxVal)){
GlobalFmVar.FmFreq = FmFreqMinVal;
}
FmGuageVal = (unsigned int)((unsigned long)(FM_GUAGE_CONST) * (GlobalFmVar.FmFreq - FmFreqMinVal) / (FmFreqMaxVal - FmFreqMinVal));
PostFun1Message(MSG_FUNCTION1_FM,MSG_FUNCTION1_FM_PLAY,MSG_FUNCTION1_FM_MUTE_ON,MSG_FUNCTION1_FM_FREQ_SET,0);
}
FmDisplayFlag = (FM_DISPFLAG_NULL | FM_DISPFLAG_BACKGROUND | FM_DISPFLAG_BATT |
FM_DISPFLAG_CH | FM_DISPFLAG_FREQ | FM_DISPFLAG_GUAGE | FM_DISPFLAG_REGION |
FM_DISPFLAG_VOL | FM_DISPFLAG_SENS | FM_DISPFLAG_STEREO);
break;
}
CurCh = GlobalFmVar.FmSaveNum;
PrevCh = GlobalFmVar.FmSaveNum;
FmDisplayFlag |= FM_DISPFLAG_LIST_BK;
if (FmFunctionSele == FM_STATE_SAVE) {
//GlobalFmVar.FmState = FM_STATE_SAVE;
PostFun1Message(MSG_FUNCTION1_FM, MSG_FUNCTION1_FM_SAVE,0,0,0,0,0,0);
break;
} else {
//GlobalFmVar.FmState = FM_STATE_DEL;
PostFun1Message(MSG_FUNCTION1_FM, MSG_FUNCTION1_FM_DEL,0,0,0,0,0,0);
break;
}
break;
}
//--------------------- UP KEY ----------------------------
/*case KEY_VAL_UP_SHORT_UP:
case KEY_VAL_UP_PRESS:
case KEY_VAL_UP_LONG_UP:
case KEY_VAL_UP_PRESS_START:*/
case KEY_VAL_UP_DOWN:
{
if (FmFunctionSele == FM_STATE_MANUAL) {
FmFunctionSele = FM_STATE_AUTO;
} else {
FmFunctionSele -- ;
}
FmDisplayFlag = FM_DISPFLAG_SUBMENU_SEL;
break;
}
//--------------------- DOWN KEY ----------------------------
/*case KEY_VAL_DOWN_SHORT_UP:
case KEY_VAL_DOWN_PRESS_START:
case KEY_VAL_DOWN_PRESS:
case KEY_VAL_DOWN_LONG_UP:*/
case KEY_VAL_DOWN_DOWN:
{
FmFunctionSele ++ ;
if (FmFunctionSele > FM_STATE_AUTO) FmFunctionSele = FM_STATE_MANUAL;
FmDisplayFlag = FM_DISPFLAG_SUBMENU_SEL;
break;
}
//--------------------- FFW KEY ----------------------------
/*case KEY_VAL_FFW_PRESS_START:
case KEY_VAL_FFW_PRESS:
case KEY_VAL_FFW_SHORT_UP:
case KEY_VAL_FFW_LONG_UP:*/
case KEY_VAL_FFW_DOWN:
{
KeyReset();
FmDisplayFlag = (FM_DISPFLAG_NULL | FM_DISPFLAG_BACKGROUND | FM_DISPFLAG_BATT |
FM_DISPFLAG_CH | FM_DISPFLAG_FREQ | FM_DISPFLAG_GUAGE | FM_DISPFLAG_REGION |
FM_DISPFLAG_VOL | FM_DISPFLAG_SENS | FM_DISPFLAG_STEREO);
PostFun1Message(MSG_FUNCTION1_FM, MSG_FUNCTION1_FM_PLAY,0,0,0,0,0,0);
break;
}
//--------------------- OTHER KEY --------------------------
default:
break;
}
}
/*------------------------------------------------------------------------------
Function:
Input:
Output:
------------------------------------------------------------------------------*/
__attribute__((section(".fm_text,\"ax\"")))
void FmListKeyProc(void)
{
PrevCh = CurCh;
switch(KeyVal) {
//--------------------- PLAY KEY ---------------------------
/*case KEY_VAL_PLAY_DOWN:
case KEY_VAL_PLAY_PRESS_START:
case KEY_VAL_PLAY_PRESS:
case KEY_VAL_PLAY_SHORT_UP:
case KEY_VAL_PLAY_LONG_UP:*/
//--------------------- MENU KEY ---------------------------
/*case KEY_VAL_MENU_PRESS:
case KEY_VAL_MENU_LONG_UP:
case KEY_VAL_MENU_PRESS_START:
case KEY_VAL_MENU_DOWN:*/
case KEY_VAL_MENU_SHORT_UP:
{
KeyReset();
FmDialogVal = FM_DEL_SAVE_YES;
DispSelectDialogBox(0, 0, FmDialogVal, (RADIO_DIALOG_SAVE_TXT + (unsigned long)(FmFunctionSele - FM_STATE_SAVE) * MENU_PER_BYTE));
PostFun1Message(MSG_FUNCTION1_FM, MSG_FUNCTION1_FM_DIALOG,0,0,0,0,0,0);
break;
}
//--------------------- UP KEY ----------------------------
/*case KEY_VAL_UP_SHORT_UP:
case KEY_VAL_UP_LONG_UP:
case KEY_VAL_UP_PRESS_START:*/
case KEY_VAL_UP_PRESS:
case KEY_VAL_UP_DOWN:
{
if(CurCh > 0){
CurCh --;
}else{
CurCh = FREQMAXNUMBLE - 1;
}
FmDisplayFlag = FM_DISPFLAG_LIST_SEL;
break;
}
//--------------------- DOWN KEY ----------------------------
/*case KEY_VAL_DOWN_SHORT_UP:
case KEY_VAL_DOWN_PRESS_START:
case KEY_VAL_DOWN_LONG_UP:*/
case KEY_VAL_DOWN_PRESS:
case KEY_VAL_DOWN_DOWN:
{
if(CurCh < FREQMAXNUMBLE - 1){
CurCh++;
}else{
CurCh = 0;
}
FmDisplayFlag = FM_DISPFLAG_LIST_SEL;
break;
}
//--------------------- FFW KEY ----------------------------
/*case KEY_VAL_FFW_DOWN:
case KEY_VAL_FFW_PRESS_START:
case KEY_VAL_FFW_PRESS:
case KEY_VAL_FFW_LONG_UP:*/
case KEY_VAL_FFW_SHORT_UP:
{
KeyReset();
FmDisplayFlag = (FM_DISPFLAG_NULL | FM_DISPFLAG_BACKGROUND | FM_DISPFLAG_BATT |
FM_DISPFLAG_CH | FM_DISPFLAG_FREQ | FM_DISPFLAG_GUAGE | FM_DISPFLAG_REGION |
FM_DISPFLAG_VOL | FM_DISPFLAG_SENS | FM_DISPFLAG_STEREO);
PostFun1Message(MSG_FUNCTION1_FM, MSG_FUNCTION1_FM_PLAY,0,0,0,0,0,0);
break;
}
//--------------------- OTHER KEY --------------------------
default:
break;
}
}
/*------------------------------------------------------------------------------
Function:
Input:
Output:
------------------------------------------------------------------------------*/
__attribute__((section(".fm_text,\"ax\"")))
void FmDialogKeyProc(void)
{
switch (KeyVal) {
//--------------------- PLAY KEY ---------------------------
/*case KEY_VAL_PLAY_DOWN:
case KEY_VAL_PLAY_PRESS_START:
case KEY_VAL_PLAY_PRESS:
case KEY_VAL_PLAY_SHORT_UP:
case KEY_VAL_PLAY_LONG_UP:*/
//--------------------- MENU KEY ---------------------------
/*case KEY_VAL_MENU_PRESS:
case KEY_VAL_MENU_LONG_UP:
case KEY_VAL_MENU_PRESS_START:
case KEY_VAL_MENU_SHORT_UP:*/
case KEY_VAL_MENU_DOWN:
{
KeyReset();
if(FmDialogVal == FM_DEL_SAVE_YES){
if(FmFunctionSele == FM_STATE_SAVE){
GlobalFmVar.FmFreqArray[CurCh] = GlobalFmVar.FmFreq;
}else{
GlobalFmVar.FmFreqArray[CurCh] = 0;
}
}
FmDisplayFlag = (FM_DISPFLAG_NULL | FM_DISPFLAG_BACKGROUND | FM_DISPFLAG_BATT |
FM_DISPFLAG_CH | FM_DISPFLAG_FREQ | FM_DISPFLAG_GUAGE | FM_DISPFLAG_REGION |
FM_DISPFLAG_VOL | FM_DISPFLAG_SENS | FM_DISPFLAG_STEREO);
PostFun1Message(MSG_FUNCTION1_FM, MSG_FUNCTION1_FM_PLAY,0,0,0,0,0,0);
break;
}
//--------------------- VOL KEY ----------------------------
/*case KEY_VAL_VOL_PRESS_START:
case KEY_VAL_VOL_PRESS:
case KEY_VAL_VOL_SHORT_UP:
case KEY_VAL_VOL_DOWN:
case KEY_VAL_VOL_LONG_UP:*/
//--------------------- FFD KEY ----------------------------
/*case KEY_VAL_FFD_SHORT_UP:
case KEY_VAL_FFD_PRESS_START:
case KEY_VAL_FFD_LONG_UP:*/
case KEY_VAL_FFD_DOWN:
case KEY_VAL_FFD_PRESS:
//--------------------- FFW KEY ----------------------------
/*case KEY_VAL_FFW_SHORT_UP:
case KEY_VAL_FFW_LONG_UP:
case KEY_VAL_FFW_PRESS_START:*/
case KEY_VAL_FFW_DOWN:
case KEY_VAL_FFW_PRESS:
{
FmDialogVal = 1 - FmDialogVal;
DispSelectDialogBox(0, 0, FmDialogVal, (RADIO_DIALOG_SAVE_TXT + (unsigned long)(FmFunctionSele - FM_STATE_SAVE) * MENU_PER_BYTE));
break;
}
//--------------------- OTHER KEY --------------------------
default:
break;
}
}
#endif
//***************************************************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -