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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