0
mirror of https://github.com/OneOfEleven/uv-k5-firmware-custom.git synced 2025-04-28 22:31:25 +03:00

mdc1200 TX param update

This commit is contained in:
OneOfEleven 2023-10-26 18:09:53 +01:00
parent 984722b924
commit 5119995b08
4 changed files with 73 additions and 11 deletions

View File

@ -134,6 +134,34 @@ void AIRCOPY_start_fsk_tx(const int request_block_num)
// turn the TX on // turn the TX on
RADIO_enableTX(true); RADIO_enableTX(true);
// REG_2B 0
//
// <10> 0 AF RX HPF 300Hz filter
// 0 = enable
// 1 = disable
//
// <9> 0 AF RX LPF 3kHz filter
// 0 = enable
// 1 = disable
//
// <8> 0 AF RX de-emphasis filter
// 0 = enable
// 1 = disable
//
// <2> 0 AF TX HPF 300Hz filter
// 0 = enable
// 1 = disable
//
// <1> 0 AF TX LPF filter
// 0 = enable
// 1 = disable
//
// <0> 0 AF TX pre-emphasis filter
// 0 = enable
// 1 = disable
//
BK4819_WriteRegister(0x2B, (1u << 2) | (1u << 0)); // try to improve the TX waveform
// REG_59 // REG_59
// //
// <15> 0 TX FIFO // <15> 0 TX FIFO
@ -217,6 +245,9 @@ void AIRCOPY_stop_fsk_tx(void)
BK4819_reset_fsk(); BK4819_reset_fsk();
// restore TX/RX filtering
BK4819_WriteRegister(0x2B, 0);
if (g_aircopy_state == AIRCOPY_TX) if (g_aircopy_state == AIRCOPY_TX)
{ {
g_aircopy_block_number++; g_aircopy_block_number++;

View File

@ -817,14 +817,14 @@ void BK4819_SetupSquelch(
// 1 = Enable // 1 = Enable
// 0 = Disable // 0 = Disable
// //
// <14:8> 0 TONE1 tuning gain // <14:8> 0 TONE1 tuning
// 0 ~ 127 // 0 ~ 127
// //
// <7> 0 Enable TONE2 // <7> 0 Enable TONE2
// 1 = Enable // 1 = Enable
// 0 = Disable // 0 = Disable
// //
// <6:0> 0 TONE2/FSK tuning gain // <6:0> 0 TONE2/FSK tuning
// 0 ~ 127 // 0 ~ 127
// //
BK4819_WriteRegister(0x70, 0); BK4819_WriteRegister(0x70, 0);
@ -1839,8 +1839,8 @@ uint8_t BK4819_GetCTCType(void)
( 0u << 15) | ( 0u << 15) |
( 0u << 8) | ( 0u << 8) |
( 1u << 7) | ( 1u << 7) |
// (96u << 0)); (96u << 0));
(127u << 0)); // best waveform // (127u << 0)); // best waveform
// REG_72 // REG_72
// //
@ -2119,7 +2119,7 @@ void BK4819_reset_fsk(void)
( 0u << 15) | // 0 ( 0u << 15) | // 0
( 0u << 8) | // 0 ( 0u << 8) | // 0
( 1u << 7) | // 1 ( 1u << 7) | // 1
(96u << 0)); // 96 (127 looks better) (96u << 0)); // 96
BK4819_WriteRegister(0x72, ((1200u * 103244) + 5000) / 10000); // with rounding BK4819_WriteRegister(0x72, ((1200u * 103244) + 5000) / 10000); // with rounding
@ -2187,6 +2187,9 @@ void BK4819_reset_fsk(void)
uint16_t fsk_reg59; uint16_t fsk_reg59;
uint8_t packet[42]; uint8_t packet[42];
// create the MDC1200 packet
const unsigned int size = MDC1200_encode_single_packet(packet, op, arg, id);
BK4819_ExitTxMute(); BK4819_ExitTxMute();
#if 1 #if 1
@ -2227,6 +2230,34 @@ void BK4819_reset_fsk(void)
// BK4819_WriteRegister(0x40, (0u << 12) | (1232 << 0)); // 000 0 010011010000 // BK4819_WriteRegister(0x40, (0u << 12) | (1232 << 0)); // 000 0 010011010000
BK4819_WriteRegister(0x40, (tx_dev & 0xf000) | (1050 << 0)); // reduce the deviation a little BK4819_WriteRegister(0x40, (tx_dev & 0xf000) | (1050 << 0)); // reduce the deviation a little
// REG_2B 0
//
// <10> 0 AF RX HPF 300Hz filter
// 0 = enable
// 1 = disable
//
// <9> 0 AF RX LPF 3kHz filter
// 0 = enable
// 1 = disable
//
// <8> 0 AF RX de-emphasis filter
// 0 = enable
// 1 = disable
//
// <2> 0 AF TX HPF 300Hz filter
// 0 = enable
// 1 = disable
//
// <1> 0 AF TX LPF filter
// 0 = enable
// 1 = disable
//
// <0> 0 AF TX pre-emphasis filter
// 0 = enable
// 1 = disable
//
BK4819_WriteRegister(0x2B, (1u << 2) | (1u << 0));
// ******************************************* // *******************************************
BK4819_WriteRegister(0x30, BK4819_WriteRegister(0x30,
@ -2245,9 +2276,6 @@ void BK4819_reset_fsk(void)
// ******************************************* // *******************************************
// create the MDC1200 packet
const unsigned int size = MDC1200_encode_single_packet(packet, op, arg, id);
// MDC1200 uses 1200/1800 Hz FSK tone frequencies 1200 bits/s // MDC1200 uses 1200/1800 Hz FSK tone frequencies 1200 bits/s
// //
BK4819_WriteRegister(0x58, // 0x37C3); // 001 101 11 11 00 001 1 BK4819_WriteRegister(0x58, // 0x37C3); // 001 101 11 11 00 001 1
@ -2328,8 +2356,8 @@ void BK4819_reset_fsk(void)
( 0u << 15) | // 0 ( 0u << 15) | // 0
( 0u << 8) | // 0 ( 0u << 8) | // 0
( 1u << 7) | // 1 ( 1u << 7) | // 1
// (96u << 0)); // 96 (96u << 0)); // 96
(127u << 0)); // 127 produces nicer waveform // (127u << 0));
// REG_59 // REG_59
// //
@ -2462,6 +2490,9 @@ void BK4819_reset_fsk(void)
// restore the original TX deviation level // restore the original TX deviation level
BK4819_WriteRegister(0x40, tx_dev); BK4819_WriteRegister(0x40, tx_dev);
// restore TX/RX filtering
BK4819_WriteRegister(0x2B, 0);
// restore the CTCSS/CDCSS setting // restore the CTCSS/CDCSS setting
BK4819_WriteRegister(0x51, css_val); BK4819_WriteRegister(0x51, css_val);

Binary file not shown.

Binary file not shown.