Test adding new mods
Some checks failed
Build Firmware / build (push) Has been cancelled

This commit is contained in:
2025-11-12 22:28:21 +01:00
parent 5416c3a041
commit feff689e33
10 changed files with 73 additions and 19 deletions

View File

@@ -394,9 +394,7 @@ endif
ifeq ($(ENABLE_REDUCE_LOW_MID_TX_POWER),1) ifeq ($(ENABLE_REDUCE_LOW_MID_TX_POWER),1)
CFLAGS += -DENABLE_REDUCE_LOW_MID_TX_POWER CFLAGS += -DENABLE_REDUCE_LOW_MID_TX_POWER
endif endif
ifeq ($(ENABLE_BYP_RAW_DEMODULATORS),1)
CFLAGS += -DENABLE_BYP_RAW_DEMODULATORS
endif
ifeq ($(ENABLE_BLMIN_TMP_OFF),1) ifeq ($(ENABLE_BLMIN_TMP_OFF),1)
CFLAGS += -DENABLE_BLMIN_TMP_OFF CFLAGS += -DENABLE_BLMIN_TMP_OFF
endif endif

View File

@@ -223,9 +223,10 @@ void MSG_ConfigureFSK(bool rx) {
(1U << 15) | (1U << 14) | (1U << 8)); (1U << 15) | (1U << 14) | (1U << 8));
} else { } else {
BK4819_WriteRegister(BK4819_REG_2B, (1u << 2) | (1u << 0)); //BK4819_WriteRegister(BK4819_REG_2B, (1u << 2) | (1u << 0));
} }
// set the FM deviation level // set the FM deviation level
const uint16_t dev_val = BK4819_ReadRegister(BK4819_REG_40); const uint16_t dev_val = BK4819_ReadRegister(BK4819_REG_40);
@@ -257,7 +258,10 @@ void MSG_ConfigureFSK(bool rx) {
deviation = 750; // safe fallback deviation = 750; // safe fallback
break; break;
} }
if (gCurrentVfo->CHANNEL_BANDWIDTH == BK4819_FILTER_BW_FSK_OFFLOAD) {
BK4819_WriteRegister(BK4819_REG_40, (dev_val & 0xf000) | (deviation & 0x0fff)); BK4819_WriteRegister(BK4819_REG_40, (dev_val & 0xf000) | (deviation & 0x0fff));
}
// restore FM deviation level // restore FM deviation level
//BK4819_WriteRegister(BK4819_REG_40, dev_val); //BK4819_WriteRegister(BK4819_REG_40, dev_val);

View File

@@ -676,7 +676,9 @@ void BK4819_SetFilterBandwidth(const BK4819_FilterBandwidth_t Bandwidth, const b
*/ */
} }
if (Bandwidth != BK4819_FILTER_BW_FSK_OFFLOAD) {
BK4819_WriteRegister(BK4819_REG_43, val); BK4819_WriteRegister(BK4819_REG_43, val);
}
} }
void BK4819_SetupPowerAmplifier(const uint8_t bias, const uint32_t frequency) void BK4819_SetupPowerAmplifier(const uint8_t bias, const uint32_t frequency)

View File

@@ -48,7 +48,8 @@ enum BK4819_FilterBandwidth_t
{ {
BK4819_FILTER_BW_WIDE = 0, BK4819_FILTER_BW_WIDE = 0,
BK4819_FILTER_BW_NARROW, BK4819_FILTER_BW_NARROW,
BK4819_FILTER_BW_NARROWER BK4819_FILTER_BW_NARROWER,
BK4819_FILTER_BW_FSK_OFFLOAD
}; };
typedef enum BK4819_FilterBandwidth_t BK4819_FilterBandwidth_t; typedef enum BK4819_FilterBandwidth_t BK4819_FilterBandwidth_t;

51
radio.c
View File

