NFM center and CTCSS at 15 %

pull/119/merge
erikkaashoek 3 weeks ago
parent bc0908605a
commit 43dc76f3d1

@ -168,7 +168,7 @@ extern char *hw_text;
#define HIGH_MAX_FREQ_MHZ 1130
#define MINIMUM_DIRECT_FREQ 823000000ULL
#define ULTRA_AUTO 10000000000ULL // 10GHz
#define MAX_CTCSS_FREQ 255
//#define LOW_MAX_FREQ 800000000ULL
//#define MIN_BELOW_LO 550000000ULL // not used????

@ -3542,9 +3542,9 @@ static const int fm_modulation[MODULATION_TABLES][MAX_MODULATION_STEPS] =
#ifdef TINYSA3
static const int fm_modulation_offset[4] =
{
85000,
83125, // 80000 + 2*LND*156.25 (LND=10, low band step = 156.25 Hz)
80000,
165000,
163750, // 160000 + 2*HND*312.5 (HND=6, high band step = 312.5 Hz)
160000
};
#endif
@ -3752,9 +3752,12 @@ pureRSSI_t perform(bool break_on_operation, int i, freq_t f, int tracking) /
modulation_steps >>= 1;
}
if (modulation_steps >= 4) {
int hn = (config.wfm_1khz_harmonic > 0 && setting.modulation_frequency < 250.0) ? (int)((1000.0 / setting.modulation_frequency) + 0.5) : 0;
int hn = (config.wfm_1khz_harmonic > 0 && setting.modulation_frequency < MAX_CTCSS_FREQ) ? (int)((1000.0 / setting.modulation_frequency) + 0.5) : 0;
int local_deviation = setting.modulation_deviation_div100;
if (hn)
local_deviation /= 7; // 15% CTCSS deviation
for (int i = 0; i < modulation_steps/4+1; i++) {
fm_modulation[i] = setting.modulation_deviation_div100 * sine_wave[i*sine_wave_index]/100;
fm_modulation[i] = local_deviation * sine_wave[i*sine_wave_index]/100;
fm_modulation[modulation_steps/2 - i] = fm_modulation[i];
fm_modulation[modulation_steps/2 + i] = -fm_modulation[i];
fm_modulation[modulation_steps - i] = -fm_modulation[i];

@ -2512,9 +2512,11 @@ static UI_FUNCTION_ADV_CALLBACK(menu_audible_harmonic)
(void)item;
(void)data;
if (b){
b->icon = config.wfm_1khz_harmonic ? BUTTON_ICON_CHECK : BUTTON_ICON_NOCHECK;
b->icon = (config.wfm_1khz_harmonic && setting.modulation_frequency < MAX_CTCSS_FREQ) ? BUTTON_ICON_CHECK : BUTTON_ICON_NOCHECK;
return;
}
if (setting.modulation_frequency >= MAX_CTCSS_FREQ)
return;
config.wfm_1khz_harmonic = config.wfm_1khz_harmonic ? 0 : 100; // Toggle between off and 100%
dirty = true;
// menu_move_back(false);
@ -4472,7 +4474,7 @@ static const menuitem_t menu_modulation[] = {
{ MT_FORM | MT_KEYPAD, KM_MODULATION, "FREQ: %s", "1Hz..3.5kHz"},
{ MT_FORM | MT_KEYPAD, KM_DEPTH, "AM DEPTH: %s%%", "0..100"},
{ MT_FORM | MT_KEYPAD, KM_DEVIATION, "FM DEVIATION: %s", "1kHz..300kHz"},
{ MT_FORM | MT_ADV_CALLBACK, 0, "Add Audible harmonic", menu_audible_harmonic},
{ MT_FORM | MT_ADV_CALLBACK, 0, "CTCSS + 1 kHz", menu_audible_harmonic},
// { MT_FORM | MT_ADV_CALLBACK, MO_NFM2, MT_CUSTOM_LABEL, menu_modulation_acb},
// { MT_FORM | MT_ADV_CALLBACK, MO_NFM3, MT_CUSTOM_LABEL, menu_modulation_acb},
#else

Loading…
Cancel
Save

Powered by TurnKey Linux.