forked from mirror/uv-k5-firmware
Fixed / improved channel checks.
This commit is contained in:
parent
54437cd4bf
commit
f05df4f802
22
app/app.c
22
app/app.c
@ -209,7 +209,7 @@ void FUN_000051e8(void)
|
||||
}
|
||||
|
||||
bFlag = (gStepDirection == 0 || gCopyOfCodeType == CODE_TYPE_OFF);
|
||||
if (gInfoCHAN_A->CHANNEL_SAVE >= 207 && gSystickCountdown2 != 0) {
|
||||
if (gInfoCHAN_A->CHANNEL_SAVE >= NOAA_CHANNEL_FIRST && gSystickCountdown2) {
|
||||
bFlag = true;
|
||||
gSystickCountdown2 = 0;
|
||||
}
|
||||
@ -284,7 +284,7 @@ void FUN_000052f0(void)
|
||||
goto LAB_0000544c;
|
||||
}
|
||||
|
||||
if (gStepDirection != 0 && (g_20000410 - 200) < 7) {
|
||||
if (gStepDirection && IS_FREQ_CHANNEL(g_20000410)) {
|
||||
if (g_SquelchLost) {
|
||||
return;
|
||||
}
|
||||
@ -318,7 +318,7 @@ void FUN_000052f0(void)
|
||||
break;
|
||||
}
|
||||
if (g_SquelchLost) {
|
||||
if (g_20000377 == 0 && gInfoCHAN_A->CHANNEL_SAVE < 207) {
|
||||
if (g_20000377 == 0 && IS_NOT_NOAA_CHANNEL(gInfoCHAN_A->CHANNEL_SAVE)) {
|
||||
switch (gCopyOfCodeType) {
|
||||
case CODE_TYPE_CONTINUOUS_TONE:
|
||||
if (g_CTCSS_Lost) {
|
||||
@ -464,7 +464,7 @@ void FUN_000069f8(FUNCTION_Type_t Function)
|
||||
g_20000413 = 1;
|
||||
}
|
||||
if (206 < gInfoCHAN_A->CHANNEL_SAVE && gIsNoaaMode) {
|
||||
gInfoCHAN_A->CHANNEL_SAVE = gNoaaChannel + 207;
|
||||
gInfoCHAN_A->CHANNEL_SAVE = gNoaaChannel + NOAA_CHANNEL_FIRST;
|
||||
gInfoCHAN_A->pDCS_Current->Frequency = NoaaFrequencyTable[gNoaaChannel];
|
||||
gInfoCHAN_A->pDCS_Reverse->Frequency = NoaaFrequencyTable[gNoaaChannel];
|
||||
gEeprom.ScreenChannel[gEeprom.RX_CHANNEL] = gInfoCHAN_A->CHANNEL_SAVE;
|
||||
@ -593,13 +593,13 @@ void NOAA_IncreaseChannel(void)
|
||||
void FUN_00007f4c(void)
|
||||
{
|
||||
if (gIsNoaaMode) {
|
||||
if (gEeprom.ScreenChannel[0] < 207 || gEeprom.ScreenChannel[1] < 207) {
|
||||
if (IS_NOT_NOAA_CHANNEL(gEeprom.ScreenChannel[0]) || IS_NOT_NOAA_CHANNEL(gEeprom.ScreenChannel[1])) {
|
||||
gEeprom.RX_CHANNEL = gEeprom.RX_CHANNEL == 0;
|
||||
} else {
|
||||
gEeprom.RX_CHANNEL = 0;
|
||||
}
|
||||
gInfoCHAN_A = &gEeprom.VfoInfo[gEeprom.RX_CHANNEL];
|
||||
if (gEeprom.VfoInfo[0].CHANNEL_SAVE >= 207) {
|
||||
if (gEeprom.VfoInfo[0].CHANNEL_SAVE >= NOAA_CHANNEL_FIRST) {
|
||||
NOAA_IncreaseChannel();
|
||||
}
|
||||
} else {
|
||||
@ -866,7 +866,7 @@ void APP_Update(void)
|
||||
}
|
||||
|
||||
if (gScreenToDisplay != DISPLAY_SCANNER && gStepDirection && gSystickFlag9 && !gPttIsPressed && gVoiceWriteIndex == 0) {
|
||||
if (g_20000410 - 200 < 7) {
|
||||
if (IS_FREQ_CHANNEL(g_20000410)) {
|
||||
if (gCurrentFunction == FUNCTION_3) {
|
||||
FUN_000069f8(FUNCTION_4);
|
||||
} else {
|
||||
@ -926,7 +926,7 @@ void APP_Update(void)
|
||||
if (gEeprom.BATTERY_SAVE == 0 || gStepDirection || g_20000381 || gFmRadioMode || gPttIsPressed || gScreenToDisplay != DISPLAY_MAIN || gKeyBeingHeld || g_200003BC) {
|
||||
g_2000032E = 1000;
|
||||
} else {
|
||||
if ((gEeprom.ScreenChannel[0] < 207 && gEeprom.ScreenChannel[1] < 207) || !gIsNoaaMode) {
|
||||
if ((IS_NOT_NOAA_CHANNEL(gEeprom.ScreenChannel[0]) && IS_NOT_NOAA_CHANNEL(gEeprom.ScreenChannel[1])) || !gIsNoaaMode) {
|
||||
FUNCTION_Select(FUNCTION_POWER_SAVE);
|
||||
} else {
|
||||
g_2000032E = 1000;
|
||||
@ -1518,7 +1518,7 @@ void APP_StartScan(bool bFlag)
|
||||
}
|
||||
} else if (gScreenToDisplay != DISPLAY_SCANNER) {
|
||||
RADIO_ConfigureTX();
|
||||
if (gInfoCHAN_A->CHANNEL_SAVE < 207) {
|
||||
if (IS_NOT_NOAA_CHANNEL(gInfoCHAN_A->CHANNEL_SAVE)) {
|
||||
GUI_SelectNextDisplay(DISPLAY_MAIN);
|
||||
if (gStepDirection) {
|
||||
FUN_0000773c();
|
||||
@ -1536,8 +1536,8 @@ void FUN_00005770(void)
|
||||
{
|
||||
if (gCurrentFunction != FUNCTION_MONITOR) {
|
||||
RADIO_ConfigureTX();
|
||||
if (gInfoCHAN_A->CHANNEL_SAVE >= 207 && gIsNoaaMode) {
|
||||
gNoaaChannel = gInfoCHAN_A->CHANNEL_SAVE - 207;
|
||||
if (gInfoCHAN_A->CHANNEL_SAVE >= NOAA_CHANNEL_FIRST && gIsNoaaMode) {
|
||||
gNoaaChannel = gInfoCHAN_A->CHANNEL_SAVE - NOAA_CHANNEL_FIRST;
|
||||
}
|
||||
RADIO_SetupRegisters(true);
|
||||
FUN_000069f8(FUNCTION_MONITOR);
|
||||
|
30
app/main.c
30
app/main.c
@ -53,7 +53,7 @@ void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
|
||||
if (!gWasFKeyPressed) {
|
||||
INPUTBOX_Append(Key);
|
||||
gRequestDisplayScreen = DISPLAY_MAIN;
|
||||
if (gTxRadioInfo->CHANNEL_SAVE < 200) {
|
||||
if (IS_MR_CHANNEL(gTxRadioInfo->CHANNEL_SAVE)) {
|
||||
uint16_t Channel;
|
||||
|
||||
if (gInputBoxIndex != 3) {
|
||||
@ -74,7 +74,7 @@ void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
|
||||
g_2000039A = 2;
|
||||
return;
|
||||
}
|
||||
if (gTxRadioInfo->CHANNEL_SAVE < 207) {
|
||||
if (IS_NOT_NOAA_CHANNEL(gTxRadioInfo->CHANNEL_SAVE)) {
|
||||
uint32_t Frequency;
|
||||
|
||||
if (gInputBoxIndex < 6) {
|
||||
@ -92,8 +92,8 @@ void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
|
||||
gAnotherVoiceID = (VOICE_ID_t)Key;
|
||||
if (gTxRadioInfo->Band != i) {
|
||||
gTxRadioInfo->Band = i;
|
||||
gEeprom.ScreenChannel[Vfo] = i + 200;
|
||||
gEeprom.FreqChannel[Vfo] = i + 200;
|
||||
gEeprom.ScreenChannel[Vfo] = i + FREQ_CHANNEL_FIRST;
|
||||
gEeprom.FreqChannel[Vfo] = i + FREQ_CHANNEL_FIRST;
|
||||
SETTINGS_SaveVfoIndices();
|
||||
RADIO_ConfigureChannel(Vfo, 2);
|
||||
}
|
||||
@ -121,7 +121,7 @@ void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
|
||||
gInputBoxIndex = 0;
|
||||
Channel = (gInputBox[0] * 10) + gInputBox[1];
|
||||
if ((Channel - 1) < 10) {
|
||||
Channel += 207;
|
||||
Channel += NOAA_CHANNEL_FIRST;
|
||||
gAnotherVoiceID = (VOICE_ID_t)Key;
|
||||
gEeprom.NoaaChannel[Vfo] = Channel;
|
||||
gEeprom.ScreenChannel[Vfo] = Channel;
|
||||
@ -142,7 +142,7 @@ void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
|
||||
break;
|
||||
|
||||
case KEY_1:
|
||||
if (6 < (gTxRadioInfo->CHANNEL_SAVE - 200)) {
|
||||
if (!IS_FREQ_CHANNEL(gTxRadioInfo->CHANNEL_SAVE)) {
|
||||
gWasFKeyPressed = false;
|
||||
g_2000036F = 1;
|
||||
gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL;
|
||||
@ -157,8 +157,8 @@ void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
|
||||
Band = BAND6_400MHz;
|
||||
}
|
||||
gTxRadioInfo->Band = Band;
|
||||
gEeprom.ScreenChannel[Vfo] = 200 + Band;
|
||||
gEeprom.FreqChannel[Vfo] = 200 + Band;
|
||||
gEeprom.ScreenChannel[Vfo] = FREQ_CHANNEL_FIRST + Band;
|
||||
gEeprom.FreqChannel[Vfo] = FREQ_CHANNEL_FIRST + Band;
|
||||
gRequestSaveVFO = true;
|
||||
g_2000039A = 2;
|
||||
gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL;
|
||||
@ -184,10 +184,10 @@ void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
|
||||
break;
|
||||
|
||||
case KEY_3:
|
||||
if ((gEeprom.VFO_OPEN) && (gTxRadioInfo->CHANNEL_SAVE < 207)) {
|
||||
if (gEeprom.VFO_OPEN && IS_NOT_NOAA_CHANNEL(gTxRadioInfo->CHANNEL_SAVE)) {
|
||||
uint8_t Channel;
|
||||
|
||||
if (gTxRadioInfo->CHANNEL_SAVE < 200) {
|
||||
if (IS_MR_CHANNEL(gTxRadioInfo->CHANNEL_SAVE)) {
|
||||
gEeprom.ScreenChannel[Vfo] = gEeprom.FreqChannel[gEeprom.TX_CHANNEL];
|
||||
gAnotherVoiceID = VOICE_ID_FREQUENCY_MODE;
|
||||
gRequestSaveVFO = true;
|
||||
@ -219,7 +219,7 @@ void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
|
||||
break;
|
||||
|
||||
case KEY_5:
|
||||
if (gTxRadioInfo->CHANNEL_SAVE < 207) {
|
||||
if (IS_NOT_NOAA_CHANNEL(gTxRadioInfo->CHANNEL_SAVE)) {
|
||||
gEeprom.ScreenChannel[Vfo] = gEeprom.NoaaChannel[gEeprom.TX_CHANNEL];
|
||||
} else {
|
||||
gEeprom.ScreenChannel[Vfo] = gEeprom.FreqChannel[gEeprom.TX_CHANNEL];
|
||||
@ -326,7 +326,7 @@ void MAIN_Key_STAR(bool bKeyPressed, bool bKeyHeld)
|
||||
APP_StartScan(false);
|
||||
return;
|
||||
}
|
||||
if (gStepDirection == 0 && gTxRadioInfo->CHANNEL_SAVE < 207) {
|
||||
if (gStepDirection == 0 && IS_NOT_NOAA_CHANNEL(gTxRadioInfo->CHANNEL_SAVE)) {
|
||||
g_200003BA = 1;
|
||||
memcpy(g_20000D1C, gDTMF_String, 15);
|
||||
g_200003BB = 0;
|
||||
@ -341,7 +341,7 @@ void MAIN_Key_STAR(bool bKeyPressed, bool bKeyHeld)
|
||||
}
|
||||
gWasFKeyPressed = false;
|
||||
g_2000036F = 1;
|
||||
if (gTxRadioInfo->CHANNEL_SAVE < 207) {
|
||||
if (IS_NOT_NOAA_CHANNEL(gTxRadioInfo->CHANNEL_SAVE)) {
|
||||
gFlagStartScan = true;
|
||||
g_20000458 = 1;
|
||||
g_20000459 = gEeprom.CROSS_BAND_RX_TX;
|
||||
@ -382,7 +382,7 @@ void MAIN_Key_UP_DOWN(bool bKeyPressed, bool bKeyHeld, int8_t Direction)
|
||||
}
|
||||
|
||||
if (gStepDirection == 0) {
|
||||
if (Channel < 207) {
|
||||
if (IS_NOT_NOAA_CHANNEL(Channel)) {
|
||||
uint8_t Next;
|
||||
|
||||
if (199 < Channel) {
|
||||
@ -404,7 +404,7 @@ void MAIN_Key_UP_DOWN(bool bKeyPressed, bool bKeyHeld, int8_t Direction)
|
||||
gAnotherVoiceID = 0xFE;
|
||||
}
|
||||
} else {
|
||||
Channel = 207 + NUMBER_AddWithWraparound(gEeprom.ScreenChannel[gEeprom.TX_CHANNEL] - 207,Direction, 0, 9);
|
||||
Channel = NOAA_CHANNEL_FIRST + NUMBER_AddWithWraparound(gEeprom.ScreenChannel[gEeprom.TX_CHANNEL] - NOAA_CHANNEL_FIRST, Direction, 0, 9);
|
||||
gEeprom.NoaaChannel[gEeprom.TX_CHANNEL] = Channel;
|
||||
gEeprom.ScreenChannel[gEeprom.TX_CHANNEL] = Channel;
|
||||
}
|
||||
|
@ -212,7 +212,7 @@ void MENU_AcceptSetting(void)
|
||||
return;
|
||||
|
||||
case MENU_STEP:
|
||||
if ((gTxRadioInfo->CHANNEL_SAVE - 200) < 7) {
|
||||
if (IS_FREQ_CHANNEL(gTxRadioInfo->CHANNEL_SAVE)) {
|
||||
gTxRadioInfo->STEP_SETTING = gSubMenuSelection;
|
||||
gRequestSaveChannel = 1;
|
||||
return;
|
||||
@ -1003,7 +1003,7 @@ void MENU_Key_STAR(bool bKeyPressed, bool bKeyHeld)
|
||||
if (!bKeyHeld && bKeyPressed) {
|
||||
g_20000396 = 1;
|
||||
RADIO_ConfigureTX();
|
||||
if (gInfoCHAN_A->CHANNEL_SAVE < 207 && !gInfoCHAN_A->IsAM) {
|
||||
if (IS_NOT_NOAA_CHANNEL(gInfoCHAN_A->CHANNEL_SAVE) && !gInfoCHAN_A->IsAM) {
|
||||
if (gMenuCursor == MENU_R_CTCS || gMenuCursor == MENU_R_DCS) {
|
||||
if (g_20000381 == 0) {
|
||||
FUN_000074f8(1);
|
||||
|
20
board.c
20
board.c
@ -429,45 +429,45 @@ void BOARD_EEPROM_Init(void)
|
||||
|
||||
// 0E80..0E87
|
||||
EEPROM_ReadBuffer(0x0E80, Data, 8);
|
||||
if (Data[0] < 217) {
|
||||
if (IS_VALID_CHANNEL(Data[0])) {
|
||||
gEeprom.ScreenChannel[0] = Data[0];
|
||||
} else {
|
||||
gEeprom.ScreenChannel[0] = 205;
|
||||
}
|
||||
if (Data[3] < 217) {
|
||||
if (IS_VALID_CHANNEL(Data[3])) {
|
||||
gEeprom.ScreenChannel[1] = Data[3];
|
||||
} else {
|
||||
gEeprom.ScreenChannel[1] = 205;
|
||||
}
|
||||
if (Data[1] < 200) {
|
||||
if (IS_MR_CHANNEL(Data[1])) {
|
||||
gEeprom.MrChannel[0] = Data[1];
|
||||
} else {
|
||||
gEeprom.MrChannel[0] = 0;
|
||||
}
|
||||
if (Data[4] < 200) {
|
||||
if (IS_MR_CHANNEL(Data[4])) {
|
||||
gEeprom.MrChannel[1] = Data[4];
|
||||
} else {
|
||||
gEeprom.MrChannel[1] = 0;
|
||||
}
|
||||
if (Data[2] - 200 < 7) {
|
||||
if (IS_FREQ_CHANNEL(Data[2])) {
|
||||
gEeprom.FreqChannel[0] = Data[2];
|
||||
} else {
|
||||
gEeprom.FreqChannel[0] = 205;
|
||||
}
|
||||
if (Data[5] - 200 < 7) {
|
||||
if (IS_FREQ_CHANNEL(Data[5])) {
|
||||
gEeprom.FreqChannel[1] = Data[5];
|
||||
} else {
|
||||
gEeprom.FreqChannel[1] = 205;
|
||||
}
|
||||
if (Data[6] - 207 < 10) {
|
||||
if (IS_NOAA_CHANNEL(Data[6])) {
|
||||
gEeprom.NoaaChannel[0] = Data[6];
|
||||
} else {
|
||||
gEeprom.NoaaChannel[0] = 207;
|
||||
gEeprom.NoaaChannel[0] = NOAA_CHANNEL_FIRST;
|
||||
}
|
||||
if (Data[7] - 207 < 10) {
|
||||
if (IS_NOAA_CHANNEL(Data[7])) {
|
||||
gEeprom.NoaaChannel[1] = Data[7];
|
||||
} else {
|
||||
gEeprom.NoaaChannel[1] = 207;
|
||||
gEeprom.NoaaChannel[1] = NOAA_CHANNEL_FIRST;
|
||||
}
|
||||
|
||||
// 0E88..0E8F
|
||||
|
@ -125,7 +125,7 @@ int FREQUENCY_Check(VFO_Info_t *pInfo)
|
||||
{
|
||||
uint32_t Frequency;
|
||||
|
||||
if (pInfo->CHANNEL_SAVE >= 207) {
|
||||
if (pInfo->CHANNEL_SAVE >= NOAA_CHANNEL_FIRST) {
|
||||
return -1;
|
||||
}
|
||||
Frequency = pInfo->pDCS_Reverse->Frequency;
|
||||
|
@ -36,7 +36,7 @@ FUNCTION_Type_t gCurrentFunction;
|
||||
|
||||
void FUNCTION_Init(void)
|
||||
{
|
||||
if (gInfoCHAN_A->CHANNEL_SAVE < 207) {
|
||||
if (IS_NOT_NOAA_CHANNEL(gInfoCHAN_A->CHANNEL_SAVE)) {
|
||||
gCopyOfCodeType = gCodeType;
|
||||
if (g_20000381 == 0) {
|
||||
if (gInfoCHAN_A->IsAM == true) {
|
||||
|
8
main.c
8
main.c
@ -122,11 +122,11 @@ void Main(void)
|
||||
GPIO_ClearBit(&GPIOA->DATA, GPIOA_PIN_VOICE_0);
|
||||
g_2000036F = 1;
|
||||
AUDIO_SetVoiceID(0, VOICE_ID_WELCOME);
|
||||
Channel = gEeprom.ScreenChannel[gEeprom.TX_CHANNEL] + 1;
|
||||
if (Channel < 201) {
|
||||
Channel = gEeprom.ScreenChannel[gEeprom.TX_CHANNEL];
|
||||
if (IS_MR_CHANNEL(Channel)) {
|
||||
AUDIO_SetVoiceID(1, VOICE_ID_CHANNEL_MODE);
|
||||
AUDIO_SetDigitVoice(2, Channel);
|
||||
} else if ((Channel - 201) < 7) {
|
||||
AUDIO_SetDigitVoice(2, Channel + 1);
|
||||
} else if (IS_FREQ_CHANNEL(Channel)) {
|
||||
AUDIO_SetVoiceID(1, VOICE_ID_FREQUENCY_MODE);
|
||||
}
|
||||
AUDIO_PlaySingleVoice(0);
|
||||
|
15
misc.h
15
misc.h
@ -20,6 +20,21 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#define IS_MR_CHANNEL(x) ((x) >= MR_CHANNEL_FIRST && (x) <= MR_CHANNEL_LAST)
|
||||
#define IS_FREQ_CHANNEL(x) ((x) >= FREQ_CHANNEL_FIRST && (x) <= FREQ_CHANNEL_LAST)
|
||||
#define IS_NOAA_CHANNEL(x) ((x) >= NOAA_CHANNEL_FIRST && (x) <= NOAA_CHANNEL_LAST)
|
||||
#define IS_NOT_NOAA_CHANNEL(x) ((x) >= MR_CHANNEL_FIRST && (x) <= FREQ_CHANNEL_LAST)
|
||||
#define IS_VALID_CHANNEL(x) ((x) <= NOAA_CHANNEL_LAST)
|
||||
|
||||
enum {
|
||||
MR_CHANNEL_FIRST = 0U,
|
||||
MR_CHANNEL_LAST = 199U,
|
||||
FREQ_CHANNEL_FIRST = 200U,
|
||||
FREQ_CHANNEL_LAST = 206U,
|
||||
NOAA_CHANNEL_FIRST = 207U,
|
||||
NOAA_CHANNEL_LAST = 216U,
|
||||
};
|
||||
|
||||
enum {
|
||||
FLASHLIGHT_OFF = 0U,
|
||||
FLASHLIGHT_ON = 1U,
|
||||
|
52
radio.c
52
radio.c
@ -146,9 +146,9 @@ void RADIO_ConfigureChannel(uint8_t VFO, uint32_t Arg)
|
||||
}
|
||||
|
||||
Channel = gEeprom.ScreenChannel[VFO];
|
||||
if (Channel < 217) {
|
||||
if (Channel >= 207) {
|
||||
RADIO_InitInfo(pRadio, gEeprom.ScreenChannel[VFO], 2, NoaaFrequencyTable[Channel - 207]);
|
||||
if (IS_VALID_CHANNEL(Channel)) {
|
||||
if (Channel >= NOAA_CHANNEL_FIRST) {
|
||||
RADIO_InitInfo(pRadio, gEeprom.ScreenChannel[VFO], 2, NoaaFrequencyTable[Channel - NOAA_CHANNEL_FIRST]);
|
||||
if (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) {
|
||||
return;
|
||||
}
|
||||
@ -156,7 +156,7 @@ void RADIO_ConfigureChannel(uint8_t VFO, uint32_t Arg)
|
||||
gEeprom.CROSS_BAND_RX_TX = CROSS_BAND_OFF;
|
||||
return;
|
||||
}
|
||||
if (Channel < 200) {
|
||||
if (IS_MR_CHANNEL(Channel)) {
|
||||
Channel = RADIO_FindNextChannel(Channel, RADIO_CHANNEL_UP, false, VFO);
|
||||
if (Channel == 0xFF) {
|
||||
Channel = gEeprom.FreqChannel[VFO];
|
||||
@ -174,11 +174,11 @@ void RADIO_ConfigureChannel(uint8_t VFO, uint32_t Arg)
|
||||
if (Attributes == 0xFF) {
|
||||
uint8_t Index;
|
||||
|
||||
if (Channel < 200) {
|
||||
if (IS_MR_CHANNEL(Channel)) {
|
||||
Channel = gEeprom.FreqChannel[VFO];
|
||||
gEeprom.ScreenChannel[VFO] = gEeprom.FreqChannel[VFO];
|
||||
}
|
||||
Index = Channel - 200;
|
||||
Index = Channel - FREQ_CHANNEL_FIRST;
|
||||
RADIO_InitInfo(pRadio, Channel, Index, gLowerLimitFrequencyBandTable[Index]);
|
||||
return;
|
||||
}
|
||||
@ -188,12 +188,12 @@ void RADIO_ConfigureChannel(uint8_t VFO, uint32_t Arg)
|
||||
Band = BAND6_400MHz;
|
||||
}
|
||||
|
||||
if (Channel < 200) {
|
||||
if (IS_MR_CHANNEL(Channel)) {
|
||||
gEeprom.VfoInfo[VFO].Band = Band;
|
||||
gEeprom.VfoInfo[VFO].SCANLIST1_PARTICIPATION = !!(Attributes & MR_CH_SCANLIST1);
|
||||
bParticipation2 = !!(Attributes & MR_CH_SCANLIST2);
|
||||
} else {
|
||||
Band = Channel - 200;
|
||||
Band = Channel - FREQ_CHANNEL_FIRST;
|
||||
gEeprom.VfoInfo[VFO].Band = Band;
|
||||
bParticipation2 = true;
|
||||
gEeprom.VfoInfo[VFO].SCANLIST1_PARTICIPATION = true;
|
||||
@ -201,13 +201,13 @@ void RADIO_ConfigureChannel(uint8_t VFO, uint32_t Arg)
|
||||
gEeprom.VfoInfo[VFO].SCANLIST2_PARTICIPATION = bParticipation2;
|
||||
gEeprom.VfoInfo[VFO].CHANNEL_SAVE = Channel;
|
||||
|
||||
if (Channel < 200) {
|
||||
if (IS_MR_CHANNEL(Channel)) {
|
||||
Base = Channel * 16;
|
||||
} else {
|
||||
Base = 0x0C80 + ((Channel - 200) * 32) + (VFO * 16);
|
||||
Base = 0x0C80 + ((Channel - FREQ_CHANNEL_FIRST) * 32) + (VFO * 16);
|
||||
}
|
||||
|
||||
if (Arg == 2 || Channel >= 200) {
|
||||
if (Arg == 2 || Channel >= FREQ_CHANNEL_FIRST) {
|
||||
EEPROM_ReadBuffer(Base + 8, Data, 8);
|
||||
|
||||
Tmp = Data[3] & 0x0F;
|
||||
@ -308,7 +308,7 @@ void RADIO_ConfigureChannel(uint8_t VFO, uint32_t Arg)
|
||||
pRadio->DCS[0].Frequency = gLowerLimitFrequencyBandTable[Band];
|
||||
} else if (Frequency > gUpperLimitFrequencyBandTable[Band]) {
|
||||
pRadio->DCS[0].Frequency = gUpperLimitFrequencyBandTable[Band];
|
||||
} else if (Channel >= 200) {
|
||||
} else if (Channel >= FREQ_CHANNEL_FIRST) {
|
||||
pRadio->DCS[0].Frequency = FREQUENCY_FloorToStep(pRadio->DCS[0].Frequency, gEeprom.VfoInfo[VFO].StepFrequency, gLowerLimitFrequencyBandTable[Band]);
|
||||
}
|
||||
pRadio->DCS[0].Frequency = Frequency;
|
||||
@ -327,7 +327,7 @@ void RADIO_ConfigureChannel(uint8_t VFO, uint32_t Arg)
|
||||
EEPROM_ReadBuffer(0x0F58 + (Channel * 0x10), gEeprom.VfoInfo[VFO].Name + 8, 2);
|
||||
}
|
||||
|
||||
if (gEeprom.VfoInfo[VFO].FrequencyReverse == true) {
|
||||
if (gEeprom.VfoInfo[VFO].FrequencyReverse) {
|
||||
gEeprom.VfoInfo[VFO].pDCS_Current = &gEeprom.VfoInfo[VFO].DCS[0];
|
||||
gEeprom.VfoInfo[VFO].pDCS_Reverse = &gEeprom.VfoInfo[VFO].DCS[1];
|
||||
} else {
|
||||
@ -342,7 +342,7 @@ void RADIO_ConfigureChannel(uint8_t VFO, uint32_t Arg)
|
||||
}
|
||||
}
|
||||
|
||||
if (gEeprom.VfoInfo[VFO].Band == BAND2_108MHz && gEeprom.VfoInfo[VFO].AM_CHANNEL_MODE == true) {
|
||||
if (gEeprom.VfoInfo[VFO].Band == BAND2_108MHz && gEeprom.VfoInfo[VFO].AM_CHANNEL_MODE) {
|
||||
gEeprom.VfoInfo[VFO].IsAM = true;
|
||||
gEeprom.VfoInfo[VFO].SCRAMBLING_TYPE = 0;
|
||||
gEeprom.VfoInfo[VFO].DTMF_DECODING_ENABLE = false;
|
||||
@ -495,7 +495,7 @@ void RADIO_SetupRegisters(bool bSwitchToFunction0)
|
||||
}
|
||||
BK4819_WriteRegister(BK4819_REG_3F, 0);
|
||||
BK4819_WriteRegister(BK4819_REG_7D, gEeprom.MIC_SENSITIVITY_TUNING | 0xE940);
|
||||
if (gInfoCHAN_A->CHANNEL_SAVE < 207 || gIsNoaaMode != false) {
|
||||
if (IS_NOT_NOAA_CHANNEL(gInfoCHAN_A->CHANNEL_SAVE) || !gIsNoaaMode) {
|
||||
Frequency = gInfoCHAN_A->pDCS_Current->Frequency;
|
||||
} else {
|
||||
Frequency = NoaaFrequencyTable[gNoaaChannel];
|
||||
@ -514,7 +514,7 @@ void RADIO_SetupRegisters(bool bSwitchToFunction0)
|
||||
| BK4819_REG_3F_SQUELCH_LOST
|
||||
;
|
||||
|
||||
if (gInfoCHAN_A->CHANNEL_SAVE < 207) {
|
||||
if (IS_NOT_NOAA_CHANNEL(gInfoCHAN_A->CHANNEL_SAVE)) {
|
||||
if (gInfoCHAN_A->IsAM != true) {
|
||||
uint8_t CodeType;
|
||||
uint8_t CodeWord;
|
||||
@ -574,7 +574,7 @@ void RADIO_SetupRegisters(bool bSwitchToFunction0)
|
||||
;
|
||||
}
|
||||
|
||||
if (gEeprom.VOX_SWITCH == true && !gFmRadioMode && gCrossTxRadioInfo->CHANNEL_SAVE < 207 && gCrossTxRadioInfo->IsAM != true) {
|
||||
if (gEeprom.VOX_SWITCH && !gFmRadioMode && IS_NOT_NOAA_CHANNEL(gCrossTxRadioInfo->CHANNEL_SAVE) && !gCrossTxRadioInfo->IsAM) {
|
||||
BK4819_EnableVox(gEeprom.VOX1_THRESHOLD, gEeprom.VOX0_THRESHOLD);
|
||||
InterruptMask |= 0
|
||||
| BK4819_REG_3F_VOX_FOUND
|
||||
@ -583,7 +583,7 @@ void RADIO_SetupRegisters(bool bSwitchToFunction0)
|
||||
} else {
|
||||
BK4819_DisableVox();
|
||||
}
|
||||
if ((gInfoCHAN_A->IsAM == true) || (gInfoCHAN_A->DTMF_DECODING_ENABLE != true && (gSetting_KILLED != true))) {
|
||||
if (gInfoCHAN_A->IsAM || (!gInfoCHAN_A->DTMF_DECODING_ENABLE && !gSetting_KILLED)) {
|
||||
BK4819_DisableDTMF();
|
||||
} else {
|
||||
BK4819_EnableDTMF();
|
||||
@ -605,8 +605,8 @@ void RADIO_ConfigureNOAA(void)
|
||||
g_2000036F = 1;
|
||||
if (gEeprom.NOAA_AUTO_SCAN) {
|
||||
if (gEeprom.DUAL_WATCH != DUAL_WATCH_OFF) {
|
||||
if (gEeprom.ScreenChannel[0] < 207) {
|
||||
if (gEeprom.ScreenChannel[1] < 207) {
|
||||
if (IS_NOT_NOAA_CHANNEL(gEeprom.ScreenChannel[0])) {
|
||||
if (IS_NOT_NOAA_CHANNEL(gEeprom.ScreenChannel[1])) {
|
||||
gIsNoaaMode = false;
|
||||
return;
|
||||
}
|
||||
@ -614,16 +614,16 @@ void RADIO_ConfigureNOAA(void)
|
||||
} else {
|
||||
ChanAB = 0;
|
||||
}
|
||||
if (gIsNoaaMode == false) {
|
||||
gNoaaChannel = gEeprom.VfoInfo[ChanAB].CHANNEL_SAVE - 207;
|
||||
if (!gIsNoaaMode) {
|
||||
gNoaaChannel = gEeprom.VfoInfo[ChanAB].CHANNEL_SAVE - NOAA_CHANNEL_FIRST;
|
||||
}
|
||||
gIsNoaaMode = true;
|
||||
return;
|
||||
}
|
||||
if (gInfoCHAN_A->CHANNEL_SAVE >= 206) {
|
||||
if (gInfoCHAN_A->CHANNEL_SAVE >= NOAA_CHANNEL_FIRST) {
|
||||
gIsNoaaMode = true;
|
||||
gNoaaChannel = gInfoCHAN_A->CHANNEL_SAVE - 207;
|
||||
g_20000356 = 0x32;
|
||||
gNoaaChannel = gInfoCHAN_A->CHANNEL_SAVE - NOAA_CHANNEL_FIRST;
|
||||
g_20000356 = 50;
|
||||
gSystickFlag8 = 0;
|
||||
}
|
||||
}
|
||||
@ -711,7 +711,7 @@ void RADIO_SomethingWithTransmit(void)
|
||||
uint8_t Value;
|
||||
|
||||
if (!FREQUENCY_Check(gCrossTxRadioInfo)) {
|
||||
if (gCrossTxRadioInfo->BUSY_CHANNEL_LOCK == true && gCurrentFunction == FUNCTION_4) {
|
||||
if (gCrossTxRadioInfo->BUSY_CHANNEL_LOCK && gCurrentFunction == FUNCTION_4) {
|
||||
Value = 1;
|
||||
} else if (gBatteryDisplayLevel == 0) {
|
||||
Value = 2;
|
||||
|
@ -170,7 +170,7 @@ void SETTINGS_SaveChannel(uint8_t Channel, uint8_t VFO, const VFO_Info_t *pVFO,
|
||||
{
|
||||
UART_LogSend("schn\r\n", 6);
|
||||
|
||||
if (Channel < 207) {
|
||||
if (IS_NOT_NOAA_CHANNEL(Channel)) {
|
||||
uint16_t OffsetMR;
|
||||
uint16_t OffsetVFO;
|
||||
|
||||
@ -211,7 +211,7 @@ void SETTINGS_SaveChannel(uint8_t Channel, uint8_t VFO, const VFO_Info_t *pVFO,
|
||||
|
||||
SETTINGS_UpdateChannel(Channel, pVFO, true);
|
||||
|
||||
if (Channel < 200) {
|
||||
if (IS_MR_CHANNEL(Channel)) {
|
||||
memset(&State32, 0xFF, sizeof(State32));
|
||||
EEPROM_WriteBuffer(OffsetMR + 0x0F50, State32);
|
||||
EEPROM_WriteBuffer(OffsetMR + 0x0F58, State32);
|
||||
@ -224,7 +224,7 @@ void SETTINGS_UpdateChannel(uint8_t Channel, const VFO_Info_t *pVFO, bool bUpdat
|
||||
{
|
||||
UART_LogSend("svalid\r\n",8);
|
||||
|
||||
if (Channel < 207) {
|
||||
if (IS_NOT_NOAA_CHANNEL(Channel)) {
|
||||
uint8_t State[8];
|
||||
uint16_t Offset;
|
||||
uint8_t Attributes;
|
||||
|
@ -156,7 +156,7 @@ void UI_DisplayMain(void)
|
||||
memcpy(String + 5, gInputBox, 3);
|
||||
}
|
||||
UI_DisplaySmallDigits(3, String + 5, 10, Line + 1);
|
||||
} else if (gEeprom.ScreenChannel[i] < 207) {
|
||||
} else if (IS_NOT_NOAA_CHANNEL(gEeprom.ScreenChannel[i])) {
|
||||
char c;
|
||||
|
||||
memcpy(pLine1 + 14, BITMAP_F, sizeof(BITMAP_F));
|
||||
@ -214,7 +214,7 @@ void UI_DisplayMain(void)
|
||||
}
|
||||
UI_PrintString(String, 31, 111, i * 4, Width, true);
|
||||
} else {
|
||||
if (gInputBoxIndex && gEeprom.ScreenChannel[i] >= 200 && gEeprom.ScreenChannel[i] < 206 && gEeprom.TX_CHANNEL == i) {
|
||||
if (gInputBoxIndex && IS_FREQ_CHANNEL(gEeprom.ScreenChannel[i]) && gEeprom.TX_CHANNEL == i) {
|
||||
UI_DisplayFrequency(gInputBox, 31, i * 4, true, false);
|
||||
} else {
|
||||
if (gEeprom.ScreenChannel[i] < 200) {
|
||||
|
Loading…
Reference in New Issue
Block a user