From e042b21e659807d0226e13d5e40ecce26608be78 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 01:07:04 +0100 Subject: [PATCH] Rename RX_CHANNEL and TX_CHANNEL to RX_VFO and TX_VFO to be much less confusing --- app/action.c | 2 +- app/app.c | 44 +++++++++++++------------- app/main.c | 75 ++++++++++++++++++++++++++------------------ app/menu.c | 10 +++--- app/scanner.c | 14 ++++----- app/uart.c | 2 +- board.c | 2 +- firmware.bin | Bin 54536 -> 54556 bytes firmware.packed.bin | Bin 54554 -> 54574 bytes main.c | 2 +- radio.c | 26 +++++++-------- settings.c | 2 +- settings.h | 4 +-- ui/main.c | 26 +++++++-------- 14 files changed, 111 insertions(+), 98 deletions(-) diff --git a/app/action.c b/app/action.c index c931d4f..7036ebd 100644 --- a/app/action.c +++ b/app/action.c @@ -206,7 +206,7 @@ void ACTION_Scan(bool bRestart) #endif // clear the other vfo's rssi level (to hide the antenna symbol) - gVFO_RSSI_bar_level[(gEeprom.RX_CHANNEL + 1) & 1u] = 0; + gVFO_RSSI_bar_level[(gEeprom.RX_VFO + 1) & 1u] = 0; // let the user see DW is not active gDualWatchActive = false; diff --git a/app/app.c b/app/app.c index 302546a..d65abc3 100644 --- a/app/app.c +++ b/app/app.c @@ -122,7 +122,7 @@ static void APP_CheckForIncoming(void) FUNCTION_Select(FUNCTION_INCOMING); //gUpdateDisplay = true; - updateRSSI(gEeprom.RX_CHANNEL); + updateRSSI(gEeprom.RX_VFO); gUpdateRSSI = true; } @@ -138,7 +138,7 @@ static void APP_CheckForIncoming(void) FUNCTION_Select(FUNCTION_INCOMING); //gUpdateDisplay = true; - updateRSSI(gEeprom.RX_CHANNEL); + updateRSSI(gEeprom.RX_VFO); gUpdateRSSI = true; } return; @@ -160,7 +160,7 @@ static void APP_CheckForIncoming(void) FUNCTION_Select(FUNCTION_INCOMING); //gUpdateDisplay = true; - updateRSSI(gEeprom.RX_CHANNEL); + updateRSSI(gEeprom.RX_VFO); gUpdateRSSI = true; } @@ -178,7 +178,7 @@ static void APP_CheckForIncoming(void) FUNCTION_Select(FUNCTION_INCOMING); //gUpdateDisplay = true; - updateRSSI(gEeprom.RX_CHANNEL); + updateRSSI(gEeprom.RX_VFO); gUpdateRSSI = true; } } @@ -468,7 +468,7 @@ static void APP_HandleFunction(void) void APP_StartListening(FUNCTION_Type_t Function, const bool reset_am_fix) { - const unsigned int chan = gEeprom.RX_CHANNEL; + const unsigned int chan = gEeprom.RX_VFO; // const unsigned int chan = gRxVfo->CHANNEL_SAVE; if (gSetting_KILLED) @@ -679,7 +679,7 @@ static void MR_NextChannel(void) // dual watch is enabled - include the other VFO in the scan if (gEeprom.DUAL_WATCH != DUAL_WATCH_OFF) { - chan = (gEeprom.RX_CHANNEL + 1) & 1u; + chan = (gEeprom.RX_VFO + 1) & 1u; chan = gEeprom.ScreenChannel[chan]; if (IS_MR_CHANNEL(chan)) { @@ -713,10 +713,10 @@ static void MR_NextChannel(void) if (gNextMrChannel != prev_chan) { - gEeprom.MrChannel[ gEeprom.RX_CHANNEL] = gNextMrChannel; - gEeprom.ScreenChannel[gEeprom.RX_CHANNEL] = gNextMrChannel; + gEeprom.MrChannel[ gEeprom.RX_VFO] = gNextMrChannel; + gEeprom.ScreenChannel[gEeprom.RX_VFO] = gNextMrChannel; - RADIO_ConfigureChannel(gEeprom.RX_CHANNEL, VFO_CONFIGURE_RELOAD); + RADIO_ConfigureChannel(gEeprom.RX_VFO, VFO_CONFIGURE_RELOAD); RADIO_SetupRegisters(true); gUpdateDisplay = true; @@ -749,11 +749,11 @@ static void DUALWATCH_Alternate(void) if (gIsNoaaMode) { if (IS_NOT_NOAA_CHANNEL(gEeprom.ScreenChannel[0]) || IS_NOT_NOAA_CHANNEL(gEeprom.ScreenChannel[1])) - gEeprom.RX_CHANNEL = (gEeprom.RX_CHANNEL + 1) & 1; + gEeprom.RX_VFO = (gEeprom.RX_VFO + 1) & 1; else - gEeprom.RX_CHANNEL = 0; + gEeprom.RX_VFO = 0; - gRxVfo = &gEeprom.VfoInfo[gEeprom.RX_CHANNEL]; + gRxVfo = &gEeprom.VfoInfo[gEeprom.RX_VFO]; if (gEeprom.VfoInfo[0].CHANNEL_SAVE >= NOAA_CHANNEL_FIRST) NOAA_IncreaseChannel(); @@ -761,8 +761,8 @@ static void DUALWATCH_Alternate(void) else #endif { // toggle between VFO's - gEeprom.RX_CHANNEL = (gEeprom.RX_CHANNEL + 1) & 1; - gRxVfo = &gEeprom.VfoInfo[gEeprom.RX_CHANNEL]; + gEeprom.RX_VFO = (gEeprom.RX_VFO + 1) & 1; + gRxVfo = &gEeprom.VfoInfo[gEeprom.RX_VFO]; if (!gDualWatchActive) { // let the user see DW is active @@ -1250,7 +1250,7 @@ void APP_Update(void) if (gEeprom.DUAL_WATCH == DUAL_WATCH_OFF || gScanState != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF || gUpdateRSSI) { // dual watch mode, go back to sleep - updateRSSI(gEeprom.RX_CHANNEL); + updateRSSI(gEeprom.RX_VFO); // go back to sleep @@ -1410,9 +1410,9 @@ void APP_TimeSlice10ms(void) #endif #ifdef ENABLE_AM_FIX -// if (gEeprom.VfoInfo[gEeprom.RX_CHANNEL].AM_mode && gSetting_AM_fix) +// if (gEeprom.VfoInfo[gEeprom.RX_VFO].AM_mode && gSetting_AM_fix) if (gRxVfo->AM_mode && gSetting_AM_fix) - AM_fix_10ms(gEeprom.RX_CHANNEL); + AM_fix_10ms(gEeprom.RX_VFO); #endif if (UART_IsCommandAvailable()) @@ -1800,7 +1800,7 @@ void APP_TimeSlice500ms(void) if (gCurrentFunction != FUNCTION_TRANSMIT) { if (gCurrentFunction != FUNCTION_POWER_SAVE) - updateRSSI(gEeprom.RX_CHANNEL); + updateRSSI(gEeprom.RX_VFO); #ifdef ENABLE_FMRADIO if ((gFM_ScanState == FM_SCAN_OFF || gAskToSave) && gCssScanMode == CSS_SCAN_MODE_OFF) @@ -2110,10 +2110,10 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) if (gFlagSaveChannel) { - SETTINGS_SaveChannel(gTxVfo->CHANNEL_SAVE, gEeprom.TX_CHANNEL, gTxVfo, gFlagSaveChannel); + SETTINGS_SaveChannel(gTxVfo->CHANNEL_SAVE, gEeprom.TX_VFO, gTxVfo, gFlagSaveChannel); gFlagSaveChannel = false; - RADIO_ConfigureChannel(gEeprom.TX_CHANNEL, VFO_CONFIGURE); + RADIO_ConfigureChannel(gEeprom.TX_VFO, VFO_CONFIGURE); RADIO_SetupRegisters(true); GUI_SelectNextDisplay(DISPLAY_MAIN); @@ -2435,7 +2435,7 @@ Skip: { if (!bKeyHeld) { - SETTINGS_SaveChannel(gTxVfo->CHANNEL_SAVE, gEeprom.TX_CHANNEL, gTxVfo, gRequestSaveChannel); + SETTINGS_SaveChannel(gTxVfo->CHANNEL_SAVE, gEeprom.TX_VFO, gTxVfo, gRequestSaveChannel); if (gScreenToDisplay != DISPLAY_SCANNER) if (gVfoConfigureMode == VFO_CONFIGURE_NONE) // 'if' is so as we don't wipe out previously setting this variable elsewhere @@ -2460,7 +2460,7 @@ Skip: RADIO_ConfigureChannel(1, gVfoConfigureMode); } else - RADIO_ConfigureChannel(gEeprom.TX_CHANNEL, gVfoConfigureMode); + RADIO_ConfigureChannel(gEeprom.TX_VFO, gVfoConfigureMode); if (gRequestDisplayScreen == DISPLAY_INVALID) gRequestDisplayScreen = DISPLAY_MAIN; diff --git a/app/main.c b/app/main.c index 1e09acd..ed8fc8a 100644 --- a/app/main.c +++ b/app/main.c @@ -38,7 +38,7 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep) { uint8_t Band; - uint8_t Vfo = gEeprom.TX_CHANNEL; + uint8_t Vfo = gEeprom.TX_VFO; switch (Key) { @@ -99,7 +99,7 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep) if (gEeprom.DUAL_WATCH == DUAL_WATCH_CHAN_B) gEeprom.DUAL_WATCH = DUAL_WATCH_CHAN_A; else - gEeprom.TX_CHANNEL = (Vfo + 1) & 1u; + gEeprom.TX_VFO = (Vfo + 1) & 1u; gRequestSaveSettings = 1; gFlagReconfigureVfos = true; @@ -122,7 +122,7 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep) if (IS_MR_CHANNEL(gTxVfo->CHANNEL_SAVE)) { // swap to frequency mode - gEeprom.ScreenChannel[Vfo] = gEeprom.FreqChannel[gEeprom.TX_CHANNEL]; + gEeprom.ScreenChannel[Vfo] = gEeprom.FreqChannel[gEeprom.TX_VFO]; #ifdef ENABLE_VOICE gAnotherVoiceID = VOICE_ID_FREQUENCY_MODE; #endif @@ -131,7 +131,7 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep) break; } - Channel = RADIO_FindNextChannel(gEeprom.MrChannel[gEeprom.TX_CHANNEL], 1, false, 0); + Channel = RADIO_FindNextChannel(gEeprom.MrChannel[gEeprom.TX_VFO], 1, false, 0); if (Channel != 0xFF) { // swap to channel mode gEeprom.ScreenChannel[Vfo] = Channel; @@ -166,24 +166,24 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep) case KEY_5: #ifdef ENABLE_NOAA - + if (IS_NOT_NOAA_CHANNEL(gTxVfo->CHANNEL_SAVE)) { - gEeprom.ScreenChannel[Vfo] = gEeprom.NoaaChannel[gEeprom.TX_CHANNEL]; + gEeprom.ScreenChannel[Vfo] = gEeprom.NoaaChannel[gEeprom.TX_VFO]; } else { - gEeprom.ScreenChannel[Vfo] = gEeprom.FreqChannel[gEeprom.TX_CHANNEL]; + gEeprom.ScreenChannel[Vfo] = gEeprom.FreqChannel[gEeprom.TX_VFO]; #ifdef ENABLE_VOICE gAnotherVoiceID = VOICE_ID_FREQUENCY_MODE; #endif } gRequestSaveVFO = true; gVfoConfigureMode = VFO_CONFIGURE_RELOAD; - + #else // toggle the selected channels scanlist setting - + if (gScreenToDisplay != DISPLAY_SCANNER) { if (IS_MR_CHANNEL(gTxVfo->CHANNEL_SAVE)) @@ -207,9 +207,9 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep) gFlagResetVfos = true; } } - + #endif - + break; case KEY_6: @@ -220,7 +220,7 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep) #ifdef ENABLE_VOX ACTION_Vox(); #else - + // TODO: make use of this function key @@ -305,7 +305,7 @@ static void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) if (!gWasFKeyPressed) { // F-key wasn't pressed - const uint8_t Vfo = gEeprom.TX_CHANNEL; + const uint8_t Vfo = gEeprom.TX_VFO; gKeyInputCountdown = key_input_timeout_500ms; @@ -554,31 +554,44 @@ static void MAIN_Key_MENU(const bool bKeyPressed, const bool bKeyHeld) gUpdateStatus = true; #ifdef ENABLE_COPY_CHAN_TO_VFO - + if (gEeprom.VFO_OPEN && gScanState == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF) { // copy channel to VFO - - const unsigned int vfo = (gEeprom.DUAL_WATCH == DUAL_WATCH_OFF) ? gEeprom.RX_CHANNEL : gEeprom.TX_CHANNEL; + + //const unsigned int vfo = (gEeprom.DUAL_WATCH == DUAL_WATCH_OFF) ? gEeprom.RX_VFO : gEeprom.TX_VFO; + unsigned int vfo = gEeprom.TX_VFO; + if (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_CHAN_B) + vfo = 1; + else + if (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_CHAN_A) + vfo = 0; + else + if (gEeprom.DUAL_WATCH == DUAL_WATCH_CHAN_B) + vfo = 1; + else + if (gEeprom.DUAL_WATCH == DUAL_WATCH_CHAN_A) + vfo = 0; + if (gEeprom.CROSS_BAND_RX_TX != CROSS_BAND_OFF) + vfo = (vfo + 1) & 1u; if (IS_MR_CHANNEL(gEeprom.ScreenChannel[vfo])) - { + { // swap to the VFO + const unsigned int channel = FREQ_CHANNEL_FIRST + gEeprom.VfoInfo[vfo].Band; gEeprom.ScreenChannel[vfo] = channel; gEeprom.VfoInfo[vfo].CHANNEL_SAVE = channel; - - // swap to the VFO - gEeprom.TX_CHANNEL = vfo; - gEeprom.RX_CHANNEL = vfo; + gEeprom.TX_VFO = vfo; + RADIO_SelectVfos(); RADIO_ApplyOffset(gRxVfo); RADIO_ConfigureSquelchAndOutputPower(gRxVfo); RADIO_SetupRegisters(true); - - //SETTINGS_SaveChannel(channel, gEeprom.RX_CHANNEL, gRxVfo, 1); - + + //SETTINGS_SaveChannel(channel, gEeprom.RX_VFO, gRxVfo, 1); + gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; gUpdateStatus = true; @@ -589,7 +602,7 @@ static void MAIN_Key_MENU(const bool bKeyPressed, const bool bKeyHeld) { gBeepToPlay = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; } - + #endif } } @@ -697,7 +710,7 @@ static void MAIN_Key_STAR(bool bKeyPressed, bool bKeyHeld) static void MAIN_Key_UP_DOWN(bool bKeyPressed, bool bKeyHeld, int8_t Direction) { - uint8_t Channel = gEeprom.ScreenChannel[gEeprom.TX_CHANNEL]; + uint8_t Channel = gEeprom.ScreenChannel[gEeprom.TX_VFO]; if (bKeyHeld || !bKeyPressed) { @@ -762,8 +775,8 @@ static void MAIN_Key_UP_DOWN(bool bKeyPressed, bool bKeyHeld, int8_t Direction) if (Channel == Next) return; - gEeprom.MrChannel[gEeprom.TX_CHANNEL] = Next; - gEeprom.ScreenChannel[gEeprom.TX_CHANNEL] = Next; + gEeprom.MrChannel[gEeprom.TX_VFO] = Next; + gEeprom.ScreenChannel[gEeprom.TX_VFO] = Next; if (!bKeyHeld) { @@ -776,9 +789,9 @@ static void MAIN_Key_UP_DOWN(bool bKeyPressed, bool bKeyHeld, int8_t Direction) #ifdef ENABLE_NOAA else { - 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; + Channel = NOAA_CHANNEL_FIRST + NUMBER_AddWithWraparound(gEeprom.ScreenChannel[gEeprom.TX_VFO] - NOAA_CHANNEL_FIRST, Direction, 0, 9); + gEeprom.NoaaChannel[gEeprom.TX_VFO] = Channel; + gEeprom.ScreenChannel[gEeprom.TX_VFO] = Channel; } #endif diff --git a/app/menu.c b/app/menu.c index 7c338ca..45ec8a5 100644 --- a/app/menu.c +++ b/app/menu.c @@ -472,7 +472,7 @@ void MENU_AcceptSetting(void) #if 0 gEeprom.MrChannel[0] = gSubMenuSelection; #else - gEeprom.MrChannel[gEeprom.TX_CHANNEL] = gSubMenuSelection; + gEeprom.MrChannel[gEeprom.TX_VFO] = gSubMenuSelection; #endif gRequestSaveChannel = 2; gVfoConfigureMode = VFO_CONFIGURE_RELOAD; @@ -492,7 +492,7 @@ void MENU_AcceptSetting(void) // save the channel name memset(gTxVfo->Name, 0, sizeof(gTxVfo->Name)); memmove(gTxVfo->Name, edit, 10); - SETTINGS_SaveChannel(gSubMenuSelection, gEeprom.TX_CHANNEL, gTxVfo, 3); + SETTINGS_SaveChannel(gSubMenuSelection, gEeprom.TX_VFO, gTxVfo, 3); gFlagReconfigureVfos = true; return; @@ -921,12 +921,12 @@ void MENU_ShowCurrentSetting(void) #if 0 gSubMenuSelection = gEeprom.MrChannel[0]; #else - gSubMenuSelection = gEeprom.MrChannel[gEeprom.TX_CHANNEL]; + gSubMenuSelection = gEeprom.MrChannel[gEeprom.TX_VFO]; #endif break; case MENU_MEM_NAME: - gSubMenuSelection = gEeprom.MrChannel[gEeprom.TX_CHANNEL]; + gSubMenuSelection = gEeprom.MrChannel[gEeprom.TX_VFO]; break; case MENU_SAVE: @@ -1106,7 +1106,7 @@ void MENU_ShowCurrentSetting(void) #if 0 gSubMenuSelection = RADIO_FindNextChannel(gEeprom.MrChannel[0], 1, false, 1); #else - gSubMenuSelection = RADIO_FindNextChannel(gEeprom.MrChannel[gEeprom.TX_CHANNEL], 1, false, 1); + gSubMenuSelection = RADIO_FindNextChannel(gEeprom.MrChannel[gEeprom.TX_VFO], 1, false, 1); #endif break; diff --git a/app/scanner.c b/app/scanner.c index 9b821c0..b203ad4 100644 --- a/app/scanner.c +++ b/app/scanner.c @@ -250,16 +250,16 @@ static void SCANNER_Key_MENU(bool bKeyPressed, bool bKeyHeld) if (IS_MR_CHANNEL(gTxVfo->CHANNEL_SAVE)) { Channel = gScanChannel; - gEeprom.MrChannel[gEeprom.TX_CHANNEL] = Channel; + gEeprom.MrChannel[gEeprom.TX_VFO] = Channel; } else { Channel = gTxVfo->Band + FREQ_CHANNEL_FIRST; - gEeprom.FreqChannel[gEeprom.TX_CHANNEL] = Channel; + gEeprom.FreqChannel[gEeprom.TX_VFO] = Channel; } gTxVfo->CHANNEL_SAVE = Channel; - gEeprom.ScreenChannel[gEeprom.TX_CHANNEL] = Channel; + gEeprom.ScreenChannel[gEeprom.TX_VFO] = Channel; #ifdef ENABLE_VOICE gAnotherVoiceID = VOICE_ID_CONFIRM; #endif @@ -430,10 +430,10 @@ void SCANNER_Stop(void) { if (IS_MR_CHANNEL(gNextMrChannel)) { - gEeprom.MrChannel[gEeprom.RX_CHANNEL] = gRestoreMrChannel; - gEeprom.ScreenChannel[gEeprom.RX_CHANNEL] = Previous; + gEeprom.MrChannel[gEeprom.RX_VFO] = gRestoreMrChannel; + gEeprom.ScreenChannel[gEeprom.RX_VFO] = Previous; - RADIO_ConfigureChannel(gEeprom.RX_CHANNEL, VFO_CONFIGURE_RELOAD); + RADIO_ConfigureChannel(gEeprom.RX_VFO, VFO_CONFIGURE_RELOAD); } else { @@ -450,7 +450,7 @@ void SCANNER_Stop(void) { RADIO_ApplyOffset(gRxVfo); RADIO_ConfigureSquelchAndOutputPower(gRxVfo); - SETTINGS_SaveChannel(gRxVfo->CHANNEL_SAVE, gEeprom.RX_CHANNEL, gRxVfo, 1); + SETTINGS_SaveChannel(gRxVfo->CHANNEL_SAVE, gEeprom.RX_VFO, gRxVfo, 1); return; } diff --git a/app/uart.c b/app/uart.c index 913b56f..c109419 100644 --- a/app/uart.c +++ b/app/uart.c @@ -385,7 +385,7 @@ static void CMD_052F(const uint8_t *pBuffer) gEeprom.DUAL_WATCH = DUAL_WATCH_OFF; gEeprom.CROSS_BAND_RX_TX = CROSS_BAND_OFF; - gEeprom.RX_CHANNEL = 0; + gEeprom.RX_VFO = 0; gEeprom.DTMF_SIDE_TONE = false; gEeprom.VfoInfo[0].FrequencyReverse = false; gEeprom.VfoInfo[0].pRX = &gEeprom.VfoInfo[0].freq_config_RX; diff --git a/board.c b/board.c index 75733e6..0f58594 100644 --- a/board.c +++ b/board.c @@ -616,7 +616,7 @@ void BOARD_EEPROM_Init(void) #endif gEeprom.ROGER = (Data[1] < 3) ? Data[1] : ROGER_MODE_OFF; gEeprom.REPEATER_TAIL_TONE_ELIMINATION = (Data[2] < 11) ? Data[2] : 0; - gEeprom.TX_CHANNEL = (Data[3] < 2) ? Data[3] : 0; + gEeprom.TX_VFO = (Data[3] < 2) ? Data[3] : 0; // 0ED0..0ED7 EEPROM_ReadBuffer(0x0ED0, Data, 8); diff --git a/firmware.bin b/firmware.bin index ff54babbcadf0b8018a7d105c789420cbb557345..cf62e83a398425f64c2302092759deb277c9b1c2 100644 GIT binary patch delta 6727 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 delta 6650 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 F{{;*76d(Wq diff --git a/firmware.packed.bin b/firmware.packed.bin index 4f30c84459a66227c0cf68e0a670b5b464edbfc5..271d7565959d6d71c4367f6f1f73f451ce58d1bd 100644 GIT binary patch delta 31636 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 P1)g?<)&Q{JVCnw>FKtSa delta 31616 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 diff --git a/main.c b/main.c index b190fce..7df450b 100644 --- a/main.c +++ b/main.c @@ -193,7 +193,7 @@ void Main(void) AUDIO_SetVoiceID(0, VOICE_ID_WELCOME); - Channel = gEeprom.ScreenChannel[gEeprom.TX_CHANNEL]; + Channel = gEeprom.ScreenChannel[gEeprom.TX_VFO]; if (IS_MR_CHANNEL(Channel)) { AUDIO_SetVoiceID(1, VOICE_ID_CHANNEL_MODE); diff --git a/radio.c b/radio.c index 2b3235a..fee7132 100644 --- a/radio.c +++ b/radio.c @@ -517,30 +517,30 @@ void RADIO_ApplyOffset(VFO_Info_t *pInfo) static void RADIO_SelectCurrentVfo(void) { - gCurrentVfo = (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) ? gRxVfo : &gEeprom.VfoInfo[gEeprom.TX_CHANNEL]; + gCurrentVfo = (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) ? gRxVfo : &gEeprom.VfoInfo[gEeprom.TX_VFO]; } void RADIO_SelectVfos(void) { if (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_CHAN_B) - gEeprom.TX_CHANNEL = 1; + gEeprom.TX_VFO = 1; else if (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_CHAN_A) - gEeprom.TX_CHANNEL = 0; + gEeprom.TX_VFO = 0; else if (gEeprom.DUAL_WATCH == DUAL_WATCH_CHAN_B) - gEeprom.TX_CHANNEL = 1; + gEeprom.TX_VFO = 1; else if (gEeprom.DUAL_WATCH == DUAL_WATCH_CHAN_A) - gEeprom.TX_CHANNEL = 0; + gEeprom.TX_VFO = 0; if (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) - gEeprom.RX_CHANNEL = gEeprom.TX_CHANNEL; + gEeprom.RX_VFO = gEeprom.TX_VFO; else - gEeprom.RX_CHANNEL = (gEeprom.TX_CHANNEL == 0) ? 1 : 0; + gEeprom.RX_VFO = (gEeprom.TX_VFO == 0) ? 1 : 0; - gTxVfo = &gEeprom.VfoInfo[gEeprom.TX_CHANNEL]; - gRxVfo = &gEeprom.VfoInfo[gEeprom.RX_CHANNEL]; + gTxVfo = &gEeprom.VfoInfo[gEeprom.TX_VFO]; + gRxVfo = &gEeprom.VfoInfo[gEeprom.RX_VFO]; RADIO_SelectCurrentVfo(); } @@ -878,8 +878,8 @@ void RADIO_SetVfoState(VfoState_t State) } else { - unsigned int chan = (gEeprom.DUAL_WATCH != DUAL_WATCH_OFF && gRxVfoIsActive) ? (gEeprom.RX_CHANNEL + 1) & 1 : gEeprom.RX_CHANNEL; // 1of11 - chan = (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) ? gEeprom.TX_CHANNEL : chan; + unsigned int chan = (gEeprom.DUAL_WATCH != DUAL_WATCH_OFF && gRxVfoIsActive) ? (gEeprom.RX_VFO + 1) & 1 : gEeprom.RX_VFO; // 1of11 + chan = (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) ? gEeprom.TX_VFO : chan; VfoState[chan] = State; } @@ -903,8 +903,8 @@ void RADIO_PrepareTX(void) if (!gRxVfoIsActive) { // use the TX vfo - gEeprom.RX_CHANNEL = gEeprom.TX_CHANNEL; - gRxVfo = &gEeprom.VfoInfo[gEeprom.TX_CHANNEL]; + gEeprom.RX_VFO = gEeprom.TX_VFO; + gRxVfo = &gEeprom.VfoInfo[gEeprom.TX_VFO]; gRxVfoIsActive = true; } diff --git a/settings.c b/settings.c index 2fe9666..8bec24b 100644 --- a/settings.c +++ b/settings.c @@ -133,7 +133,7 @@ void SETTINGS_SaveSettings(void) #endif State[1] = gEeprom.ROGER; State[2] = gEeprom.REPEATER_TAIL_TONE_ELIMINATION; - State[3] = gEeprom.TX_CHANNEL; + State[3] = gEeprom.TX_VFO; EEPROM_WriteBuffer(0x0EA8, State); State[0] = gEeprom.DTMF_SIDE_TONE; diff --git a/settings.h b/settings.h index 8d54f0d..d741138 100644 --- a/settings.h +++ b/settings.h @@ -121,8 +121,8 @@ typedef struct { #ifdef ENABLE_NOAA uint8_t NoaaChannel[2]; #endif - uint8_t RX_CHANNEL; - uint8_t TX_CHANNEL; + uint8_t RX_VFO; + uint8_t TX_VFO; uint8_t field7_0xa; uint8_t field8_0xb; diff --git a/ui/main.c b/ui/main.c index f1acf7d..9b1ee22 100644 --- a/ui/main.c +++ b/ui/main.c @@ -332,8 +332,8 @@ void UI_DisplayMain(void) for (vfo_num = 0; vfo_num < 2; vfo_num++) { const unsigned int line = (vfo_num == 0) ? line0 : line1; - uint8_t channel = gEeprom.TX_CHANNEL; -// uint8_t tx_channel = (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) ? gEeprom.RX_CHANNEL : gEeprom.TX_CHANNEL; + uint8_t channel = gEeprom.TX_VFO; +// uint8_t tx_channel = (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) ? gEeprom.RX_VFO : gEeprom.TX_VFO; const bool same_vfo = (channel == vfo_num) ? true : false; uint8_t *p_line0 = gFrameBuffer[line + 0]; uint8_t *p_line1 = gFrameBuffer[line + 1]; @@ -350,7 +350,7 @@ void UI_DisplayMain(void) } if (gEeprom.DUAL_WATCH != DUAL_WATCH_OFF && gRxVfoIsActive) - channel = gEeprom.RX_CHANNEL; // we're currently monitoring the other VFO + channel = gEeprom.RX_VFO; // we're currently monitoring the other VFO if (channel != vfo_num) { @@ -428,7 +428,7 @@ void UI_DisplayMain(void) else #endif { - channel = (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) ? gEeprom.RX_CHANNEL : gEeprom.TX_CHANNEL; + channel = (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) ? gEeprom.RX_VFO : gEeprom.TX_VFO; if (channel == vfo_num) { // show the TX symbol mode = 1; @@ -446,7 +446,7 @@ void UI_DisplayMain(void) if ((gCurrentFunction == FUNCTION_RECEIVE || gCurrentFunction == FUNCTION_MONITOR || gCurrentFunction == FUNCTION_INCOMING) && - gEeprom.RX_CHANNEL == vfo_num) + gEeprom.RX_VFO == vfo_num) { #ifdef ENABLE_SMALL_BOLD UI_PrintStringSmallBold("RX", 14, 0, line); @@ -459,7 +459,7 @@ void UI_DisplayMain(void) if (IS_MR_CHANNEL(gEeprom.ScreenChannel[vfo_num])) { // channel mode const unsigned int x = 2; - const bool inputting = (gInputBoxIndex == 0 || gEeprom.TX_CHANNEL != vfo_num) ? false : true; + const bool inputting = (gInputBoxIndex == 0 || gEeprom.TX_VFO != vfo_num) ? false : true; if (!inputting) NUMBER_ToDigits(gEeprom.ScreenChannel[vfo_num] + 1, String); // show the memory channel number else @@ -479,7 +479,7 @@ void UI_DisplayMain(void) #ifdef ENABLE_NOAA else { - if (gInputBoxIndex == 0 || gEeprom.TX_CHANNEL != vfo_num) + if (gInputBoxIndex == 0 || gEeprom.TX_VFO != vfo_num) { // channel number sprintf(String, "N%u", 1 + gEeprom.ScreenChannel[vfo_num] - NOAA_CHANNEL_FIRST); } @@ -498,7 +498,7 @@ void UI_DisplayMain(void) #ifdef ENABLE_ALARM if (gCurrentFunction == FUNCTION_TRANSMIT && gAlarmState == ALARM_STATE_ALARM) { - channel = (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) ? gEeprom.RX_CHANNEL : gEeprom.TX_CHANNEL; + channel = (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) ? gEeprom.RX_VFO : gEeprom.TX_VFO; if (channel == vfo_num) state = VFO_STATE_ALARM; } @@ -511,7 +511,7 @@ void UI_DisplayMain(void) UI_PrintString(state_list[state], 31, 0, line, 8); } else - if (gInputBoxIndex > 0 && IS_FREQ_CHANNEL(gEeprom.ScreenChannel[vfo_num]) && gEeprom.TX_CHANNEL == vfo_num) + if (gInputBoxIndex > 0 && IS_FREQ_CHANNEL(gEeprom.ScreenChannel[vfo_num]) && gEeprom.TX_VFO == vfo_num) { // user entering a frequency UI_DisplayFrequency(gInputBox, 32, line, true, false); @@ -522,7 +522,7 @@ void UI_DisplayMain(void) uint32_t frequency = gEeprom.VfoInfo[vfo_num].pRX->Frequency; if (gCurrentFunction == FUNCTION_TRANSMIT) { // transmitting - channel = (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) ? gEeprom.RX_CHANNEL : gEeprom.TX_CHANNEL; + channel = (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) ? gEeprom.RX_VFO : gEeprom.TX_VFO; if (channel == vfo_num) frequency = gEeprom.VfoInfo[vfo_num].pTX->Frequency; } @@ -722,14 +722,14 @@ void UI_DisplayMain(void) #endif #if defined(ENABLE_AM_FIX) && defined(ENABLE_AM_FIX_SHOW_DATA) - if (rx && gEeprom.VfoInfo[gEeprom.RX_CHANNEL].AM_mode && gSetting_AM_fix) + if (rx && gEeprom.VfoInfo[gEeprom.RX_VFO].AM_mode && gSetting_AM_fix) { if (gScreenToDisplay != DISPLAY_MAIN || gDTMF_CallState != DTMF_CALL_STATE_NONE) return; center_line = CENTER_LINE_AM_FIX_DATA; - AM_fix_print_data(gEeprom.RX_CHANNEL, String); + AM_fix_print_data(gEeprom.RX_VFO, String); UI_PrintStringSmall(String, 2, 0, 3); } else @@ -739,7 +739,7 @@ void UI_DisplayMain(void) if (rx) { center_line = CENTER_LINE_RSSI; - UI_DisplayRSSIBar(gCurrentRSSI[gEeprom.RX_CHANNEL], false); + UI_DisplayRSSIBar(gCurrentRSSI[gEeprom.RX_VFO], false); } else #endif