From a89998c6ca102f9110cab6843a04e86f4bcb618c Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Tue, 17 Oct 2023 21:22:40 +0100 Subject: [PATCH] Fix "TX BAR" and compander - hopefully --- app/action.c | 11 +--------- app/aircopy.c | 22 ++++++++++---------- app/app.c | 15 +++++++++----- app/generic.c | 11 +++++----- app/main.c | 47 +++++++++++++++---------------------------- app/menu.c | 26 +++++++++++++----------- app/search.c | 11 ++++++++-- app/spectrum.c | 17 +++++++++------- driver/bk4819-regs.h | 13 ++++++------ driver/bk4819.c | 16 +++++++-------- driver/bk4819.h | 2 +- firmware.bin | Bin 61268 -> 61208 bytes firmware.packed.bin | Bin 61286 -> 61226 bytes functions.c | 2 +- radio.c | 38 +++++++++++++++++----------------- radio.h | 4 ++-- settings.c | 13 ++++++------ settings.h | 7 +++---- ui/main.c | 6 +++--- ui/menu.c | 8 ++++---- ui/menu.h | 8 ++++---- 21 files changed, 134 insertions(+), 143 deletions(-) diff --git a/app/action.c b/app/action.c index 320059d..1f6d3bb 100644 --- a/app/action.c +++ b/app/action.c @@ -212,10 +212,7 @@ void ACTION_Scan(bool bRestart) APP_stop_scan(); - #ifdef ENABLE_VOICE - g_another_voice_id = VOICE_ID_SCANNING_STOP; - #endif - + g_request_display_screen = DISPLAY_MAIN; return; } @@ -259,13 +256,7 @@ void ACTION_Scan(bool bRestart) else { // stop scanning g_monitor_enabled = false; - APP_stop_scan(); - - #ifdef ENABLE_VOICE - g_another_voice_id = VOICE_ID_SCANNING_STOP; - #endif - g_request_display_screen = DISPLAY_MAIN; } } diff --git a/app/aircopy.c b/app/aircopy.c index 55a5988..0533191 100644 --- a/app/aircopy.c +++ b/app/aircopy.c @@ -79,7 +79,7 @@ void AIRCOPY_init(void) g_aircopy_state = AIRCOPY_READY; g_fsk_write_index = 0; - BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, false); // LED off + BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, false); // LED off BK4819_start_fsk_rx(AIRCOPY_DATA_PACKET_SIZE); GUI_SelectNextDisplay(DISPLAY_AIRCOPY); @@ -203,9 +203,9 @@ void AIRCOPY_stop_fsk_tx(void) g_fsk_tx_timeout_10ms = 0; // disable the TX - BK4819_SetupPowerAmplifier(0, 0); // - BK4819_set_GPIO_pin(BK4819_GPIO5_PIN1_UNKNOWN, false); // ??? - BK4819_set_GPIO_pin(BK4819_GPIO1_PIN29_RED, false); // LED off + BK4819_SetupPowerAmplifier(0, 0); // + BK4819_set_GPIO_pin(BK4819_GPIO1_PIN29_PA_ENABLE, false); // PA off + BK4819_set_GPIO_pin(BK4819_GPIO5_PIN1_RED, false); // LED off BK4819_reset_fsk(); @@ -343,7 +343,7 @@ void AIRCOPY_process_fsk_rx_10ms(void) if ((status & (1u << 12)) == 0) { // FSK RX is disabled, enable it g_fsk_write_index = 0; - BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, false); // LED off + BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, false); // LED off BK4819_start_fsk_rx((g_aircopy_state == AIRCOPY_TX) ? AIRCOPY_REQ_PACKET_SIZE : AIRCOPY_DATA_PACKET_SIZE); } @@ -356,15 +356,15 @@ void AIRCOPY_process_fsk_rx_10ms(void) interrupt_bits = BK4819_ReadRegister(BK4819_REG_02); if (interrupt_bits & BK4819_REG_02_FSK_RX_SYNC) - BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, true); // LED on + BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, true); // LED on if (interrupt_bits & BK4819_REG_02_FSK_RX_FINISHED) - BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, false); // LED off + BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, false); // LED off if ((interrupt_bits & BK4819_REG_02_FSK_FIFO_ALMOST_FULL) == 0) return; - BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, true); // LED on + BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, true); // LED on // fetch RX'ed data for (i = 0; i < 4; i++) @@ -406,7 +406,7 @@ void AIRCOPY_process_fsk_rx_10ms(void) return; // not yet a complete packet // restart the RX - BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, false); // LED off + BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, false); // LED off BK4819_start_fsk_rx((g_aircopy_state == AIRCOPY_TX) ? AIRCOPY_REQ_PACKET_SIZE : AIRCOPY_DATA_PACKET_SIZE); g_update_display = true; @@ -678,7 +678,7 @@ static void AIRCOPY_Key_EXIT(bool key_pressed, bool key_held) if (!key_held) { // turn the green LED off - BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, false); + BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, false); g_input_box_index = 0; g_aircopy_state = AIRCOPY_READY; @@ -713,7 +713,7 @@ static void AIRCOPY_Key_EXIT(bool key_pressed, bool key_held) { // enter RX mode // turn the green LED off - BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, false); + BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, false); g_input_box_index = 0; diff --git a/app/app.c b/app/app.c index 3138f43..abd66e8 100644 --- a/app/app.c +++ b/app/app.c @@ -660,6 +660,10 @@ void APP_stop_scan(void) SETTINGS_SaveVfoIndices(); } + #ifdef ENABLE_VOICE + g_another_voice_id = VOICE_ID_SCANNING_STOP; + #endif + g_update_status = true; } @@ -690,6 +694,7 @@ static void APP_next_freq(void) { // don't need to go through all the other stuff .. lets speed things up !! BK4819_set_rf_frequency(frequency, true); + BK4819_set_rf_filter_path(frequency); #ifdef ENABLE_FASTER_CHANNEL_SCAN g_scan_pause_10ms = 10; // 100ms @@ -951,13 +956,13 @@ void APP_process_radio_interrupts(void) if (interrupt_bits & BK4819_REG_02_SQUELCH_LOST) { g_squelch_lost = true; - BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, true); // LED on + BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, true); // LED on } if (interrupt_bits & BK4819_REG_02_SQUELCH_FOUND) { g_squelch_lost = false; - BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, false); // LED off + BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, false); // LED off } } } @@ -1305,7 +1310,7 @@ void APP_process(void) BK4819_DisableVox(); BK4819_Sleep(); - BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_UNKNOWN, false); + BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_RX_ENABLE, false); // Authentic device checked removed @@ -1686,9 +1691,9 @@ void APP_time_slice_10ms(void) RADIO_EnableCxCSS(); BK4819_SetupPowerAmplifier(0, 0); - BK4819_set_GPIO_pin(BK4819_GPIO5_PIN1_UNKNOWN, false); // ??? + BK4819_set_GPIO_pin(BK4819_GPIO1_PIN29_PA_ENABLE, false); // PA off BK4819_Enable_AfDac_DiscMode_TxDsp(); - BK4819_set_GPIO_pin(BK4819_GPIO1_PIN29_RED, false); // LED off + BK4819_set_GPIO_pin(BK4819_GPIO5_PIN1_RED, false); // LED off GUI_DisplayScreen(); } diff --git a/app/generic.c b/app/generic.c index afdbad3..c105850 100644 --- a/app/generic.c +++ b/app/generic.c @@ -138,22 +138,23 @@ void GENERIC_Key_PTT(bool key_pressed) // UART_printf("gene key 1 %u\r\n", key_pressed); #endif - if (g_scan_state_dir != SCAN_STATE_DIR_OFF || // frequency/channel scanning - g_screen_to_display == DISPLAY_SEARCH || // CTCSS/CDCSS scanning + if (g_scan_state_dir != SCAN_STATE_DIR_OFF || // freq/chan scanning + g_screen_to_display == DISPLAY_SEARCH || // CTCSS/CDCSS scanning g_css_scan_mode != CSS_SCAN_MODE_OFF) // " " { // we're scanning .. stop if (g_screen_to_display == DISPLAY_SEARCH) { // CTCSS/CDCSS scanning .. stop g_eeprom.cross_vfo_rx_tx = g_backup_cross_vfo_rx_tx; - g_search_flag_stop_scan = true; + g_search_flag_stop_scan = true; g_vfo_configure_mode = VFO_CONFIGURE_RELOAD; - g_flag_reset_vfos = true; + g_flag_reset_vfos = true; } else if (g_scan_state_dir != SCAN_STATE_DIR_OFF) - { // frequency/channel scanning . .stop + { // freq/chan scanning . .stop APP_stop_scan(); + g_request_display_screen = DISPLAY_MAIN; } else if (g_css_scan_mode != CSS_SCAN_MODE_OFF) diff --git a/app/main.c b/app/main.c index 63bc7ac..dd1e980 100644 --- a/app/main.c +++ b/app/main.c @@ -39,21 +39,6 @@ // #include "app/spectrum.h" #endif -static void MAIN_stop_scan(void) -{ - if (g_scan_state_dir == SCAN_STATE_DIR_OFF) - return; - - APP_stop_scan(); - - #ifdef ENABLE_VOICE - g_another_voice_id = VOICE_ID_SCANNING_STOP; - #endif - - g_request_display_screen = DISPLAY_MAIN; - g_update_status = true; -} - void toggle_chan_scanlist(void) { // toggle the selected channels scanlist setting @@ -70,7 +55,7 @@ void toggle_chan_scanlist(void) g_scan_pause_10ms > 0 && g_scan_pause_10ms <= (200 / 10) && !g_scan_pause_mode) - { + { // scanning isn't paused g_beep_to_play = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; return; } @@ -96,7 +81,7 @@ void toggle_chan_scanlist(void) g_flag_reset_vfos = true; } -static void processFKeyFunction(const key_code_t Key) +void processFKeyFunction(const key_code_t Key) { uint8_t Band; uint8_t Vfo = g_eeprom.tx_vfo; @@ -112,7 +97,7 @@ static void processFKeyFunction(const key_code_t Key) case KEY_0: // FM if (g_scan_state_dir != SCAN_STATE_DIR_OFF) - MAIN_stop_scan(); + APP_stop_scan(); #ifdef ENABLE_FMRADIO ACTION_FM(); @@ -134,7 +119,7 @@ static void processFKeyFunction(const key_code_t Key) return; } - MAIN_stop_scan(); + APP_stop_scan(); Band = g_tx_vfo->band + 1; if (g_setting_350_enable || Band != BAND5_350MHz) @@ -157,7 +142,7 @@ static void processFKeyFunction(const key_code_t Key) case KEY_2: // A/B - MAIN_stop_scan(); + APP_stop_scan(); if (g_eeprom.cross_vfo_rx_tx == CROSS_BAND_CHAN_A) g_eeprom.cross_vfo_rx_tx = CROSS_BAND_CHAN_B; @@ -181,7 +166,7 @@ static void processFKeyFunction(const key_code_t Key) case KEY_3: // VFO/MR - MAIN_stop_scan(); + APP_stop_scan(); if (g_eeprom.vfo_open && IS_NOT_NOAA_CHANNEL(g_tx_vfo->channel_save)) { @@ -223,7 +208,7 @@ static void processFKeyFunction(const key_code_t Key) case KEY_4: // FC - MAIN_stop_scan(); + APP_stop_scan(); g_search_flag_start_scan = true; g_search_single_frequency = false; @@ -235,7 +220,7 @@ static void processFKeyFunction(const key_code_t Key) #ifdef ENABLE_NOAA - MAIN_stop_scan(); + APP_stop_scan(); if (IS_NOT_NOAA_CHANNEL(g_tx_vfo->channel_save)) { @@ -274,7 +259,7 @@ static void processFKeyFunction(const key_code_t Key) case KEY_7: // VOX #ifdef ENABLE_VOX - MAIN_stop_scan(); + APP_stop_scan(); ACTION_Vox(); #else @@ -306,7 +291,7 @@ static void processFKeyFunction(const key_code_t Key) // swap to the CALL channel - MAIN_stop_scan(); + APP_stop_scan(); g_eeprom.user_channel[Vfo] = g_eeprom.chan_1_call; g_eeprom.screen_channel[Vfo] = g_eeprom.chan_1_call; @@ -328,7 +313,7 @@ static void processFKeyFunction(const key_code_t Key) } } -static void MAIN_Key_DIGITS(key_code_t Key, bool key_pressed, bool key_held) +void MAIN_Key_DIGITS(key_code_t Key, bool key_pressed, bool key_held) { g_key_input_count_down = key_input_timeout_500ms; @@ -532,7 +517,7 @@ static void MAIN_Key_DIGITS(key_code_t Key, bool key_pressed, bool key_held) g_beep_to_play = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; } -static void MAIN_Key_EXIT(bool key_pressed, bool key_held) +void MAIN_Key_EXIT(bool key_pressed, bool key_held) { if (!key_held && key_pressed) { // exit key pressed @@ -598,7 +583,7 @@ static void MAIN_Key_EXIT(bool key_pressed, bool key_held) } } -static void MAIN_Key_MENU(const bool key_pressed, const bool key_held) +void MAIN_Key_MENU(const bool key_pressed, const bool key_held) { if (key_pressed && !key_held) // menu key pressed @@ -696,7 +681,7 @@ static void MAIN_Key_MENU(const bool key_pressed, const bool key_held) } } -static void MAIN_Key_STAR(bool key_pressed, bool key_held) +void MAIN_Key_STAR(bool key_pressed, bool key_held) { if (g_input_box_index > 0) { // entering a channel, frequency or DTMF string @@ -770,7 +755,7 @@ static void MAIN_Key_STAR(bool key_pressed, bool key_held) g_update_status = true; } -static void MAIN_Key_UP_DOWN(bool key_pressed, bool key_held, scan_state_dir_t Direction) +void MAIN_Key_UP_DOWN(bool key_pressed, bool key_held, scan_state_dir_t Direction) { #ifdef ENABLE_SQ_OPEN_WITH_UP_DN_BUTTS static bool monitor_was_enabled = false; @@ -875,7 +860,7 @@ static void MAIN_Key_UP_DOWN(bool key_pressed, bool key_held, scan_state_dir_t D #endif BK4819_set_rf_frequency(frequency, true); - //BK4819_PickRXFilterPathBasedOnFrequency(frequency); + BK4819_set_rf_filter_path(frequency); } return; diff --git a/app/menu.c b/app/menu.c index 9ceeb15..143dd6d 100644 --- a/app/menu.c +++ b/app/menu.c @@ -237,10 +237,10 @@ int MENU_GetLimits(uint8_t Cursor, int32_t *pMin, int32_t *pMax) case MENU_AM_FIX: #endif #ifdef ENABLE_AUDIO_BAR - case MENU_MIC_BAR: + case MENU_TX_BAR: #endif #ifdef ENABLE_RSSI_BAR - case MENU_RSSI_BAR: + case MENU_RX_BAR: #endif case MENU_BCL: case MENU_BEEP: @@ -637,23 +637,25 @@ void MENU_AcceptSetting(void) break; #ifdef ENABLE_AUDIO_BAR - case MENU_MIC_BAR: + case MENU_TX_BAR: g_setting_mic_bar = g_sub_menu_selection; break; #endif #ifdef ENABLE_RSSI_BAR - case MENU_RSSI_BAR: + case MENU_RX_BAR: g_setting_rssi_bar = g_sub_menu_selection; break; #endif case MENU_COMPAND: - g_tx_vfo->compander = g_sub_menu_selection; - SETTINGS_UpdateChannel(g_tx_vfo->channel_save, g_tx_vfo, true); - g_vfo_configure_mode = VFO_CONFIGURE; - g_flag_reset_vfos = true; -// g_request_save_channel = 1; + g_tx_vfo->compand = g_sub_menu_selection; + #if 1 + g_request_save_channel = 1; + #else + SETTINGS_SaveChannel(g_sub_menu_selection, g_eeprom.tx_vfo, g_tx_vfo, 3); + g_flag_reconfigure_vfos = true; + #endif return; case MENU_1_CALL: @@ -1095,19 +1097,19 @@ void MENU_ShowCurrentSetting(void) break; #ifdef ENABLE_AUDIO_BAR - case MENU_MIC_BAR: + case MENU_TX_BAR: g_sub_menu_selection = g_setting_mic_bar; break; #endif #ifdef ENABLE_RSSI_BAR - case MENU_RSSI_BAR: + case MENU_RX_BAR: g_sub_menu_selection = g_setting_rssi_bar; break; #endif case MENU_COMPAND: - g_sub_menu_selection = g_tx_vfo->compander; + g_sub_menu_selection = g_tx_vfo->compand; return; case MENU_1_CALL: diff --git a/app/search.c b/app/search.c index ef101d0..47eceed 100644 --- a/app/search.c +++ b/app/search.c @@ -498,7 +498,8 @@ void SEARCH_Start(void) g_search_frequency = g_rx_vfo->p_rx->frequency; g_search_step_setting = g_rx_vfo->step_setting; - BK4819_PickRXFilterPathBasedOnFrequency(g_search_frequency); + BK4819_set_rf_filter_path(g_search_frequency); + BK4819_SetScanFrequency(g_search_frequency); } else @@ -506,7 +507,13 @@ void SEARCH_Start(void) g_search_css_state = SEARCH_CSS_STATE_OFF; g_search_frequency = 0xFFFFFFFF; - BK4819_PickRXFilterPathBasedOnFrequency(0xFFFFFFFF); +#if 1 + // this is why it needs such a strong signal + BK4819_set_rf_filter_path(0xFFFFFFFF); // disable the LNA filter paths +#else + BK4819_set_rf_filter_path(g_rx_vfo->p_rx->frequency); // lets have a play ;) +#endif + BK4819_EnableFrequencyScan(); } diff --git a/app/spectrum.c b/app/spectrum.c index 8dbaf38..8a94314 100644 --- a/app/spectrum.c +++ b/app/spectrum.c @@ -203,7 +203,7 @@ static void SetF(uint32_t f) { fMeasure = f; BK4819_set_rf_frequency(fMeasure); - BK4819_PickRXFilterPathBasedOnFrequency(fMeasure); + BK4819_set_rf_filter_path(fMeasure); uint16_t reg = BK4819_ReadRegister(BK4819_REG_30); BK4819_WriteRegister(BK4819_REG_30, 0); BK4819_WriteRegister(BK4819_REG_30, reg); @@ -212,7 +212,7 @@ static void SetF(uint32_t f) { static void SetTxF(uint32_t f) { fTx = f; BK4819_set_rf_frequency(f); - BK4819_PickRXFilterPathBasedOnFrequency(f); + BK4819_set_rf_filter_path(f); uint16_t reg = BK4819_ReadRegister(BK4819_REG_30); BK4819_WriteRegister(BK4819_REG_30, 0); BK4819_WriteRegister(BK4819_REG_30, reg); @@ -364,7 +364,7 @@ static void ToggleRX(bool on) { ToggleTX(false); } - BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, on); + BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, on); BK4819_RX_TurnOn(); ToggleAudio(on); @@ -399,7 +399,7 @@ static void ToggleTX(bool on) { ToggleRX(false); } - BK4819_set_GPIO_pin(BK4819_GPIO1_PIN29_RED, on); + BK4819_set_GPIO_pin(BK4819_GPIO5_PIN1_RED, on); if (on) { ToggleAudio(false); @@ -417,7 +417,9 @@ static void ToggleTX(bool on) { BK4819_SetupPowerAmplifier(gCurrentVfo->TXP_CalculatedSetting, gCurrentVfo->p_tx->Frequency); - } else { + } + else + { RADIO_SendEndOfTransmission(); RADIO_EnableCxCSS(); @@ -434,8 +436,9 @@ static void ToggleTX(bool on) { SetF(fMeasure); } - BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_UNKNOWN, !on); - BK4819_set_GPIO_pin(BK4819_GPIO5_PIN1_UNKNOWN, on); + + BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_RX_ENABLE, !on); + BK4819_set_GPIO_pin(BK4819_GPIO1_PIN29_PA_ENABLE, on); } // Scan info diff --git a/driver/bk4819-regs.h b/driver/bk4819-regs.h index 0feabdf..4b25db9 100644 --- a/driver/bk4819-regs.h +++ b/driver/bk4819-regs.h @@ -94,13 +94,12 @@ enum bk4819_register_e { typedef enum bk4819_register_e bk4819_register_t; enum bk4819_gpio_pin_e { - BK4819_GPIO6_PIN2_UNKNOWN = 0, // please let us know if you know what this pin does - BK4819_GPIO5_PIN1_UNKNOWN = 1, // " " - BK4819_GPIO4_PIN32_UNUSED = 2, - BK4819_GPIO3_PIN31_UHF = 3, - BK4819_GPIO2_PIN30_VHF = 4, - BK4819_GPIO1_PIN29_RED = 5, - BK4819_GPIO0_PIN28_GREEN = 6 + BK4819_GPIO0_PIN28_RX_ENABLE = 0, + BK4819_GPIO1_PIN29_PA_ENABLE = 1, + BK4819_GPIO3_PIN31_UHF_LNA = 3, + BK4819_GPIO4_PIN32_VHF_LNA = 4, + BK4819_GPIO5_PIN1_RED = 5, + BK4819_GPIO6_PIN2_GREEN = 6 }; typedef enum bk4819_gpio_pin_e bk4819_gpio_pin_t; diff --git a/driver/bk4819.c b/driver/bk4819.c index 5f513e4..0a93af3 100644 --- a/driver/bk4819.c +++ b/driver/bk4819.c @@ -886,23 +886,23 @@ void BK4819_RX_TurnOn(void) BK4819_WriteRegister(BK4819_REG_30, 0xbff1); // 1 0 1111 1 1 1111 0 0 0 1 } -void BK4819_PickRXFilterPathBasedOnFrequency(uint32_t Frequency) +void BK4819_set_rf_filter_path(uint32_t Frequency) { if (Frequency < 28000000) { // VHF - BK4819_set_GPIO_pin(BK4819_GPIO2_PIN30_VHF, true); - BK4819_set_GPIO_pin(BK4819_GPIO3_PIN31_UHF, false); + BK4819_set_GPIO_pin(BK4819_GPIO4_PIN32_VHF_LNA, true); + BK4819_set_GPIO_pin(BK4819_GPIO3_PIN31_UHF_LNA, false); } else if (Frequency == 0xFFFFFFFF) { // OFF - BK4819_set_GPIO_pin(BK4819_GPIO2_PIN30_VHF, false); - BK4819_set_GPIO_pin(BK4819_GPIO3_PIN31_UHF, false); + BK4819_set_GPIO_pin(BK4819_GPIO4_PIN32_VHF_LNA, false); + BK4819_set_GPIO_pin(BK4819_GPIO3_PIN31_UHF_LNA, false); } else { // UHF - BK4819_set_GPIO_pin(BK4819_GPIO2_PIN30_VHF, false); - BK4819_set_GPIO_pin(BK4819_GPIO3_PIN31_UHF, true); + BK4819_set_GPIO_pin(BK4819_GPIO4_PIN32_VHF_LNA, false); + BK4819_set_GPIO_pin(BK4819_GPIO3_PIN31_UHF_LNA, true); } } @@ -1226,7 +1226,7 @@ void BK4819_Conditional_RX_TurnOn_and_GPIO6_Enable(void) { if (g_rx_idle_mode) { - BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_UNKNOWN, true); + BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_RX_ENABLE, true); BK4819_RX_TurnOn(); } } diff --git a/driver/bk4819.h b/driver/bk4819.h index e90a825..aeff741 100644 --- a/driver/bk4819.h +++ b/driver/bk4819.h @@ -88,7 +88,7 @@ void BK4819_SetupSquelch( void BK4819_SetAF(BK4819_af_type_t AF); void BK4819_RX_TurnOn(void); -void BK4819_PickRXFilterPathBasedOnFrequency(uint32_t Frequency); +void BK4819_set_rf_filter_path(uint32_t Frequency); void BK4819_DisableScramble(void); void BK4819_EnableScramble(uint8_t Type); diff --git a/firmware.bin b/firmware.bin index 95826788a37f346b9d166b7756f33b2876102106..b7c59dbceb79fc995403818093e8be2134bad89b 100644 GIT binary patch delta 15623 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 diff --git a/firmware.packed.bin b/firmware.packed.bin index 596ce6af3d8e7d24344fe33090bbd3f5cfeba529..97f2127ec99d2d3d02fb822d536cca73763f4c1b 100644 GIT binary patch delta 47877 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 Yno};o6}QSUV<11la4c}cy-cM3Kg+a`fdBvi delta 47938 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

}VwrOKpGdW0 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 diff --git a/functions.c b/functions.c index 9059875..103389c 100644 --- a/functions.c +++ b/functions.c @@ -165,7 +165,7 @@ void FUNCTION_Select(function_type_t Function) BK4819_DisableVox(); BK4819_Sleep(); - BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_UNKNOWN, false); + BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_RX_ENABLE, false); if (g_screen_to_display != DISPLAY_MENU) // 1of11 .. don't close the menu GUI_SelectNextDisplay(DISPLAY_MAIN); diff --git a/radio.c b/radio.c index 3df3fc7..a2e2518 100644 --- a/radio.c +++ b/radio.c @@ -129,9 +129,9 @@ void RADIO_InitInfo(vfo_info_t *pInfo, const uint8_t ChannelSave, const uint32_t pInfo->output_power = OUTPUT_POWER_LOW; pInfo->freq_config_rx.frequency = Frequency; pInfo->freq_config_tx.frequency = Frequency; - pInfo->p_rx = &pInfo->freq_config_rx; - pInfo->p_tx = &pInfo->freq_config_tx; - pInfo->compander = 0; // off + pInfo->p_rx = &pInfo->freq_config_rx; + pInfo->p_tx = &pInfo->freq_config_tx; + pInfo->compand = 0; // off if (ChannelSave == (FREQ_CHANNEL_FIRST + BAND2_108MHz)) pInfo->am_mode = 1; @@ -320,6 +320,7 @@ void RADIO_configure_channel(const unsigned int VFO, const unsigned int configur g_eeprom.vfo_info[VFO].channel_bandwidth = BK4819_FILTER_BW_WIDE; g_eeprom.vfo_info[VFO].output_power = OUTPUT_POWER_LOW; g_eeprom.vfo_info[VFO].busy_channel_lock = false; + g_eeprom.vfo_info[VFO].compand = 0; } else { @@ -328,6 +329,7 @@ void RADIO_configure_channel(const unsigned int VFO, const unsigned int configur g_eeprom.vfo_info[VFO].channel_bandwidth = ((d4 >> 1) & 1u) ? true : false; g_eeprom.vfo_info[VFO].output_power = (d4 >> 2) & 3u; g_eeprom.vfo_info[VFO].busy_channel_lock = ((d4 >> 4) & 1u) ? true : false; + g_eeprom.vfo_info[VFO].compand = (d4 >> 6) & 3u; } if (Data[5] == 0xFF) @@ -419,8 +421,6 @@ void RADIO_configure_channel(const unsigned int VFO, const unsigned int configur g_eeprom.vfo_info[VFO].freq_config_tx.code_type = CODE_TYPE_NONE; } - g_eeprom.vfo_info[VFO].compander = (Attributes & USER_CH_COMPAND) >> 4; - RADIO_ConfigureSquelchAndOutputPower(pRadio); } @@ -632,7 +632,7 @@ void RADIO_setup_registers(bool switch_to_function_foreground) g_enable_speaker = false; - BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, false); + BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, false); #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" @@ -654,9 +654,9 @@ void RADIO_setup_registers(bool switch_to_function_foreground) #pragma GCC diagnostic pop - BK4819_set_GPIO_pin(BK4819_GPIO1_PIN29_RED, false); // LED off + BK4819_set_GPIO_pin(BK4819_GPIO5_PIN1_RED, false); // LED off BK4819_SetupPowerAmplifier(0, 0); - BK4819_set_GPIO_pin(BK4819_GPIO5_PIN1_UNKNOWN, false); // ??? + BK4819_set_GPIO_pin(BK4819_GPIO1_PIN29_PA_ENABLE, false); // PA off while (1) { // wait for the interrupt to clear ? @@ -678,17 +678,16 @@ void RADIO_setup_registers(bool switch_to_function_foreground) else #endif Frequency = g_rx_vfo->p_rx->frequency; + BK4819_set_rf_frequency(Frequency, false); + BK4819_set_rf_filter_path(Frequency); BK4819_SetupSquelch( g_rx_vfo->squelch_open_rssi_thresh, g_rx_vfo->squelch_close_rssi_thresh, g_rx_vfo->squelch_open_noise_thresh, g_rx_vfo->squelch_close_noise_thresh, g_rx_vfo->squelch_close_glitch_thresh, g_rx_vfo->squelch_open_glitch_thresh); - BK4819_PickRXFilterPathBasedOnFrequency(Frequency); - - // what does this in do ? - BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_UNKNOWN, true); + BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_RX_ENABLE, true); // AF RX Gain and DAC BK4819_WriteRegister(BK4819_REG_48, 0xB3A8); // 1011 00 111010 1000 @@ -789,7 +788,7 @@ void RADIO_setup_registers(bool switch_to_function_foreground) BK4819_DisableVox(); // RX expander - BK4819_SetCompander((g_rx_vfo->am_mode == 0 && g_rx_vfo->compander >= 2) ? g_rx_vfo->compander : 0); + BK4819_SetCompander((g_rx_vfo->am_mode == 0 && g_rx_vfo->compand >= 2) ? g_rx_vfo->compand : 0); #if 0 #ifdef ENABLE_KILL_REVIVE @@ -885,7 +884,7 @@ void RADIO_enableTX(const bool fsk_tx) g_enable_speaker = false; - BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_UNKNOWN, false); // ??? + BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_RX_ENABLE, false); // ??? #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" @@ -911,18 +910,19 @@ void RADIO_enableTX(const bool fsk_tx) // so MAKE SURE that DTMF is disabled - until needed BK4819_DisableDTMF(); - BK4819_SetCompander((!fsk_tx && g_rx_vfo->am_mode == 0 && (g_rx_vfo->compander == 1 || g_rx_vfo->compander >= 3)) ? g_rx_vfo->compander : 0); + BK4819_SetCompander((!fsk_tx && g_rx_vfo->am_mode == 0 && (g_rx_vfo->compand == 1 || g_rx_vfo->compand >= 3)) ? g_rx_vfo->compand : 0); BK4819_set_rf_frequency(g_current_vfo->p_tx->frequency, false); + BK4819_set_rf_filter_path(g_current_vfo->p_tx->frequency); + BK4819_PrepareTransmit(); - BK4819_PickRXFilterPathBasedOnFrequency(g_current_vfo->p_tx->frequency); - BK4819_set_GPIO_pin(BK4819_GPIO5_PIN1_UNKNOWN, true); // ??? + BK4819_set_GPIO_pin(BK4819_GPIO1_PIN29_PA_ENABLE, true); // PA on if (g_screen_to_display != DISPLAY_AIRCOPY) BK4819_SetupPowerAmplifier(g_current_vfo->txp_calculated_setting, g_current_vfo->p_tx->frequency); else - BK4819_SetupPowerAmplifier(0, g_current_vfo->p_tx->frequency); // very low power when in AIRCOPY mode + BK4819_SetupPowerAmplifier(0, g_current_vfo->p_tx->frequency); // very low power when in AIRCOPY mode - BK4819_set_GPIO_pin(BK4819_GPIO1_PIN29_RED, true); // turn the RED LED on + BK4819_set_GPIO_pin(BK4819_GPIO5_PIN1_RED, true); // turn the RED LED on if (fsk_tx) { diff --git a/radio.h b/radio.h index 22b71af..29a91f2 100644 --- a/radio.h +++ b/radio.h @@ -26,7 +26,7 @@ enum { USER_CH_BAND_MASK = 0x0F << 0, - USER_CH_COMPAND = 3u << 4, // new + USER_CH_SPARE = 3u << 4, USER_CH_SCANLIST2 = 1u << 6, USER_CH_SCANLIST1 = 1u << 7 }; @@ -111,7 +111,7 @@ typedef struct vfo_info_t uint8_t am_mode; - uint8_t compander; + uint8_t compand; char name[16]; } vfo_info_t; diff --git a/settings.c b/settings.c index 029499b..726a596 100644 --- a/settings.c +++ b/settings.c @@ -370,10 +370,11 @@ void SETTINGS_SaveChannel(uint8_t Channel, uint8_t VFO, const vfo_info_t *pVFO, State[2] = (pVFO->freq_config_tx.code_type << 4) | pVFO->freq_config_rx.code_type; State[3] = ((pVFO->am_mode & 1u) << 4) | pVFO->tx_offset_freq_dir; State[4] = - (pVFO->busy_channel_lock << 4) - | (pVFO->output_power << 2) - | (pVFO->channel_bandwidth << 1) - | (pVFO->frequency_reverse << 0); + (pVFO->compand << 6) | + (pVFO->busy_channel_lock << 4) | + (pVFO->output_power << 2) | + (pVFO->channel_bandwidth << 1) | + (pVFO->frequency_reverse << 0); State[5] = ((pVFO->dtmf_ptt_id_tx_mode & 7u) << 1) | ((pVFO->dtmf_decoding_enable & 1u) << 0); State[6] = pVFO->step_setting; State[7] = pVFO->scrambling_type; @@ -410,13 +411,11 @@ void SETTINGS_UpdateChannel(uint8_t Channel, const vfo_info_t *pVFO, bool keep) if (IS_NOAA_CHANNEL(Channel)) return; - Attributes &= (uint8_t)(~USER_CH_COMPAND); // default to '0' = compander disabled - EEPROM_ReadBuffer(Offset, State, sizeof(State)); if (keep) { - Attributes = (pVFO->scanlist_1_participation << 7) | (pVFO->scanlist_2_participation << 6) | (pVFO->compander << 4) | (pVFO->band << 0); + Attributes = (pVFO->scanlist_1_participation << 7) | (pVFO->scanlist_2_participation << 6) | (pVFO->band << 0); if (State[Channel & 7u] == Attributes) return; // no change in the attributes .. don't place wear on the eeprom } diff --git a/settings.h b/settings.h index 8862b73..7d213bc 100644 --- a/settings.h +++ b/settings.h @@ -154,12 +154,12 @@ typedef struct { uint8_t frequency_reverse:1; // reverse repeater uint8_t channel_bandwidth:1; // wide/narrow uint8_t tx_power:2; // 0, 1 or 2 .. L, M or H - uint8_t busy_channel_lockout:1; // + uint8_t busy_channel_lock:1; // #if 0 uint8_t unused5:3; // #else uint8_t unused5:1; // - uint8_t compander:2; // 0 = off, 1 = TX, 2 = RX, 3 = TX/RX + uint8_t compand:2; // 0 = off, 1 = TX, 2 = RX, 3 = TX/RX #endif // [13] uint8_t dtmf_decoding_enable:1; // @@ -267,8 +267,7 @@ typedef struct { // 0x0D60 struct { // these channel attribute settings could have been in the t_channel structure ! uint8_t band:4; // why do QS have these 4 bits ? .. band can/is computed from the frequency - uint8_t unused:2; // 0's ? -// uint8_t compander:2; // smoved this to the t_channel structure + uint8_t unused:2; // 0's uint8_t scanlist2:1; // set if is in scan list 2 uint8_t scanlist1:1; // set if is in scan list 1 } __attribute__((packed)) channel_attr[200]; // diff --git a/ui/main.c b/ui/main.c index 7f541b3..e23a561 100644 --- a/ui/main.c +++ b/ui/main.c @@ -649,7 +649,7 @@ void UI_DisplayMain(void) if (attributes & USER_CH_SCANLIST2) memmove(p_line0 + 120, BITMAP_SCANLIST2, sizeof(BITMAP_SCANLIST2)); #ifndef ENABLE_BIG_FREQ - if ((attributes & USER_CH_COMPAND) > 0) + if (g_eeprom.vfo_info[vfo_num].compand) memmove(p_line0 + 120 + LCD_WIDTH, BITMAP_COMPAND, sizeof(BITMAP_COMPAND)); #else @@ -727,8 +727,8 @@ void UI_DisplayMain(void) #endif // show the channel symbols - const uint8_t attributes = g_user_channel_attributes[g_eeprom.screen_channel[vfo_num]]; - if ((attributes & USER_CH_COMPAND) > 0) + //const uint8_t attributes = g_user_channel_attributes[g_eeprom.screen_channel[vfo_num]]; + if (g_eeprom.vfo_info[vfo_num].compand) #ifdef ENABLE_BIG_FREQ memmove(p_line0 + 120, BITMAP_COMPAND, sizeof(BITMAP_COMPAND)); #else diff --git a/ui/menu.c b/ui/menu.c index d9cb13e..64fb552 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -86,10 +86,10 @@ const t_menu_item g_menu_list[] = {"MIC GN", VOICE_ID_INVALID, MENU_MIC }, {"COMPND", VOICE_ID_INVALID, MENU_COMPAND }, #ifdef ENABLE_AUDIO_BAR - {"Tx BAR", VOICE_ID_INVALID, MENU_MIC_BAR }, + {"Tx BAR", VOICE_ID_INVALID, MENU_TX_BAR }, #endif #ifdef ENABLE_RSSI_BAR - {"Rx BAR", VOICE_ID_INVALID, MENU_RSSI_BAR }, + {"Rx BAR", VOICE_ID_INVALID, MENU_RX_BAR }, #endif {"1 CALL", VOICE_ID_INVALID, MENU_1_CALL }, {"SLIST", VOICE_ID_INVALID, MENU_S_LIST }, @@ -709,10 +709,10 @@ void UI_DisplayMenu(void) break; #ifdef ENABLE_AUDIO_BAR - case MENU_MIC_BAR: + case MENU_TX_BAR: #endif #ifdef ENABLE_RSSI_BAR - case MENU_RSSI_BAR: + case MENU_RX_BAR: #endif #ifdef ENABLE_AM_FIX case MENU_AM_FIX: diff --git a/ui/menu.h b/ui/menu.h index 82e425f..cc3cc7a 100644 --- a/ui/menu.h +++ b/ui/menu.h @@ -78,12 +78,12 @@ enum MENU_STE, MENU_RP_STE, MENU_MIC, -#ifdef ENABLE_AUDIO_BAR - MENU_MIC_BAR, -#endif MENU_COMPAND, +#ifdef ENABLE_AUDIO_BAR + MENU_TX_BAR, +#endif #ifdef ENABLE_RSSI_BAR - MENU_RSSI_BAR, + MENU_RX_BAR, #endif MENU_1_CALL, MENU_S_LIST,