This commit is contained in:
wu58430 2023-12-04 18:44:40 +08:00
parent 42e9c1d4e2
commit 064a67544f
13 changed files with 113 additions and 98 deletions

View file

@ -5,6 +5,7 @@
<file url="file://$PROJECT_DIR$/ui/menu.c" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/ui/menu.c" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ui/scanner.c" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/ui/scanner.c" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ui/welcome.c" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/ui/welcome.c" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/uv-k5font/main.cpp" charset="GBK" />
<file url="PROJECT" charset="UTF-8" /> <file url="PROJECT" charset="UTF-8" />
</component> </component>
</project> </project>

View file

@ -21,11 +21,17 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="cea36e80-e289-4d69-9030-7186d540ac0e" name="更改" comment="MDC RX"> <list default="true" id="cea36e80-e289-4d69-9030-7186d540ac0e" name="更改" comment="MDC RX">
<change beforePath="$PROJECT_DIR$/.idea/encodings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/encodings.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/mdc1200.c" beforeDir="false" afterPath="$PROJECT_DIR$/app/mdc1200.c" afterDir="false" /> <change beforePath="$PROJECT_DIR$/app/main.c" beforeDir="false" afterPath="$PROJECT_DIR$/app/main.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/chinese.h" beforeDir="false" afterPath="$PROJECT_DIR$/chinese.h" afterDir="false" /> <change beforePath="$PROJECT_DIR$/app/menu.c" beforeDir="false" afterPath="$PROJECT_DIR$/app/menu.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/frequencies.c" beforeDir="false" afterPath="$PROJECT_DIR$/frequencies.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/main.c" beforeDir="false" afterPath="$PROJECT_DIR$/main.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/misc.c" beforeDir="false" afterPath="$PROJECT_DIR$/misc.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/misc.h" beforeDir="false" afterPath="$PROJECT_DIR$/misc.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/payment/sponsors.md" beforeDir="false" afterPath="$PROJECT_DIR$/payment/sponsors.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/radio.c" beforeDir="false" afterPath="$PROJECT_DIR$/radio.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/settings.c" beforeDir="false" afterPath="$PROJECT_DIR$/settings.c" afterDir="false" /> <change beforePath="$PROJECT_DIR$/settings.c" beforeDir="false" afterPath="$PROJECT_DIR$/settings.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/settings.h" beforeDir="false" afterPath="$PROJECT_DIR$/settings.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ui/menu.c" beforeDir="false" afterPath="$PROJECT_DIR$/ui/menu.c" afterDir="false" /> <change beforePath="$PROJECT_DIR$/ui/menu.c" beforeDir="false" afterPath="$PROJECT_DIR$/ui/menu.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ui/menu.h" beforeDir="false" afterPath="$PROJECT_DIR$/ui/menu.h" afterDir="false" /> <change beforePath="$PROJECT_DIR$/ui/menu.h" beforeDir="false" afterPath="$PROJECT_DIR$/ui/menu.h" afterDir="false" />
</list> </list>
@ -134,7 +140,7 @@
<workItem from="1701413653518" duration="3544000" /> <workItem from="1701413653518" duration="3544000" />
<workItem from="1701430185864" duration="10115000" /> <workItem from="1701430185864" duration="10115000" />
<workItem from="1701559895523" duration="22519000" /> <workItem from="1701559895523" duration="22519000" />
<workItem from="1701678199532" duration="6176000" /> <workItem from="1701678199532" duration="7567000" />
</task> </task>
<task id="LOCAL-00001" summary="bug fix"> <task id="LOCAL-00001" summary="bug fix">
<created>1701136012311</created> <created>1701136012311</created>
@ -367,7 +373,14 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1701682811016</updated> <updated>1701682811016</updated>
</task> </task>
<option name="localTasksCounter" value="34" /> <task id="LOCAL-00034" summary="MDC RX">
<created>1701685151218</created>
<option name="number" value="00034" />
<option name="presentableId" value="LOCAL-00034" />
<option name="project" value="LOCAL" />
<updated>1701685151218</updated>
</task>
<option name="localTasksCounter" value="35" />
<servers /> <servers />
</component> </component>
<component name="TypeScriptGeneratedFilesManager"> <component name="TypeScriptGeneratedFilesManager">

