📄 bbktuner.c
字号:
switch(_eChInput)
{
case CHANNEL_INPUT_1:
if(_bIRKey < (_bFmAmStationMax/10+1))
{
_bStationNo = _bIRKey * 10 + _bStationNo % 10;
if(_bStationNo > _bFmAmStationMax)
{
_bStationNo = _bFmAmStationMax;
}
_eChInput = CHANNEL_INPUT_2;
}
break;
case CHANNEL_INPUT_2:
bTmp = _bStationNo / 10;
if(bTmp < _bFmAmStationMax/10)
{
if((0 == bTmp) && (0 == _bIRKey))
{
break;
}
_bStationNo = _bIRKey + (_bStationNo / 10) * 10;
_eChInput = CHANNEL_INPUT_1;
vTnrMenuEnterStation();
}
else if(_bFmAmStationMax/10 == bTmp && 0 == _bIRKey)
{
_bStationNo = _bFmAmStationMax;
_eChInput = CHANNEL_INPUT_1;
vTnrMenuEnterStation();
}
break;
default:
return(UOP_OK);
}
vTnrDrawMainMenuChNum();
return(UOP_OK);
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static BOOL fgTnrMenuUpKey(void) large
{
//vTnrMainMenuHiliArrow(TRUE, TRUE);
//vTnrMainMenuHiliArrow(FALSE, FALSE);
if(_bStationNo < _bFmAmStationMax)
{
_bStationNo ++;
}
else
{
_bStationNo = 1;
}
vTnrMenuEnterStation();
_eChInput = CHANNEL_INPUT_1;
vTnrDrawMainMenuChNum();
return(UOP_OK);
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static BOOL fgTnrMenuDownKey(void) large
{
//vTnrMainMenuHiliArrow(TRUE, FALSE);
//vTnrMainMenuHiliArrow(FALSE, TRUE);
if(_bStationNo > 1)
{
_bStationNo --;
}
else
{
_bStationNo = _bFmAmStationMax;
}
vTnrMenuEnterStation();
_eChInput = CHANNEL_INPUT_1;
vTnrDrawMainMenuChNum();
return(UOP_OK);
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static BOOL fgTnrMenuLeftKey(void) large
{
vTnrShowMenuSlide(FALSE);
if(fgTnrGetNextFreq(FALSE))
{
vStartIFCounter(_wActiveFreq, FALSE);
vTnrShowActiveFrequency();
}
vTnrShowMenuSlide(TRUE);
return(UOP_OK);
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static BOOL fgTnrMenuRightKey(void) large
{
vTnrShowMenuSlide(FALSE);
if(fgTnrGetNextFreq(TRUE))
{
vStartIFCounter(_wActiveFreq, FALSE);
vTnrShowActiveFrequency();
}
vTnrShowMenuSlide(TRUE);
return(UOP_OK);
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static BOOL fgTnrMenuAutoSkipUpKey(void) large
{
_bStationPrev = _bStationNo;
_bTnrSearchTime = 0;
_eTunerMode = TUNER_MODE_AUTO_SKIP_UP;
if(TUNER_STATE_MENU == _eTunerState)
{
vTnrMainMenuHiliArrow(TRUE, TRUE);
vTnrMainMenuHiliArrow(FALSE, FALSE);
}
return(UOP_OK);
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static BOOL fgTnrMenuAutoSkipDownKey(void) large
{
_bStationPrev = _bStationNo;
_bTnrSearchTime = 0;
_eTunerMode = TUNER_MODE_AUTO_SKIP_DOWN;
if(TUNER_STATE_MENU == _eTunerState)
{
vTnrMainMenuHiliArrow(TRUE, FALSE);
vTnrMainMenuHiliArrow(FALSE, TRUE);
}
return(UOP_OK);
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static BOOL fgTnrMenuEnterKey(void) large
{
#if 0
if(TUNER_MODE_NORMAL == _eTunerMode)
{
_bTnrEnterKeyTimer = AUTO_SKIP_KEEP_TIME;
}
else if(TUNER_MODE_AUTO_SKIP_UP == _eTunerMode || TUNER_MODE_AUTO_SKIP_DOWN == _eTunerMode)
{
_eTunerMode = TUNER_MODE_NORMAL;
}
#endif
return(UOP_OK);
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static BOOL fgTnrMenuSaveStationKey(void) large
{
vTnrMainMenuHiliArrow(TRUE, FALSE);
vTnrMainMenuHiliArrow(FALSE, FALSE);
if(_bStationNo > _bFmAmStationMax || _bStationNo < 1)
{
return(UOP_OK);
}
if(wTunerReadChannelFreq(_bStationNo) != _wActiveFreq)
{
vEepromDelay(EEPROM_DELAY);
vTunerSaveChannelFreq(_bStationNo, _wActiveFreq);
vTnrShowMenuPoint(_bStationNo, FALSE, FALSE);
_wStationFreq[_bStationNo - 1] = _wActiveFreq;
vTnrShowMenuPoint(_bStationNo, FALSE, TRUE);
vStartIFCounter(_wActiveFreq, FALSE);
vTnrShowSaveFreqMsg(_wActiveFreq, _bStationNo);
vTunerSaveChannel();
}
_eChInput = CHANNEL_INPUT_1;
vTnrDrawMainMenuChNum();
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static BOOL fgTunerMainMenuState(void) large
{
BOOL fgRet = UOP_OK;
switch(_bIRKey)
{
case IR_NUM0:
case IR_NUM1:
case IR_NUM2:
case IR_NUM3:
case IR_NUM4:
case IR_NUM5:
case IR_NUM6:
case IR_NUM7:
case IR_NUM8:
case IR_NUM9:
fgRet = fgTnrMenuNumKey();
break;
case IR_UP:
fgRet = fgTnrMenuUpKey();
break;
case IR_DOWN:
fgRet = fgTnrMenuDownKey();
break;
case IR_RIGHT:
#ifdef USE_JOG_DIAL
case IR_AMP_DIAL_DN:
#endif
fgRet = fgTnrMenuRightKey();
break;
case IR_LEFT:
#ifdef USE_JOG_DIAL
case IR_AMP_DIAL_UP:
#endif
fgRet = fgTnrMenuLeftKey();
break;
case IR_ENTER:
case IR_PLAY_PAUSE:
fgRet = fgTnrMenuEnterKey();
break;
case IR_CANCEL:
fgRet = fgTnrMenuCancelKey();
break;
case IR_PREV:
_eTunerMode = TUNER_MODE_SEARCH_DOWN;
_eTunerSearchState = TUNER_SEARCH_INIT;
break;
case IR_NEXT:
_eTunerMode = TUNER_MODE_SEARCH_UP;
_eTunerSearchState = TUNER_SEARCH_INIT;
break;
default:
break;
}
return(fgRet);
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static void vTnrBrwGetItemCol(BYTE bItemVal, BOOL fgHili, BYTE *pbBodyCol, BYTE *pbFillCol) large
{
if(fgHili)
{
*pbBodyCol = TUNER_MENU_WHITE44;
if((bItemVal == _eTunerBrwItem) && (bItemVal < TUNER_BRW_ITEM_NS))
{
*pbFillCol = TUNER_MENU_RED44;
}
else
{
*pbFillCol = TUNER_MENU_GRAY43;
}
}
else
{
*pbBodyCol = TUNER_MENU_WHITE42;
if( (bItemVal == _eTunerBrwItem) && (bItemVal < TUNER_BRW_ITEM_NS))
{
*pbFillCol = TUNER_MENU_RED42;
}
else
{
*pbFillCol = TUNER_MENU_GRAY42;
}
}
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static void vTnrBrwGetDatCol(BYTE fgHili, BYTE *pbBgCol, BYTE *pbBodyCol, BYTE *pbNumCol, BYTE *pbFillCol) large
{
if(fgHili)
{
*pbBgCol = TUNER_MENU_WHITE41;
*pbBodyCol = TUNER_MENU_WHITE44;
*pbNumCol = TUNER_MENU_RED;
*pbFillCol = TUNER_MENU_GRAY43;
}
else
{
*pbBgCol = TUNER_MENU_WHITE41;
*pbBodyCol = TUNER_MENU_WHITE42;
*pbNumCol = TUNER_MENU_BLACK41;
*pbFillCol = TUNER_MENU_GRAY42;
}
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static void vTnrBrwItemDataCorner(BOOL fgHili) large
{
BYTE bCornerTopLeft;
BYTE bCornerTopRight;
BYTE bCornerBottomLeft;
BYTE bCornerBottomRight;
if(fgHili)
{
bCornerTopLeft = BMP_CORNER_TL_B75_TRA;
bCornerTopRight = BMP_CORNER_TR_B75_TRA;
bCornerBottomLeft = BMP_CORNER_BL_B75_TRA;
bCornerBottomRight = BMP_CORNER_BR_B75_TRA;
}
else
{
bCornerTopLeft = BMP_CORNER_TL_B50_TRA;
bCornerTopRight = BMP_CORNER_TR_B50_TRA;
bCornerBottomLeft = BMP_CORNER_BL_B50_TRA;
bCornerBottomRight = BMP_CORNER_BR_B50_TRA;
}
vHnrPasteCorner(WB_TUNER_MENU, bCornerTopLeft, bCornerTopRight, bCornerBottomLeft, bCornerBottomRight);
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static void vTnrBrwItemItemCorner(BYTE bItemVal) large
{
BYTE bCornerTopLeft;
BYTE bCornerTopRight;
BYTE bCornerBottomLeft;
BYTE bCornerBottomRight;
if(0 == bItemVal)
{
bCornerTopLeft = BMP_CORNER_TL_RED_TRA;
bCornerTopRight = BMP_CORNER_TR_RED_TRA;
}
else
{
bCornerTopLeft = BMP_CORNER_TL_RED_B75;
bCornerTopRight = BMP_CORNER_TR_RED_B75;
}
if(TUNER_BRW_ITEM_MAX == bItemVal)
{
bCornerBottomLeft = BMP_CORNER_BL_RED_TRA;
bCornerBottomRight = BMP_CORNER_BR_RED_TRA;
}
else
{
bCornerBottomLeft = BMP_CORNER_BL_RED_B75;
bCornerBottomRight = BMP_CORNER_BR_RED_B75;
}
vHnrPasteCorner(WB_TUNER_MENU, bCornerTopLeft, bCornerTopRight, bCornerBottomLeft, bCornerBottomRight);
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static void vTnrBrwDataItemCorner(BYTE bDataVal) large
{
BYTE bCornerTopLeft;
BYTE bCornerTopRight;
BYTE bCornerBottomLeft;
BYTE bCornerBottomRight;
BYTE bMaxItem;
switch(_eTunerBrwItem)
{
case TUNER_BRW_ITEM_BAND:
bMaxItem = TUNER_BAND_MAX;
break;
case TUNER_BRW_ITEM_SIGNAL:
bMaxItem = TUNER_SIGNAL_MAX;
break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -