From 8ce02a37a9551eca3bf9715ce1cde6b85499a778 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 28 Sep 2023 23:32:08 +0100 Subject: [PATCH] Removed duplicate AM flag (IsAM) --- app/app.c | 10 +++---- app/menu.c | 10 +++---- audio.c | 9 ++---- firmware.bin | Bin 57816 -> 57816 bytes firmware.packed.bin | Bin 57834 -> 57834 bytes functions.c | 2 +- radio.c | 67 ++++++++++++++++++++++---------------------- radio.h | 3 +- settings.c | 2 +- ui/main.c | 4 +-- 10 files changed, 51 insertions(+), 56 deletions(-) diff --git a/app/app.c b/app/app.c index 0269301..b6f95d2 100644 --- a/app/app.c +++ b/app/app.c @@ -71,7 +71,7 @@ static void updateRSSI(const int vfo) #ifdef ENABLE_AM_FIX // add RF gain adjust compensation - if (gEeprom.VfoInfo[vfo].IsAM && gSetting_AM_fix) + if (gEeprom.VfoInfo[vfo].AM_mode && gSetting_AM_fix) rssi -= rssi_gain_diff[vfo]; #endif @@ -433,7 +433,7 @@ void APP_StartListening(FUNCTION_Type_t Function, const bool reset_am_fix) #endif #ifdef ENABLE_AM_FIX - if (gEeprom.VfoInfo[gEeprom.RX_CHANNEL].IsAM && reset_am_fix) + if (gEeprom.VfoInfo[gEeprom.RX_CHANNEL].AM_mode && reset_am_fix) AM_fix_reset(gEeprom.RX_CHANNEL); // TODO: only reset it when moving channel/frequency #endif @@ -505,7 +505,7 @@ void APP_StartListening(FUNCTION_Type_t Function, const bool reset_am_fix) uint8_t mixer = orig_mixer; uint8_t pga = orig_pga; - if (gRxVfo->IsAM) + if (gRxVfo->AM_mode) { // AM /* #ifndef ENABLE_AM_FIX @@ -553,7 +553,7 @@ void APP_StartListening(FUNCTION_Type_t Function, const bool reset_am_fix) #ifdef ENABLE_VOICE if (gVoiceWriteIndex == 0) #endif - BK4819_SetAF(gRxVfo->IsAM ? BK4819_AF_AM : BK4819_AF_OPEN); + BK4819_SetAF(gRxVfo->AM_mode ? BK4819_AF_AM : BK4819_AF_OPEN); FUNCTION_Select(Function); @@ -1351,7 +1351,7 @@ void APP_TimeSlice10ms(void) #endif #ifdef ENABLE_AM_FIX - if (gEeprom.VfoInfo[gEeprom.RX_CHANNEL].IsAM && gSetting_AM_fix) + if (gEeprom.VfoInfo[gEeprom.RX_CHANNEL].AM_mode && gSetting_AM_fix) AM_fix_10ms(gEeprom.RX_CHANNEL); #endif diff --git a/app/menu.c b/app/menu.c index 3e10e41..0892870 100644 --- a/app/menu.c +++ b/app/menu.c @@ -625,8 +625,8 @@ void MENU_AcceptSetting(void) break; case MENU_AM: - gTxVfo->AM_CHANNEL_MODE = gSubMenuSelection; - gRequestSaveChannel = 1; + gTxVfo->AM_mode = gSubMenuSelection; + gRequestSaveChannel = 1; return; #ifdef ENABLE_AM_FIX @@ -1013,7 +1013,7 @@ void MENU_ShowCurrentSetting(void) break; case MENU_AM: - gSubMenuSelection = gTxVfo->AM_CHANNEL_MODE; + gSubMenuSelection = gTxVfo->AM_mode; break; #ifdef ENABLE_AM_FIX @@ -1459,9 +1459,9 @@ static void MENU_Key_STAR(const bool bKeyPressed, const bool bKeyHeld) RADIO_SelectVfos(); #ifdef ENABLE_NOAA - if (IS_NOT_NOAA_CHANNEL(gRxVfo->CHANNEL_SAVE) && !gRxVfo->IsAM) + if (IS_NOT_NOAA_CHANNEL(gRxVfo->CHANNEL_SAVE) && gRxVfo->AM_mode == 0) #else - if (!gRxVfo->IsAM) + if (gRxVfo->AM_mode == 0) #endif { if (gMenuCursor == MENU_R_CTCS || gMenuCursor == MENU_R_DCS) diff --git a/audio.c b/audio.c index 79006a4..14de43d 100644 --- a/audio.c +++ b/audio.c @@ -267,7 +267,7 @@ void AUDIO_PlayBeep(BEEP_Type_t Beep) if (gCurrentFunction == FUNCTION_RECEIVE || gCurrentFunction == FUNCTION_MONITOR) { - if (gRxVfo->IsAM) + if (gRxVfo->AM_mode) BK4819_SetAF(BK4819_AF_AM); else BK4819_SetAF(BK4819_AF_OPEN); @@ -403,12 +403,7 @@ void AUDIO_PlayBeep(BEEP_Type_t Beep) } if (gCurrentFunction == FUNCTION_RECEIVE || gCurrentFunction == FUNCTION_MONITOR) - { - if (gRxVfo->IsAM) - BK4819_SetAF(BK4819_AF_AM); - else - BK4819_SetAF(BK4819_AF_OPEN); - } + BK4819_SetAF(gRxVfo->AM_mode ? BK4819_AF_AM : BK4819_AF_OPEN); #ifdef ENABLE_FMRADIO if (gFmRadioMode) diff --git a/firmware.bin b/firmware.bin index 1106721840dce09a84fb932e5fd59f9e603bf524..137053372d7239b0f26a4e2d42701529bb12e92b 100644 GIT binary patch delta 3472 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 delta 5840 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 ? CODE_TYPE_OFF : gRxVfo->pRX->CodeType; + gCurrentCodeType = gRxVfo->AM_mode ? CODE_TYPE_OFF : gRxVfo->pRX->CodeType; } #ifdef ENABLE_NOAA else diff --git a/radio.c b/radio.c index c8ec9f8..8d90251 100644 --- a/radio.c +++ b/radio.c @@ -33,6 +33,7 @@ #include "misc.h" #include "radio.h" #include "settings.h" +#include "ui/menu.h" VFO_Info_t *gTxVfo; VFO_Info_t *gRxVfo; @@ -135,10 +136,7 @@ void RADIO_InitInfo(VFO_Info_t *pInfo, uint8_t ChannelSave, uint8_t Band, uint32 #endif if (ChannelSave == (FREQ_CHANNEL_FIRST + BAND2_108MHz)) - { - pInfo->AM_CHANNEL_MODE = true; - pInfo->IsAM = true; - } + pInfo->AM_mode = 1; RADIO_ConfigureSquelchAndOutputPower(pInfo); } @@ -220,8 +218,8 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure Band = Attributes & MR_CH_BAND_MASK; if (Band > BAND7_470MHz) { -// Band = BAND6_400MHz; - Band = FREQUENCY_GetBand(gEeprom.ScreenChannel[VFO]); // 111 bug fix, or have I broke it ? + Band = BAND6_400MHz; +// Band = FREQUENCY_GetBand(gEeprom.ScreenChannel[VFO]); // 1of11 bug fix, or have I broke it ? } if (IS_MR_CHANNEL(Channel)) @@ -251,13 +249,15 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure uint8_t Tmp; uint8_t Data[8]; + // *************** + EEPROM_ReadBuffer(Base + 8, Data, sizeof(Data)); Tmp = Data[3] & 0x0F; - if (Tmp > 2) + if (Tmp > TX_OFFSET_FREQUENCY_DIRECTION_SUB) Tmp = 0; gEeprom.VfoInfo[VFO].TX_OFFSET_FREQUENCY_DIRECTION = Tmp; - gEeprom.VfoInfo[VFO].AM_CHANNEL_MODE = !!(Data[3] & 0x10); + gEeprom.VfoInfo[VFO].AM_mode = (Data[3] >> 4) & 1u; Tmp = Data[6]; if (Tmp >= ARRAY_SIZE(StepFrequencyTable)) @@ -266,7 +266,7 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure gEeprom.VfoInfo[VFO].StepFrequency = StepFrequencyTable[Tmp]; Tmp = Data[7]; - if (Tmp > 10) + if (Tmp > (ARRAY_SIZE(gSubMenu_SCRAMBLER) - 1)) Tmp = 0; gEeprom.VfoInfo[VFO].SCRAMBLING_TYPE = Tmp; @@ -283,13 +283,13 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure break; case CODE_TYPE_CONTINUOUS_TONE: - if (Tmp >= 50) + if (Tmp > (ARRAY_SIZE(CTCSS_Options) - 1)) Tmp = 0; break; case CODE_TYPE_DIGITAL: case CODE_TYPE_REVERSE_DIGITAL: - if (Tmp >= 104) + if (Tmp > (ARRAY_SIZE(DCS_Options) - 1)) Tmp = 0; break; } @@ -305,13 +305,13 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure break; case CODE_TYPE_CONTINUOUS_TONE: - if (Tmp >= 50) + if (Tmp > (ARRAY_SIZE(CTCSS_Options) - 1)) Tmp = 0; break; case CODE_TYPE_DIGITAL: case CODE_TYPE_REVERSE_DIGITAL: - if (Tmp >= 104) + if (Tmp > (ARRAY_SIZE(DCS_Options) - 1)) Tmp = 0; break; } @@ -344,6 +344,8 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure gEeprom.VfoInfo[VFO].DTMF_PTT_ID_TX_MODE = ((Data[5] >> 1) & 3u); } + // *************** + struct { uint32_t Frequency; @@ -357,6 +359,8 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure if (Info.Offset >= 100000000) Info.Offset = 1000000; gEeprom.VfoInfo[VFO].TX_OFFSET_FREQUENCY = Info.Offset; + + // *************** } Frequency = pRadio->freq_config_RX.Frequency; @@ -410,16 +414,13 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure pConfig->Frequency = 43300000; } - if (gEeprom.VfoInfo[VFO].AM_CHANNEL_MODE) - { - gEeprom.VfoInfo[VFO].IsAM = true; - gEeprom.VfoInfo[VFO].SCRAMBLING_TYPE = 0; - gEeprom.VfoInfo[VFO].DTMF_DECODING_ENABLE = false; - gEeprom.VfoInfo[VFO].freq_config_RX.CodeType = CODE_TYPE_OFF; - gEeprom.VfoInfo[VFO].freq_config_TX.CodeType = CODE_TYPE_OFF; + if (gEeprom.VfoInfo[VFO].AM_mode) + { // freq/chan is in AM mode + gEeprom.VfoInfo[VFO].SCRAMBLING_TYPE = 0; + gEeprom.VfoInfo[VFO].DTMF_DECODING_ENABLE = false; // no reason to disable DTMF decoding, aircraft use DTMF on SSB + gEeprom.VfoInfo[VFO].freq_config_RX.CodeType = CODE_TYPE_OFF; + gEeprom.VfoInfo[VFO].freq_config_TX.CodeType = CODE_TYPE_OFF; } - else - gEeprom.VfoInfo[VFO].IsAM = false; #ifdef ENABLE_COMPANDER gEeprom.VfoInfo[VFO].Compander = (Attributes & MR_CH_COMPAND) >> 4; @@ -591,7 +592,7 @@ void RADIO_SetupRegisters(bool bSwitchToFunction0) case BK4819_FILTER_BW_WIDE: case BK4819_FILTER_BW_NARROW: #ifdef ENABLE_AM_FIX -// BK4819_SetFilterBandwidth(Bandwidth, gRxVfo->IsAM && gSetting_AM_fix); +// BK4819_SetFilterBandwidth(Bandwidth, gRxVfo->AM_mode && gSetting_AM_fix); BK4819_SetFilterBandwidth(Bandwidth, false); #else BK4819_SetFilterBandwidth(Bandwidth, false); @@ -647,7 +648,7 @@ void RADIO_SetupRegisters(bool bSwitchToFunction0) if (IS_NOT_NOAA_CHANNEL(gRxVfo->CHANNEL_SAVE)) #endif { - if (!gRxVfo->IsAM) + if (gRxVfo->AM_mode == 0) { uint8_t CodeType = gSelectedCodeType; uint8_t Code = gSelectedCode; @@ -722,15 +723,15 @@ void RADIO_SetupRegisters(bool bSwitchToFunction0) #ifdef ENABLE_NOAA #ifdef ENABLE_FMRADIO - if (gEeprom.VOX_SWITCH && !gFmRadioMode && IS_NOT_NOAA_CHANNEL(gCurrentVfo->CHANNEL_SAVE) && !gCurrentVfo->IsAM) + if (gEeprom.VOX_SWITCH && !gFmRadioMode && IS_NOT_NOAA_CHANNEL(gCurrentVfo->CHANNEL_SAVE) && gCurrentVfo->AM_mode == 0) #else - if (gEeprom.VOX_SWITCH && IS_NOT_NOAA_CHANNEL(gCurrentVfo->CHANNEL_SAVE) && !gCurrentVfo->IsAM) + if (gEeprom.VOX_SWITCH && IS_NOT_NOAA_CHANNEL(gCurrentVfo->CHANNEL_SAVE) && gCurrentVfo->AM_mode == 0) #endif #else #ifdef ENABLE_FMRADIO - if (gEeprom.VOX_SWITCH && !gFmRadioMode && !gCurrentVfo->IsAM) + if (gEeprom.VOX_SWITCH && !gFmRadioMode && gCurrentVfo->AM_mode == 0) #else - if (gEeprom.VOX_SWITCH && !gCurrentVfo->IsAM) + if (gEeprom.VOX_SWITCH && gCurrentVfo->AM_mode == 0) #endif #endif { @@ -742,13 +743,13 @@ void RADIO_SetupRegisters(bool bSwitchToFunction0) #ifdef ENABLE_COMPANDER // RX expander - BK4819_SetCompander((!gRxVfo->IsAM && gRxVfo->Compander >= 2) ? gRxVfo->Compander : 0); + BK4819_SetCompander((gRxVfo->AM_mode == 0 && gRxVfo->Compander >= 2) ? gRxVfo->Compander : 0); #endif #if 0 // there's no reason the DTMF decoder can't be used in AM RX mode too // aircraft comms use it on HF (AM and SSB) - if (gRxVfo->IsAM || (!gRxVfo->DTMF_DECODING_ENABLE && !gSetting_KILLED)) + if (gRxVfo->AM_mode || (!gRxVfo->DTMF_DECODING_ENABLE && !gSetting_KILLED)) { BK4819_DisableDTMF(); } @@ -841,7 +842,7 @@ void RADIO_SetTxParameters(void) case BK4819_FILTER_BW_WIDE: case BK4819_FILTER_BW_NARROW: #ifdef ENABLE_AM_FIX -// BK4819_SetFilterBandwidth(Bandwidth, gCurrentVfo->IsAM && gSetting_AM_fix); +// BK4819_SetFilterBandwidth(Bandwidth, gCurrentVfo->AM_mode && gSetting_AM_fix); BK4819_SetFilterBandwidth(Bandwidth, false); #else BK4819_SetFilterBandwidth(Bandwidth, false); @@ -853,7 +854,7 @@ void RADIO_SetTxParameters(void) #ifdef ENABLE_COMPANDER // TX compressor - BK4819_SetCompander((!gRxVfo->IsAM && (gRxVfo->Compander == 1 || gRxVfo->Compander >= 3)) ? gRxVfo->Compander : 0); + BK4819_SetCompander((gRxVfo->AM_mode == 0 && (gRxVfo->Compander == 1 || gRxVfo->Compander >= 3)) ? gRxVfo->Compander : 0); #endif BK4819_PrepareTransmit(); @@ -953,7 +954,7 @@ void RADIO_PrepareTX(void) #endif { #ifndef ENABLE_TX_WHEN_AM - if (gCurrentVfo->IsAM) + if (gCurrentVfo->AM_mode) { // not allowed to TX if in AM mode State = VFO_STATE_TX_DISABLE; } diff --git a/radio.h b/radio.h index 70b39a6..1b85136 100644 --- a/radio.h +++ b/radio.h @@ -136,8 +136,7 @@ typedef struct VFO_Info_t uint8_t BUSY_CHANNEL_LOCK; - uint8_t AM_CHANNEL_MODE; - bool IsAM; + uint8_t AM_mode; #ifdef ENABLE_COMPANDER uint8_t Compander; diff --git a/settings.c b/settings.c index 56cd405..e0203a7 100644 --- a/settings.c +++ b/settings.c @@ -208,7 +208,7 @@ void SETTINGS_SaveChannel(uint8_t Channel, uint8_t VFO, const VFO_Info_t *pVFO, State[0] = pVFO->freq_config_RX.Code; State[1] = pVFO->freq_config_TX.Code; State[2] = (pVFO->freq_config_TX.CodeType << 4) | pVFO->freq_config_RX.CodeType; - State[3] = (pVFO->AM_CHANNEL_MODE << 4) | pVFO->TX_OFFSET_FREQUENCY_DIRECTION; + State[3] = ((pVFO->AM_mode & 1u) << 4) | pVFO->TX_OFFSET_FREQUENCY_DIRECTION; State[4] = 0 | (pVFO->BUSY_CHANNEL_LOCK << 4) | (pVFO->OUTPUT_POWER << 2) diff --git a/ui/main.c b/ui/main.c index b8ddb13..5259389 100644 --- a/ui/main.c +++ b/ui/main.c @@ -467,7 +467,7 @@ void UI_DisplayMain(void) // ************ String[0] = '\0'; - if (gEeprom.VfoInfo[vfo_num].IsAM) + if (gEeprom.VfoInfo[vfo_num].AM_mode) { // show the AM symbol strcpy(String, "AM"); } @@ -526,7 +526,7 @@ void UI_DisplayMain(void) { // we're free to use the middle empty line for something #if defined(ENABLE_AM_FIX) && defined(ENABLE_AM_FIX_SHOW_DATA) - if (gSetting_AM_fix && gEeprom.VfoInfo[gEeprom.RX_CHANNEL].IsAM) + if (gSetting_AM_fix && gEeprom.VfoInfo[gEeprom.RX_CHANNEL].AM_mode) { switch (gCurrentFunction) {