From 78da1d56101e630a6d0cd22513c660789eb8a059 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 26 Oct 2023 23:14:46 +0100 Subject: [PATCH] some fixes --- Makefile | 2 +- app/app.c | 48 ++++++++++++++++++++ driver/bk4819.c | 106 ++++++++++++++++++++++++++++++-------------- driver/bk4819.h | 2 +- driver/crc.c | 26 ++++++----- driver/crc.h | 4 +- firmware.bin | Bin 60940 -> 61272 bytes firmware.packed.bin | Bin 60958 -> 61290 bytes functions.c | 4 ++ mdc1200.c | 89 ++++++++++++++++++------------------- radio.c | 5 +++ 11 files changed, 192 insertions(+), 94 deletions(-) diff --git a/Makefile b/Makefile index 8791793..590c4c5 100644 --- a/Makefile +++ b/Makefile @@ -258,7 +258,7 @@ CFLAGS = ifeq ($(ENABLE_CLANG),0) #CFLAGS += -Os -Wall -Werror -mcpu=cortex-m0 -fno-builtin -fshort-enums -fno-delete-null-pointer-checks -std=c11 -MMD - CFLAGS += -Os -Werror -mcpu=cortex-m0 -fmodulo-sched -freorder-blocks-algorithm=stc -std=c11 -MMD + CFLAGS += -Os -Werror -mcpu=cortex-m0 -freorder-blocks-algorithm=stc -std=c11 -MMD else # Oz needed to make it fit on flash CFLAGS += -Oz -Werror -mcpu=cortex-m0 -fno-builtin -fshort-enums -fno-delete-null-pointer-checks -std=c11 -MMD diff --git a/app/app.c b/app/app.c index cf03853..a836818 100644 --- a/app/app.c +++ b/app/app.c @@ -1033,6 +1033,54 @@ void APP_process_radio_interrupts(void) UART_printf("squelch opened\r\n"); #endif } + + #ifdef ENABLE_MDC1200 + { + const uint16_t sync_flags = BK4819_ReadRegister(0x0B); + +// if (sync_flags & ((1u << 7) | (1u << 6))) +// { // RX sync found (pos or neg version) +// #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) +// UART_printf("fsk rx sync\r\n"); +// #endif +// } + + if (sync_flags & (1u << 7)) + { // RX sync neg found + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + UART_printf("fsk rx sync neg\r\n"); + #endif + } + + if (sync_flags & (1u << 6)) + { // RX sync pos found + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + UART_printf("fsk rx sync pos\r\n"); + #endif + } + + if (interrupt_bits & BK4819_REG_02_FSK_RX_SYNC) + { + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + UART_printf("fsk rx sync\r\n"); + #endif + } + + if (interrupt_bits & BK4819_REG_02_FSK_RX_FINISHED) + { + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + UART_printf("fsk rx finished\r\n"); + #endif + } + + if (interrupt_bits & BK4819_REG_02_FSK_FIFO_ALMOST_FULL) + { + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + UART_printf("fsk rx almost full\r\n"); + #endif + } + } + #endif } } diff --git a/driver/bk4819.c b/driver/bk4819.c index b978e44..8d10a6e 100644 --- a/driver/bk4819.c +++ b/driver/bk4819.c @@ -889,9 +889,11 @@ void BK4819_RX_TurnOn(void) // BK4819_WriteRegister(0x37, 0x1F0F); // 0001 1111 0000 1111 - // Turn off everything + // turn everything off BK4819_WriteRegister(0x30, 0); + // and on again .. + // // Enable VCO Calibration // Enable RX Link // Enable AF DAC @@ -901,7 +903,7 @@ void BK4819_RX_TurnOn(void) // Disable TX DSP // Enable RX DSP // - BK4819_WriteRegister(0x30, 0xbff1); // 1 0 1111 1 1 1111 0 0 0 1 + BK4819_WriteRegister(0x30, 0xBFF1); // 1 0 1111 1 1 1111 0 0 0 1 } void BK4819_set_rf_filter_path(uint32_t Frequency) @@ -1784,6 +1786,27 @@ uint8_t BK4819_GetCTCType(void) return (BK4819_ReadRegister(0x0C) >> 10) & 3u; } +void BK4819_reset_fsk(void) +{ + const uint16_t fsk_reg59 = + (0u << 15) | // 0 or 1 1 = clear TX FIFO + (0u << 14) | // 0 or 1 1 = clear RX FIFO + (0u << 13) | // 0 or 1 1 = scramble + (0u << 12) | // 0 or 1 1 = enable RX + (0u << 11) | // 0 or 1 1 = enable TX + (0u << 10) | // 0 or 1 1 = invert data when RX + (0u << 9) | // 0 or 1 1 = invert data when TX + (0u << 8) | // 0 or 1 ??? + (6u << 4) | // 0 ~ 15 preamble Length Selection + (1u << 3) | // 0 or 1 sync length selection + (0u << 0); // 0 ~ 7 ??? + + BK4819_WriteRegister(0x3F, 0); // disable interrupts + BK4819_WriteRegister(0x59, (1u << 15) | (1u << 14) | fsk_reg59); // clear FIFO's + BK4819_WriteRegister(0x59, (0u << 15) | (0u << 14) | fsk_reg59); + BK4819_Idle(); +} + #ifdef ENABLE_AIRCOPY void BK4819_SetupAircopy(const unsigned int packet_size) { @@ -1898,30 +1921,7 @@ uint8_t BK4819_GetCTCType(void) // BK4819_WriteRegister(0x5D, ((packet_size - 1) << 8)); } -#endif -void BK4819_reset_fsk(void) -{ - const uint16_t fsk_reg59 = - (0u << 15) | // 0 or 1 1 = clear TX FIFO - (0u << 14) | // 0 or 1 1 = clear RX FIFO - (0u << 13) | // 0 or 1 1 = scramble - (0u << 12) | // 0 or 1 1 = enable RX - (0u << 11) | // 0 or 1 1 = enable TX - (0u << 10) | // 0 or 1 1 = invert data when RX - (0u << 9) | // 0 or 1 1 = invert data when TX - (0u << 8) | // 0 or 1 ??? - (6u << 4) | // 0 ~ 15 preamble Length Selection - (1u << 3) | // 0 or 1 sync length selection - (0u << 0); // 0 ~ 7 ??? - - BK4819_WriteRegister(0x3F, 0); // disable interrupts - BK4819_WriteRegister(0x59, (1u << 15) | (1u << 14) | fsk_reg59); // clear FIFO's - BK4819_WriteRegister(0x59, (0u << 15) | (0u << 14) | fsk_reg59); - BK4819_Idle(); -} - -#ifdef ENABLE_AIRCOPY void BK4819_start_aircopy_fsk_rx(const unsigned int packet_size) { uint16_t fsk_reg59; @@ -1988,13 +1988,13 @@ void BK4819_reset_fsk(void) (1u << 3) | // 0 or 1 sync length selection (0u << 0); // 0 ~ 7 ??? - BK4819_WriteRegister(0x59, (1u << 14) | fsk_reg59); // clear RX fifo + BK4819_WriteRegister(0x59, (1u << 15) | (1u << 14) | fsk_reg59); // clear FIFO's BK4819_WriteRegister(0x59, (1u << 13) | (1u << 12) | fsk_reg59); // enable scrambler, enable RX } #endif #ifdef ENABLE_MDC1200 - void BK4819_enable_mdc1200_ffsk_rx(const bool enable) + void BK4819_enable_mdc1200_rx(const bool enable) { // REG_70 // @@ -2087,7 +2087,20 @@ void BK4819_reset_fsk(void) if (enable) { - BK4819_WriteRegister(0x70, // 0 0000000 1 1100000 + const uint16_t fsk_reg59 = + (0u << 15) | // 1 = clear TX FIFO + (0u << 14) | // 1 = clear RX FIFO + (0u << 13) | // 1 = scramble + (0u << 12) | // 1 = enable RX + (0u << 11) | // 1 = enable TX + (0u << 10) | // 1 = invert data when RX + (0u << 9) | // 1 = invert data when TX + (0u << 8) | // ??? + (0u << 4) | // 0 ~ 15 preamble length selection .. mdc1200 does not send bit reversals :( + (1u << 3) | // 0/1 sync length selection + (0u << 0); // 0 ~ 7 ??? + + BK4819_WriteRegister(0x70, ( 0u << 15) | // 0 ( 0u << 8) | // 0 ( 1u << 7) | // 1 @@ -2095,7 +2108,7 @@ void BK4819_reset_fsk(void) BK4819_WriteRegister(0x72, ((1200u * 103244) + 5000) / 10000); // with rounding - BK4819_WriteRegister(0x58, // 0x37C3); 001 101 11 11 00 001 1 + BK4819_WriteRegister(0x58, (1u << 13) | // 1 FSK TX mode selection // 0 = FSK 1.2K and FSK 2.4K TX .. no tones, direct FM // 1 = FFSK 1200 / 1800 TX @@ -2142,10 +2155,35 @@ void BK4819_reset_fsk(void) // 0 = disable // 1 = enable - // enable CRC ??? - BK4819_WriteRegister(0x5C, 0x5665); // 010101100 1 100101 + // 0000 0100 1000 1101 1011 1111 0110 0110 0101 1000 + // 0 4 8 D B F 6 6 5 8 + // + // REG_5A + // + // <15:8> sync byte 0 + // < 7:0> sync byte 1 + BK4819_WriteRegister(0x5A, 0x8DBF); + // <15:8> sync byte 2 + // < 7:0> sync byte 3 + BK4819_WriteRegister(0x5B, 0x6658); - BK4819_WriteRegister(0x5D, (15u << 8)); // packet size (16 bytes) + // disable CRC + BK4819_WriteRegister(0x5C, 0x5625 | (0u << 6)); + + // packet size (14 bytes) + BK4819_WriteRegister(0x5D, ((14u - 1) << 8)); + + // clear FIFO's then enable RX + BK4819_WriteRegister(0x59, (1u << 15) | (1u << 14) | fsk_reg59); + BK4819_WriteRegister(0x59, (1u << 12) | fsk_reg59); + + // clear interrupt flags + BK4819_WriteRegister(0x02, 0); + + BK4819_RX_TurnOn(); + + // enable interrupts + BK4819_WriteRegister(0x3F, BK4819_ReadRegister(0x3F) | BK4819_REG_3F_FSK_RX_SYNC | BK4819_REG_3F_FSK_RX_FINISHED | BK4819_REG_3F_FSK_FIFO_ALMOST_FULL); } else { @@ -2383,8 +2421,8 @@ void BK4819_reset_fsk(void) // Set entire packet length (not including the pre-amble and sync bytes we can't seem to disable) BK4819_WriteRegister(0x5D, ((size - 1) << 8)); - BK4819_WriteRegister(0x59, (1u << 15) | fsk_reg59); // clear TX fifo by setting the FIFO reset bit - BK4819_WriteRegister(0x59, (0u << 15) | fsk_reg59); // release the reset bit + BK4819_WriteRegister(0x59, (1u << 15) | (1u << 14) | fsk_reg59); // clear FIFO's + BK4819_WriteRegister(0x59, fsk_reg59); // release the FIFO reset // REG_5A // diff --git a/driver/bk4819.h b/driver/bk4819.h index 950ac13..9ad31ef 100644 --- a/driver/bk4819.h +++ b/driver/bk4819.h @@ -163,7 +163,7 @@ uint8_t BK4819_GetCTCType(void); void BK4819_PlayRoger(void); #ifdef ENABLE_MDC1200 - void BK4819_enable_mdc1200_ffsk_rx(const bool enable); + void BK4819_enable_mdc1200_rx(const bool enable); void BK4819_send_MDC1200(const uint8_t op, const uint8_t arg, const uint16_t id); #endif diff --git a/driver/crc.c b/driver/crc.c index c8954e4..39fde3b 100644 --- a/driver/crc.c +++ b/driver/crc.c @@ -31,19 +31,21 @@ void CRC_Init(void) CRC_IV = 0; } -void CRC_InitReverse(void) -{ - CRC_CR = 0 - | CRC_CR_CRC_EN_BITS_DISABLE - | CRC_CR_INPUT_REV_BITS_NORMAL - | CRC_CR_INPUT_INV_BITS_BIT_INVERTED - | CRC_CR_OUTPUT_REV_BITS_REVERSED - | CRC_CR_OUTPUT_INV_BITS_BIT_INVERTED - | CRC_CR_DATA_WIDTH_BITS_8 - | CRC_CR_CRC_SEL_BITS_CRC_16_CCITT; +#ifdef ENABLE_MDC1200 + void CRC_InitReverse(void) + { + CRC_CR = + CRC_CR_CRC_EN_BITS_DISABLE | + CRC_CR_INPUT_REV_BITS_NORMAL | + CRC_CR_INPUT_INV_BITS_BIT_INVERTED | + CRC_CR_OUTPUT_REV_BITS_REVERSED | + CRC_CR_OUTPUT_INV_BITS_BIT_INVERTED | + CRC_CR_DATA_WIDTH_BITS_8 | + CRC_CR_CRC_SEL_BITS_CRC_16_CCITT; - CRC_IV = 0; -} + CRC_IV = 0; + } +#endif uint16_t CRC_Calculate(const void *buffer, const unsigned int size) { diff --git a/driver/crc.h b/driver/crc.h index 4f35cb2..9b0ce3b 100644 --- a/driver/crc.h +++ b/driver/crc.h @@ -20,7 +20,9 @@ #include void CRC_Init(void); -void CRC_InitReverse(void); +#ifdef ENABLE_MDC1200 + void CRC_InitReverse(void); +#endif uint16_t CRC_Calculate(const void *buffer, const unsigned int size); #endif diff --git a/firmware.bin b/firmware.bin index eef29c1c6a49f65390da09122f226a352acd24be..a286182a99e0b1991de8562bfe4c70463e245c19 100644 GIT binary patch delta 17224 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 r8)IIyaA=L{VG8bn&^Sxn!A|Y3i7% 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 a`yjJh33A&^X6$Ss3vA{=L;vFTM*jy==}}k! delta 47495 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�Y(z=(Yr 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 G1pGg`;+&}f diff --git a/functions.c b/functions.c index 30907ff..cec6e25 100644 --- a/functions.c +++ b/functions.c @@ -192,6 +192,10 @@ void FUNCTION_Select(function_type_t Function) g_dual_watch_delay_10ms = g_eeprom.scan_hold_time_500ms * 50; } + #ifdef ENABLE_MDC1200 + BK4819_enable_mdc1200_rx(false); + #endif + // if DTMF is enabled when TX'ing, it changes the TX audio filtering ! .. 1of11 // so MAKE SURE that DTMF is disabled - until needed BK4819_DisableDTMF(); diff --git a/mdc1200.c b/mdc1200.c index b6011e5..8dbbede 100644 --- a/mdc1200.c +++ b/mdc1200.c @@ -1,13 +1,12 @@ #include -#include "bsp/dp32g030/crc.h" #include "driver/crc.h" #include "driver/uart.h" #include "mdc1200.h" #include "misc.h" -#define FEC_K 7 +#define FEC_K 7 // R=1/2 K=7 convolutional coder // ********************************************************** @@ -16,7 +15,7 @@ // >= 24-bit pre-amble // 40-bit sync // -//static const uint8_t pre_amble[] = {0x00, 0x00, 0x00, 0x00, 0xCC}; / add some bit reversals just before the sync pattern +//static const uint8_t pre_amble[] = {0x00, 0x00, 0x00, 0xCC}; / add some bit reversals just before the sync pattern static const uint8_t pre_amble[] = {0x00, 0x00, 0x00}; static const uint8_t sync[] = {0x07, 0x09, 0x2a, 0x44, 0x6f}; @@ -51,10 +50,21 @@ uint32_t bit_reverse_32(uint32_t n) // ************************************ // common -#if 0 +#if 1 uint16_t compute_crc(const uint8_t *data, const unsigned int data_len) - { // using the reverse computation avoids having to reverse the bit order during and after + { // let the CPU's hardware do some work :) + uint16_t crc; + CRC_InitReverse(); + crc = CRC_Calculate(data, data_len); + CRC_Init(); + return crc; + } + +#elif 1 + + uint16_t compute_crc(const uint8_t *data, const unsigned int data_len) + { // using the reverse computation and polynominal avoids having to reverse the bit order during and after unsigned int i; uint16_t crc = 0; for (i = 0; i < data_len; i++) @@ -67,17 +77,6 @@ uint32_t bit_reverse_32(uint32_t n) return crc ^ 0xffff; } -#elif 1 - - uint16_t compute_crc(const uint8_t *data, const unsigned int data_len) - { // let the CPU do the crc for us :) - uint16_t crc; - CRC_InitReverse(); - crc = CRC_Calculate(data, data_len); - CRC_Init(); - return crc; - } - #else uint16_t compute_crc(const uint8_t *data, const unsigned int data_len) @@ -147,7 +146,7 @@ void error_correction(uint8_t *data) ii--; } if (ii >= 0) - data[ii] ^= 1u << bn; // do it + data[ii] ^= 1u << bn; // fix a bit syn ^= 0xA6; // 10100110 } } @@ -186,7 +185,7 @@ bool decode_data(uint8_t *data) unsigned int i; unsigned int k; unsigned int m; - uint8_t deinterleaved[(FEC_K * 2) * 8]; + uint8_t deinterleaved[(FEC_K * 2) * 8]; // temp individual bit storage // interleave order // 0, 16, 32, 48, 64, 80, 96, @@ -216,7 +215,7 @@ bool decode_data(uint8_t *data) } } - // copy the de-interleaved bits back intoto the data buffer + // copy the de-interleaved bits back into the data buffer for (i = 0, m = 0; i < (FEC_K * 2); i++) { unsigned int k; @@ -228,7 +227,7 @@ bool decode_data(uint8_t *data) } } - // see if we can correct a couple of corrupted bits (if need be) + // try to correct the odd corrupted bit error_correction(data); // rx'ed de-interleaved data (min 14 bytes) looks like this .. @@ -459,7 +458,7 @@ void MDC1200_reset_rx(void) { memset(&rx, 0, sizeof(rx)); } - + bool MDC1200_process_rx(const uint8_t rx_byte, uint8_t *op, uint8_t *arg, uint16_t *unit_id) { unsigned int i; @@ -470,7 +469,7 @@ bool MDC1200_process_rx(const uint8_t rx_byte, uint8_t *op, uint8_t *arg, uint16 rx.prev_bit = rx.bit; rx.bit = (rx_byte >> k) & 1u; - + if (rx.stage == 0) { // scanning for the pre-amble rx.xor_bit = rx.bit & 1u; @@ -481,12 +480,12 @@ bool MDC1200_process_rx(const uint8_t rx_byte, uint8_t *op, uint8_t *arg, uint16 if (rx.inverted_sync) rx.xor_bit ^= 1u; } - + rx.shift_reg = (rx.shift_reg << 1) | (rx.xor_bit & 1u); rx.bit_count++; - + // ********* - + if (rx.stage == 0) { // looking for pre-amble if (rx.bit_count < 20 || (rx.shift_reg & 0xfffff) != 1u) @@ -495,11 +494,11 @@ bool MDC1200_process_rx(const uint8_t rx_byte, uint8_t *op, uint8_t *arg, uint16 rx.xor_bit = 1; rx.stage = 1; rx.bit_count = 1; - + //s.printf("%5u %2u %u pre-amble found", index, rx_bit_count, rx_packet_stage); //Memo1->Lines->Add(s); } - + if (rx.stage < 2) { //s.printf("%5u %3u %u ", index, rx_bit_count, rx_packet_stage); @@ -514,21 +513,21 @@ bool MDC1200_process_rx(const uint8_t rx_byte, uint8_t *op, uint8_t *arg, uint16 //} //Memo1->Lines->Add(s); } - + if (rx.stage == 1) { // looking for the 40-bit sync pattern, it follows the 24-bit pre-amble - + const unsigned int sync_bit_ok_threshold = 32; - + if (rx.bit_count >= sync_bit_ok_threshold) { // 40-bit sync pattern uint64_t sync_nor = 0x07092a446fu; // normal uint64_t sync_inv = 0xffffffffffu ^ sync_nor; // bit inverted - + sync_nor ^= rx.shift_reg; sync_inv ^= rx.shift_reg; - + unsigned int nor_count = 0; unsigned int inv_count = 0; for (i = 40; i > 0; i--, sync_nor >>= 1, sync_inv >>= 1) @@ -538,12 +537,12 @@ bool MDC1200_process_rx(const uint8_t rx_byte, uint8_t *op, uint8_t *arg, uint16 } nor_count = 40 - nor_count; inv_count = 40 - inv_count; - + if (nor_count >= sync_bit_ok_threshold || inv_count >= sync_bit_ok_threshold) { // good enough - + rx.inverted_sync = (inv_count > nor_count) ? true : false; - + //String s; //s.printf("%5u %2u %u sync found %s %u bits ", // index, @@ -551,7 +550,7 @@ bool MDC1200_process_rx(const uint8_t rx_byte, uint8_t *op, uint8_t *arg, uint16 // rx_packet_stage, // rx_inverted_sync ? "inv" : "nor", // rx_inverted_sync ? inv_count : nor_count); - + //for (int i = 4; i >= 0; i--) //{ // String s2; @@ -562,13 +561,13 @@ bool MDC1200_process_rx(const uint8_t rx_byte, uint8_t *op, uint8_t *arg, uint16 // s += s2; //} //Memo1->Lines->Add(s); - + rx.data_index = 0; rx.bit_count = 0; rx.stage++; } } - + continue; } @@ -581,14 +580,14 @@ bool MDC1200_process_rx(const uint8_t rx_byte, uint8_t *op, uint8_t *arg, uint16 continue; rx.bit_count = 0; - + // 55 55 55 55 55 55 55 07 09 2A 44 6F 94 9C 22 20 32 A4 1A 37 1E 3A 00 98 2C 84 - + rx.data[rx.data_index++] = rx.shift_reg & 0xff; // save the last 8 bits - + if (rx.data_index < (FEC_K * 2)) continue; - + // s.printf("%5u %3u %u %2u ", index, rx_bit_count, rx_packet_stage, rx_buffer.size()); // for (i = 0; i < rx_data_index; i++) // { @@ -598,7 +597,7 @@ bool MDC1200_process_rx(const uint8_t rx_byte, uint8_t *op, uint8_t *arg, uint16 // s += s2; // } // Memo1->Lines->Add(s); - + if (!decode_data(rx.data)) { MDC1200_reset_rx(); @@ -609,7 +608,7 @@ bool MDC1200_process_rx(const uint8_t rx_byte, uint8_t *op, uint8_t *arg, uint16 *op = rx.data[0]; *arg = rx.data[1]; *unit_id = ((uint16_t)rx.data[3] << 8) | (rx.data[2] << 0); - + //s.printf("%5u %3u %u %2u decoded ", index, rx_bit_count, rx_packet_stage, rx_buffer.size()); //for (i = 0; i < 14; i++) //{ @@ -622,7 +621,7 @@ bool MDC1200_process_rx(const uint8_t rx_byte, uint8_t *op, uint8_t *arg, uint16 // reset the detector MDC1200_reset_rx(); - + return true; } diff --git a/radio.c b/radio.c index 328e1d4..205b349 100644 --- a/radio.c +++ b/radio.c @@ -787,6 +787,11 @@ void RADIO_setup_registers(bool switch_to_function_foreground) } #endif + #ifdef ENABLE_MDC1200 + BK4819_enable_mdc1200_rx(true); + interrupt_mask |= BK4819_ReadRegister(0x3F) | BK4819_REG_3F_FSK_RX_SYNC | BK4819_REG_3F_FSK_RX_FINISHED | BK4819_REG_3F_FSK_FIFO_ALMOST_FULL; + #endif + // enable/disable BK4819 selected interrupts BK4819_WriteRegister(0x3F, interrupt_mask);