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)
CFLAGS += -DENABLE_REDUCE_LOW_MID_TX_POWER
endif
ifeq ($(ENABLE_BYP_RAW_DEMODULATORS),1)
CFLAGS += -DENABLE_BYP_RAW_DEMODULATORS
endif
ifeq ($(ENABLE_BLMIN_TMP_OFF),1)
CFLAGS += -DENABLE_BLMIN_TMP_OFF
endif

View File

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

View File

@@ -676,7 +676,9 @@ void BK4819_SetFilterBandwidth(const BK4819_FilterBandwidth_t Bandwidth, const b
*/
}
BK4819_WriteRegister(BK4819_REG_43, val);
if (Bandwidth != BK4819_FILTER_BW_FSK_OFFLOAD) {
BK4819_WriteRegister(BK4819_REG_43, val);
}
}
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_NARROW,
BK4819_FILTER_BW_NARROWER
BK4819_FILTER_BW_NARROWER,
BK4819_FILTER_BW_FSK_OFFLOAD
};
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_USB]="USB",
#ifdef ENABLE_BYP_RAW_DEMODULATORS
[MODULATION_BYP]="BYP",
[MODULATION_RAW]="RAW"
#endif
[MODULATION_RAW]="RAW",
[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) {
@@ -799,6 +808,7 @@ void RADIO_SetTxParameters(void) {
case BK4819_FILTER_BW_WIDE:
case BK4819_FILTER_BW_NARROW:
case BK4819_FILTER_BW_NARROWER:
case BK4819_FILTER_BW_FSK_OFFLOAD:
#ifdef ENABLE_AM_FIX
// BK4819_SetFilterBandwidth(Bandwidth, gCurrentVfo->Modulation == MODULATION_AM && gSetting_AM_fix);
BK4819_SetFilterBandwidth(Bandwidth, true);
@@ -859,14 +869,45 @@ void RADIO_SetModulation(ModulationMode_t modulation) {
mod = BK4819_AF_BASEBAND2;
break;
#ifdef ENABLE_BYP_RAW_DEMODULATORS
case MODULATION_BYP:
mod = BK4819_AF_UNKNOWN3;
break;
case MODULATION_RAW:
mod = BK4819_AF_BASEBAND1;
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);

13
radio.h
View File

@@ -59,10 +59,19 @@ typedef enum {
MODULATION_AM,
MODULATION_USB,
#ifdef ENABLE_BYP_RAW_DEMODULATORS
MODULATION_BYP,
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
} ModulationMode_t;

View File

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

View File

@@ -987,7 +987,7 @@ void UI_DisplayMain(void) {
#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,
line);

View File

@@ -168,7 +168,8 @@ const char gSubMenu_W_N[][5] =
{
"WIDE",
"NARR",
"NAR+"
"NAR+",
"FSKQ"
};
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_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_NA[4];
extern const char *const gSubMenu_RXMode[4];