@@ -50,10 +50,19 @@ const char gModulationStr[MODULATION_UKNOWN][4] = {
[MODULATION_AM]="AM", [MODULATION_AM]="AM",
[MODULATION_USB]="USB", [MODULATION_USB]="USB",
#ifdef ENABLE_BYP_RAW_DEMODULATORS
[MODULATION_BYP]="BYP", [MODULATION_BYP]="BYP",
[MODULATION_RAW]="RAW" [MODULATION_RAW]="RAW",
#endif
[MODULATION_ALAM]="ALM",
[MODULATION_BEEP]="BEE",
[MODULATION_CTCO]="CTC",
[MODULATION_FSK]="FSA",
[MODULATION_UNK4]="UN4",
[MODULATION_UNK5]="UN5",
[MODULATION_UNK6]="UN6",
[MODULATION_UNK7]="UN7",
[MODULATION_UNK8]="UN8",
[MODULATION_UNK9]="UN9",
}; };
bool RADIO_CheckValidChannel(uint16_t channel, bool checkScanList, uint8_t scanList) { bool RADIO_CheckValidChannel(uint16_t channel, bool checkScanList, uint8_t scanList) {
@@ -799,6 +808,7 @@ void RADIO_SetTxParameters(void) {
case BK4819_FILTER_BW_WIDE: case BK4819_FILTER_BW_WIDE:
case BK4819_FILTER_BW_NARROW: case BK4819_FILTER_BW_NARROW:
case BK4819_FILTER_BW_NARROWER: case BK4819_FILTER_BW_NARROWER:
case BK4819_FILTER_BW_FSK_OFFLOAD:
#ifdef ENABLE_AM_FIX #ifdef ENABLE_AM_FIX
// BK4819_SetFilterBandwidth(Bandwidth, gCurrentVfo->Modulation == MODULATION_AM && gSetting_AM_fix); // BK4819_SetFilterBandwidth(Bandwidth, gCurrentVfo->Modulation == MODULATION_AM && gSetting_AM_fix);
BK4819_SetFilterBandwidth(Bandwidth, true); BK4819_SetFilterBandwidth(Bandwidth, true);
@@ -859,14 +869,45 @@ void RADIO_SetModulation(ModulationMode_t modulation) {
mod = BK4819_AF_BASEBAND2; mod = BK4819_AF_BASEBAND2;
break; break;
#ifdef ENABLE_BYP_RAW_DEMODULATORS
case MODULATION_BYP: case MODULATION_BYP:
mod = BK4819_AF_UNKNOWN3; mod = BK4819_AF_UNKNOWN3;
break; break;
case MODULATION_RAW: case MODULATION_RAW:
mod = BK4819_AF_BASEBAND1; mod = BK4819_AF_BASEBAND1;
break; break;
#endif
case MODULATION_ALAM:
mod = BK4819_AF_ALAM;
break;
case MODULATION_BEEP:
mod = BK4819_AF_BEEP;
break;
case MODULATION_CTCO:
mod = BK4819_AF_CTCO;
break;
case MODULATION_FSK:
mod = BK4819_AF_FSKO;
break;
case MODULATION_UNK4:
mod = BK4819_AF_UNKNOWN4;
break;
case MODULATION_UNK5:
mod = BK4819_AF_UNKNOWN5;
break;
case MODULATION_UNK6:
mod = BK4819_AF_UNKNOWN6;
break;
case MODULATION_UNK7:
mod = BK4819_AF_UNKNOWN7;
break;
case MODULATION_UNK8:
mod = BK4819_AF_UNKNOWN8;
break;
case MODULATION_UNK9:
mod = BK4819_AF_UNKNOWN9;
break;
} }
BK4819_SetAF(mod); BK4819_SetAF(mod);

13
radio.h
View File

@@ -59,10 +59,19 @@ typedef enum {
MODULATION_AM, MODULATION_AM,
MODULATION_USB, MODULATION_USB,
#ifdef ENABLE_BYP_RAW_DEMODULATORS
MODULATION_BYP, MODULATION_BYP,
MODULATION_RAW, MODULATION_RAW,
#endif
MODULATION_ALAM,
MODULATION_BEEP,
MODULATION_CTCO,
MODULATION_FSK,
MODULATION_UNK4,
MODULATION_UNK5,
MODULATION_UNK6,
MODULATION_UNK7,
MODULATION_UNK8,
MODULATION_UNK9,
MODULATION_UKNOWN MODULATION_UKNOWN
} ModulationMode_t; } ModulationMode_t;

View File

@@ -876,9 +876,7 @@ void SETTINGS_WriteBuildOptions(void) {
#ifdef ENABLE_WIDE_RX #ifdef ENABLE_WIDE_RX
| (1 << 1) | (1 << 1)
#endif #endif
#ifdef ENABLE_BYP_RAW_DEMODULATORS
| (1 << 2) | (1 << 2)
#endif
#ifdef ENABLE_BLMIN_TMP_OFF #ifdef ENABLE_BLMIN_TMP_OFF
| (1 << 3) | (1 << 3)
#endif #endif

View File

@@ -987,7 +987,7 @@ void UI_DisplayMain(void) {
#if ENABLE_FEAT_F4HWN #if ENABLE_FEAT_F4HWN
const char *bandWidthNames[] = {"WID", "NAR", "NR+"}; const char *bandWidthNames[] = {"WID", "NAR", "NR+", "FSK"};
UI_PrintStringSmallNormal(bandWidthNames[vfoInfo->CHANNEL_BANDWIDTH], LCD_WIDTH + 30, 0, UI_PrintStringSmallNormal(bandWidthNames[vfoInfo->CHANNEL_BANDWIDTH], LCD_WIDTH + 30, 0,
line); line);

View File

@@ -168,7 +168,8 @@ const char gSubMenu_W_N[][5] =
{ {
"WIDE", "WIDE",
"NARR", "NARR",
"NAR+" "NAR+",
"FSKQ"
}; };
const char gSubMenu_OFF_ON[][4] = const char gSubMenu_OFF_ON[][4] =

View File

@@ -126,7 +126,7 @@ extern const t_menu_item MenuList[];
extern const char gSubMenu_TXP[7][5]; extern const char gSubMenu_TXP[7][5];
extern const char gSubMenu_SFT_D[3][4]; extern const char gSubMenu_SFT_D[3][4];
extern const char gSubMenu_W_N[3][5]; extern const char gSubMenu_W_N[4][5];
extern const char gSubMenu_OFF_ON[2][4]; extern const char gSubMenu_OFF_ON[2][4];
extern const char gSubMenu_NA[4]; extern const char gSubMenu_NA[4];
extern const char *const gSubMenu_RXMode[4]; extern const char *const gSubMenu_RXMode[4];