View file

@ -152,11 +152,11 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep) {
return; return;
} else { } else {
Band = gTxVfo->Band + 1; Band = gTxVfo->Band + 1;
if (gSetting_350EN || Band != BAND5_350MHz) { // if (gSetting_350EN || Band != BAND5_350MHz) {
if (Band > BAND7_470MHz) if (Band > BAND7_470MHz)
Band = BAND1_50MHz; Band = BAND1_50MHz;
} else // } else
Band = BAND6_400MHz; // Band = BAND6_400MHz;
gTxVfo->Band = Band; gTxVfo->Band = Band;

View file

@ -251,10 +251,10 @@ int MENU_GetLimits(uint8_t menu_id, int32_t *pMin, int32_t *pMax)
#ifdef ENABLE_NOAA #ifdef ENABLE_NOAA
case MENU_NOAA_S: case MENU_NOAA_S:
#endif #endif
case MENU_350TX: // case MENU_350TX:
case MENU_200TX: // case MENU_200TX:
case MENU_500TX: // case MENU_500TX:
case MENU_350EN: // case MENU_350EN:
// case MENU_SCREN: // case MENU_SCREN:
// *pMin = 0; // *pMin = 0;
// *pMax = ARRAY_SIZE(gSubMenu_OFF_ON) - 1; // *pMax = ARRAY_SIZE(gSubMenu_OFF_ON) - 1;
@ -738,9 +738,9 @@ void MENU_AcceptSetting(void)
SETTINGS_FactoryReset(gSubMenuSelection); SETTINGS_FactoryReset(gSubMenuSelection);
return; return;
case MENU_350TX: // case MENU_350TX:
gSetting_350TX = gSubMenuSelection; // gSetting_350TX = gSubMenuSelection;
break; // break;
case MENU_F_LOCK: { case MENU_F_LOCK: {
// if(gSubMenuSelection == F_LOCK_NONE) { // select 10 times to enable // if(gSubMenuSelection == F_LOCK_NONE) { // select 10 times to enable
@ -754,19 +754,19 @@ void MENU_AcceptSetting(void)
gSetting_F_LOCK = gSubMenuSelection; gSetting_F_LOCK = gSubMenuSelection;
break; break;
} }
case MENU_200TX: // case MENU_200TX:
gSetting_200TX = gSubMenuSelection; // gSetting_200TX = gSubMenuSelection;
break; // break;
//
// case MENU_500TX:
// gSetting_500TX = gSubMenuSelection;
// break;
case MENU_500TX: // case MENU_350EN:
gSetting_500TX = gSubMenuSelection; // gSetting_350EN = gSubMenuSelection;
break; // gVfoConfigureMode = VFO_CONFIGURE_RELOAD;
// gFlagResetVfos = true;
case MENU_350EN: // break;
gSetting_350EN = gSubMenuSelection;
gVfoConfigureMode = VFO_CONFIGURE_RELOAD;
gFlagResetVfos = true;
break;
// case MENU_SCREN: // case MENU_SCREN:
// gSetting_ScrambleEnable = gSubMenuSelection; // gSetting_ScrambleEnable = gSubMenuSelection;
@ -1116,25 +1116,25 @@ void MENU_ShowCurrentSetting(void)
#endif #endif
break; break;
case MENU_350TX: // case MENU_350TX:
gSubMenuSelection = gSetting_350TX; // gSubMenuSelection = gSetting_350TX;
break; // break;
case MENU_F_LOCK: case MENU_F_LOCK:
gSubMenuSelection = gSetting_F_LOCK; gSubMenuSelection = gSetting_F_LOCK;
break; break;
case MENU_200TX: // case MENU_200TX:
gSubMenuSelection = gSetting_200TX; // gSubMenuSelection = gSetting_200TX;
break; // break;
//
case MENU_500TX: // case MENU_500TX:
gSubMenuSelection = gSetting_500TX; // gSubMenuSelection = gSetting_500TX;
break; // break;
//
case MENU_350EN: // case MENU_350EN:
gSubMenuSelection = gSetting_350EN; // gSubMenuSelection = gSetting_350EN;
break; // break;
// case MENU_SCREN: // case MENU_SCREN:
// gSubMenuSelection = gSetting_ScrambleEnable; // gSubMenuSelection = gSetting_ScrambleEnable;

View file

@ -145,17 +145,17 @@ int TX_freq_check(const uint32_t Frequency)
case F_LOCK_DEF: case F_LOCK_DEF:
if (Frequency >= frequencyBandTable[BAND3_137MHz].lower && Frequency < frequencyBandTable[BAND3_137MHz].upper) if (Frequency >= frequencyBandTable[BAND3_137MHz].lower && Frequency < frequencyBandTable[BAND3_137MHz].upper)
return 0; return 0;
if (Frequency >= frequencyBandTable[BAND4_174MHz].lower && Frequency < frequencyBandTable[BAND4_174MHz].upper) // if (Frequency >= frequencyBandTable[BAND4_174MHz].lower && Frequency < frequencyBandTable[BAND4_174MHz].upper)
if (gSetting_200TX) // if (gSetting_F_LOCK==F_LOCK_ALL)
return 0; // return 0;
if (Frequency >= frequencyBandTable[BAND5_350MHz].lower && Frequency < frequencyBandTable[BAND5_350MHz].upper) // if (Frequency >= frequencyBandTable[BAND5_350MHz].lower && Frequency < frequencyBandTable[BAND5_350MHz].upper)
if (gSetting_350TX && gSetting_350EN) // if (gSetting_F_LOCK==F_LOCK_ALL)
return 0; // return 0;
if (Frequency >= frequencyBandTable[BAND6_400MHz].lower && Frequency < frequencyBandTable[BAND6_400MHz].upper) if (Frequency >= frequencyBandTable[BAND6_400MHz].lower && Frequency < frequencyBandTable[BAND6_400MHz].upper)
return 0; return 0;
if (Frequency >= frequencyBandTable[BAND7_470MHz].lower && Frequency <= 60000000) // if (Frequency >= frequencyBandTable[BAND7_470MHz].lower && Frequency <= 60000000)
if (gSetting_500TX) // if (gSetting_F_LOCK==F_LOCK_ALL)
return 0; // return 0;
break; break;
case F_LOCK_FCC: case F_LOCK_FCC:

2
main.c
View file

@ -108,7 +108,7 @@ void Main(void)
//BootMode = BOOT_GetMode(); //BootMode = BOOT_GetMode();
// if (BootMode == BOOT_MODE_F_LOCK) // if (BootMode == BOOT_MODE_F_LOCK)
gMenuListCount = 48; gMenuListCount = 45;
// wait for user to release all butts before moving on // wait for user to release all butts before moving on

8
misc.c
View file

@ -78,13 +78,13 @@ const uint32_t gDefaultAesKey[4] = {0x4AA5CC60, 0x0312CC5F, 0x
const uint8_t gMicGain_dB2[5] = {3, 8, 16, 24, 31}; const uint8_t gMicGain_dB2[5] = {3, 8, 16, 24, 31};
bool gSetting_350TX; //bool gSetting_350TX;
#ifdef ENABLE_DTMF_CALLING #ifdef ENABLE_DTMF_CALLING
bool gSetting_KILLED; bool gSetting_KILLED;
#endif #endif
bool gSetting_200TX; //bool gSetting_200TX;
bool gSetting_500TX; //bool gSetting_500TX;
bool gSetting_350EN; //bool gSetting_350EN;
uint8_t gSetting_F_LOCK; uint8_t gSetting_F_LOCK;
bool gSetting_ScrambleEnable; bool gSetting_ScrambleEnable;

8
misc.h
View file

@ -142,13 +142,13 @@ extern const uint16_t scan_pause_delay_in_7_10ms;
extern const uint8_t gMicGain_dB2[5]; extern const uint8_t gMicGain_dB2[5];
extern bool gSetting_350TX; //extern bool gSetting_350TX;
#ifdef ENABLE_DTMF_CALLING #ifdef ENABLE_DTMF_CALLING
extern bool gSetting_KILLED; extern bool gSetting_KILLED;
#endif #endif
extern bool gSetting_200TX; //extern bool gSetting_200TX;
extern bool gSetting_500TX; //extern bool gSetting_500TX;
extern bool gSetting_350EN; //extern bool gSetting_350EN;
extern uint8_t gSetting_F_LOCK; extern uint8_t gSetting_F_LOCK;
extern bool gSetting_ScrambleEnable; extern bool gSetting_ScrambleEnable;

View file

@ -17,17 +17,18 @@
### 收款码 ### 收款码
| 赞助商 | 渠道 | 金额 | 时间 | | 赞助商 | 渠道 | 金额 | 时间 |
|-----------|-------|-------:|-----------| |-----------|-------|-------:|------------|
| 忠 | 微信打赏 | ¥20.00 | 2023-11-19 | | 忠 | 微信打赏 | ¥20.00 | 2023-11-19 |
| BG6SNG | 支付宝打赏 | ¥10.00 | 2023-11-20 | | BG6SNG | 支付宝打赏 | ¥10.00 | 2023-11-20 |
| 江璐璐 | 支付宝打赏 | ¥10.00 | 2023-11-21 | | 江璐璐 | 支付宝打赏 | ¥10.00 | 2023-11-21 |
| 济南黄河业余无线电 | 微信打赏 | ¥25.00 | 2023-11-22 | | 济南黄河业余无线电 | 微信打赏 | ¥25.00 | 2023-11-22 |
| DE.BG9JAQ | 微信打赏 | ¥9.99 | 2023-11-22 | | DE.BG9JAQ | 微信打赏 | ¥9.99 | 2023-11-22 |
| 井之水 | 微信打赏 | ¥9.9 | 2023-11-2 | | 井之水 | 微信打赏 | ¥9.90 | 2023-11-2 |
| 姜先生 | 微信打赏 | ¥66.61 | 2023-11-28 | | 姜先生 | 微信打赏 | ¥66.61 | 2023-11-28 |
| Hui-Shao | 支付宝打赏 | ¥10.0 | 2023-11-29| | Hui-Shao | 支付宝打赏 | ¥10.00 | 2023-11-29 |
| BI1OWT | 支付宝打赏 | ¥10.0 | 2023-12-01| | BI1OWT | 支付宝打赏 | ¥10.00 | 2023-12-01 |
| 蛋 | 微信打赏 | ¥6.66 | 2023-12-01 | | 蛋 | 微信打赏 | ¥6.66 | 2023-12-01 |
| J*n | 微信打赏 | ¥10.00 | 2023-12-04 |

26
radio.c
View file

@ -153,13 +153,13 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure
{ {
VFO_Info_t *pVfo = &gEeprom.VfoInfo[VFO]; VFO_Info_t *pVfo = &gEeprom.VfoInfo[VFO];
if (!gSetting_350EN) { // if (!gSetting_350EN) {
if (gEeprom.FreqChannel[VFO] == FREQ_CHANNEL_FIRST + BAND5_350MHz) // if (gEeprom.FreqChannel[VFO] == FREQ_CHANNEL_FIRST + BAND5_350MHz)
gEeprom.FreqChannel[VFO] = FREQ_CHANNEL_FIRST + BAND6_400MHz; // gEeprom.FreqChannel[VFO] = FREQ_CHANNEL_FIRST + BAND6_400MHz;
//
if (gEeprom.ScreenChannel[VFO] == FREQ_CHANNEL_FIRST + BAND5_350MHz) // if (gEeprom.ScreenChannel[VFO] == FREQ_CHANNEL_FIRST + BAND5_350MHz)
gEeprom.ScreenChannel[VFO] = FREQ_CHANNEL_FIRST + BAND6_400MHz; // gEeprom.ScreenChannel[VFO] = FREQ_CHANNEL_FIRST + BAND6_400MHz;
} // }
uint8_t channel = gEeprom.ScreenChannel[VFO]; uint8_t channel = gEeprom.ScreenChannel[VFO];
@ -399,12 +399,12 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure
pVfo->pTX = &pVfo->freq_config_RX; pVfo->pTX = &pVfo->freq_config_RX;
} }
if (!gSetting_350EN) // if (!gSetting_350EN)
{ // {
FREQ_Config_t *pConfig = pVfo->pRX; // FREQ_Config_t *pConfig = pVfo->pRX;
if (pConfig->Frequency >= 35000000 && pConfig->Frequency < 40000000) // if (pConfig->Frequency >= 35000000 && pConfig->Frequency < 40000000)
pConfig->Frequency = 43300000; // pConfig->Frequency = 43300000;
} // }
// else{ // else{

View file

@ -236,13 +236,13 @@ void SETTINGS_InitEEPROM(void)
// 0F40..0F47 // 0F40..0F47
EEPROM_ReadBuffer(0x0F40, Data, 8); EEPROM_ReadBuffer(0x0F40, Data, 8);
gSetting_F_LOCK = (Data[0] < F_LOCK_LEN) ? Data[0] : F_LOCK_DEF; gSetting_F_LOCK = (Data[0] < F_LOCK_LEN) ? Data[0] : F_LOCK_DEF;
gSetting_350TX = (Data[1] < 2) ? Data[1] : false; // was true // gSetting_350TX = (Data[1] < 2) ? Data[1] : false; // was true
#ifdef ENABLE_DTMF_CALLING #ifdef ENABLE_DTMF_CALLING
gSetting_KILLED = (Data[2] < 2) ? Data[2] : false; gSetting_KILLED = (Data[2] < 2) ? Data[2] : false;
#endif #endif
gSetting_200TX = (Data[3] < 2) ? Data[3] : false; // gSetting_200TX = (Data[3] < 2) ? Data[3] : false;
gSetting_500TX = (Data[4] < 2) ? Data[4] : false; // gSetting_500TX = (Data[4] < 2) ? Data[4] : false;
gSetting_350EN = (Data[5] < 2) ? Data[5] : true; // gSetting_350EN = (Data[5] < 2) ? Data[5] : true;
gSetting_ScrambleEnable = (Data[6] < 2) ? Data[6] : true; gSetting_ScrambleEnable = (Data[6] < 2) ? Data[6] : true;
//gSetting_TX_EN = (Data[7] & (1u << 0)) ? true : false; //gSetting_TX_EN = (Data[7] & (1u << 0)) ? true : false;
gSetting_live_DTMF_decoder = (Data[7] & (1u << 1)) ? true : false; gSetting_live_DTMF_decoder = (Data[7] & (1u << 1)) ? true : false;
@ -577,13 +577,13 @@ void SETTINGS_SaveSettings(void)
memset(State, 0xFF, sizeof(State)); memset(State, 0xFF, sizeof(State));
State[0] = gSetting_F_LOCK; State[0] = gSetting_F_LOCK;
State[1] = gSetting_350TX; // State[1] = gSetting_350TX;
#ifdef ENABLE_DTMF_CALLING #ifdef ENABLE_DTMF_CALLING
State[2] = gSetting_KILLED; State[2] = gSetting_KILLED;
#endif #endif
State[3] = gSetting_200TX; // State[3] = gSetting_200TX;
State[4] = gSetting_500TX; // State[4] = gSetting_500TX;
State[5] = gSetting_350EN; // State[5] = gSetting_350EN;
State[6] = gSetting_ScrambleEnable; State[6] = gSetting_ScrambleEnable;
//if (!gSetting_TX_EN) State[7] &= ~(1u << 0); //if (!gSetting_TX_EN) State[7] &= ~(1u << 0);
if (!gSetting_live_DTMF_decoder) State[7] &= ~(1u << 1); if (!gSetting_live_DTMF_decoder) State[7] &= ~(1u << 1);

View file

@ -100,10 +100,10 @@ const t_menu_item MenuList[] =
// hidden menu items from here on // hidden menu items from here on
// enabled if pressing both the PTT and upper side button at power-on // enabled if pressing both the PTT and upper side button at power-on
{/*"F Lock",*/ VOICE_ID_INVALID, MENU_F_LOCK ,}, {/*"F Lock",*/ VOICE_ID_INVALID, MENU_F_LOCK ,},
{/*"Tx 200",*/ VOICE_ID_INVALID, MENU_200TX ,M发射}, // was "200TX" // {/*"Tx 200",*/ VOICE_ID_INVALID, MENU_200TX ,两百M发射}, // was "200TX"
{/*"Tx 350",*/ VOICE_ID_INVALID, MENU_350TX ,M发射}, // was "350TX" // {/*"Tx 350",*/ VOICE_ID_INVALID, MENU_350TX ,三百五十M发射}, // was "350TX"
{/*"Tx 500",*/ VOICE_ID_INVALID, MENU_500TX ,M发射}, // was "500TX" // {/*"Tx 500",*/ VOICE_ID_INVALID, MENU_500TX ,五百M发射}, // was "500TX"
{/*"350 En",*/ VOICE_ID_INVALID, MENU_350EN ,M接收}, // was "350EN" // {/*"350 En",*/ VOICE_ID_INVALID, MENU_350EN ,三百五十M接收}, // was "350EN"
#ifdef ENABLE_F_CAL_MENU//0 #ifdef ENABLE_F_CAL_MENU//0
{/*"FrCali",*/ VOICE_ID_INVALID, MENU_F_CALI ,""}, // reference xtal calibration {/*"FrCali",*/ VOICE_ID_INVALID, MENU_F_CALI ,""}, // reference xtal calibration
#endif #endif
@ -646,10 +646,10 @@ void UI_DisplayMenu(void) {
#ifdef ENABLE_NOAA #ifdef ENABLE_NOAA
case MENU_NOAA_S: case MENU_NOAA_S:
#endif #endif
case MENU_350TX: // case MENU_350TX:
case MENU_200TX: // case MENU_200TX:
case MENU_500TX: // case MENU_500TX:
case MENU_350EN: // case MENU_350EN:
strcpy(String, gSubMenu_OFF_ON[gSubMenuSelection]); strcpy(String, gSubMenu_OFF_ON[gSubMenuSelection]);
break; break;

View file

@ -119,10 +119,10 @@ enum
#endif #endif
MENU_RESET, MENU_RESET,
MENU_F_LOCK, MENU_F_LOCK,
MENU_200TX, // MENU_200TX,
MENU_350TX, // MENU_350TX,
MENU_500TX, // MENU_500TX,
MENU_350EN, // MENU_350EN,
// MENU_SCREN, // MENU_SCREN,
#ifdef ENABLE_F_CAL_MENU #ifdef ENABLE_F_CAL_MENU
MENU_F_CALI, // reference xtal calibration MENU_F_CALI, // reference xtal calibration