From 9b2ce88a72e1a5254de00c1927afb45b6cc2d6e5 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 12:42:40 +0100 Subject: [PATCH] RX fixed bandwidth adjustments + squelch sensitivity adjustments --- README.md | 10 +- app/app.c | 6 +- app/main.c | 20 +- driver/bk4819.c | 988 +++++++++++++++++++++++++------------------- firmware.bin | Bin 53908 -> 53872 bytes firmware.packed.bin | Bin 53926 -> 53890 bytes 6 files changed, 580 insertions(+), 444 deletions(-) diff --git a/README.md b/README.md index dbdf86f..861c51d 100644 --- a/README.md +++ b/README.md @@ -61,13 +61,13 @@ ENABLE_COPY_CHAN_TO_VFO := 1 copy current channel into the other VFO # New/modified function keys -* Long-press 'M' = Copy selected channel into same VFO, then switch VFO to frequency mode +* Long-press 'M' .. Copy selected channel into same VFO, then switch VFO to frequency mode * -* Long-press '7' = Toggle selected channel scanlist setting .. if VOX is disable in Makefile - or -* Long-press '5' = Toggle selected channel scanlist setting .. if NOAA is disable in Makefile +* Long-press '7' .. Toggle selected channel scanlist setting .. if VOX is disabled in Makefile +* or +* Long-press '5' .. Toggle selected channel scanlist setting .. if NOAA is disabled in Makefile * -* Long-press '*' = Start scanning, then toggle scanlist scan 1, 2 or ALL channels (if in channel scan mode) +* Long-press '*' .. Start scanning, then toggles scanlist scan 1, 2 or ALL channel scanning # Some changes made from the Quansheng firmware diff --git a/app/app.c b/app/app.c index 975f557..025544d 100644 --- a/app/app.c +++ b/app/app.c @@ -152,7 +152,7 @@ static void APP_CheckForIncoming(void) gUpdateStatus = true; } else - { + { // RF scanning if (gRxReceptionMode != RX_MODE_NONE) { if (gCurrentFunction != FUNCTION_INCOMING) @@ -163,7 +163,6 @@ static void APP_CheckForIncoming(void) updateRSSI(gEeprom.RX_VFO); gUpdateRSSI = true; } - return; } @@ -1068,7 +1067,8 @@ void APP_Update(void) #else if (gScreenToDisplay != DISPLAY_SCANNER && gScanState != SCAN_OFF && gScheduleScanListen && !gPttIsPressed) #endif - { + { // scanning + if (IS_FREQ_CHANNEL(gNextMrChannel)) { if (gCurrentFunction == FUNCTION_INCOMING) diff --git a/app/main.c b/app/main.c index bf2baea..fe08b78 100644 --- a/app/main.c +++ b/app/main.c @@ -549,16 +549,24 @@ static void MAIN_Key_MENU(const bool bKeyPressed, const bool bKeyHeld) #ifdef ENABLE_COPY_CHAN_TO_VFO - if (gEeprom.VFO_OPEN && - gScanState == SCAN_OFF && - gCssScanMode == CSS_SCAN_MODE_OFF) - { // copy channel to VFO + if (gEeprom.VFO_OPEN && gCssScanMode == CSS_SCAN_MODE_OFF) + { + if (gScanState != SCAN_OFF) + { + if (gCurrentFunction != FUNCTION_INCOMING || + gRxReceptionMode == RX_MODE_NONE || + ScanPauseDelayIn_10ms == 0) + { // scan is running (not paused) + return; + } + } + const unsigned int vfo = get_rx_VFO(); if (IS_MR_CHANNEL(gEeprom.ScreenChannel[vfo])) - { // swap to the VFO - + { // copy channel to VFO, then swap to the VFO + const unsigned int channel = FREQ_CHANNEL_FIRST + gEeprom.VfoInfo[vfo].Band; gEeprom.ScreenChannel[vfo] = channel; diff --git a/driver/bk4819.c b/driver/bk4819.c index 695d11f..aa96c20 100644 --- a/driver/bk4819.c +++ b/driver/bk4819.c @@ -58,23 +58,23 @@ void BK4819_Init(void) BK4819_WriteRegister(BK4819_REG_7D, 0xE940); - // RX AF level + // REG_48 .. RX AF level // - // REG_48 <15:12> 11 ??? 0 to 15 + // <15:12> 11 ??? 0 to 15 // - // REG_48 <11:10> 0 AF Rx Gain-1 - // 0 = 0dB - // 1 = -6dB - // 2 = -12dB - // 3 = -18dB + // <11:10> 0 AF Rx Gain-1 + // 0 = 0dB + // 1 = -6dB + // 2 = -12dB + // 3 = -18dB // - // REG_48 <9:4> 60 AF Rx Gain-2 -26dB ~ 5.5dB 0.5dB/step - // 63 = max - // 0 = mute + // <9:4> 60 AF Rx Gain-2 -26dB ~ 5.5dB 0.5dB/step + // 63 = max + // 0 = mute // - // REG_48 <3:0> 15 AF DAC Gain (after Gain-1 and Gain-2) approx 2dB/step - // 15 = max - // 0 = min + // <3:0> 15 AF DAC Gain (after Gain-1 and Gain-2) approx 2dB/step + // 15 = max + // 0 = min // BK4819_WriteRegister(BK4819_REG_48, // 0xB3A8); // 1011 00 111010 1000 (11u << 12) | // ??? 0..15 @@ -236,44 +236,43 @@ void BK4819_SetAGC(uint8_t Value) { if (Value == 0) { - // REG_10 <15:0> 0x0038 Rx AGC Gain Table[0]. (Index Max->Min is 3,2,1,0,-1) + // REG_10 // - // <9:8> = LNA Gain Short - // 3 = 0dB - // 2 = -24dB // was -11 - // 1 = -30dB // was -16 - // 0 = -33dB // was -19 + // 0x0038 Rx AGC Gain Table[0]. (Index Max->Min is 3,2,1,0,-1) // - // <7:5> = LNA Gain - // 7 = 0dB - // 6 = -2dB - // 5 = -4dB - // 4 = -6dB - // 3 = -9dB - // 2 = -14dB - // 1 = -19dB - // 0 = -24dB + // <15:10> ??? // - // <4:3> = MIXER Gain - // 3 = 0dB - // 2 = -3dB - // 1 = -6dB - // 0 = -8dB + // <9:8> LNA Gain Short + // 3 = 0dB <<< + // 2 = -24dB // was -11 + // 1 = -30dB // was -16 + // 0 = -33dB // was -19 // - // <2:0> = PGA Gain - // 7 = 0dB - // 6 = -3dB - // 5 = -6dB - // 4 = -9dB - // 3 = -15dB - // 2 = -21dB - // 1 = -27dB - // 0 = -33dB + // <7:5> LNA Gain + // 7 = 0dB + // 6 = -2dB + // 5 = -4dB + // 4 = -6dB + // 3 = -9dB + // 2 = -14dB <<< + // 1 = -19dB + // 0 = -24dB // - // LNA_SHORT .. 0dB - // LNA ........ 14dB - // MIXER ...... 0dB - // PGA ........ -3dB + // <4:3> MIXER Gain + // 3 = 0dB <<< + // 2 = -3dB + // 1 = -6dB + // 0 = -8dB + // + // <2:0> PGA Gain + // 7 = 0dB + // 6 = -3dB <<< + // 5 = -6dB + // 4 = -9dB + // 3 = -15dB + // 2 = -21dB + // 1 = -27dB + // 0 = -33dB // BK4819_WriteRegister(BK4819_REG_13, (3u << 8) | (2u << 5) | (3u << 3) | (6u << 0)); // 000000 11 101 11 110 @@ -287,44 +286,47 @@ void BK4819_SetAGC(uint8_t Value) } else if (Value == 1) - { // what does this do ????????? + { // what does this do ??? unsigned int i; // REG_10 - // <15:0> 0x0038 Rx AGC Gain Table[0]. (Index Max->Min is 3,2,1,0,-1) - // - // <9:8> = LNA Gain Short - // 3 = 0dB << original - // 2 = -24dB // was -11 - // 1 = -30dB // was -16 - // 0 = -33dB // was -19 - // - // <7:5> = LNA Gain - // 7 = 0dB - // 6 = -2dB - // 5 = -4dB - // 4 = -6dB - // 3 = -9dB - // 2 = -14dB << original - // 1 = -19dB - // 0 = -24dB - // - // <4:3> = MIXER Gain - // 3 = 0dB << original - // 2 = -3dB - // 1 = -6dB - // 0 = -8dB - // - // <2:0> = PGA Gain - // 7 = 0dB - // 6 = -3dB << original - // 5 = -6dB - // 4 = -9dB - // 3 = -15dB - // 2 = -21dB - // 1 = -27dB - // 0 = -33dB + // + // 0x0038 Rx AGC Gain Table[0]. (Index Max->Min is 3,2,1,0,-1) + // + // (15:10> ??? + // + // <9:8> LNA Gain Short + // 3 = 0dB << original + // 2 = -24dB // was -11 + // 1 = -30dB // was -16 + // 0 = -33dB // was -19 + // + // <7:5> LNA Gain + // 7 = 0dB + // 6 = -2dB + // 5 = -4dB + // 4 = -6dB + // 3 = -9dB + // 2 = -14dB << original + // 1 = -19dB + // 0 = -24dB + // + // <4:3> MIXER Gain + // 3 = 0dB << original + // 2 = -3dB + // 1 = -6dB + // 0 = -8dB + // + // <2:0> PGA Gain + // 7 = 0dB + // 6 = -3dB << original + // 5 = -6dB + // 4 = -9dB + // 3 = -15dB + // 2 = -21dB + // 1 = -27dB + // 0 = -33dB // BK4819_WriteRegister(BK4819_REG_13, (3u << 8) | (2u << 5) | (3u << 3) | (6u << 0)); @@ -357,15 +359,42 @@ void BK4819_ToggleGpioOut(BK4819_GPIO_PIN_t Pin, bool bSet) void BK4819_SetCDCSSCodeWord(uint32_t CodeWord) { - // REG_51 <15> 0 1 = Enable TxCTCSS/CDCSS 0 = Disable - // REG_51 <14> 0 1 = GPIO0Input for CDCSS 0 = Normal Mode.(for BK4819v3) - // REG_51 <13> 0 1 = Transmit negative CDCSS code 0 = Transmit positive CDCSScode - // REG_51 <12> 0 CTCSS/CDCSS mode selection 1 = CTCSS 0 = CDCSS - // REG_51 <11> 0 CDCSS 24/23bit selection 1 = 24bit 0 = 23bit - // REG_51 <10> 0 1050HzDetectionMode 1 = 1050/4 Detect Enable, CTC1 should be set to 1050/4 Hz - // REG_51 <9> 0 Auto CDCSS Bw Mode 1 = Disable 0 = Enable. - // REG_51 <8> 0 Auto CTCSS Bw Mode 0 = Enable 1 = Disable - // REG_51 <6:0> 0 CTCSS/CDCSS Tx Gain1 Tuning 0 = min 127 = max + // REG_51 + // + // <15> 0 + // 1 = Enable TxCTCSS/CDCSS + // 0 = Disable + // + // <14> 0 + // 1 = GPIO0Input for CDCSS + // 0 = Normal Mode (for BK4819 v3) + // + // <13> 0 + // 1 = Transmit negative CDCSS code + // 0 = Transmit positive CDCSS code + // + // <12> 0 CTCSS/CDCSS mode selection + // 1 = CTCSS + // 0 = CDCSS + // + // <11> 0 CDCSS 24/23bit selection + // 1 = 24bit + // 0 = 23bit + // + // <10> 0 1050HzDetectionMode + // 1 = 1050/4 Detect Enable, CTC1 should be set to 1050/4 Hz + // + // <9> 0 Auto CDCSS Bw Mode + // 1 = Disable + // 0 = Enable + // + // <8> 0 Auto CTCSS Bw Mode + // 0 = Enable + // 1 = Disable + // + // <6:0> 0 CTCSS/CDCSS Tx Gain1 Tuning + // 0 = min + // 127 = max // Enable CDCSS // Transmit positive CDCSS code @@ -376,15 +405,15 @@ void BK4819_SetCDCSSCodeWord(uint32_t CodeWord) // CTCSS/CDCSS Tx Gain1 Tuning = 51 // BK4819_WriteRegister(BK4819_REG_51, - BK4819_REG_51_ENABLE_CxCSS - | BK4819_REG_51_GPIO6_PIN2_NORMAL - | BK4819_REG_51_TX_CDCSS_POSITIVE - | BK4819_REG_51_MODE_CDCSS - | BK4819_REG_51_CDCSS_23_BIT - | BK4819_REG_51_1050HZ_NO_DETECTION - | BK4819_REG_51_AUTO_CDCSS_BW_ENABLE - | BK4819_REG_51_AUTO_CTCSS_BW_ENABLE - | (51u << BK4819_REG_51_SHIFT_CxCSS_TX_GAIN1)); + BK4819_REG_51_ENABLE_CxCSS | + BK4819_REG_51_GPIO6_PIN2_NORMAL | + BK4819_REG_51_TX_CDCSS_POSITIVE | + BK4819_REG_51_MODE_CDCSS | + BK4819_REG_51_CDCSS_23_BIT | + BK4819_REG_51_1050HZ_NO_DETECTION | + BK4819_REG_51_AUTO_CDCSS_BW_ENABLE | + BK4819_REG_51_AUTO_CTCSS_BW_ENABLE | + (51u << BK4819_REG_51_SHIFT_CxCSS_TX_GAIN1)); // REG_07 <15:0> // @@ -515,131 +544,142 @@ void BK4819_EnableVox(uint16_t VoxEnableThreshold, uint16_t VoxDisableThreshold) void BK4819_SetFilterBandwidth(const BK4819_FilterBandwidth_t Bandwidth, const bool weak_no_different) { - // REG_43 <14:12> 4 RF filter bandwidth - // 0 = 1.7 kHz - // 1 = 2.0 kHz - // 2 = 2.5 kHz - // 3 = 3.0 kHz - // 4 = 3.75 kHz - // 5 = 4.0 kHz - // 6 = 4.25 kHz - // 7 = 4.5 kHz - // if REG_43 <5> == 1 RF filter bandwidth * 2 + // REG_43 + // <15> 0 ??? // - // REG_43 <11:9> 0 RF filter bandwidth when signal is weak - // 0 = 1.7 kHz - // 1 = 2.0 kHz - // 2 = 2.5 kHz - // 3 = 3.0 kHz - // 4 = 3.75 kHz - // 5 = 4.0 kHz - // 6 = 4.25 kHz - // 7 = 4.5 kHz - // if REG_43 <5> == 1 RF filter bandwidth * 2 + // <14:12> 4 RF filter bandwidth + // 0 = 1.7 kHz + // 1 = 2.0 kHz + // 2 = 2.5 kHz + // 3 = 3.0 kHz + // 4 = 3.75 kHz + // 5 = 4.0 kHz + // 6 = 4.25 kHz + // 7 = 4.5 kHz + // if <5> == 1, RF filter bandwidth * 2 // - // REG_43 <8:6> 1 AFTxLPF2 filter Band Width - // 1 = 2.5 kHz (for 12.5k channel space) - // 2 = 2.75 kHz - // 0 = 3.0 kHz (for 25k channel space) - // 3 = 3.5 kHz - // 4 = 4.5 kHz - // 5 = 4.25 kHz - // 6 = 4.0 kHz - // 7 = 3.75 kHz + // <11:9> 0 RF filter bandwidth when signal is weak + // 0 = 1.7 kHz + // 1 = 2.0 kHz + // 2 = 2.5 kHz + // 3 = 3.0 kHz + // 4 = 3.75 kHz + // 5 = 4.0 kHz + // 6 = 4.25 kHz + // 7 = 4.5 kHz + // if <5> == 1, RF filter bandwidth * 2 // - // REG_43 <5:4> 0 BW Mode Selection - // 1 = 6.25k - // 0 = 12.5k - // 2 = 25k/20k + // <8:6> 1 AFTxLPF2 filter Band Width + // 1 = 2.5 kHz (for 12.5k channel space) + // 2 = 2.75 kHz + // 0 = 3.0 kHz (for 25k channel space) + // 3 = 3.5 kHz + // 4 = 4.5 kHz + // 5 = 4.25 kHz + // 6 = 4.0 kHz + // 7 = 3.75 kHz // - // REG_43 <2> 0 Gain after FM Demodulation - // 0 = 0dB - // 1 = 6dB + // <5:4> 0 BW Mode Selection + // 0 = 12.5k + // 1 = 6.25k + // 2 = 25k/20k + // + // <3> 1 ??? + // + // <2> 0 Gain after FM Demodulation + // 0 = 0dB + // 1 = 6dB + // + // <1:0> 0 ??? - if (Bandwidth == BK4819_FILTER_BW_WIDE) - { // 25kHz - if (weak_no_different) - { // make the RX bandwidth the same with weak signals (sounds better) + uint16_t val; - BK4819_WriteRegister(BK4819_REG_43, - (0u << 15) | // 0 - (3u << 12) | // 3 RF filter bandwidth - (3u << 9) | // *0 RF filter bandwidth when signal is weak - (6u << 6) | // *0 AFTxLPF2 filter Band Width - (2u << 4) | // 2 BW Mode Selection - (1u << 3) | // 1 - (0u << 2) | // 0 Gain after FM Demodulation - (0u << 0)); // 0 - } - else - { // with weak RX signals the RX bandwidth is reduced - BK4819_WriteRegister(BK4819_REG_43, // 0x3028); // 0 011 000 000 10 1 0 00 - (0u << 15) | // 0 - (3u << 12) | // 3 RF filter bandwidth - (0u << 9) | // *0 RF filter bandwidth when signal is weak - (6u << 6) | // *0 AFTxLPF2 filter Band Width - (2u << 4) | // 2 BW Mode Selection - (1u << 3) | // 1 - (0u << 2) | // 0 Gain after FM Demodulation - (0u << 0)); // 0 - } - } - else - if (Bandwidth == BK4819_FILTER_BW_NARROW) - { // 12.5kHz - if (weak_no_different) - { - BK4819_WriteRegister(BK4819_REG_43, // 0x4048); // 0 100 000 001 00 1 0 00 - (0u << 15) | // 0 - (3u << 12) | // 4 RF filter bandwidth - (3u << 9) | // *0 RF filter bandwidth when signal is weak - (0u << 6) | // *1 AFTxLPF2 filter Band Width - (0u << 4) | // 0 BW Mode Selection - (1u << 3) | // 1 - (0u << 2) | // 0 Gain after FM Demodulation - (0u << 0)); // 0 - } - else - { - BK4819_WriteRegister(BK4819_REG_43, // 0x4048); // 0 100 000 001 00 1 0 00 - (0u << 15) | // 0 - (3u << 12) | // 4 RF filter bandwidth - (0u << 9) | // *0 RF filter bandwidth when signal is weak - (0u << 6) | // *1 AFTxLPF2 filter Band Width - (0u << 4) | // 0 BW Mode Selection - (1u << 3) | // 1 - (0u << 2) | // 0 Gain after FM Demodulation - (0u << 0)); // 0 - } - } - else - if (Bandwidth == BK4819_FILTER_BW_NARROWER) - { // 6.25kHz - if (weak_no_different) - { - BK4819_WriteRegister(BK4819_REG_43, - (0u << 15) | // 0 - (2u << 12) | // 4 RF filter bandwidth - (2u << 9) | // 0 RF filter bandwidth when signal is weak - (1u << 6) | // 1 AFTxLPF2 filter Band Width - (1u << 4) | // 1 BW Mode Selection - (1u << 3) | // 1 - (0u << 2) | // 0 Gain after FM Demodulation - (0u << 0)); // 0 - } - else - { - BK4819_WriteRegister(BK4819_REG_43, - (0u << 15) | // 0 - (2u << 12) | // 4 RF filter bandwidth - (0u << 9) | // 0 RF filter bandwidth when signal is weak - (1u << 6) | // 1 AFTxLPF2 filter Band Width - (1u << 4) | // 1 BW Mode Selection - (1u << 3) | // 1 - (0u << 2) | // 0 Gain after FM Demodulation - (0u << 0)); // 0 - } + switch (Bandwidth) + { + default: + case BK4819_FILTER_BW_WIDE: // 25kHz + if (weak_no_different) + { // make the RX bandwidth the same with weak signals + val = + (0u << 15) | // 0 + (5u << 12) | // *3 RF filter bandwidth + (5u << 9) | // *0 RF filter bandwidth when signal is weak + (6u << 6) | // *0 AFTxLPF2 filter Band Width + (2u << 4) | // 2 BW Mode Selection + (1u << 3) | // 1 + (0u << 2) | // 0 Gain after FM Demodulation + (0u << 0); // 0 + } + else + { // with weak RX signals the RX bandwidth is reduced + val = // 0x3028); // 0 011 000 000 10 1 0 00 + (0u << 15) | // 0 + (5u << 12) | // *3 RF filter bandwidth + (2u << 9) | // *0 RF filter bandwidth when signal is weak + (6u << 6) | // *0 AFTxLPF2 filter Band Width + (2u << 4) | // 2 BW Mode Selection + (1u << 3) | // 1 + (0u << 2) | // 0 Gain after FM Demodulation + (0u << 0); // 0 + } + break; + + case BK4819_FILTER_BW_NARROW: // 12.5kHz + if (weak_no_different) + { + val = + (0u << 15) | // 0 + (5u << 12) | // *4 RF filter bandwidth + (5u << 9) | // *0 RF filter bandwidth when signal is weak + (0u << 6) | // *1 AFTxLPF2 filter Band Width + (0u << 4) | // 0 BW Mode Selection + (1u << 3) | // 1 + (0u << 2) | // 0 Gain after FM Demodulation + (0u << 0); // 0 + } + else + { + val = // 0x4048); // 0 100 000 001 00 1 0 00 + (0u << 15) | // 0 + (5u << 12) | // *4 RF filter bandwidth + (2u << 9) | // *0 RF filter bandwidth when signal is weak + (0u << 6) | // *1 AFTxLPF2 filter Band Width + (0u << 4) | // 0 BW Mode Selection + (1u << 3) | // 1 + (0u << 2) | // 0 Gain after FM Demodulation + (0u << 0); // 0 + } + break; + + case BK4819_FILTER_BW_NARROWER: // 6.25kHz + if (weak_no_different) + { + val = + (0u << 15) | // 0 + (3u << 12) | // 3 RF filter bandwidth + (3u << 9) | // *0 RF filter bandwidth when signal is weak + (1u << 6) | // 1 AFTxLPF2 filter Band Width + (1u << 4) | // 1 BW Mode Selection + (1u << 3) | // 1 + (0u << 2) | // 0 Gain after FM Demodulation + (0u << 0); // 0 + } + else + { + val = + (0u << 15) | // 0 + (3u << 12) | // 3 RF filter bandwidth + (0u << 9) | // 0 RF filter bandwidth when signal is weak + (1u << 6) | // 1 AFTxLPF2 filter Band Width + (1u << 4) | // 1 BW Mode Selection + (1u << 3) | // 1 + (0u << 2) | // 1 Gain after FM Demodulation + (0u << 0); // 0 + } + break; } + + BK4819_WriteRegister(BK4819_REG_43, val); } void BK4819_SetupPowerAmplifier(const uint8_t bias, const uint32_t frequency) @@ -680,19 +720,21 @@ void BK4819_SetupSquelch( uint8_t SquelchCloseGlitchThresh, uint8_t SquelchOpenGlitchThresh) { - // REG_70 <15> 0 Enable TONE1 - // 1 = Enable - // 0 = Disable + // REG_70 // - // REG_70 <14:8> 0 TONE1 tuning gain - // 0 ~ 127 + // <15> 0 Enable TONE1 + // 1 = Enable + // 0 = Disable // - // REG_70 <7> 0 Enable TONE2 - // 1 = Enable - // 0 = Disable + // <14:8> 0 TONE1 tuning gain + // 0 ~ 127 // - // REG_70 <6:0> 0 TONE2/FSK tuning gain - // 0 ~ 127 + // <7> 0 Enable TONE2 + // 1 = Enable + // 0 = Disable + // + // <6:0> 0 TONE2/FSK tuning gain + // 0 ~ 127 // BK4819_WriteRegister(BK4819_REG_70, 0); @@ -702,43 +744,51 @@ void BK4819_SetupSquelch( // BK4819_WriteRegister(BK4819_REG_4D, 0xA000 | SquelchCloseGlitchThresh); - // REG_4E <15:14> 1 ??? + // REG_4E // - // REG_4E <13:11> 5 Squelch = 1 Delay Setting - // 0 ~ 7 + // <15:14> 1 ??? // - // REG_4E <10: 9> 7 Squelch = 0 Delay Setting - // 0 ~ 3 + // <13:11> 5 Squelch = 1 Delay Setting + // 0 ~ 7 // - // REG_4E < 8> 0 ??? + // <10:9> 7 Squelch = 0 Delay Setting + // 0 ~ 3 // - // REG_4E < 7: 0> 8 Glitch threshold for Squelch = 1 - // 0 ~ 255 + // <8> 0 ??? + // + // <7:0> 8 Glitch threshold for Squelch = 1 + // 0 ~ 255 // BK4819_WriteRegister(BK4819_REG_4E, // 01 101 11 1 00000000 #ifndef ENABLE_FASTER_CHANNEL_SCAN // original - (1u << 14) // 1 ??? - | (5u << 11) // 5 squelch = 1 delay .. 0 ~ 7 - | (3u << 9) // 3 squelch = 0 delay .. 0 ~ 3 - | SquelchOpenGlitchThresh); // 0 ~ 255 + (1u << 14) | // 1 ??? + (5u << 11) | // 5 squelch = 1 delay .. 0 ~ 7 + (3u << 9) | // 3 squelch = 0 delay .. 0 ~ 3 + SquelchOpenGlitchThresh); // 0 ~ 255 #else // faster (but twitchier) - (1u << 14) // 1 ??? - | SquelchOpenGlitchThresh); // 0 ~ 255 + (1u << 14) | // 1 ??? + SquelchOpenGlitchThresh); // 0 ~ 255 #endif - - // REG_4F <14:8> 47 Ex-noise threshold for Squelch = 0 - // 0 ~ 127 + + // REG_4F // - // REG_4F < 7> ??? + // <14:8> 47 Ex-noise threshold for Squelch = 0 + // 0 ~ 127 + // + // <7> ??? + // + // <6:0> 46 Ex-noise threshold for Squelch = 1 + // 0 ~ 127 // - // REG_4F < 6:0> 46 Ex-noise threshold for Squelch = 1 - // 0 ~ 127 BK4819_WriteRegister(BK4819_REG_4F, ((uint16_t)SquelchCloseNoiseThresh << 8) | SquelchOpenNoiseThresh); - // REG_78 <15:8> 72 RSSI threshold for Squelch = 1 0.5dB/step - // REG_78 < 7:0> 70 RSSI threshold for Squelch = 0 0.5dB/step + // REG_78 + // + // <15:8> 72 RSSI threshold for Squelch = 1 0.5dB/step + // + // <7:0> 70 RSSI threshold for Squelch = 0 0.5dB/step // BK4819_WriteRegister(BK4819_REG_78, ((uint16_t)SquelchOpenRSSIThresh << 8) | SquelchCloseRSSIThresh); @@ -751,6 +801,7 @@ void BK4819_SetAF(BK4819_AF_Type_t AF) { // AF Output Inverse Mode = Inverse // Undocumented bits 0x2040 + // BK4819_WriteRegister(BK4819_REG_47, 0x6040 | (AF << 8)); } @@ -769,6 +820,7 @@ void BK4819_RX_TurnOn(void) // Enable DSP // Enable XTAL // Enable Band Gap + // BK4819_WriteRegister(BK4819_REG_37, 0x1F0F); // 0001111100001111 // Turn off everything @@ -782,6 +834,7 @@ void BK4819_RX_TurnOn(void) // Disable MIC ADC // Disable TX DSP // Enable RX DSP + // BK4819_WriteRegister(BK4819_REG_30, 0b1011111111110001); // 1 0 1111 1 1 1111 0 0 0 1 } @@ -821,7 +874,7 @@ void BK4819_EnableScramble(uint8_t Type) bool BK4819_CompanderEnabled(void) { - return (BK4819_ReadRegister(BK4819_REG_31) & (1u < 3)) ? true : false; + return (BK4819_ReadRegister(BK4819_REG_31) & (1u << 3)) ? true : false; } void BK4819_SetCompander(const unsigned int mode) @@ -832,54 +885,54 @@ void BK4819_SetCompander(const unsigned int mode) // mode 3 .. TX and RX const uint16_t r31 = BK4819_ReadRegister(BK4819_REG_31); - + if (mode == 0) { // disable BK4819_WriteRegister(BK4819_REG_31, r31 & ~(1u << 3)); return; } - // set the compressor ratio + // REG_29 // - // REG_29 <15:14> 10 Compress (AF Tx) Ratio - // 00 = Disable - // 01 = 1.333:1 - // 10 = 2:1 - // 11 = 4:1 + // <15:14> 10 Compress (AF Tx) Ratio + // 00 = Disable + // 01 = 1.333:1 + // 10 = 2:1 + // 11 = 4:1 // - // REG_29 <13:7> 86 Compress (AF Tx) 0 dB point (dB) + // <13:7> 86 Compress (AF Tx) 0 dB point (dB) // - // REG_29 <6:0> 64 Compress (AF Tx) noise point (dB) + // <6:0> 64 Compress (AF Tx) noise point (dB) // const uint16_t compress_ratio = (mode == 1 || mode >= 3) ? 2 : 0; // 2:1 const uint16_t compress_0dB = 86; const uint16_t compress_noise_dB = 64; // AB40 10 1010110 1000000 - BK4819_WriteRegister(BK4819_REG_29, // (BK4819_ReadRegister(BK4819_REG_29) & ~(3u < 14)) | (compress_ratio < 14)); - (compress_ratio << 14) - | (compress_0dB << 7) - | (compress_noise_dB << 0)); - - // set the expander ratio + BK4819_WriteRegister(BK4819_REG_29, // (BK4819_ReadRegister(BK4819_REG_29) & ~(3u << 14)) | (compress_ratio << 14)); + (compress_ratio << 14) | + (compress_0dB << 7) | + (compress_noise_dB << 0)); + + // REG_28 // - // REG_28 <15:14> 01 Expander (AF Rx) Ratio - // 00 = Disable - // 01 = 1:2 - // 10 = 1:3 - // 11 = 1:4 + // <15:14> 01 Expander (AF Rx) Ratio + // 00 = Disable + // 01 = 1:2 + // 10 = 1:3 + // 11 = 1:4 // - // REG_28 <13:7> 86 Expander (AF Rx) 0 dB point (dB) + // <13:7> 86 Expander (AF Rx) 0 dB point (dB) // - // REG_28 <6:0> 56 Expander (AF Rx) noise point (dB) + // <6:0> 56 Expander (AF Rx) noise point (dB) // const uint16_t expand_ratio = (mode >= 2) ? 1 : 0; // 1:2 const uint16_t expand_0dB = 86; const uint16_t expand_noise_dB = 56; // 6B38 01 1010110 0111000 - BK4819_WriteRegister(BK4819_REG_28, // (BK4819_ReadRegister(BK4819_REG_28) & ~(3u < 14)) | (expand_ratio < 14)); - (expand_ratio << 14) - | (expand_0dB << 7) - | (expand_noise_dB << 0)); + BK4819_WriteRegister(BK4819_REG_28, // (BK4819_ReadRegister(BK4819_REG_28) & ~(3u << 14)) | (expand_ratio << 14)); + (expand_ratio << 14) | + (expand_0dB << 7) | + (expand_noise_dB << 0)); // enable BK4819_WriteRegister(BK4819_REG_31, r31 | (1u << 3)); @@ -898,29 +951,36 @@ void BK4819_DisableDTMF(void) void BK4819_EnableDTMF(void) { - // no idea what this register does + // no idea what this does BK4819_WriteRegister(BK4819_REG_21, 0x06D8); // 0000 0110 1101 1000 - // REG_24 <15> 1 ??? - // REG_24 <14:7> 24 Threshold - // REG_24 <6> 1 ??? - // REG_24 <5> 0 DTMF/SelCall enable - // 1 = Enable - // 0 = Disable - // REG_24 <4> 1 DTMF or SelCall detection mode - // 1 = for DTMF - // 0 = for SelCall - // REG_24 <3:0> 14 Max symbol number for SelCall detection - -// const uint16_t threshold = 24; // doesn't decode non-QS radios + // REG_24 + // + // <15> 1 ??? + // + // <14:7> 24 Threshold + // + // <6> 1 ??? + // + // <5> 0 DTMF/SelCall enable + // 1 = Enable + // 0 = Disable + // + // <4> 1 DTMF or SelCall detection mode + // 1 = for DTMF + // 0 = for SelCall + // + // <3:0> 14 Max symbol number for SelCall detection + // +// const uint16_t threshold = 24; // default, but doesn't decode non-QS radios const uint16_t threshold = 160; // but 128 ~ 247 does - BK4819_WriteRegister(BK4819_REG_24, // 1 00011000 1 1 1 1110 - (1u << BK4819_REG_24_SHIFT_UNKNOWN_15) - | (threshold << BK4819_REG_24_SHIFT_THRESHOLD) // 0 ~ 255 - | (1u << BK4819_REG_24_SHIFT_UNKNOWN_6) - | BK4819_REG_24_ENABLE - | BK4819_REG_24_SELECT_DTMF - | (14u << BK4819_REG_24_SHIFT_MAX_SYMBOLS)); // 0 ~ 15 + BK4819_WriteRegister(BK4819_REG_24, // 1 00011000 1 1 1 1110 + (1u << BK4819_REG_24_SHIFT_UNKNOWN_15) | + (threshold << BK4819_REG_24_SHIFT_THRESHOLD) | // 0 ~ 255 + (1u << BK4819_REG_24_SHIFT_UNKNOWN_6) | + BK4819_REG_24_ENABLE | + BK4819_REG_24_SELECT_DTMF | + (14u << BK4819_REG_24_SHIFT_MAX_SYMBOLS)); // 0 ~ 15 } void BK4819_PlayTone(uint16_t Frequency, bool bTuningGainSwitch) @@ -967,13 +1027,12 @@ void BK4819_TurnsOffTones_TurnsOnRX(void) BK4819_WriteRegister(BK4819_REG_30, 0); BK4819_WriteRegister(BK4819_REG_30, - 0 - | BK4819_REG_30_ENABLE_VCO_CALIB - | BK4819_REG_30_ENABLE_RX_LINK - | BK4819_REG_30_ENABLE_AF_DAC - | BK4819_REG_30_ENABLE_DISC_MODE - | BK4819_REG_30_ENABLE_PLL_VCO - | BK4819_REG_30_ENABLE_RX_DSP); + BK4819_REG_30_ENABLE_VCO_CALIB | + BK4819_REG_30_ENABLE_RX_LINK | + BK4819_REG_30_ENABLE_AF_DAC | + BK4819_REG_30_ENABLE_DISC_MODE | + BK4819_REG_30_ENABLE_PLL_VCO | + BK4819_REG_30_ENABLE_RX_DSP); } #ifdef ENABLE_AIRCOPY @@ -1009,10 +1068,10 @@ void BK4819_ExitBypass(void) // REG_7E // - // <15> 0 AGC fix mode + // <15> 0 AGC fix mode // 1 = fix // 0 = auto - // + // // <14:12> 3 AGC fix index // 3 ( 3) = max // 2 ( 2) @@ -1022,22 +1081,22 @@ void BK4819_ExitBypass(void) // 6 (-2) // 5 (-3) // 4 (-4) = min - // - // <11:6> 0 ??? - // - // <5:3> 5 DC filter band width for Tx (MIC In) + // + // <11:6> 0 ??? + // + // <5:3> 5 DC filter band width for Tx (MIC In) // 0 ~ 7 // 0 = bypass DC filter - // - // <2:0> 6 DC filter band width for Rx (I.F In) + // + // <2:0> 6 DC filter band width for Rx (I.F In) // 0 ~ 7 // 0 = bypass DC filter - // + // BK4819_WriteRegister(BK4819_REG_7E, // 0x302E); // 0 011 000000 101 110 - (0u << 15) // 0 AGC fix mode - | (3u << 12) // 3 AGC fix index - | (5u << 3) // 5 DC Filter band width for Tx (MIC In) - | (6u << 0)); // 6 DC Filter band width for Rx (I.F In) + (0u << 15) | // 0 AGC fix mode + (3u << 12) | // 3 AGC fix index + (5u << 3) | // 5 DC Filter band width for Tx (MIC In) + (6u << 0)); // 6 DC Filter band width for Rx (I.F In) } void BK4819_PrepareTransmit(void) @@ -1057,15 +1116,42 @@ void BK4819_TxOn_Beep(void) void BK4819_ExitSubAu(void) { - // REG_51 <15> 0 1 = Enable TxCTCSS/CDCSS 0 = Disable - // REG_51 <14> 0 1 = GPIO0Input for CDCSS 0 = Normal Mode.(for BK4819v3) - // REG_51 <13> 0 1 = Transmit negative CDCSS code 0 = Transmit positive CDCSScode - // REG_51 <12> 0 CTCSS/CDCSS mode selection 1 = CTCSS 0 = CDCSS - // REG_51 <11> 0 CDCSS 24/23bit selection 1 = 24bit 0 = 23bit - // REG_51 <10> 0 1050HzDetectionMode 1 = 1050/4 Detect Enable, CTC1 should be set to 1050/4 Hz - // REG_51 <9> 0 Auto CDCSS Bw Mode 1 = Disable 0 = Enable. - // REG_51 <8> 0 Auto CTCSS Bw Mode 0 = Enable 1 = Disable - // REG_51 <6:0> 0 CTCSS/CDCSS Tx Gain1 Tuning 0 = min 127 = max + // REG_51 + // + // <15> 0 + // 1 = Enable TxCTCSS/CDCSS + // 0 = Disable + // + // <14> 0 + // 1 = GPIO0Input for CDCSS + // 0 = Normal Mode (for BK4819 v3) + // + // <13> 0 + // 1 = Transmit negative CDCSS code + // 0 = Transmit positive CDCSS code + // + // <12> 0 CTCSS/CDCSS mode selection + // 1 = CTCSS + // 0 = CDCSS + // + // <11> 0 CDCSS 24/23bit selection + // 1 = 24bit + // 0 = 23bit + // + // <10> 0 1050HzDetectionMode + // 1 = 1050/4 Detect Enable, CTC1 should be set to 1050/4 Hz + // + // <9> 0 Auto CDCSS Bw Mode + // 1 = Disable + // 0 = Enable + // + // <8> 0 Auto CTCSS Bw Mode + // 0 = Enable + // 1 = Disable + // + // <6:0> 0 CTCSS/CDCSS Tx Gain1 Tuning + // 0 = min + // 127 = max // BK4819_WriteRegister(BK4819_REG_51, 0x0000); } @@ -1086,11 +1172,10 @@ void BK4819_EnterDTMF_TX(bool bLocalLoopback) BK4819_SetAF(bLocalLoopback ? BK4819_AF_BEEP : BK4819_AF_MUTE); BK4819_WriteRegister(BK4819_REG_70, - 0 - | BK4819_REG_70_MASK_ENABLE_TONE1 - | (83u << BK4819_REG_70_SHIFT_TONE1_TUNING_GAIN) - | BK4819_REG_70_MASK_ENABLE_TONE2 - | (83u << BK4819_REG_70_SHIFT_TONE2_TUNING_GAIN)); + BK4819_REG_70_MASK_ENABLE_TONE1 | + (83u << BK4819_REG_70_SHIFT_TONE1_TUNING_GAIN) | + BK4819_REG_70_MASK_ENABLE_TONE2 | + (83u << BK4819_REG_70_SHIFT_TONE2_TUNING_GAIN)); BK4819_EnableTXLink(); } @@ -1109,17 +1194,16 @@ void BK4819_ExitDTMF_TX(bool bKeep) void BK4819_EnableTXLink(void) { BK4819_WriteRegister(BK4819_REG_30, - 0 - | BK4819_REG_30_ENABLE_VCO_CALIB - | BK4819_REG_30_ENABLE_UNKNOWN - | BK4819_REG_30_DISABLE_RX_LINK - | BK4819_REG_30_ENABLE_AF_DAC - | BK4819_REG_30_ENABLE_DISC_MODE - | BK4819_REG_30_ENABLE_PLL_VCO - | BK4819_REG_30_ENABLE_PA_GAIN - | BK4819_REG_30_DISABLE_MIC_ADC - | BK4819_REG_30_ENABLE_TX_DSP - | BK4819_REG_30_DISABLE_RX_DSP); + BK4819_REG_30_ENABLE_VCO_CALIB | + BK4819_REG_30_ENABLE_UNKNOWN | + BK4819_REG_30_DISABLE_RX_LINK | + BK4819_REG_30_ENABLE_AF_DAC | + BK4819_REG_30_ENABLE_DISC_MODE | + BK4819_REG_30_ENABLE_PLL_VCO | + BK4819_REG_30_ENABLE_PA_GAIN | + BK4819_REG_30_DISABLE_MIC_ADC | + BK4819_REG_30_ENABLE_TX_DSP | + BK4819_REG_30_DISABLE_RX_DSP); } void BK4819_PlayDTMF(char Code) @@ -1127,31 +1211,30 @@ void BK4819_PlayDTMF(char Code) uint16_t tone1 = 0; uint16_t tone2 = 0; - switch (Code) - { - case '0': tone1 = 9715; tone2 = 13793; break; // 941Hz 1336Hz - case '1': tone1 = 7196; tone2 = 12482; break; // 679Hz 1209Hz - case '2': tone1 = 7196; tone2 = 13793; break; // 697Hz 1336Hz - case '3': tone1 = 7196; tone2 = 15249; break; // 679Hz 1477Hz - case '4': tone1 = 7950; tone2 = 12482; break; // 770Hz 1209Hz - case '5': tone1 = 7950; tone2 = 13793; break; // 770Hz 1336Hz - case '6': tone1 = 7950; tone2 = 15249; break; // 770Hz 1477Hz - case '7': tone1 = 8796; tone2 = 12482; break; // 852Hz 1209Hz - case '8': tone1 = 8796; tone2 = 13793; break; // 852Hz 1336Hz - case '9': tone1 = 8796; tone2 = 15249; break; // 852Hz 1477Hz - case 'A': tone1 = 7196; tone2 = 16860; break; // 679Hz 1633Hz - case 'B': tone1 = 7950; tone2 = 16860; break; // 770Hz 1633Hz - case 'C': tone1 = 8796; tone2 = 16860; break; // 852Hz 1633Hz - case 'D': tone1 = 9715; tone2 = 16860; break; // 941Hz 1633Hz - case '*': tone1 = 9715; tone2 = 12482; break; // 941Hz 1209Hz - case '#': tone1 = 9715; tone2 = 15249; break; // 941Hz 1477Hz + switch (Code) // Hz Hz + { // + case '0': tone1 = 9715; tone2 = 13793; break; // 941 1336 + case '1': tone1 = 7196; tone2 = 12482; break; // 679 1209 + case '2': tone1 = 7196; tone2 = 13793; break; // 697 1336 + case '3': tone1 = 7196; tone2 = 15249; break; // 679 1477 + case '4': tone1 = 7950; tone2 = 12482; break; // 770 1209 + case '5': tone1 = 7950; tone2 = 13793; break; // 770 1336 + case '6': tone1 = 7950; tone2 = 15249; break; // 770 1477 + case '7': tone1 = 8796; tone2 = 12482; break; // 852 1209 + case '8': tone1 = 8796; tone2 = 13793; break; // 852 1336 + case '9': tone1 = 8796; tone2 = 15249; break; // 852 1477 + case 'A': tone1 = 7196; tone2 = 16860; break; // 679 1633 + case 'B': tone1 = 7950; tone2 = 16860; break; // 770 1633 + case 'C': tone1 = 8796; tone2 = 16860; break; // 852 1633 + case 'D': tone1 = 9715; tone2 = 16860; break; // 941 1633 + case '*': tone1 = 9715; tone2 = 12482; break; // 941 1209 + case '#': tone1 = 9715; tone2 = 15249; break; // 941 1477 } - if (tone1 > 0 && tone2 > 0) - { + if (tone1 > 0) BK4819_WriteRegister(BK4819_REG_71, tone1); + if (tone2 > 0) BK4819_WriteRegister(BK4819_REG_72, tone2); - } } void BK4819_PlayDTMFString(const char *pString, bool bDelayFirst, uint16_t FirstCodePersistTime, uint16_t HashCodePersistTime, uint16_t CodePersistTime, uint16_t CodeInternalTime) @@ -1183,19 +1266,21 @@ void BK4819_TransmitTone(bool bLocalLoopback, uint32_t Frequency) { BK4819_EnterTxMute(); - // REG_70 <15> 0 Enable TONE1 - // 1 = Enable - // 0 = Disable + // REG_70 // - // REG_70 <14:8> 0 TONE1 tuning gain - // 0 ~ 127 + // <15> 0 Enable TONE1 + // 1 = Enable + // 0 = Disable // - // REG_70 <7> 0 Enable TONE2 - // 1 = Enable - // 0 = Disable + // <14:8> 0 TONE1 tuning gain + // 0 ~ 127 // - // REG_70 <6:0> 0 TONE2/FSK tuning gain - // 0 ~ 127 + // <7> 0 Enable TONE2 + // 1 = Enable + // 0 = Disable + // + // <6:0> 0 TONE2/FSK amplitude + // 0 ~ 127 // // set the tone amplitude // @@ -1215,19 +1300,25 @@ void BK4819_TransmitTone(bool bLocalLoopback, uint32_t Frequency) void BK4819_GenTail(uint8_t Tail) { - // REG_52 <15> 0 Enable 120/180/240 degree shift CTCSS or 134.4Hz Tail when CDCSS mode - // 0 = Normal - // 1 = Enable - // REG_52 <14:13> 0 CTCSS tail mode selection (only valid when REG_52 <15> = 1) - // 00 = for 134.4Hz CTCSS Tail when CDCSS mode - // 01 = CTCSS0 120° phase shift - // 10 = CTCSS0 180° phase shift - // 11 = CTCSS0 240° phase shift - // REG_52 <12> 0 CTCSSDetectionThreshold Mode - // 1 = ~0.1% - // 0 = 0.1 Hz - // REG_52 <11:6> 0x0A CTCSS found detect threshold - // REG_52 <5:0> 0x0F CTCSS lost detect threshold + // REG_52 + // + // <15> 0 Enable 120/180/240 degree shift CTCSS or 134.4Hz Tail when CDCSS mode + // 0 = Normal + // 1 = Enable + // + // <14:13> 0 CTCSS tail mode selection (only valid when REG_52 <15> = 1) + // 00 = for 134.4Hz CTCSS Tail when CDCSS mode + // 01 = CTCSS0 120° phase shift + // 10 = CTCSS0 180° phase shift + // 11 = CTCSS0 240° phase shift + // + // <12> 0 CTCSSDetectionThreshold Mode + // 1 = ~0.1% + // 0 = 0.1 Hz + // + // <11:6> 0x0A CTCSS found detect threshold + // + // <5:0> 0x0F CTCSS lost detect threshold // REG_07 <15:0> // @@ -1282,32 +1373,42 @@ void BK4819_EnableCTCSS(void) BK4819_GenTail(4); // 55Hz tone freq #endif - // REG_51 <15> 0 - // 1 = Enable TxCTCSS/CDCSS - // 0 = Disable - // REG_51 <14> 0 - // 1 = GPIO0Input for CDCSS - // 0 = Normal Mode (for BK4819 v3) - // REG_51 <13> 0 - // 1 = Transmit negative CDCSS code - // 0 = Transmit positive CDCSS code - // REG_51 <12> 0 CTCSS/CDCSS mode selection - // 1 = CTCSS - // 0 = CDCSS - // REG_51 <11> 0 CDCSS 24/23bit selection - // 1 = 24bit - // 0 = 23bit - // REG_51 <10> 0 1050HzDetectionMode - // 1 = 1050/4 Detect Enable, CTC1 should be set to 1050/4 Hz - // REG_51 <9> 0 Auto CDCSS Bw Mode - // 1 = Disable - // 0 = Enable - // REG_51 <8> 0 Auto CTCSS Bw Mode - // 0 = Enable - // 1 = Disable - // REG_51 <6:0> 0 CTCSS/CDCSS Tx Gain1 Tuning - // 0 = min - // 127 = max + // REG_51 + // + // <15> 0 + // 1 = Enable TxCTCSS/CDCSS + // 0 = Disable + // + // <14> 0 + // 1 = GPIO0Input for CDCSS + // 0 = Normal Mode (for BK4819 v3) + // + // <13> 0 + // 1 = Transmit negative CDCSS code + // 0 = Transmit positive CDCSS code + // + // <12> 0 CTCSS/CDCSS mode selection + // 1 = CTCSS + // 0 = CDCSS + // + // <11> 0 CDCSS 24/23bit selection + // 1 = 24bit + // 0 = 23bit + // + // <10> 0 1050HzDetectionMode + // 1 = 1050/4 Detect Enable, CTC1 should be set to 1050/4 Hz + // + // <9> 0 Auto CDCSS Bw Mode + // 1 = Disable + // 0 = Enable + // + // <8> 0 Auto CTCSS Bw Mode + // 0 = Enable + // 1 = Disable + // + // <6:0> 0 CTCSS/CDCSS Tx Gain1 Tuning + // 0 = min + // 127 = max BK4819_WriteRegister(BK4819_REG_51, 0x904A); // 1 0 0 1 0 0 0 0 0 1001010 } @@ -1386,25 +1487,52 @@ void BK4819_SetScanFrequency(uint32_t Frequency) { BK4819_SetFrequency(Frequency); - // REG_51 <15> 0 1 = Enable TxCTCSS/CDCSS 0 = Disable - // REG_51 <14> 0 1 = GPIO0 Input for CDCSS 0 = Normal Mode.(for BK4819v3) - // REG_51 <13> 0 1 = Transmit negative CDCSS code 0 = Transmit positive CDCSScode - // REG_51 <12> 0 CTCSS/CDCSS mode selection 1 = CTCSS 0 = CDCSS - // REG_51 <11> 0 CDCSS 24/23bit selection 1 = 24bit 0 = 23bit - // REG_51 <10> 0 1050HzDetectionMode 1 = 1050/4 Detect Enable, CTC1 should be set to 1050/4 Hz - // REG_51 <9> 0 Auto CDCSS Bw Mode 1 = Disable 0 = Enable. - // REG_51 <8> 0 Auto CTCSS Bw Mode 0 = Enable 1 = Disable - // REG_51 <6:0> 0 CTCSS/CDCSS Tx Gain1 Tuning 0 = min 127 = max - - BK4819_WriteRegister(BK4819_REG_51, 0 - | BK4819_REG_51_DISABLE_CxCSS - | BK4819_REG_51_GPIO6_PIN2_NORMAL - | BK4819_REG_51_TX_CDCSS_POSITIVE - | BK4819_REG_51_MODE_CDCSS - | BK4819_REG_51_CDCSS_23_BIT - | BK4819_REG_51_1050HZ_NO_DETECTION - | BK4819_REG_51_AUTO_CDCSS_BW_DISABLE - | BK4819_REG_51_AUTO_CTCSS_BW_DISABLE); + // REG_51 + // + // <15> 0 + // 1 = Enable TxCTCSS/CDCSS + // 0 = Disable + // + // <14> 0 + // 1 = GPIO0Input for CDCSS + // 0 = Normal Mode (for BK4819 v3) + // + // <13> 0 + // 1 = Transmit negative CDCSS code + // 0 = Transmit positive CDCSS code + // + // <12> 0 CTCSS/CDCSS mode selection + // 1 = CTCSS + // 0 = CDCSS + // + // <11> 0 CDCSS 24/23bit selection + // 1 = 24bit + // 0 = 23bit + // + // <10> 0 1050HzDetectionMode + // 1 = 1050/4 Detect Enable, CTC1 should be set to 1050/4 Hz + // + // <9> 0 Auto CDCSS Bw Mode + // 1 = Disable + // 0 = Enable + // + // <8> 0 Auto CTCSS Bw Mode + // 0 = Enable + // 1 = Disable + // + // <6:0> 0 CTCSS/CDCSS Tx Gain1 Tuning + // 0 = min + // 127 = max + // + BK4819_WriteRegister(BK4819_REG_51, + BK4819_REG_51_DISABLE_CxCSS | + BK4819_REG_51_GPIO6_PIN2_NORMAL | + BK4819_REG_51_TX_CDCSS_POSITIVE | + BK4819_REG_51_MODE_CDCSS | + BK4819_REG_51_CDCSS_23_BIT | + BK4819_REG_51_1050HZ_NO_DETECTION | + BK4819_REG_51_AUTO_CDCSS_BW_DISABLE | + BK4819_REG_51_AUTO_CTCSS_BW_DISABLE); BK4819_RX_TurnOn(); } @@ -1527,7 +1655,7 @@ void BK4819_PlayRogerMDC(void) unsigned int i; BK4819_SetAF(BK4819_AF_MUTE); - + BK4819_WriteRegister(BK4819_REG_58, 0x37C3); // FSK Enable, // RX Bandwidth FFSK 1200/1800 // 0xAA or 0x55 Preamble diff --git a/firmware.bin b/firmware.bin index a203a704a87e0c61b3c5cc060660f3949e5f565a..59626d078f74243077f7e485aff2e44edfed070d 100644 GIT binary patch delta 15013 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 U<3$Dr*U4uOHp4ZCAF>qy0NHjM2mk;8 delta 14972 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 aL9$5~85mM8GB9LLUU{$?uG#pItpEVd;T%{1 diff --git a/firmware.packed.bin b/firmware.packed.bin index 0552c32cad3414d5a568c2ec52af385601a2e063..55c1ef635b8b556b512373193940173af1f07423 100644 GIT binary patch delta 38216 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�tM!F@b5jHu#8j&ysrl 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 S^F_@*nbp5uSWVAXk_7-K?Gq3H