From 737e5ac8e273af4451c898f7a22fbc212d1cd140 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Tue, 19 Sep 2023 17:30:12 +0100 Subject: [PATCH] Compander setting now saved into each channel --- README.md | 2 +- app/menu.c | 2 +- bitmaps.c | 16 ++++++++++++++-- bitmaps.h | 4 ++++ firmware | Bin 165560 -> 165624 bytes firmware.bin | Bin 49668 -> 49748 bytes firmware.packed.bin | Bin 49686 -> 49766 bytes radio.c | 24 ++++++++++++++++-------- radio.h | 9 ++++++--- settings.c | 29 ++++++++++++++++++----------- settings.h | 2 +- ui/main.c | 44 ++++++++++++++++++++++++++++---------------- 12 files changed, 89 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 3fc5a67..c3fe87e 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ ENABLE_TX_WHEN_AM := 0 allow TX (always FM) when RX is set to ENABLE_CTCSS_TAIL_PHASE_SHIFT := 1 standard CTCSS tail phase shift rather than QS's own 55Hz tone method ENABLE_MAIN_KEY_HOLD := 1 initial F-key press not needed, instead hold down keys 0-9 to access the functions ENABLE_BOOT_BEEPS := 0 give user audio feedback on volume knob position at boot-up -ENABLE_COMPANDER := 1 compander option - setting not yet saved (per channel) +ENABLE_COMPANDER := 1 compander option (per channel) ENABLE_SHOW_CHARGE_LEVEL := 1 show the charge level when the radio is on charge ENABLE_REVERSE_BAT_SYMBOL := 1 mirror the battery symbol on the status bar (+ pole on the right) ENABLE_STATUSBAR_VOLTAGE := 0 show the battery voltage on the top status bar - when possible diff --git a/app/menu.c b/app/menu.c index e170330..2f5ebf6 100644 --- a/app/menu.c +++ b/app/menu.c @@ -578,7 +578,7 @@ void MENU_AcceptSetting(void) #ifdef ENABLE_COMPANDER case MENU_COMPAND: gTxVfo->Compander = gSubMenuSelection; - //gRequestSaveChannel = 2; + gRequestSaveChannel = 2; return; #endif diff --git a/bitmaps.c b/bitmaps.c index a346eee..9ee4004 100644 --- a/bitmaps.c +++ b/bitmaps.c @@ -539,7 +539,7 @@ const uint8_t BITMAP_ScanList[6] = }; */ const uint8_t BITMAP_ScanList1[6] = -{ // 1 symbol +{ // 'I' symbol 0b00000000, 0b00000000, 0b01000010, @@ -549,7 +549,7 @@ const uint8_t BITMAP_ScanList1[6] = }; const uint8_t BITMAP_ScanList2[6] = -{ // 2 symbol +{ // 'II' symbol 0b00000000, 0b01000010, 0b01111110, @@ -557,3 +557,15 @@ const uint8_t BITMAP_ScanList2[6] = 0b01111110, 0b01000010 }; + +#ifdef ENABLE_COMPANDER + const uint8_t BITMAP_compand[6] = + { + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00100100 + }; +#endif diff --git a/bitmaps.h b/bitmaps.h index 7109758..987bed7 100644 --- a/bitmaps.h +++ b/bitmaps.h @@ -60,5 +60,9 @@ extern const uint8_t BITMAP_VFO_NotDefault[8]; extern const uint8_t BITMAP_ScanList1[6]; extern const uint8_t BITMAP_ScanList2[6]; +#ifdef ENABLE_COMPANDER + extern const uint8_t BITMAP_compand[6]; +#endif + #endif diff --git a/firmware b/firmware index fd2385509537f9f851362c2ac2ce4bf232e8781c..f9358c328e22031f3c153070baff7c00d1563c08 100644 GIT binary patch delta 18477 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�OrUIaScQRMBR8U7a7l%MA+iY( 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 ajY*nSB%Fz%efr)uCS}Ii(;v1mi30$g^t(a; diff --git a/firmware.bin b/firmware.bin index 44448d0ed7892838d30c253c5e59b03279a810e6..080ccf74663105a3d078a3b197f84bb86e11d231 100644 GIT binary patch delta 7622 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 diff --git a/firmware.packed.bin b/firmware.packed.bin index 89bde94c30562a205aea97b9c144fd810f9b12c4..41d3ed12fcb5f6d63f2641af7cb7ddcf317e1cfa 100644 GIT binary patch delta 20806 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 Bncn~a delta 20726 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 vKny4fgw4O`v)`UmCH3puV-F9;T5<(G! diff --git a/radio.c b/radio.c index 461ffc8..ceba43c 100644 --- a/radio.c +++ b/radio.c @@ -48,7 +48,8 @@ STEP_Setting_t gStepSetting; VfoState_t VfoState[2]; bool RADIO_CheckValidChannel(uint16_t Channel, bool bCheckScanList, uint8_t VFO) -{ +{ // return true if the channel appears valid + uint8_t Attributes; uint8_t PriorityCh1; uint8_t PriorityCh2; @@ -56,8 +57,8 @@ bool RADIO_CheckValidChannel(uint16_t Channel, bool bCheckScanList, uint8_t VFO) if (!IS_MR_CHANNEL(Channel)) return false; - // Check channel is valid Attributes = gMR_ChannelAttributes[Channel]; + if ((Attributes & MR_CH_BAND_MASK) > BAND7_470MHz) return false; @@ -177,8 +178,9 @@ void RADIO_ConfigureChannel(uint8_t VFO, uint32_t Arg) if (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) return; - gUpdateStatus = true; gEeprom.CROSS_BAND_RX_TX = CROSS_BAND_OFF; + + gUpdateStatus = true; return; } #endif @@ -203,7 +205,8 @@ void RADIO_ConfigureChannel(uint8_t VFO, uint32_t Arg) Attributes = gMR_ChannelAttributes[Channel]; if (Attributes == 0xFF) - { + { // invalid/unused channel + uint8_t Index; if (IS_MR_CHANNEL(Channel)) @@ -220,8 +223,11 @@ void RADIO_ConfigureChannel(uint8_t VFO, uint32_t Arg) Band = Attributes & MR_CH_BAND_MASK; if (Band > BAND7_470MHz) - Band = BAND6_400MHz; - + { +// Band = BAND6_400MHz; + Band = FREQUENCY_GetBand(gEeprom.ScreenChannel[VFO]); // 111 bug fix, or have I broke it ? + } + if (IS_MR_CHANNEL(Channel)) { gEeprom.VfoInfo[VFO].Band = Band; @@ -349,7 +355,9 @@ void RADIO_ConfigureChannel(uint8_t VFO, uint32_t Arg) } __attribute__((packed)) Info; EEPROM_ReadBuffer(Base, &Info, sizeof(Info)); + pRadio->ConfigRX.Frequency = Info.Frequency; + if (Info.Offset >= 100000000) Info.Offset = 1000000; gEeprom.VfoInfo[VFO].TX_OFFSET_FREQUENCY = Info.Offset; @@ -418,7 +426,7 @@ void RADIO_ConfigureChannel(uint8_t VFO, uint32_t Arg) gEeprom.VfoInfo[VFO].IsAM = false; #ifdef ENABLE_COMPANDER - gEeprom.VfoInfo[VFO].Compander = 0; // off + gEeprom.VfoInfo[VFO].Compander = (Attributes & MR_CH_COMPAND) >> 4; #endif RADIO_ConfigureSquelchAndOutputPower(pRadio); @@ -465,7 +473,7 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) Txp[1], Txp[2], LowerLimitFrequencyBandTable[Band], - MiddleFrequencyBandTable[Band], + MiddleFrequencyBandTable[Band], UpperLimitFrequencyBandTable[Band], pInfo->pTX->Frequency); } diff --git a/radio.h b/radio.h index a9dad79..d2ac398 100644 --- a/radio.h +++ b/radio.h @@ -23,9 +23,12 @@ #include "dcs.h" enum { - MR_CH_SCANLIST1 = (1u << 7), - MR_CH_SCANLIST2 = (1u << 6), - MR_CH_BAND_MASK = 0x0Fu + MR_CH_BAND_MASK = 0x0F << 0, + #ifdef ENABLE_COMPANDER + MR_CH_COMPAND = 3u << 4, // new + #endif + MR_CH_SCANLIST2 = 1u << 6, + MR_CH_SCANLIST1 = 1u << 7 }; enum { diff --git a/settings.c b/settings.c index 212c59d..77d3c79 100644 --- a/settings.c +++ b/settings.c @@ -229,7 +229,7 @@ void SETTINGS_SaveChannel(uint8_t Channel, uint8_t VFO, const VFO_Info_t *pVFO, } } -void SETTINGS_UpdateChannel(uint8_t Channel, const VFO_Info_t *pVFO, bool bUpdate) +void SETTINGS_UpdateChannel(uint8_t Channel, const VFO_Info_t *pVFO, bool keep) { UART_LogSend("svalid\r\n", 8); @@ -238,32 +238,39 @@ void SETTINGS_UpdateChannel(uint8_t Channel, const VFO_Info_t *pVFO, bool bUpdat #endif { uint8_t State[8]; - uint8_t Attributes = 0xFF; - uint16_t Offset = 0x0D60 + (Channel & ~7U); + uint8_t Attributes = 0xFF; // default attributes + #ifdef ENABLE_COMPANDER + Attributes &= ~MR_CH_COMPAND; // default to '0' = compander disabled + #endif + uint16_t Offset = 0x0D60 + (Channel & ~7u); EEPROM_ReadBuffer(Offset, State, sizeof(State)); - if (bUpdate) + if (keep) { - Attributes = (pVFO->SCANLIST1_PARTICIPATION << 7) | (pVFO->SCANLIST2_PARTICIPATION << 6) | (pVFO->Band << 0); - if (State[Channel & 7U] == Attributes) - return; + #ifdef ENABLE_COMPANDER + Attributes = (pVFO->SCANLIST1_PARTICIPATION << 7) | (pVFO->SCANLIST2_PARTICIPATION << 6) | (pVFO->Compander << 4) | (pVFO->Band << 0); + #else + Attributes = (pVFO->SCANLIST1_PARTICIPATION << 7) | (pVFO->SCANLIST2_PARTICIPATION << 6) | (pVFO->Band << 0); + #endif + if (State[Channel & 7u] == Attributes) + return; // no change in the attributes } - State[Channel & 7U] = Attributes; + State[Channel & 7u] = Attributes; EEPROM_WriteBuffer(Offset, State); gMR_ChannelAttributes[Channel] = Attributes; - #ifndef KEEP_MEM_NAME - if (IS_MR_CHANNEL(Channel)) +// #ifndef KEEP_MEM_NAME + if (IS_MR_CHANNEL(Channel) && !keep) { // clear/reset the channel name const uint16_t OffsetMR = Channel * 16; memset(&State, 0xFF, sizeof(State)); EEPROM_WriteBuffer(0x0F50 + OffsetMR, State); EEPROM_WriteBuffer(0x0F58 + OffsetMR, State); } - #endif +// #endif } } diff --git a/settings.h b/settings.h index 0db016f..3b94b8c 100644 --- a/settings.h +++ b/settings.h @@ -235,6 +235,6 @@ extern EEPROM_Config_t gEeprom; void SETTINGS_SaveVfoIndices(void); void SETTINGS_SaveSettings(void); void SETTINGS_SaveChannel(uint8_t Channel, uint8_t VFO, const VFO_Info_t *pVFO, uint8_t Mode); -void SETTINGS_UpdateChannel(uint8_t Channel, const VFO_Info_t *pVFO, bool bUpdate); +void SETTINGS_UpdateChannel(uint8_t Channel, const VFO_Info_t *pVFO, bool keep); #endif diff --git a/ui/main.c b/ui/main.c index 29f3bc2..eeb110e 100644 --- a/ui/main.c +++ b/ui/main.c @@ -244,22 +244,19 @@ void UI_DisplayMain(void) if (IS_MR_CHANNEL(gEeprom.ScreenChannel[vfo_num])) { // channel mode - // show the scanlist symbols - const uint8_t Attributes = gMR_ChannelAttributes[gEeprom.ScreenChannel[vfo_num]]; -// #ifdef ENABLE_BIG_FREQ - // side-by-side - if (Attributes & MR_CH_SCANLIST1) - memmove(pLine0 + 113, BITMAP_ScanList1, sizeof(BITMAP_ScanList1)); - if (Attributes & MR_CH_SCANLIST2) - memmove(pLine0 + 120, BITMAP_ScanList2, sizeof(BITMAP_ScanList2)); -// #else -// // top-bottom .. makes room for full 10 characters of channel name -// if (Attributes & MR_CH_SCANLIST1) -// memmove(pLine0 + 120, BITMAP_ScanList1, sizeof(BITMAP_ScanList1)); -// if (Attributes & MR_CH_SCANLIST2) -// memmove(pLine0 + 120 + LCD_WIDTH, BITMAP_ScanList2, sizeof(BITMAP_ScanList2)); -// #endif - + // show the channel symbols + const uint8_t attributes = gMR_ChannelAttributes[gEeprom.ScreenChannel[vfo_num]]; + if (attributes & MR_CH_SCANLIST1) + memmove(pLine0 + 113, BITMAP_ScanList1, sizeof(BITMAP_ScanList1)); + if (attributes & MR_CH_SCANLIST2) + memmove(pLine0 + 120, BITMAP_ScanList2, sizeof(BITMAP_ScanList2)); + #ifndef ENABLE_BIG_FREQ + #ifdef ENABLE_COMPANDER + if ((attributes & MR_CH_COMPAND) > 0) + memmove(pLine0 + 120 + LCD_WIDTH, BITMAP_compand, sizeof(BITMAP_compand)); + #endif + #endif + switch (gEeprom.CHANNEL_DISPLAY_MODE) { case MDF_FREQUENCY: // show the channel frequency @@ -327,6 +324,21 @@ void UI_DisplayMain(void) sprintf(String, "%03u.%05u", frequency / 100000, frequency % 100000); UI_PrintString(String, 32, 0, Line, 8); #endif + + // show the channel symbols + const uint8_t attributes = gMR_ChannelAttributes[gEeprom.ScreenChannel[vfo_num]]; + (void)attributes; // stop compiler warning/error + #ifdef ENABLE_BIG_FREQ + #ifdef ENABLE_COMPANDER + if ((attributes & MR_CH_COMPAND) > 0) + memmove(pLine0 + 120, BITMAP_compand, sizeof(BITMAP_compand)); + #endif + #else + #ifdef ENABLE_COMPANDER + if ((attributes & MR_CH_COMPAND) > 0) + memmove(pLine0 + 120 + LCD_WIDTH, BITMAP_compand, sizeof(BITMAP_compand)); + #endif + #endif } }