From 319f22dcb8c207c1091c846f377eb2276dc3e83f Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Sun, 15 Oct 2023 11:24:20 +0100 Subject: [PATCH] AIRCOPY now has error correction (REQ-ACKs) to fix corrupted/lost packets during transfer --- Makefile | 2 +- app/aircopy.c | 703 ++++++++++++++++++++++++++++++-------------- app/aircopy.h | 22 +- app/app.c | 85 ++---- driver/bk4819.c | 551 ++++++++++++++++++++++++++-------- driver/bk4819.h | 9 +- driver/crc.c | 22 +- firmware.bin | Bin 59748 -> 61260 bytes firmware.packed.bin | Bin 59766 -> 61278 bytes frequencies.c | 34 +-- functions.c | 5 +- helper/boot.c | 8 +- radio.c | 80 +++-- radio.h | 2 +- ui/aircopy.c | 20 +- 15 files changed, 1036 insertions(+), 507 deletions(-) diff --git a/Makefile b/Makefile index 1af62c2..ecaa259 100644 --- a/Makefile +++ b/Makefile @@ -38,7 +38,7 @@ ENABLE_AM_FIX := 1 ENABLE_AM_FIX_SHOW_DATA := 1 ENABLE_SQUELCH_MORE_SENSITIVE := 1 ENABLE_FASTER_CHANNEL_SCAN := 1 -ENABLE_RSSI_BAR := 0 +ENABLE_RSSI_BAR := 1 ENABLE_SHOW_TX_TIMEOUT := 0 ENABLE_AUDIO_BAR := 1 ENABLE_COPY_CHAN_TO_VFO := 1 diff --git a/app/aircopy.c b/app/aircopy.c index dd6301b..b67a02d 100644 --- a/app/aircopy.c +++ b/app/aircopy.c @@ -18,10 +18,14 @@ #include "app/aircopy.h" #include "audio.h" +#include "bsp/dp32g030/gpio.h" +#include "driver/backlight.h" #include "driver/bk4819.h" #include "driver/crc.h" #include "driver/eeprom.h" +#include "driver/gpio.h" #include "driver/system.h" +#include "driver/uart.h" #include "frequencies.h" #include "misc.h" #include "radio.h" @@ -30,274 +34,528 @@ #include "ui/inputbox.h" #include "ui/ui.h" -#define AIRCOPY_MAGIC_START 0xABCD -#define AIRCOPY_MAGIC_END 0xDCBA +// ********************** -#define AIRCOPY_LAST_EEPROM_ADDR 0x1E00 +#define AIRCOPY_MAGIC_START_REQ 0xBCDA // used to request a block resend +#define AIRCOPY_MAGIC_END_REQ 0xCDBA // used to request a block resend -const uint8_t g_aircopy_block_max = 120; -uint8_t g_aircopy_block_number; -uint8_t g_aircopy_rx_errors; -aircopy_state_t g_aircopy_state; +#define AIRCOPY_MAGIC_START 0xABCD // normal start value +#define AIRCOPY_MAGIC_END 0xDCBA // normal end value -uint8_t aircopy_send_count_down_10ms; +#define AIRCOPY_LAST_EEPROM_ADDR 0x1E00 // size of eeprom transferred -uint16_t g_fsk_buffer[36]; -unsigned int g_fsk_write_index; -uint16_t g_fsk_tx_timeout_10ms; +// FSK Data Length .. 0xABCD + 2 byte eeprom address + 64 byte payload + 2 byte CRC + 0xDCBA +#define AIRCOPY_DATA_PACKET_SIZE (2 + 2 + 64 + 2 + 2) -void AIRCOPY_start_FSK_tx(const uint8_t request_packet) +// FSK Data Length .. 0xBCDA + 2 byte eeprom address + 2 byte CRC + 0xCDBA +#define AIRCOPY_REQ_PACKET_SIZE (2 + 2 + 64 + 2 + 2) + +// ********************** + +const unsigned int g_aircopy_block_max = 120; +unsigned int g_aircopy_block_number; +uint8_t g_aircopy_rx_errors_fsk_crc; +uint8_t g_aircopy_rx_errors_magic; +uint8_t g_aircopy_rx_errors_crc; +aircopy_state_t g_aircopy_state; + +uint16_t g_fsk_buffer[AIRCOPY_DATA_PACKET_SIZE / 2]; +unsigned int g_fsk_write_index; +uint16_t g_fsk_tx_timeout_10ms; + +uint8_t aircopy_send_count_down_10ms; + +void AIRCOPY_init(void) { - unsigned int i; - const uint16_t eeprom_addr = (uint16_t)g_aircopy_block_number * 64; + // turn the backlight ON + GPIO_SetBit(&GPIOB->DATA, GPIOB_PIN_BACKLIGHT); + + RADIO_SetupRegisters(true); + + BK4819_SetupAircopy(AIRCOPY_DATA_PACKET_SIZE); + + BK4819_reset_fsk(); + + g_aircopy_state = AIRCOPY_READY; + + g_fsk_write_index = 0; + BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, false); // LED off + BK4819_start_fsk_rx(AIRCOPY_DATA_PACKET_SIZE); + + GUI_SelectNextDisplay(DISPLAY_AIRCOPY); +} + +void AIRCOPY_start_fsk_tx(const int request_block_num) +{ + const unsigned int eeprom_addr = (request_block_num < 0) ? g_aircopy_block_number * 64 : (unsigned int)request_block_num * 64; + uint16_t fsk_reg59; + unsigned int k; + unsigned int tx_size = 0; - // will be used to ask the TX/ing radio to resend a missing/corrupted packet - (void)request_packet; - // ********* // packet start - g_fsk_buffer[0] = AIRCOPY_MAGIC_START; + g_fsk_buffer[tx_size++] = (request_block_num < 0) ? AIRCOPY_MAGIC_START : AIRCOPY_MAGIC_START_REQ; // eeprom address - g_fsk_buffer[1] = eeprom_addr; + g_fsk_buffer[tx_size++] = eeprom_addr; // data - EEPROM_ReadBuffer(eeprom_addr, &g_fsk_buffer[2], 64); + if (request_block_num < 0) + { + EEPROM_ReadBuffer(eeprom_addr, &g_fsk_buffer[tx_size], 64); + tx_size += 64 / 2; + } // data CRC - g_fsk_buffer[34] = CRC_Calculate(&g_fsk_buffer[1], 2 + 64); + g_fsk_buffer[tx_size++] = CRC_Calculate(&g_fsk_buffer[1], (request_block_num < 0) ? 2 + 64 : 2); // packet end - g_fsk_buffer[35] = AIRCOPY_MAGIC_END; + g_fsk_buffer[tx_size++] = (request_block_num < 0) ? AIRCOPY_MAGIC_END : AIRCOPY_MAGIC_END_REQ; // ********* - + { // scramble the packet - //for (i = 0; i < 34; i++) - //g_fsk_buffer[1 + i] ^= Obfuscation[i % ARRAY_SIZE(Obfuscation)]; - uint8_t *p = (uint8_t *)&g_fsk_buffer[1]; - for (i = 0; i < (34 * 2); i++) - *p++ ^= obfuscate_array[i % ARRAY_SIZE(obfuscate_array)]; + for (k = 0; k < ((tx_size - 2) * 2); k++) + *p++ ^= obfuscate_array[k % ARRAY_SIZE(obfuscate_array)]; } - - // TX the packet - RADIO_SetTxParameters(); - BK4819_SetupPowerAmplifier(0, g_current_vfo->p_tx->frequency); // VERY low TX power - // turn the RED LED on - BK4819_set_GPIO_pin(BK4819_GPIO1_PIN29_RED, true); + g_fsk_tx_timeout_10ms = 1000 / 10; // 1 second timeout - // start sending the packet + // turn the TX on + RADIO_enableTX(true); - // let the TX stabilize - SYSTEM_DelayMs(10); - + // REG_59 + // + // <15> 0 TX FIFO + // 1 = clear + // + // <14> 0 RX FIFO + // 1 = clear + // + // <13> 0 FSK Scramble + // 1 = Enable + // + // <12> 0 FSK RX + // 1 = Enable + // + // <11> 0 FSK TX + // 1 = Enable + // + // <10> 0 FSK data when RX + // 1 = Invert + // + // <9> 0 FSK data when TX + // 1 = Invert + // + // <8> 0 ??? + // + // <7:4> 0 FSK preamble length selection + // 0 = 1 byte + // 1 = 2 bytes + // 2 = 3 bytes + // 15 = 16 bytes + // + // <3> 0 FSK sync length selection + // 0 = 2 bytes (FSK Sync Byte 0, 1) + // 1 = 4 bytes (FSK Sync Byte 0, 1, 2, 3) + // + // <2:0> 0 ??? + // + // 0x0068 0000 0000 0110 1000 + // + 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 ??? + + // set the packet size + BK4819_WriteRegister(BK4819_REG_5D, (((tx_size * 2) - 1) << 8)); + + // clear TX fifo + BK4819_WriteRegister(BK4819_REG_59, (1u << 15) | fsk_reg59); + BK4819_WriteRegister(BK4819_REG_59, fsk_reg59); + + // load the packet + for (k = 0; k < tx_size; k++) + BK4819_WriteRegister(BK4819_REG_5F, g_fsk_buffer[k]); + + // enable tx interrupt(s) BK4819_WriteRegister(BK4819_REG_3F, BK4819_REG_3F_FSK_TX_FINISHED); - BK4819_WriteRegister(BK4819_REG_59, 0x8068); - BK4819_WriteRegister(BK4819_REG_59, 0x0068); - - // load the packet - for (i = 0; i < 36; i++) - BK4819_WriteRegister(BK4819_REG_5F, g_fsk_buffer[i]); - -// SYSTEM_DelayMs(20); - - BK4819_WriteRegister(BK4819_REG_59, 0x2868); - - g_fsk_tx_timeout_10ms = 1000 / 10; // 1 second timeout + // enable scramble, enable TX + BK4819_WriteRegister(BK4819_REG_59, (1u << 13) | (1u << 11) | fsk_reg59); } -void AIRCOPY_stop_FSK_tx(void) -{ +void AIRCOPY_stop_fsk_tx(const bool inc_block) +{ if (g_aircopy_state != AIRCOPY_TX && g_fsk_tx_timeout_10ms == 0) return; - - g_fsk_tx_timeout_10ms = 0; - - BK4819_WriteRegister(BK4819_REG_02, 0); // disable all interrupts - -// SYSTEM_DelayMs(20); - BK4819_ResetFSK(); + g_fsk_tx_timeout_10ms = 0; // disable the TX - BK4819_SetupPowerAmplifier(0, 0); - BK4819_set_GPIO_pin(BK4819_GPIO5_PIN1, false); + BK4819_SetupPowerAmplifier(0, 0); // + BK4819_set_GPIO_pin(BK4819_GPIO5_PIN1, false); // ??? + BK4819_set_GPIO_pin(BK4819_GPIO1_PIN29_RED, false); // LED off - // turn the RED LED off - BK4819_set_GPIO_pin(BK4819_GPIO1_PIN29_RED, false); - - if (++g_aircopy_block_number >= g_aircopy_block_max) - { // transfer is complete - g_aircopy_state = AIRCOPY_TX_COMPLETE; + BK4819_reset_fsk(); + + if (inc_block) + { + if (++g_aircopy_block_number >= g_aircopy_block_max) + { // transfer is complete + g_aircopy_state = AIRCOPY_TX_COMPLETE; + } + else + { // TX pause/gap time till we start the next packet + aircopy_send_count_down_10ms = 220 / 10; // 220ms + } + + // RX mode + BK4819_start_fsk_rx(AIRCOPY_REQ_PACKET_SIZE); + + g_update_display = true; + GUI_DisplayScreen(); } else - { - // TX pause/gap time till we start the next packet - #if 0 - aircopy_send_count_down_10ms = 300 / 10; // 300ms - #else - aircopy_send_count_down_10ms = 10 / 10; // 10ms - #endif + { // RX mode + BK4819_start_fsk_rx(AIRCOPY_DATA_PACKET_SIZE); } - - g_update_display = true; - GUI_DisplayScreen(); } -void AIRCOPY_process_FSK_tx_10ms(void) +void AIRCOPY_process_fsk_tx_10ms(void) { - if (g_aircopy_state != AIRCOPY_TX) + uint16_t interrupt_bits = 0; + + if (g_aircopy_state != AIRCOPY_TX && g_aircopy_state != AIRCOPY_RX) return; if (g_fsk_tx_timeout_10ms == 0) { // not currently TX'ing - if (g_aircopy_block_number < g_aircopy_block_max) - { // not yet finished the complete transfer - if (aircopy_send_count_down_10ms > 0) - { // waiting till it's time to TX next packet - if (--aircopy_send_count_down_10ms == 0) - { // start next packet - AIRCOPY_start_FSK_tx(0xff); - g_update_display = true; - GUI_DisplayScreen(); - } - } + if (g_aircopy_state == AIRCOPY_TX && g_aircopy_block_number < g_aircopy_block_max) + { // not yet finished the complete transfer + + if (aircopy_send_count_down_10ms > 0) + if (--aircopy_send_count_down_10ms > 0) + return; // not yet time to TX next packet + + if (g_fsk_write_index > 0) + return; // currently RX'ing a packet + + // start next TX packet + AIRCOPY_start_fsk_tx(-1); + + g_update_display = true; + GUI_DisplayScreen(); } + return; } if (--g_fsk_tx_timeout_10ms > 0) { // still TX'ing if ((BK4819_ReadRegister(BK4819_REG_0C) & (1u << 0)) == 0) - return; /// TX not yet finished + return; + BK4819_WriteRegister(BK4819_REG_02, 0); + interrupt_bits = BK4819_ReadRegister(BK4819_REG_02); + if ((interrupt_bits & BK4819_REG_02_FSK_TX_FINISHED) == 0) + return; // TX not yet finished } - AIRCOPY_stop_FSK_tx(); + AIRCOPY_stop_fsk_tx(true); } -void AIRCOPY_process_FSK_rx_10ms(const uint16_t interrupt_status_bits) +void AIRCOPY_process_fsk_rx_10ms(void) { - unsigned int i; - uint16_t Status; + const unsigned int block_size = 64; + const unsigned int write_size = 8; + const unsigned int req_ack_size = 4; + uint16_t interrupt_bits; + uint16_t status; + uint16_t crc1; + uint16_t crc2; + uint16_t eeprom_addr; + uint16_t *data; + unsigned int block_num; + bool req_ack_packet = false; + unsigned int i; - if (g_aircopy_state != AIRCOPY_RX) + // REG_59 + // + // <15> 0 TX FIFO + // 1 = clear + // + // <14> 0 RX FIFO + // 1 = clear + // + // <13> 0 FSK Scramble + // 1 = Enable + // + // <12> 0 FSK RX + // 1 = Enable + // + // <11> 0 FSK TX + // 1 = Enable + // + // <10> 0 FSK data when RX + // 1 = Invert + // + // <9> 0 FSK data when TX + // 1 = Invert + // + // <8> 0 ??? + // + // <7:4> 0 FSK preamble length selection + // 0 = 1 byte + // 1 = 2 bytes + // 2 = 3 bytes + // 15 = 16 bytes + // + // <3> 0 FSK sync length selection + // 0 = 2 bytes (FSK Sync Byte 0, 1) + // 1 = 4 bytes (FSK Sync Byte 0, 1, 2, 3) + // + // <2:0> 0 ??? + // + status = BK4819_ReadRegister(BK4819_REG_59); + + if (status & (1u << 11) || g_fsk_tx_timeout_10ms > 0) + return; // FSK TX is busy + + if ((status & (1u << 12)) == 0) + { // FSK RX is disabled, enable it + g_fsk_write_index = 0; + BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, false); // LED off + BK4819_start_fsk_rx((g_aircopy_state == AIRCOPY_TX) ? AIRCOPY_REQ_PACKET_SIZE : AIRCOPY_DATA_PACKET_SIZE); + } + + status = BK4819_ReadRegister(BK4819_REG_0C); + if ((status & (1u << 0)) == 0) + return; // no flagged interrupts + + // read the interrupt flags + BK4819_WriteRegister(BK4819_REG_02, 0); // clear them + interrupt_bits = BK4819_ReadRegister(BK4819_REG_02); + + if (interrupt_bits & BK4819_REG_02_FSK_RX_SYNC) + BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, true); // LED on + + if (interrupt_bits & BK4819_REG_02_FSK_RX_FINISHED) + BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, false); // LED off + + if ((interrupt_bits & BK4819_REG_02_FSK_FIFO_ALMOST_FULL) == 0) return; - if (interrupt_status_bits & BK4819_REG_02_FSK_RX_SYNC) - { - // turn the green LED on -// BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, true); - } + BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, true); // LED on - if (interrupt_status_bits & BK4819_REG_02_FSK_RX_FINISHED) + // fetch RX'ed data + for (i = 0; i < 4; i++) { - // turn the green LED off -// BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, false); + const uint16_t word = BK4819_ReadRegister(BK4819_REG_5F); + if (g_fsk_write_index < ARRAY_SIZE(g_fsk_buffer)) + g_fsk_buffer[g_fsk_write_index++] = word; } - if (interrupt_status_bits & BK4819_REG_02_FSK_FIFO_ALMOST_FULL) + // REG_0B read only + // + // <15:12> ??? + // + // <11:8> DTMF/5-tone code received + // + // <7> FSK RX sync negative has been found + // + // <6> FSK RX sync positive has been found + // + // <5> ??? + // + // <4> FSK RX CRC indicator + // 1 = CRC pass + // 0 = CRC fail + // + // <3:0> ??? + // + status = BK4819_ReadRegister(BK4819_REG_0B); + + // check to see if it's a REQ/ACK packet + if (g_fsk_write_index == req_ack_size) + req_ack_packet = (g_fsk_buffer[0] == AIRCOPY_MAGIC_START_REQ && g_fsk_buffer[g_fsk_write_index - 1] == AIRCOPY_MAGIC_END_REQ); + + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) +// UART_printf("aircopy rx %04X %u\r\n", interrupt_bits, g_fsk_write_index); + #endif + + if (g_fsk_write_index < ARRAY_SIZE(g_fsk_buffer) && !req_ack_packet) + return; // not yet a complete packet + + // restart the RX + BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, false); // LED off + BK4819_start_fsk_rx((g_aircopy_state == AIRCOPY_TX) ? AIRCOPY_REQ_PACKET_SIZE : AIRCOPY_DATA_PACKET_SIZE); + + g_update_display = true; + + // doc says bit 4 should be 1 = CRC OK, 0 = CRC FAIL, but original firmware checks for FAIL + if ((status & (1u << 4)) != 0) { - for (i = 0; i < 4; i++) - g_fsk_buffer[g_fsk_write_index++] = BK4819_ReadRegister(BK4819_REG_5F); + g_aircopy_rx_errors_fsk_crc++; + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + UART_printf("aircopy status %04X\r\n", status); + #endif + g_fsk_write_index = 0; + return; + } - if (g_fsk_write_index < ARRAY_SIZE(g_fsk_buffer)) - { - // turn the green LED on - BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, true); - return; + { // unscramble the packet + uint8_t *p = (uint8_t *)&g_fsk_buffer[1]; + for (i = 0; i < ((g_fsk_write_index - 2) * 2); i++) + *p++ ^= obfuscate_array[i % ARRAY_SIZE(obfuscate_array)]; + } + + // compute the CRC + crc1 = CRC_Calculate(&g_fsk_buffer[1], (g_fsk_write_index - 3) * 2); + // fetch the CRC + crc2 = g_fsk_buffer[g_fsk_write_index - 2]; + + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + // show the entire packet + UART_SendText("aircopy"); + for (i = 0; i < g_fsk_write_index; i++) + UART_printf(" %04X", g_fsk_buffer[i]); + UART_printf(" - %04X\r\n", status); + #endif + + // check the CRC + if (crc2 != crc1) + { // invalid CRC + g_aircopy_rx_errors_crc++; + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + UART_printf("aircopy invalid CRC %04X %04X\r\n", crc2, crc1); + #endif + g_fsk_write_index = 0; + return; + } + + eeprom_addr = g_fsk_buffer[1]; + data = &g_fsk_buffer[2]; + + block_num = eeprom_addr / block_size; + + if (req_ack_packet) + { // it's a req/ack packet + + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + UART_printf("aircopy RX req %04X %04X\r\n", block_num * 64, g_aircopy_block_number * 64); + #endif + + if (g_aircopy_state == AIRCOPY_TX) + { // send them the block they want + g_aircopy_block_number = block_num; // go to the block number they want + aircopy_send_count_down_10ms = 0; // TX asap } + + g_fsk_write_index = 0; + return; + } - // turn the green LED off - BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, false); + if (g_aircopy_state != AIRCOPY_RX) + { // not in RX mode .. ignore it + g_fsk_write_index = 0; + return; + } + + if (g_fsk_buffer[0] != AIRCOPY_MAGIC_START || g_fsk_buffer[g_fsk_write_index - 1] != AIRCOPY_MAGIC_END) + { // invalid magics .. ignore it + g_aircopy_rx_errors_magic++; + g_fsk_write_index = 0; + return; + } + + if (eeprom_addr != (block_num * block_size)) + { // eeprom address not block aligned .. ignore it + g_fsk_write_index = 0; + return; + } + + if (block_num != g_aircopy_block_number) + { // not the block number we're expecting .. request the correct block g_fsk_write_index = 0; - g_update_display = true; - - Status = BK4819_ReadRegister(BK4819_REG_0B); - - BK4819_PrepareFSKReceive(); - - // Doc says bit 4 should be 1 = CRC OK, 0 = CRC FAIL, but original firmware checks for FAIL - - if ((Status & (1u << 4)) == 0 && - g_fsk_buffer[0] == AIRCOPY_MAGIC_START && - g_fsk_buffer[35] == AIRCOPY_MAGIC_END) + + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + UART_printf("aircopy TX req %04X %04X\r\n", g_aircopy_block_number * 64, block_num * 64); + #endif + + // this packet takes 150ms start to finish + AIRCOPY_start_fsk_tx(g_aircopy_block_number); + g_fsk_tx_timeout_10ms = 200 / 5; // allow up to 200ms for the TX to complete + while (g_fsk_tx_timeout_10ms-- > 0) { - unsigned int i; - uint16_t CRC; - - { // unscramble the packet - uint8_t *p = (uint8_t *)&g_fsk_buffer[1]; - for (i = 0; i < (34 * 2); i++) - *p++ ^= obfuscate_array[i % ARRAY_SIZE(obfuscate_array)]; - } - - CRC = CRC_Calculate(&g_fsk_buffer[1], 2 + 64); - - if (g_fsk_buffer[34] == CRC) - { // CRC is valid - uint16_t eeprom_addr = g_fsk_buffer[1]; - - if (eeprom_addr == 0) - { // start again - g_aircopy_block_number = 0; - g_aircopy_rx_errors = 0; - } - - if ((eeprom_addr + 64) <= AIRCOPY_LAST_EEPROM_ADDR) - { // eeprom block is valid .. write it directly to eeprom - - uint16_t *pData = &g_fsk_buffer[2]; - for (i = 0; i < 8; i++) - { - if (eeprom_addr == 0x0E98) - { // power-on password .. wipe it - #ifndef ENABLE_PWRON_PASSWORD - pData[0] = 0xffff; - pData[1] = 0xffff; - #endif - } - else - if (eeprom_addr == 0x0F30) - { // AES key .. wipe it - #ifdef ENABLE_RESET_AES_KEY - pData[0] = 0xffff; - pData[1] = 0xffff; - pData[2] = 0xffff; - pData[3] = 0xffff; - #endif - } - - EEPROM_WriteBuffer(eeprom_addr, pData); // 8 bytes at a time - pData += 4; - eeprom_addr += 8; - } - - g_aircopy_block_number = eeprom_addr / 64; - - if (eeprom_addr >= AIRCOPY_LAST_EEPROM_ADDR) - { // reached end of eeprom config area - g_aircopy_state = AIRCOPY_RX_COMPLETE; - - // turn the green LED off - BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, false); - - g_update_display = true; - } - - memset(g_fsk_buffer, 0, sizeof(g_fsk_buffer)); - return; - } + SYSTEM_DelayMs(5); + if (BK4819_ReadRegister(BK4819_REG_0C) & (1u << 0)) + { // we have interrupt flags + BK4819_WriteRegister(BK4819_REG_02, 0); + const uint16_t interrupt_bits = BK4819_ReadRegister(BK4819_REG_02); + if (interrupt_bits & BK4819_REG_02_FSK_TX_FINISHED) + g_fsk_tx_timeout_10ms = 0; // TX is complete } } - - g_aircopy_rx_errors++; + AIRCOPY_stop_fsk_tx(false); + + return; } + + if ((eeprom_addr + block_size) > AIRCOPY_LAST_EEPROM_ADDR) + { + g_fsk_write_index = 0; + return; + } + + // clear the error counts + g_aircopy_rx_errors_fsk_crc = 0; + g_aircopy_rx_errors_magic = 0; + g_aircopy_rx_errors_crc = 0; + + // eeprom block appears valid .. write it directly to eeprom + + for (i = 0; i < (block_size / write_size); i++) + { + if (eeprom_addr == 0x0E98) + { // power-on password .. wipe it + //#ifndef ENABLE_PWRON_PASSWORD + data[0] = 0xffff; + data[1] = 0xffff; + //#endif + } + else + if (eeprom_addr == 0x0F30) + { // AES key .. wipe it + //#ifdef ENABLE_RESET_AES_KEY + data[0] = 0xffff; + data[1] = 0xffff; + data[2] = 0xffff; + data[3] = 0xffff; + //#endif + } + + EEPROM_WriteBuffer(eeprom_addr, data); // 8 bytes at a time + data += write_size / sizeof(data[0]); + eeprom_addr += write_size; + } + + g_aircopy_block_number = block_num + 1; + g_fsk_write_index = 0; + + if (eeprom_addr >= AIRCOPY_LAST_EEPROM_ADDR) + g_aircopy_state = AIRCOPY_RX_COMPLETE; // reached end of eeprom config area } static void AIRCOPY_Key_DIGITS(key_code_t Key, bool key_pressed, bool key_held) @@ -307,8 +565,8 @@ static void AIRCOPY_Key_DIGITS(key_code_t Key, bool key_pressed, bool key_held) if (g_aircopy_state != AIRCOPY_READY) { - AIRCOPY_stop_FSK_tx(); - + AIRCOPY_stop_fsk_tx(false); + g_aircopy_state = AIRCOPY_READY; g_update_display = true; GUI_DisplayScreen(); @@ -320,9 +578,9 @@ static void AIRCOPY_Key_DIGITS(key_code_t Key, bool key_pressed, bool key_held) unsigned int i; INPUTBOX_Append(Key); - + g_request_display_screen = DISPLAY_AIRCOPY; - + if (g_input_box_index < 6) { #ifdef ENABLE_VOICE @@ -330,11 +588,11 @@ static void AIRCOPY_Key_DIGITS(key_code_t Key, bool key_pressed, bool key_held) #endif return; } - + g_input_box_index = 0; - + NUMBER_Get(g_input_box, &Frequency); - + for (i = 0; i < ARRAY_SIZE(FREQ_BAND_TABLE); i++) { if (Frequency >= FREQ_BAND_TABLE[i].lower && Frequency < FREQ_BAND_TABLE[i].upper) @@ -342,31 +600,28 @@ static void AIRCOPY_Key_DIGITS(key_code_t Key, bool key_pressed, bool key_held) #ifdef ENABLE_VOICE g_another_voice_id = (voice_id_t)Key; #endif - + g_rx_vfo->band = i; - + // round the frequency to nearest step size Frequency = ((Frequency + (g_rx_vfo->step_freq / 2)) / g_rx_vfo->step_freq) * g_rx_vfo->step_freq; - + g_aircopy_freq = Frequency; #ifdef ENABLE_AIRCOPY_FREQ SETTINGS_SaveSettings(); // remeber the frequency for the next time #endif - + g_rx_vfo->freq_config_rx.frequency = Frequency; g_rx_vfo->freq_config_tx.frequency = Frequency; RADIO_ConfigureSquelchAndOutputPower(g_rx_vfo); - + g_current_vfo = g_rx_vfo; - - RADIO_SetupRegisters(true); - BK4819_SetupAircopy(); - BK4819_ResetFSK(); - + + AIRCOPY_init(); return; } } - + g_request_display_screen = DISPLAY_AIRCOPY; } } @@ -383,7 +638,8 @@ static void AIRCOPY_Key_EXIT(bool key_pressed, bool key_held) // turn the green LED off BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, false); - AIRCOPY_stop_FSK_tx(); + AIRCOPY_stop_fsk_tx(false); + g_input_box_index = 0; g_aircopy_state = AIRCOPY_READY; g_update_display = true; @@ -418,12 +674,13 @@ static void AIRCOPY_Key_EXIT(bool key_pressed, bool key_held) g_update_display = true; GUI_DisplayScreen(); - g_fsk_write_index = 0; - g_aircopy_block_number = 0; - g_aircopy_rx_errors = 0; - memset(g_fsk_buffer, 0, sizeof(g_fsk_buffer)); - - BK4819_PrepareFSKReceive(); + g_fsk_write_index = 0; + g_aircopy_block_number = 0; + g_aircopy_rx_errors_fsk_crc = 0; + g_aircopy_rx_errors_magic = 0; + g_aircopy_rx_errors_crc = 0; + + BK4819_start_fsk_rx(AIRCOPY_DATA_PACKET_SIZE); } } @@ -439,19 +696,21 @@ static void AIRCOPY_Key_MENU(bool key_pressed, bool key_held) // enter TX mode g_input_box_index = 0; - + g_aircopy_state = AIRCOPY_TX; g_update_display = true; GUI_DisplayScreen(); g_input_box_index = 0; - g_fsk_write_index = 0; - g_aircopy_block_number = 0; - g_aircopy_rx_errors = 0; + g_fsk_write_index = 0; + g_aircopy_block_number = 0; + g_aircopy_rx_errors_fsk_crc = 0; + g_aircopy_rx_errors_magic = 0; + g_aircopy_rx_errors_crc = 0; g_fsk_tx_timeout_10ms = 0; - aircopy_send_count_down_10ms = 30 / 10; // 30ms + aircopy_send_count_down_10ms = 0; } } diff --git a/app/aircopy.h b/app/aircopy.h index 3b3ad1e..26e1d70 100644 --- a/app/aircopy.h +++ b/app/aircopy.h @@ -29,17 +29,19 @@ enum aircopy_state_e }; typedef enum aircopy_state_e aircopy_state_t; -extern const uint8_t g_aircopy_block_max; -extern uint8_t g_aircopy_block_number; -extern uint8_t g_aircopy_rx_errors; -extern aircopy_state_t g_aircopy_state; -extern uint16_t g_fsk_buffer[36]; -extern unsigned int g_fsk_write_index; -extern uint16_t g_fsk_tx_timeout_10ms; +extern const unsigned int g_aircopy_block_max; +extern unsigned int g_aircopy_block_number; +extern uint8_t g_aircopy_rx_errors_fsk_crc; +extern uint8_t g_aircopy_rx_errors_magic; +extern uint8_t g_aircopy_rx_errors_crc; +extern aircopy_state_t g_aircopy_state; +extern uint16_t g_fsk_buffer[36]; +extern unsigned int g_fsk_write_index; +extern uint16_t g_fsk_tx_timeout_10ms; -void AIRCOPY_process_FSK_tx_10ms(void); -void AIRCOPY_process_FSK_rx_10ms(const uint16_t interrupt_status_bits); -void AIRCOPY_stop_FSK_tx(void); +void AIRCOPY_init(void); +void AIRCOPY_process_fsk_tx_10ms(void); +void AIRCOPY_process_fsk_rx_10ms(void); void AIRCOPY_ProcessKey(key_code_t key, bool key_pressed, bool key_held); #endif diff --git a/app/app.c b/app/app.c index fe7da2d..88df3d3 100644 --- a/app/app.c +++ b/app/app.c @@ -848,26 +848,13 @@ void APP_CheckRadioInterrupts(void) if (g_screen_to_display == DISPLAY_SEARCH) return; - while (BK4819_ReadRegister(BK4819_REG_0C) & 1u) + while (BK4819_ReadRegister(BK4819_REG_0C) & (1u << 0)) { // BK chip interrupt request - uint16_t interrupt_status_bits; - - // reset the interrupt ? BK4819_WriteRegister(BK4819_REG_02, 0); + const uint16_t interrupt_bits = BK4819_ReadRegister(BK4819_REG_02); - // fetch the interrupt status bits - interrupt_status_bits = BK4819_ReadRegister(BK4819_REG_02); - - // 0 = no phase shift - // 1 = 120deg phase shift - // 2 = 180deg phase shift - // 3 = 240deg phase shift -// const uint8_t ctcss_shift = BK4819_GetCTCShift(); -// if (ctcss_shift > 0) -// g_ctcss_lost = true; - - if (interrupt_status_bits & BK4819_REG_02_DTMF_5TONE_FOUND) + if (interrupt_bits & BK4819_REG_02_DTMF_5TONE_FOUND) { // save the RX'ed DTMF character const char c = DTMF_GetCharacter(BK4819_GetDTMF_5TONE_Code()); if (c != 0xff) @@ -906,26 +893,26 @@ void APP_CheckRadioInterrupts(void) } } - if (interrupt_status_bits & BK4819_REG_02_CxCSS_TAIL) + if (interrupt_bits & BK4819_REG_02_CxCSS_TAIL) g_cxcss_tail_found = true; - if (interrupt_status_bits & BK4819_REG_02_CDCSS_LOST) + if (interrupt_bits & BK4819_REG_02_CDCSS_LOST) { g_cdcss_lost = true; g_cdcss_code_type = BK4819_get_CDCSS_code_type(); } - if (interrupt_status_bits & BK4819_REG_02_CDCSS_FOUND) + if (interrupt_bits & BK4819_REG_02_CDCSS_FOUND) g_cdcss_lost = false; - if (interrupt_status_bits & BK4819_REG_02_CTCSS_LOST) + if (interrupt_bits & BK4819_REG_02_CTCSS_LOST) g_ctcss_lost = true; - if (interrupt_status_bits & BK4819_REG_02_CTCSS_FOUND) + if (interrupt_bits & BK4819_REG_02_CTCSS_FOUND) g_ctcss_lost = false; #ifdef ENABLE_VOX - if (interrupt_status_bits & BK4819_REG_02_VOX_LOST) + if (interrupt_bits & BK4819_REG_02_VOX_LOST) { g_vox_lost = true; g_vox_pause_count_down = 10; @@ -951,34 +938,24 @@ void APP_CheckRadioInterrupts(void) } } - if (interrupt_status_bits & BK4819_REG_02_VOX_FOUND) + if (interrupt_bits & BK4819_REG_02_VOX_FOUND) { g_vox_lost = false; g_vox_pause_count_down = 0; } #endif - if (interrupt_status_bits & BK4819_REG_02_SQUELCH_LOST) + if (interrupt_bits & BK4819_REG_02_SQUELCH_LOST) { g_squelch_lost = true; - // turn the LED off - BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, true); + BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, true); // LED on } - if (interrupt_status_bits & BK4819_REG_02_SQUELCH_FOUND) + if (interrupt_bits & BK4819_REG_02_SQUELCH_FOUND) { g_squelch_lost = false; - // turn the LED on - BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, false); + BK4819_set_GPIO_pin(BK4819_GPIO0_PIN28_GREEN, false); // LED off } - - #ifdef ENABLE_AIRCOPY - if (g_screen_to_display == DISPLAY_AIRCOPY) - { - AIRCOPY_process_FSK_rx_10ms(interrupt_status_bits); -// AIRCOPY_process_FSK_tx_10ms(interrupt_status_bits); - } - #endif } } @@ -1625,19 +1602,13 @@ void APP_TimeSlice10ms(void) #ifdef ENABLE_AIRCOPY if (g_screen_to_display == DISPLAY_AIRCOPY) - { - APP_CheckRadioInterrupts(); - - if (g_aircopy_state == AIRCOPY_RX) - { // we're RX'ing - //AIRCOPY_process_FSK_rx_10ms(0); - } - else + { // we're in AIRCOPY mode + if (g_aircopy_state == AIRCOPY_TX) - { // we're TX'ing - AIRCOPY_process_FSK_tx_10ms(); - } + AIRCOPY_process_fsk_tx_10ms(); + AIRCOPY_process_fsk_rx_10ms(); + APP_CheckKeys(); if (g_update_display) @@ -1720,9 +1691,9 @@ void APP_TimeSlice10ms(void) RADIO_EnableCxCSS(); BK4819_SetupPowerAmplifier(0, 0); - BK4819_set_GPIO_pin(BK4819_GPIO5_PIN1, false); + BK4819_set_GPIO_pin(BK4819_GPIO5_PIN1, false); // ??? BK4819_Enable_AfDac_DiscMode_TxDsp(); - BK4819_set_GPIO_pin(BK4819_GPIO1_PIN29_RED, false); + BK4819_set_GPIO_pin(BK4819_GPIO1_PIN29_RED, false); // LED off GUI_DisplayScreen(); } @@ -1732,13 +1703,12 @@ void APP_TimeSlice10ms(void) GUI_DisplayScreen(); - BK4819_set_GPIO_pin(BK4819_GPIO1_PIN29_RED, true); - RADIO_SetTxParameters(); + RADIO_enableTX(false); BK4819_TransmitTone(true, 500); SYSTEM_DelayMs(2); GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); - g_enable_speaker = true; + g_enable_speaker = true; g_alarm_tone_counter = 0; } } @@ -2087,12 +2057,17 @@ void APP_TimeSlice500ms(void) } #endif - if (g_backlight_count_down > 0 && !g_ask_to_save && g_css_scan_mode == CSS_SCAN_MODE_OFF) + if (g_backlight_count_down > 0 && + !g_ask_to_save && + g_css_scan_mode == CSS_SCAN_MODE_OFF && + g_screen_to_display != DISPLAY_AIRCOPY) + { if (g_screen_to_display != DISPLAY_MENU || g_menu_cursor != MENU_ABR) // don't turn off backlight if user is in backlight menu option if (--g_backlight_count_down == 0) if (g_eeprom.backlight < (ARRAY_SIZE(g_sub_menu_backlight) - 1)) GPIO_ClearBit(&GPIOB->DATA, GPIOB_PIN_BACKLIGHT); // turn backlight off - + } + if (g_reduced_service) { BOARD_ADC_GetBatteryInfo(&g_usb_current_voltage, &g_usb_current); diff --git a/driver/bk4819.c b/driver/bk4819.c index 277ce9e..40e7f93 100644 --- a/driver/bk4819.c +++ b/driver/bk4819.c @@ -27,8 +27,6 @@ #define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0])) #endif -static const uint16_t FSK_RogerTable[7] = {0xF1A2, 0x7446, 0x61A4, 0x6544, 0x4E8A, 0xE044, 0xEA84}; - static uint16_t gBK4819_GpioOutState; bool g_rx_idle_mode; @@ -700,8 +698,8 @@ void BK4819_SetupPowerAmplifier(const uint8_t bias, const uint32_t frequency) // 7 = max // 0 = min // - // 280MHz gain 1 = 1 gain 2 = 0 gain 1 = 4 gain 2 = 2 - const uint8_t gain = (frequency < 28000000) ? (1u << 3) | (0u << 0) : (4u << 3) | (2u << 0); + // 280MHz gain 1 = 1 gain 2 = 0 gain 1 = 4 gain 2 = 2 + const uint8_t gain = (frequency == 0) ? 0 : (frequency < 28000000) ? (1u << 3) | (0u << 0) : (4u << 3) | (2u << 0); const uint8_t enable = 1; BK4819_WriteRegister(BK4819_REG_36, ((uint16_t)bias << 8) | ((uint16_t)enable << 7) | ((uint16_t)gain << 0)); } @@ -1040,7 +1038,7 @@ void BK4819_PlaySingleTone(const unsigned int tone_Hz, const unsigned int delay, // BK4819_SetAF(g_rx_vfo->am_mode ? BK4819_AF_AM : BK4819_AF_FM); } - BK4819_WriteRegister(BK4819_REG_70, 0x0000); + BK4819_WriteRegister(BK4819_REG_70, 0); BK4819_WriteRegister(BK4819_REG_30, 0xC1FE); BK4819_ExitTxMute(); } @@ -1078,39 +1076,9 @@ void BK4819_TurnsOffTones_TurnsOnRX(void) BK4819_REG_30_ENABLE_RX_DSP); } -#ifdef ENABLE_AIRCOPY - void BK4819_SetupAircopy(void) - { - BK4819_WriteRegister(BK4819_REG_70, 0x00E0); // Enable Tone2, tuning gain 48 - BK4819_WriteRegister(BK4819_REG_72, 0x3065); // Tone2 baudrate 1200 - - BK4819_WriteRegister(BK4819_REG_58, 0x00C1); // FSK Enable - // FSK 1.2K RX Bandwidth - // Preamble 0xAA or 0x55 - // RX Gain 0 - // RX Mode - // (FSK1.2K, FSK2.4K Rx and NOAA SAME Rx) - // TX Mode FSK 1.2K - // FSK 2.4K Tx - - BK4819_WriteRegister(BK4819_REG_5C, 0x5665); // Enable CRC among other things we don't know yet - BK4819_WriteRegister(BK4819_REG_5D, 0x4700); // FSK Data Length 72 Bytes (0xABCD + 2 byte length + 64 byte payload + 2 byte CRC + 0xDCBA) - } -#endif - -void BK4819_ResetFSK(void) -{ - BK4819_WriteRegister(BK4819_REG_3F, 0x0000); // Disable interrupts - BK4819_WriteRegister(BK4819_REG_59, 0x0068); // Sync length 4 bytes, 7 byte preamble - - SYSTEM_DelayMs(30); - - BK4819_Idle(); -} - void BK4819_Idle(void) { - BK4819_WriteRegister(BK4819_REG_30, 0x0000); + BK4819_WriteRegister(BK4819_REG_30, 0); } void BK4819_ExitBypass(void) @@ -1235,7 +1203,7 @@ void BK4819_ExitDTMF_TX(bool bKeep) { BK4819_EnterTxMute(); BK4819_SetAF(BK4819_AF_MUTE); - BK4819_WriteRegister(BK4819_REG_70, 0x0000); + BK4819_WriteRegister(BK4819_REG_70, 0); BK4819_DisableDTMF(); BK4819_WriteRegister(BK4819_REG_30, 0xC1FE); if (!bKeep) @@ -1262,30 +1230,30 @@ void BK4819_PlayDTMF(char Code) uint16_t tone1 = 0; uint16_t tone2 = 0; - 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 + switch (Code) + { + case '0': tone1 = 941; tone2 = 1336; break; + case '1': tone1 = 679; tone2 = 1209; break; + case '2': tone1 = 697; tone2 = 1336; break; + case '3': tone1 = 679; tone2 = 1477; break; + case '4': tone1 = 770; tone2 = 1209; break; + case '5': tone1 = 770; tone2 = 1336; break; + case '6': tone1 = 770; tone2 = 1477; break; + case '7': tone1 = 852; tone2 = 1209; break; + case '8': tone1 = 852; tone2 = 1336; break; + case '9': tone1 = 852; tone2 = 1477; break; + case 'A': tone1 = 679; tone2 = 1633; break; + case 'B': tone1 = 770; tone2 = 1633; break; + case 'C': tone1 = 852; tone2 = 1633; break; + case 'D': tone1 = 941; tone2 = 1633; break; + case '*': tone1 = 941; tone2 = 1209; break; + case '#': tone1 = 941; tone2 = 1477; break; } if (tone1 > 0) - BK4819_WriteRegister(BK4819_REG_71, tone1); + BK4819_WriteRegister(BK4819_REG_71, (((uint32_t)tone1 * 103244) + 5000) / 10000); // with rounding if (tone2 > 0) - BK4819_WriteRegister(BK4819_REG_72, tone2); + BK4819_WriteRegister(BK4819_REG_72, (((uint32_t)tone2 * 103244) + 5000) / 10000); // with rounding } void BK4819_PlayDTMFString(const char *pString, bool bDelayFirst, uint16_t FirstCodePersistTime, uint16_t HashCodePersistTime, uint16_t CodePersistTime, uint16_t CodeInternalTime) @@ -1697,60 +1665,210 @@ uint8_t BK4819_GetCTCType(void) { return (BK4819_ReadRegister(BK4819_REG_0C) >> 10) & 3u; } -/* -void BK4819_SendFSKData(uint16_t *pData) + +#ifdef ENABLE_AIRCOPY + void BK4819_SetupAircopy(const unsigned int packet_size) + { + if (packet_size == 0) + return; + + // REG_70 + // + // <15> 0 TONE-1 + // 1 = enable + // 0 = disable + // + // <14:8> 0 TONE-1 gain + // + // <7> 0 TONE-2 + // 1 = enable + // 0 = disable + // + // <6:0> 0 TONE-2 / FSK gain + // 0 ~ 127 + // + // enable tone-2, set gain + // + BK4819_WriteRegister(BK4819_REG_70, // 0 0000000 1 1100000 + ( 0u << 15) | + ( 0u << 8) | + ( 1u << 7) | + (96u << 0)); + + // REG_72 + // + // <15:0> 0x2854 TONE2/FSK frequency control word + // = freq(Hz) * 10.32444 for XTAL 13M / 26M or + // = freq(Hz) * 10.48576 for XTAL 12.8M / 19.2M / 25.6M / 38.4M + // + // tone-2 = 1200Hz + // + BK4819_WriteRegister(BK4819_REG_72, ((1200u * 103244) + 5000) / 10000); // with rounding + + // these settings don't match the documentation at all ??? + // + BK4819_WriteRegister(BK4819_REG_58, // 0x00C1); // 000 000 00 11 00 000 1 + (0u << 13) | // 1 FSK TX mode selection + // 0 = FSK 1.2K and FSK 2.4K TX .. no tones, pure data + // 1 = FFSK 1200 / 1800 TX + // 2 = ??? + // 3 = FFSK 1200 / 2400 TX + // 4 = ??? + // 5 = NOAA SAME TX + // 6 = ??? + // 7 = ??? + // + (0u << 10) | // 0 FSK RX mode selection + // 0 = FSK 1.2K, FSK 2.4K RX and NOAA same RX + // 1 = ??? + // 2 = ??? + // 3 = ??? + // 4 = FFSK 1200 / 2400 RX + // 5 = ??? + // 6 = ??? + // 7 = FFSK 1200 / 1800 RX + // + (0u << 8) | // 0 FSK RX gain + // 0 ~ 3 + // + (3u << 6) | // 0 ??? + // 0 ~ 3 + // + (0u << 4) | // 0 FSK preamble type selection + // 0 = 0xAA or 0x55 due to the MSB of FSK sync byte 0 + // 1 = ??? + // 2 = 0x55 + // 3 = 0xAA + // + (0u << 1) | // 1 FSK RX bandwidth setting + // 0 = FSK 1.2K + // 1 = FFSK 1200 / 1800 + // 2 = NOAA same RX + // 3 = ??? + // 4 = FSK 2.4K and FFSK 1200 / 2400 + // 5 = ??? + // 6 = ??? + // 7 = ??? + // + (1u << 0)); // 1 FSK enable + // 0 = disable + // 1 = enable + + // REG_5C + // + // <15:7> ??? + // + // <6> 1 CRC option enable + // 0 = disable + // 1 = enable + // + // <5:0> ??? + // + // Enable CRC among other things we don't know yet + // + BK4819_WriteRegister(BK4819_REG_5C, 0x5665); // 010101100 1 100101 + + // REG_5D + // + // <15:8> 15 FSK data length (byte) Low 8 bits (total 11 bits for BK4819v3) + // 15 means 16 bytes in length + // + // <7:5> 0 FSK data + // + // <4:0> 0 ??? + // + BK4819_WriteRegister(BK4819_REG_5D, ((packet_size - 1) << 8)); + } +#endif + +void BK4819_reset_fsk(void) { - unsigned int i; - uint8_t Timeout = 1000 / 5; // 1 second + BK4819_WriteRegister(BK4819_REG_3F, 0); // disable interrupts - SYSTEM_DelayMs(20); + BK4819_WriteRegister(BK4819_REG_59, // 0x0068); // 0 0 0 0 0 0 0 0 0110 1 000 + (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(BK4819_REG_3F, BK4819_REG_3F_FSK_TX_FINISHED); - BK4819_WriteRegister(BK4819_REG_59, 0x8068); - BK4819_WriteRegister(BK4819_REG_59, 0x0068); - - // load the packet - for (i = 0; i < 36; i++) - BK4819_WriteRegister(BK4819_REG_5F, pData[i]); - - SYSTEM_DelayMs(20); - - // start sending - BK4819_WriteRegister(BK4819_REG_59, 0x2868); - - // wait till TX is done ? - while (Timeout-- && (BK4819_ReadRegister(BK4819_REG_0C) & (1u << 0)) == 0) - SYSTEM_DelayMs(5); - - BK4819_WriteRegister(BK4819_REG_02, 0); // disable all interrupts - - SYSTEM_DelayMs(20); - - BK4819_ResetFSK(); + BK4819_Idle(); } -*/ -void BK4819_PrepareFSKReceive(void) -{ - BK4819_ResetFSK(); - BK4819_WriteRegister(BK4819_REG_02, 0); - BK4819_WriteRegister(BK4819_REG_3F, 0); +void BK4819_start_fsk_rx(const unsigned int packet_size) +{ + uint16_t fsk_reg59; + + BK4819_reset_fsk(); + + BK4819_WriteRegister(BK4819_REG_02, 0); // clear interrupt flags + + // set the packet size + BK4819_WriteRegister(BK4819_REG_5D, ((packet_size - 1) << 8)); BK4819_RX_TurnOn(); - + +// BK4819_WriteRegister(BK4819_REG_3F, BK4819_REG_3F_FSK_RX_FINISHED | BK4819_REG_3F_FSK_FIFO_ALMOST_FULL); BK4819_WriteRegister(BK4819_REG_3F, BK4819_REG_3F_FSK_RX_SYNC | BK4819_REG_3F_FSK_RX_FINISHED | BK4819_REG_3F_FSK_FIFO_ALMOST_FULL); -// BK4819_WriteRegister(BK4819_REG_3F, BK4819_REG_3F_FSK_RX_FINISHED | BK4819_REG_3F_FSK_FIFO_ALMOST_FULL); - // Clear RX FIFO - // FSK Preamble Length 7 bytes - // FSK SyncLength Selection - BK4819_WriteRegister(BK4819_REG_59, 0x4068); + // REG_59 + // + // <15> 0 TX FIFO + // 1 = clear + // + // <14> 0 RX FIFO + // 1 = clear + // + // <13> 0 FSK Scramble + // 1 = Enable + // + // <12> 0 FSK RX + // 1 = Enable + // + // <11> 0 FSK TX + // 1 = Enable + // + // <10> 0 FSK data when RX + // 1 = Invert + // + // <9> 0 FSK data when TX + // 1 = Invert + // + // <8> 0 ??? + // + // <7:4> 0 FSK preamble length selection + // 0 = 1 byte + // 1 = 2 bytes + // 2 = 3 bytes + // 15 = 16 bytes + // + // <3> 0 FSK sync length selection + // 0 = 2 bytes (FSK Sync Byte 0, 1) + // 1 = 4 bytes (FSK Sync Byte 0, 1, 2, 3) + // + // <2:0> 0 ??? + // + 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 + (4u << 4) | // 0 ~ 15 preamble Length Selection .. 1of11 .. a little shorter than the TX length + (1u << 3) | // 0 or 1 sync length selection + (0u << 0); // 0 ~ 7 ??? - // Enable FSK Scramble - // Enable FSK RX - // FSK Preamble Length 7 bytes - // FSK SyncLength Selection - BK4819_WriteRegister(BK4819_REG_59, 0x3068); + BK4819_WriteRegister(BK4819_REG_59, (1u << 14) | fsk_reg59); // clear RX fifo + BK4819_WriteRegister(BK4819_REG_59, (1u << 13) | (1u << 12) | fsk_reg59); // enable scrambler, enable RX } void BK4819_PlayRoger(void) @@ -1785,46 +1903,221 @@ void BK4819_PlayRoger(void) SYSTEM_DelayMs(80); BK4819_EnterTxMute(); - BK4819_WriteRegister(BK4819_REG_70, 0x0000); + BK4819_WriteRegister(BK4819_REG_70, 0); BK4819_WriteRegister(BK4819_REG_30, 0xC1FE); // 1 1 0000 0 1 1111 1 1 1 0 } -void BK4819_PlayRogerMDC(void) +void BK4819_PlayRogerMDC1200(void) { - unsigned int i; + static const uint8_t MDC1200_DATA[] = { + 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, + // this needs properly computing for MDC1200 + 0xA2, 0xF1, 0x46, 0x74, 0xA4, 0x61, 0x44, 0x65, 0x8A, 0x4E, 0x44, 0xE0, 0x84, 0xEA + }; + uint16_t fsk_reg59; + unsigned int timeout; BK4819_SetAF(BK4819_AF_MUTE); - BK4819_WriteRegister(BK4819_REG_58, 0x37C3); // FSK Enable, - // RX Bandwidth FFSK 1200/1800 - // 0xAA or 0x55 Preamble - // 11 RX Gain, - // 101 RX Mode - // TX FFSK 1200/1800 - BK4819_WriteRegister(BK4819_REG_72, 0x3065); // Set Tone-2 to 1200Hz - BK4819_WriteRegister(BK4819_REG_70, 0x00E0); // Enable Tone-2 and Set Tone2 Gain - BK4819_WriteRegister(BK4819_REG_5D, 0x0D00); // Set FSK data length to 13 bytes - BK4819_WriteRegister(BK4819_REG_59, 0x8068); // 4 byte sync length, 6 byte preamble, clear TX FIFO - BK4819_WriteRegister(BK4819_REG_59, 0x0068); // Same, but clear TX FIFO is now unset (clearing done) - BK4819_WriteRegister(BK4819_REG_5A, 0x5555); // First two sync bytes - BK4819_WriteRegister(BK4819_REG_5B, 0x55AA); // End of sync bytes. Total 4 bytes: 555555aa - BK4819_WriteRegister(BK4819_REG_5C, 0xAA30); // Disable CRC + BK4819_WriteRegister(BK4819_REG_58, // 0x37C3); // 001 101 11 11 00 001 1 + (1u << 13) | // 1 FSK TX mode selection + // 0 = FSK 1.2K and FSK 2.4K TX .. no tones, pure data + // 1 = FFSK 1200 / 1800 TX + // 2 = ??? + // 3 = FFSK 1200 / 2400 TX + // 4 = ??? + // 5 = NOAA SAME TX + // 6 = ??? + // 7 = ??? + // + (0u << 10) | // 0 FSK RX mode selection + // 0 = FSK 1.2K, FSK 2.4K RX and NOAA same RX + // 1 = ??? + // 2 = ??? + // 3 = ??? + // 4 = FFSK 1200 / 2400 RX + // 5 = ??? + // 6 = ??? + // 7 = FFSK 1200 / 1800 RX + // + (0u << 8) | // 0 FSK RX gain + // 0 ~ 3 + // + (0u << 6) | // 0 ??? + // 0 ~ 3 + // + (0u << 4) | // 0 FSK preamble type selection + // 0 = 0xAA or 0x55 due to the MSB of FSK sync byte 0 + // 1 = ??? + // 2 = 0x55 + // 3 = 0xAA + // + (1u << 1) | // 1 FSK RX bandwidth setting + // 0 = FSK 1.2K + // 1 = FFSK 1200 / 1800 + // 2 = NOAA same RX + // 3 = ??? + // 4 = FSK 2.4K and FFSK 1200 / 2400 + // 5 = ??? + // 6 = ??? + // 7 = ??? + // + (1u << 0)); // 1 FSK enable + // 0 = disable + // 1 = enable - // Send the data from the roger table - for (i = 0; i < 7; i++) - BK4819_WriteRegister(BK4819_REG_5F, FSK_RogerTable[i]); + // REG_72 + // + // <15:0> 0x2854 TONE-2 / FSK frequency control word + // = freq(Hz) * 10.32444 for XTAL 13M / 26M or + // = freq(Hz) * 10.48576 for XTAL 12.8M / 19.2M / 25.6M / 38.4M + // + // tone-2 = 1200Hz + // + BK4819_WriteRegister(BK4819_REG_72, ((1200u * 103244) + 5000) / 10000); // with rounding - SYSTEM_DelayMs(20); + // REG_70 + // + // <15> 0 TONE-1 + // 1 = enable + // 0 = disable + // + // <14:8> 0 TONE-1 gain + // + // <7> 0 TONE-2 + // 1 = enable + // 0 = disable + // + // <6:0> 0 TONE-2 / FSK gain + // 0 ~ 127 + // + // enable tone-2, set gain + // + BK4819_WriteRegister(BK4819_REG_70, // 0 0000000 1 1100000 + ( 0u << 15) | + ( 0u << 8) | + ( 1u << 7) | + (96u << 0)); - // 4 sync bytes, 6 byte preamble, Enable FSK TX - BK4819_WriteRegister(BK4819_REG_59, 0x0868); + // Set FSK data length + BK4819_WriteRegister(BK4819_REG_5D, ((sizeof(MDC1200_DATA) - 1) << 8)); - SYSTEM_DelayMs(180); + // REG_59 + // + // <15> 0 TX FIFO + // 1 = clear + // + // <14> 0 RX FIFO + // 1 = clear + // + // <13> 0 FSK Scramble + // 1 = Enable + // + // <12> 0 FSK RX + // 1 = Enable + // + // <11> 0 FSK TX + // 1 = Enable + // + // <10> 0 FSK data when RX + // 1 = Invert + // + // <9> 0 FSK data when TX + // 1 = Invert + // + // <8> 0 ??? + // + // <7:4> 0 FSK preamble length selection + // 0 = 1 byte + // 1 = 2 bytes + // 2 = 3 bytes + // 15 = 16 bytes + // + // <3> 0 FSK sync length selection + // 0 = 2 bytes (FSK Sync Byte 0, 1) + // 1 = 4 bytes (FSK Sync Byte 0, 1, 2, 3) + // + // <2:0> 0 ??? + // + 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 ??? + (0u << 4) | // 0 ~ 15 preamble length selection + (0u << 3) | // 0 or 1 sync length selection + (0u << 0); // 0 ~ 7 ??? - // Stop FSK TX, reset Tone-2, disable FSK - BK4819_WriteRegister(BK4819_REG_59, 0x0068); - BK4819_WriteRegister(BK4819_REG_70, 0x0000); - BK4819_WriteRegister(BK4819_REG_58, 0x0000); + BK4819_WriteRegister(BK4819_REG_59, (1u << 15) | fsk_reg59); // clear TX fifo + BK4819_WriteRegister(BK4819_REG_59, fsk_reg59); + + // REG_5A + // <15:8> 0x55 FSK Sync Byte 0 (Sync Byte 0 first, then 1,2,3) + // <7:0> 0x55 FSK Sync Byte 1 + // +// BK4819_WriteRegister(BK4819_REG_5A, 0x5555); + BK4819_WriteRegister(BK4819_REG_5A, 0xAAAA); + + // REG_5B + // <15:8> 0x55 FSK Sync Byte 2 (Sync Byte 0 first, then 1,2,3) + // <7:0> 0xAA FSK Sync Byte 3 + // +// BK4819_WriteRegister(BK4819_REG_5B, 0x55AA); + + // Enable CRC among other things we don't know yet + // + // REG_5C + // + // <15:7> ??? + // + // <6> 1 CRC option enable + // 0 = disable + // 1 = enable + // + // <5:0> ??? + // + // disable CRC + // + BK4819_WriteRegister(BK4819_REG_5C, 0xAA30); // 101010100 0 110000 + + { // load the packet data + unsigned int i; + const uint16_t *p = (const uint16_t *)MDC1200_DATA; + for (i = 0; i < (sizeof(MDC1200_DATA) / 2); i++) + BK4819_WriteRegister(BK4819_REG_5F, p[i]); + } + + // enable tx interrupt + BK4819_WriteRegister(BK4819_REG_3F, BK4819_REG_3F_FSK_TX_FINISHED); + + // enable TX + BK4819_WriteRegister(BK4819_REG_59, (1u << 11) | fsk_reg59); + + // packet is 175ms long + timeout = 250 / 5; // allow up to 250ms for the TX to complete + while (timeout-- > 0) + { + SYSTEM_DelayMs(5); + if (BK4819_ReadRegister(BK4819_REG_0C) & (1u << 0)) + { // we have interrupt flags + uint16_t interrupt_bits; + BK4819_WriteRegister(BK4819_REG_02, 0); + interrupt_bits = BK4819_ReadRegister(BK4819_REG_02); + if (interrupt_bits & BK4819_REG_02_FSK_TX_FINISHED) + timeout = 0; // TX is complete + } + } + + // disable TX + BK4819_WriteRegister(BK4819_REG_59, fsk_reg59); + + BK4819_WriteRegister(BK4819_REG_3F, 0); // disable interrupts + BK4819_WriteRegister(BK4819_REG_70, 0); + BK4819_WriteRegister(BK4819_REG_58, 0); } void BK4819_Enable_AfDac_DiscMode_TxDsp(void) diff --git a/driver/bk4819.h b/driver/bk4819.h index 1962313..b894f46 100644 --- a/driver/bk4819.h +++ b/driver/bk4819.h @@ -105,9 +105,9 @@ void BK4819_ExitTxMute(void); void BK4819_Sleep(void); void BK4819_TurnsOffTones_TurnsOnRX(void); #ifdef ENABLE_AIRCOPY - void BK4819_SetupAircopy(void); + void BK4819_SetupAircopy(const unsigned int packet_size); #endif -void BK4819_ResetFSK(void); +void BK4819_reset_fsk(void); void BK4819_Idle(void); void BK4819_ExitBypass(void); void BK4819_PrepareTransmit(void); @@ -151,11 +151,10 @@ uint8_t BK4819_get_CDCSS_code_type(void); uint8_t BK4819_GetCTCShift(void); uint8_t BK4819_GetCTCType(void); -//void BK4819_SendFSKData(uint16_t *pData); -void BK4819_PrepareFSKReceive(void); +void BK4819_start_fsk_rx(const unsigned int packet_size); void BK4819_PlayRoger(void); -void BK4819_PlayRogerMDC(void); +void BK4819_PlayRogerMDC1200(void); void BK4819_Enable_AfDac_DiscMode_TxDsp(void); diff --git a/driver/crc.c b/driver/crc.c index 7a1840d..800d7d2 100644 --- a/driver/crc.c +++ b/driver/crc.c @@ -19,32 +19,30 @@ void CRC_Init(void) { - CRC_CR = 0 - | CRC_CR_CRC_EN_BITS_DISABLE + CRC_CR = + CRC_CR_CRC_EN_BITS_DISABLE | CRC_CR_INPUT_REV_BITS_NORMAL | CRC_CR_INPUT_INV_BITS_NORMAL | CRC_CR_OUTPUT_REV_BITS_NORMAL | CRC_CR_OUTPUT_INV_BITS_NORMAL | CRC_CR_DATA_WIDTH_BITS_8 - | CRC_CR_CRC_SEL_BITS_CRC_16_CCITT - ; + | CRC_CR_CRC_SEL_BITS_CRC_16_CCITT; CRC_IV = 0; } uint16_t CRC_Calculate(const void *pBuffer, uint16_t Size) { - const uint8_t *pData = (const uint8_t *)pBuffer; - uint16_t i, Crc; + const uint8_t *data = (const uint8_t *)pBuffer; + uint16_t i; + uint16_t crc; CRC_CR = (CRC_CR & ~CRC_CR_CRC_EN_MASK) | CRC_CR_CRC_EN_BITS_ENABLE; - for (i = 0; i < Size; i++) { - CRC_DATAIN = pData[i]; - } - Crc = (uint16_t)CRC_DATAOUT; + for (i = 0; i < Size; i++) + CRC_DATAIN = data[i]; + crc = (uint16_t)CRC_DATAOUT; CRC_CR = (CRC_CR & ~CRC_CR_CRC_EN_MASK) | CRC_CR_CRC_EN_BITS_DISABLE; - return Crc; + return crc; } - diff --git a/firmware.bin b/firmware.bin index 7296aa0e35e8e89dd72956288830ca2ae6b9462b..2a3b7ad03f675ea61c92b35b492afc0b86092201 100644 GIT binary patch delta 44236 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 DTM7A; delta 42962 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 G=KlcMIDzN@ literal 59766 zcmX6^1zQwc6Qx^1P`W#$C6?|5mZiG|=?>{`QM$W3mWHL91(8r%x+IitkZ*avUvQqe zQ)gz*ZKLdS)6oH@xR{x()NF(N7nSB?xsMq)KuZWgz1v!-2Y_^Yh!f631KAb~MMvQP zdM4d!ZHkx14HFG7GS~#4I$P~I+Ch3TOI-l=Bzep*O+#196e<$N`4FUsCj%Cx6{vB? z$iGOV95sq0WP*7R_a#SCV?gI3D~s;Ld{S%;U7rR-7nouK$IpY~v%~R+;rN|!e0ezj zYdF3N93KqF@6%N{=s1;b{a}KZb~+{+{+f9cJRF^YXz~@T*SZzAD*J5Kx6@pjrs}@& zjKdSO`-`k(%2`wvnnjCX9^hB^@O9^eM|}ZnB1SvRsQ>#sFL&vaqOEIL?T{X%w z`LGo9Wg9Z@_vS4Z{utfA4Aoy+jPBm)9YO&Au72Zz-@}yB#fKS6mmlMCYj3uOwe8Jm zF|rP<_X-X>pT|zj;wxPe?1c$|1cj}Hnohl`l4~4FShR=RVo&uaLqRI)Z+s+`TYFzS z%2}O;*l}YE5&O0}`X{eWpBS5he}Z%K8JsN?L{|}}2k65&3rsukjXNtQ9d5ntp}%qc zyBc2a#E4h7zlFLgUhfA`)1QR~ZZ%1o6@e+hDKcIUTEhqf}S0pk~A90y@Kz3Le>**z*s5NPLX?&u!h z+8T;d7=+St3|R+ZF`;{iQRG+>=hHfS?-iP8>ZKLAkd=|-p}%#N0!NnH7pO zKuX1edRP%ZHitDUPa?|_Ja=zgqI~_pJRpX=9@So(T-bEp@1jW!`^`?kll?axXgnZ< zcgvRX4IOlbT3?!>#r5haP5+Sc4+XpV_BM5-{Mg1=x{JkmSUAu&YRRG?Xc&_14E18%P@GaW z4zdVnx$5P3n~%wg<6m$_Lz7Lu;14_w-0DRMW9*Z=$DpnW(`r8;O9Zy#UQsjvb`N0! zjkwSmg;ZyWf37zNV&#PLIF%x*t-}>q`g$V~QlyREetl%_ni?IK&(FWFK7Zi(Zh#Tm zX$7_1yDW`;jCydVpT8XJr^P6?w%RLGY`LN? zz55_ykpC>b$u0n?KNvs1_S;3{GhnfGs(x!TaukUY2{W;prOHp|zWrsX=yL95$Eiy; zpXc{;X-vakSJtvUdwckOA+=aLCQY)-Rq0)`rBF~4Vbybt&w?8;=3DnE=@tytRN+8H zc1X-pFmP_^?jnc81ONs+TKl)se%zn_``5c3wk3*3=I7dN`M9;250hei@@2_oUo3MN znTm{eh~7J;R8Dzx4R?;N5-Ymprlq7;L7QZ-$^h)XkyN3gv&59!4)AC0cJUBArrc<> zKI7x&5yBLoP! zqDuU3ULs+OJ9~C>6G#2bjt1DhKpU7YMHl-{o)P$zcmloWw5@CWKywcp>}Ie&rI-<4Xjt%I0eg@b0fM&zp# z65(ewexlbc3aD(i=AH%84Nf2adR0Qj!bS+k45Zu9MY!+Lf@v|H1o$(hyZa=Pj!L_&19RW;19lXX#Y1)gPgMxxLJg=$k?% zSZ%YP)gk-QFc`uzS$2e9d$!!_V(OTlI%X2#!+Z_acS6}8u%GQIDX|8ekUlbbYlOT0 zNW~;cSlC8>|3rtvf<5PIN!(z)2~nFA+d{l5C2(@4$_unNL}iWQyuuhGV(yPJ@|a!V zk$G70FJ@F*%4#ep7Gs?7z(9mJ?8#2QdzXCIdWpB?`X(f1pij=P(@dI4#S|UyRQMvFKfEphAW2fc4qpag}5(*CPWR&hWqM&m`U zE;?`ZU1ay z{RZ3mP)|DUKu23&Nks|E@`QNiTcJZJ;RWDP;>pav__6WbNR(?e^fRyzOS`Uwjp@(x zkA)B<>_-EZPRa| zm2LTxhpL4N{BQ4kl;sS?s7o~Rp-hRlN1jO?(gRzErbG(Du#@__kN$Y=oTRE5-})!O zbJ6ebtM3|e_9EE58$&XojYR5)P+V&ETe;ZGuHLHCbSY@ydH6qV?#N~oyj_<0^1J6= zS5{Xx2_)7?`YRX=)cH*#O%>ss75^)PrUA zPHzi;RYz{TvH`^S(f`fQEt0q4gd>d_Jdf7H!Ak8+{Q!1vB-4~`A7Gy?*Zgtc`4zJy z9j7f{!ilb&_xdGaw7*WgPX;-t4*8+?Q=%uGr9IbJR$?x`O2Y(9cakukRn+XlhEHmL z(Ok?>z>D5jWeY*ufY%`JfFQWDK^e{bm)(o9DN(nR znw91|qtatKg_+qK8(l^B4ygq($AP=7#plsJmSn~;Q%p%CNTrV0tws(@F)rp(m-_zZ zP@FPpEv8hjg9bv>(~%XLR814u{EwAkGZ3hE9~HSe0I=&jbgfKlX#M+KG!sHccV%Sr zbp;ymap!8Xi52AG1LjL@QM<(5M)-9nbjJFLF(-7}SV?kYfk@*rWOXOXX~v9#rS|P4 z_bdl(X5OezzgKmLiX zwuE3>kF2$OMB=>G;)Jpa5j%_668~A1naGM_?eRwC;)wb<`r{Iq1TT}oJ+(1+cM=Gw zH0)N`ElH1SY87)CpMNc-`s4#l*p;g)7bfHnYiyj1?Rj(gMQ`6ZMZ5b+LYR|y&LX)^ z4&gVIp|1U7rkQdED9oAY2~}>4@XIpsE>o~+POPQ8v`;g(Y9<7wMQEw;Ku4=8B$0N_ z+9zi&rE<{y%hH)6;1PfC^?&Jt>ie9uOi7Sv7(k$lviWc*UX5B|J;enM(p$yR# z$wEEKO$cAEp8WNbdxHEAam-F4($=$WHM$=J;)3>%HS}_w2}E>Z%Qjcr2*(1&&K>l` z;RRkFiKBGiK?1QlJID`W1h(bBwa;7LTTOBNTZa*k3ds*Jy?0(M4Z~6erWrwn9NmT+Kc-HHv!y6fLJ9D~63Nfi)j8W+^RE z>QtfBnuGydc`N|z{Pm$wM-`gXo8S`p0zMX7JX#jI2H|qCSiWlm?ZU14u=0U-6 zeQ`*2jPY@R^V{r)p)jQ4M+IXG+j(VGV@gZlQFi-4emL zgv7T(4=aIJa!7t`1kX)sl0(;JMeFrP9FK_hIgm?^g7$z;{trT1+uxU9R2D-TS`__h z-rhV92}DR?>qu*TYW43bzw~3r2UE_q{Ux)>xk#jt$33AGh#gTlpj(h?70kg)(^VA< zw@=;$W2xHjndaI_l^0A?UA%!ZQfT_}-ZXEXtg!w@-&!POd|XbZqTEAtEwW$}^-}sv z+cc znu&{2SWXuoBA{?kCF_~?;q9q8uApcsI~rBT_e7nMB6?MzprKh*3wj>&(XpXx^Ez&= zZAAzx^E*S##0R-5bzwwTGYiQ=XJmrw-iTqGXt`%OF)RpCv1M^}`y5e?%Ap=@i8R@%tHpu6niE?7j` zOt3;0;3KQRzvuRQ& zsBD4e6LKoKaLF(N(MNw^O5xlKzHjI+Tku%JfB4ZM^(L~A1M()g{c)&;<-)&bwyj|9 zXWdd1h3u`@!GrD&i)R9rEitodK*<-7hpkuMS z=jdBXhV~=jbo<&dl83_j#)CfUcB&{m4QvHVytIA)|Gz(OV%%uD(p`_RhU8FHXy+=<#0CWoxjbq*j%veFxPB7;3_Re}Or3BeyJn2`sCVUB zDaXBu_(?5`S>N5E?oLRy9trn<%}O6wQ8kl*Fuec?c3|!feonB*BCAR(Ts(c=%5vOg zYk*AUqywS0pK;A2r+XfJRR8gm`jbw0{!23w{P+xE$Wm~Kc-^N_=LSr1q%~XN>j(MI zYtP4WoHA~#ZXpDj%xj@~lSi$Ef+HTle?IWf9O)X#p|JtW15H{3VQ~MiP<4P3KN&*S zA$fNZaR2XKqsh3JL@wJ>s=cCB{I`mQu@GYAORm-QFEW|6{wU*-;HDNIdxb+aAPWI= zp}>>f(I5ZUvzs1Oo5e=1@PmC-Q*3Hmd^KO`GBGLx{y_H+Ez}U-bo)gUoQMAU6WFj$ zJC!@$S~_tMS_+0ZicdD`A-b6(Ua76yT~k{GAp?`X`Ltl2p8DLpxZW$;yvJ26yM?4= zxvG5tqN~vdnnI^i)cNO&OO7b?s2l(*i+j0M0*Ok@%JP=3GCFi3P}A9sS7K@L-#qsa z1COHZ>3}4W@BQ0J?NrDW&UDlGwtBy>lyG8=B&UkUEBT*WqFN+9nXiU2c*#t2ze`=0 z#!p`DFizlt& zsD19TE>J>c4I=5D4GL?Dy=om1;6A1=XySYhmL#dZzl)DzE@0qFh5*iDwglR#%3qnU z*}cJS-HD;z*_pX%>;%ci`Pmge?hd=c^FLwbrT$6GZhhb^HXK~HqQgZTxoxP)SJ z7Cmw&DArW;fsNHao0!QDbWU8K6RRly%^(e4f9eo;g!>A~;Qc={Q3l?BQXPL53VtU; zJI8(DAAE@o%!6-&qcUBx95D&K3AEhTOwJcROVi!K`40!2|Ge05UB4aM%9@q#yCCb< z==30ti7mKFyW^sY((fs-3+z4YlxZ@qG!@-Yx;mO7S0(@UKu_$rtsp-Gc;O#T2uW^Z zVSP4Qm7!-`t+En#3>e~;LDwmpW-C2=gAt6mJx`O`9*Ksf3alc&B9P`+di||ic0Ap} zz{aM;|Mo3~uf(JrRSgg~BL;Rp9#d^D0v(rpo75x^Bt8Ixg zhCb6wdTL1`w|}!5S+p5W)SaJwKOA0&8~rY5beTsLd^49?`TzbuIJ*b$|3y7>do!zT zB!PWon#Md}=gs|Bw1H1_kLosw>kX7%?)Q=Y_S;(*@cutLb%jINXngye&H4bh-@}@2 zz+J1{$`PDi#i(kJGop9fCxEUGE(0#*ez3BrK6f1=hQGfP$_yEupLikZ+e9C`R?*#8 zZNC)Xdr+)Xb)+P!8gsJ;G7~sL)FP&Re<;Zx03SVK0+Nry_UNr4{?gD z6he3Tfma(Bp^|v_spLiy4gIU-WHtoN8g_Q(wa_c z!~6fJ94;$@E<4kPd;8q?nsC4#^z>(k>b~DATthB|qoiN%%s0QNg`q5{6Z>TY)VFbGNUXr21|dXa-F}lBoI~=8m z@yVGyC4WB}zMhx-im$sm0a-j%zBOHSM|98P*XpCtY0Gbfw zQJAxFs}f5bFoAh>#NE%#4Z1^!za(d9U-oUrMuhJl8?p{!#5>yGHl9geJJX!n-mr*T zuAFaxMd0zbaSiDe$9JW!l8Ch@gZJM>doh>IoPN3&|2uQk6naJz^GCt)^KKJw3VZ`N zESEps!t>7~xVHky{k-pO7k9L7U#jyZ}k?Kaj#;QS*oHF;tFWCT#D*R4S2-Z-dgQMUb@lVnHG zqX>L+OTupwj-(rkrp`=YLGYxvc|{r{w<9Tt(jQrL1=*&c|3MHa*vs0mVV|9V(-gKS zJv~9APrISO+8Wuj?SV=>X_`>*!yjC(BQ;0HDmTzhOAD~};FP~P7BAst3LhWJ(4aQW z#gzqz%ftI0WQ|YL0M7qDY_80Q)2(9B&0LJw(tW&QxpGHBphZd-*o>RZrR7io6hLCL^$xPwEo%_(6Yj;;+WiA?bONqmKFk9s#jWa) zC#D+_pGyoP;^ZDU9!J>+z_oo*l#$5WL;KG!EM_p$^6nCI>7Cl!ou({oJWKe5YM93F4oCI!ai zOYM*mWkd_T*4HUz_=#8?dRxfoM*3CJ@1QdBNjsDzpzABse!RyyCw3l`0tPn?$j>f1 zwu-78ryL?&6GH=IqA^yY0WM7Y1Zh)rRjgJ$zv1S7@V z8L4Qww+51E2Bq~}7)kQPJPE{~34Z@U(==3XNTCu!vUm%wRPkZi{9VXs`R7)Lcmd1& zFpxa8W&?YLLgf?oR0@{ptDWEr1&o2PNH$=vG(={_xnERu0ASq5p7L&j6XEmw_Z90( zA3VMghB)EaHa9N9Bnr{r2tyU9{F!l3ABD;MNxHYe^qyO_rGpjaqmglwTwB?~C}GQh zu_bHvgSrq_{&$AhzIAd{y27`gK$aR3dY-(s_2j3I(Q-Em5|}jQ#au}h@(9%oJQNxm z)vtew%BDiIS7z1f^m1L{e9#quYgEKMEn;U-%b5zP5EI}2hgP3hry?!v{ zkfBm{n59~MuYvwKv$2NT6XnVe~A3hsZ9 ze+G`R1cl;m^o1P8cxa%mUwNaFCAJgHsCLBW+XFw2$be2IvT=I_*!|e`8v#TPhfV8o z>u7+|INy-ictn!*(e(%>S`r1n|3TpOpVbkP9|XTYicsgF??Vh-Md9)Hvj1$lH^4}h zfEruS{fmtAR-#|R=UU-rTnZT)s*`2C$vaK3<06lsJ0uNXSyyU{Ngpw+$r6fiN!zI{1SmP#BI zV%Cb`NcHzx-7BLn%rY_8l#yPtfpIR?Qu1&s|4uLN5M}mn0LI-ISy+~41i}@XC#aqlH&`%TY@9NcW zYc70p1hknmTwhUj7`^rGSL18x4>A@e|E!SzA+GNC&4#!(9$LpF9SMI%fn<+!{qemt zlsD(PZxLwN3c>=gXot|ye-AcIxaEGQ(5w<1tf(gb4j5b9(iFw+V(p)4`9WBhW;dle zS6jT)rP43Ct;OtKxI)Qj*$40OJ2@g1YXOQzFQ4U>5)+81K@NvK>xp2pKhzobriU_( z^gV8M_?#HAnJjgONfKx6yd7uRCwdoRC0Kr!u(xR?q=iHXhc@hykIbDV{Xw=WQ{=fc zy35@L*ZhQbYx0~UT24&n8<$rYc`gR3pREBtdSuZ0gr={icE!B-m+Yl#b8!Ymo%kdgJEDNyWRGEgkPgjS_eY9y7QTN)%&+o7H{rH+TR%qM$tO*j6};EEupsJ zk1|*xW~ER|OlS1-bf_A3R{j~LmilTjRI6g0gAztFAH|KmvJdo(6K{;zW!n&jwO#a& zi7PGV+7l<-I{6R>NMo$&@qLec1l^*UeoU!4|1_EgOeRBax)a*^ePyLWYJ#()7UQp# zZWnuFOv3~Vpe45c2_@sue;;Wt!fc>+{q6_H85+?+h6s<8toV}w#``x=<6AiY&(Bp8 zrAHySu7~#@C}}`v#1)G!bTKJb7JmN(`^$jZ*hE(3W_~iQBEC&dm@3sEUdj-YC?ZnG z4A6a7)=ysdc9bEcE*;e86dCFQChf8Mkscg`dTNQI;idi$=Gre|1}Vxt5TwG>_3=z{J_77SH@ncQ3*{Jy;WhLKZ3>z<`0nuFnlOK zGb;}H@&TG1tukND@rSWb)B)e1yxz<4W&aIPB5z$r6Yn`>l~{!?OIu-Dkgp!VoEo{x zHtiUl`R2OF3NMqAYrtiWRl09T?)aKz1)bS+^|~ z6n>>uS`A<~$i56CFsvv@dCpAMwcQnYDwuk?|GfA=EJsb$8HwQfS@06aEAbUBrzL$LQjeNK8UEg;2W8t-rg_yC=%~%2aQ+_Tm)o!~N<)_kofv70spv*sVfz(+r z>JQ%_K>#nf(-6FUZ%ov{Gu@{3WD$rfZmIYiWpAb!LgozKGtP~ZdcW#IP&1Z@CZwqY z=={mgZu9v-_O!>4A~(Ab!K#&U_+S~?fmDt(x0)cwj)6BAM7FSgxO#Ovsinc&Vhs2H zn>w?VA{9zw<6 zAu_f5vl3f^tElZ}|Au>46nsi=kreBr?nI-Gy^{;PYD3b^NQCd7TnGO}GHa+&yu80& zM3K3B<9wf;HLE`jS~^4?bKtYAN9VcxYI2M7m}MQwdn&$D z^kANuY*(YIR5D|owc3NQHg)*@SGpnH?=L^Y@_EX~%Q71h%i(M-jD&a-&({l#Oqz+W z%GXdn->!9R-7vW6EFo%t715?Uz^{dJap19Mt4qQRz$7sxKQ>!a6tvGS|B_7wG2QC8 zqRZ6Yuqthnc410a3Z*k*A%(#tk7s4+1u8DLWbB{<>vpg`Zj8<@ zgolV=Mdu6`u=Z@Hrr>gSvlpUG<-8GaiN0D=&=lL7Iy}7kqCY~@_&@(lLJL8XeD|V% z=`nWvd#58AswwETET4O+a*6I`v2SQ+DZ|P1lw>eFAm(z-p;TW)XNI+bEM~;iedtQ_ z-L6h~iI140!1|-KRFY(KZ+S!m&o-$<;neGk4w=uH6@Q$G{5DDmUu~rYFpBN{)??Wn z4Ud~_*s(-k)+~+u;D{^I*VCuO(_;&tKR=Z?9R4#s@OPo`xlre7mB;~7cT=taSmz5Q z*s2CQ=KQOR3+kLhS@Jj*$r@uPT6YJ(lc$q5a{dZWtgbqj9kk8qNa9{m7C!%DphI0H zi?*klS<&w}9Wvk^zTV(~fex-iW(`~4{ELHGkYP3*UuCG)-@I`$$Pq&K3oGb{GlyE4 z<^K1w0DJE}2PIng{5?JIa32QhnI_QHyms(6SgZy|vb^NKW|Mn?H^l|dd;y;*bDw^~ zzi3g)=fGovWGFd4&NO74LL8^IS4$QxSVc9c-4#TY(_S0+{p}FW zzy9O@;Us#q86ilK@cqXb57hX0?qB3f{|W6Pn6Kl#?szWo#j5i!g?tP2ASUw~RN1Poc&+=4GLP=x z!cQH0<{$zF?^R_T$k9f4lO&VmG3}J(#%CQb@txy^&>lBDfSgfh22FHad6_bq3&)MU4;@?HM zxf4HK^yrvB!@4xM(+FhfJl2*p-+0k~o%{W(|hHJv*xMVp=7#2={ABqP0IJ(G`prnFY6 zU9v)4&+w7I)8`}Vg~0`VJLnw8ZhyLAR_R55D3cl?{cAJ4LA)N$KO9M&!9SbGkVn78 zxoks4x|sRQfr!$_)c^UPZoNZ)qv_CSR_7L&#kdp_xN z$DC9BCocWwm-koMRxvK{?wO*`StLfMV>9ZV(3%UCj!<4Qc(uG_(%&Iki2l0A*gVzR z3r}9F0UO4{6brXMBCq&A`wajyaQk^QeK1zbQEU?G6=~%c3{SZ>4yeE*3C#%<=O5qG zcs|zs9wTNr)9q9x7g^}5|5-tg(f`@pfqWs`?Dc`ag`@wp%@aKTr6`>W<&9Qg+N*Pj zLo8WN-ms#q;D#tq`oT`tz_0uijAyn}za}J-2cFywGa~ziN{Kxr8^9gC***{^iA7mWa?2&0^ za|hn`1kFOF+*xpT%U<-SqkpteuSC+7h0JgsUihEBp2ES_opjoiI$qijbkT5f`24kP zZnX!rg!Hn)^Dq0q{4@U2(IQTQN6UUozin^_6iG66*jbMps4+MueL%d7dBj;9F{eTB5(Ii1)g9{Fu_x(6* z#>47hyB{b|TaMm557YU!JHyjRLTou%&;-eGoF$Y73*}Qt5@2u}Yd>8YVPlEwYS=ZB7Qb{}606a()N{4eIgSk+j-FoX>F%_ZDIOo>VK9 zA&afU=(r_aq#R{C=>1^c{BBZBrNrKmlDNsWoqA?&a#cxH3#py+tHt-EUo|t#tva0@ zuI_5WKaTp6FC3jgU=r?`U^>R7B8};q}UNS|5I%O zrU+S^J@}x5{1spLKL+E*96bJV(X~(|#nP2CKI1$L)E7hue)@25J*1QZHdRf>6#p9} z!gS#9+L?F0GV814Ug=ByA0Q?yc8E()5hoehh@ruL5+})EPc3rTnTmw`tUDUN<(V&k zJY+?NkD<$USsaV}8dfAz@o`aEQfkGbUri-LnZ-Yq7_a)TMwVC?AONh?aiORA zhXK+ggs8Gd=3JEZ#qPOWK{X9iye>%0v7b*^rR-k>{b{d|#(jSV3FHknyN_$~IuBdL z?y?DTi=y6bZevguPiVmJWi>H2*UlVWReP9!SUca);U!gB(m~B-7wBi%NKH?j z0iR6om8#(J2QEu5z|-ml7%`>bHj^W&EZln|Egb-Npj6LzJlKAwc&!o(qTx}@n@(N+ zR(szZA-#ZF7r;yZZ8S1;{gXo_B)=4bn)K-py)^DXD`=2`^cbRSF2`(o8A#JbK39JwX9{)eUz=fUvx7OcNa z=s*rv46eT*T0Rb^3KwD;gY#eT9F(l`GI!C100L_UVQbn-wjWdRT%ae}3x|8Nbin&> z7EiceSg(}MhSxyRqnx$AXK>v&N>-$gJY|qrTl^n%LAusuMflPyrZXpZ6M)NDq(!1x z(@J{0p6MX3OgKIVeExjV-x}*Ez{*ag)7;1$eVt1 zuMm-B+ZM9oYnZ1*u28OuW5P0;YDWPgJ^m%d54*Gk*J9k(PMP*mS=gj5MAh@zezR-q zcAb#u*?bGL6=UkAFht;dY@a?^4d|9G2)ca}i`iVFU;T;0qx{3&OyQDFX5qn7S@4f^ zhBUcO{v6A>95K~TX;ezwy?J{+<1#xn4$z;77)?DSu<7|;Zte&tqy(%O>%hiekv`q0 z2u)u&;rs7yj^|Sq3khVlDEiCjJ7b+~4P#HQ@@jmU6{Bfw6kCinL&9V0A1bG;r`) z;zO6G7Lwu#VPWDhB#W&qV9n&A3n<7@7YA`K^VGjRG#WUqv!`ISw-l;Nrk9>os{(oY zq^wDryCe}A1yjNGe>L#=`$hkzprePnO=<8c#tG}8{c!93y$(th=*VFNWQtpDA3LQ@ zjyfPZIQtQRH%|}p6_1WHdIwv!ev<*e zOgZ4JY*KC=%D$MdbEid^R~yy*;gR5b>P3mcEL5iG5RAapV(O{5eni+J z>JFd(WtHcv;s0;?{2UMrTqg`x9izMLGo3i#`VU(HTOujptW%{FT+(<3c>V{Fcf!D^ zvu`!4fnB{L;hun|-?7W9LH?But?gCY^9@L=SnLal7o}el&)1@2dweJ^8ct{zVXGW| zcPh|l9yZS+%PeTeTwS%XN6}cKfy9}kh>Gg0Ii~^l_o-%;Eq#k_zHWUOp>t>7k8j-v zZ?<3p+v*3UXY#G}zPRWZyPR6T;QDJ3Wuv`BJN#F|8p^{^?u={lF$0kHm;0*o2ZtZ4 zOTH}5RslXSw77i1S6UR;O_)8JqbNV3(u0yEu2$S6bDuw(n)LbFMY66ZA#L9B7oOa9 z($6ulgf9^%GSLTh^=qJRVuFZFOibIsY+GZ9;J^cbOqY~fnf@vw?E9|>iBM)_;()l- z*CPu)tB2k#0|+0<;wKYnzUt!Jr-UrlQF`!V_K#Ej`E~Q@x3xD)Q-knUyyRI<6rNG% zYaRq$`pZVR{hU>vy0$5WYUXz*>dq=m-Q4aZ$0!>P2Z+WJ>Yn_>lZwe1PVXK<*tU

LTBXA}^!VbFOo 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%0Dr~?{0mLce_{jv#|iL1n44XmHqf7S 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� zG5PgE$))Y^w}Sp>s6khAP7}X{aeeEKv`^Z;2R5MtqXguQ+L7Yg3Sr0<%A4uGAD=yz z{RZ0)7KGiu^{2Qc(5Tjwg_ox@jRTz{_*Nel?w;A_*Y5gLKio*{*SpI%77=}FONKgc z|JeP&Mzb)LA+0+cz1Y#MXy@u zsoG&R*{pHHtv>-aIjh%wbAh7~J>JxHW8U3|dk+I9)xSjrPVH2Oh6uEP>2*?=)=7Li$A zr6?3hsG&R-$LPK%>~J6OfZnSpDe_mu@ZnCM@52#?)`K*b5Jtb{kE(VpF`eq(O*Wwu z8Rx7rsb_t|GZZHN7WO$Oms;;hABW{LgHexYR?5$`@5Ez*TtdF#1+Pwv7xIPX(M4k) zG`W`PCum&h=ymoT;45bSA|Wvw>9g=OoripYP((Qo#fU9VuIrWviIg$~ipds-Ti{m1 ze;TtM8MjmT1l!6U)dBpIKWqEXkos=|L^r*y?^A1lBsHaJeiBCnqeCWbI@pdJ=@dOa z9ko0C)a_EPnX7M039KDzyh#{Qwl&Dkkl+p_dA6N(8b>bmM}QK$9U z-IeugVKjm=xk(!7Hmo(sTmyY8S&gF93F-$i_fcW4D_<^A5qREtN;NCjRx+o{8WgeRSI~MJN`xtaCigrs|=+6%5BVJ3#vYS?9h_aMMhit8%MR{5**w# zcEq%0K>c2cSI_y$hl^ty5e0T3PgS108(n$tXPLchannel_bandwidth; @@ -845,7 +844,7 @@ void RADIO_SetTxParameters(void) g_enable_speaker = false; - BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2, false); + BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2, false); // ??? #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" @@ -868,39 +867,38 @@ void RADIO_SetTxParameters(void) #pragma GCC diagnostic pop BK4819_SetFrequency(g_current_vfo->p_tx->frequency); - - // TX compressor - BK4819_SetCompander((g_rx_vfo->am_mode == 0 && (g_rx_vfo->compander == 1 || g_rx_vfo->compander >= 3)) ? g_rx_vfo->compander : 0); - + BK4819_SetCompander((!fsk_tx && g_rx_vfo->am_mode == 0 && (g_rx_vfo->compander == 1 || g_rx_vfo->compander >= 3)) ? g_rx_vfo->compander : 0); BK4819_PrepareTransmit(); - - SYSTEM_DelayMs(10); - BK4819_PickRXFilterPathBasedOnFrequency(g_current_vfo->p_tx->frequency); + BK4819_set_GPIO_pin(BK4819_GPIO5_PIN1, true); // ??? + if (g_screen_to_display != DISPLAY_AIRCOPY) + BK4819_SetupPowerAmplifier(g_current_vfo->txp_calculated_setting, g_current_vfo->p_tx->frequency); + else + BK4819_SetupPowerAmplifier(0, g_current_vfo->p_tx->frequency); // very low power when in AIRCOPY mode + BK4819_set_GPIO_pin(BK4819_GPIO1_PIN29_RED, true); // turn the RED LED on - BK4819_set_GPIO_pin(BK4819_GPIO5_PIN1, true); - - SYSTEM_DelayMs(5); - - BK4819_SetupPowerAmplifier(g_current_vfo->txp_calculated_setting, g_current_vfo->p_tx->frequency); - - SYSTEM_DelayMs(10); - - switch (g_current_vfo->p_tx->code_type) + if (fsk_tx) { - default: - case CODE_TYPE_NONE: - BK4819_ExitSubAu(); - break; - - case CODE_TYPE_CONTINUOUS_TONE: - BK4819_SetCTCSSFrequency(CTCSS_OPTIONS[g_current_vfo->p_tx->code]); - break; - - case CODE_TYPE_DIGITAL: - case CODE_TYPE_REVERSE_DIGITAL: - BK4819_SetCDCSSCodeWord(DCS_GetGolayCodeWord(g_current_vfo->p_tx->code_type, g_current_vfo->p_tx->code)); - break; + BK4819_ExitSubAu(); + } + else + { + switch (g_current_vfo->p_tx->code_type) + { + default: + case CODE_TYPE_NONE: + BK4819_ExitSubAu(); + break; + + case CODE_TYPE_CONTINUOUS_TONE: + BK4819_SetCTCSSFrequency(CTCSS_OPTIONS[g_current_vfo->p_tx->code]); + break; + + case CODE_TYPE_DIGITAL: + case CODE_TYPE_REVERSE_DIGITAL: + BK4819_SetCDCSSCodeWord(DCS_GetGolayCodeWord(g_current_vfo->p_tx->code_type, g_current_vfo->p_tx->code)); + break; + } } } @@ -1089,7 +1087,7 @@ void RADIO_SendEndOfTransmission(void) BK4819_PlayRoger(); else if (g_eeprom.roger_mode == ROGER_MODE_MDC) - BK4819_PlayRogerMDC(); + BK4819_PlayRogerMDC1200(); if (g_current_vfo->dtmf_ptt_id_tx_mode == PTT_ID_APOLLO) BK4819_PlaySingleTone(APOLLO_TONE2_HZ, APOLLO_TONE_MS, 28, g_eeprom.dtmf_side_tone); diff --git a/radio.h b/radio.h index b5d5cd6..a66dd42 100644 --- a/radio.h +++ b/radio.h @@ -137,7 +137,7 @@ void RADIO_SetupRegisters(bool bSwitchToFunction0); #ifdef ENABLE_NOAA void RADIO_ConfigureNOAA(void); #endif -void RADIO_SetTxParameters(void); +void RADIO_enableTX(const bool fsk_tx); void RADIO_Setg_vfo_state(vfo_state_t State); void RADIO_PrepareTX(void); diff --git a/ui/aircopy.c b/ui/aircopy.c index 1d966c7..1c4d52c 100644 --- a/ui/aircopy.c +++ b/ui/aircopy.c @@ -24,11 +24,16 @@ #include "ui/aircopy.h" #include "ui/helper.h" #include "ui/inputbox.h" +#include "ui/ui.h" void UI_DisplayAircopy(void) { + const uint8_t errors = g_aircopy_rx_errors_fsk_crc + g_aircopy_rx_errors_magic + g_aircopy_rx_errors_crc; char str[17]; + if (g_screen_to_display != DISPLAY_AIRCOPY) + return; + // clear screen/display buffer memset(g_frame_buffer, 0, sizeof(g_frame_buffer)); @@ -78,7 +83,7 @@ void UI_DisplayAircopy(void) break; case AIRCOPY_RX_COMPLETE: - if (g_aircopy_rx_errors == 0) + if (errors == 0) { UI_PrintString("RX COMPLETE", 0, LCD_WIDTH - 1, 5, 8); break; @@ -86,8 +91,17 @@ void UI_DisplayAircopy(void) case AIRCOPY_RX: sprintf(str, "RX %u.%u", g_aircopy_block_number, g_aircopy_block_max); - if (g_aircopy_rx_errors > 0) - sprintf(str + strlen(str), " E %u", g_aircopy_rx_errors); + if (errors > 0) + { + #if 1 + sprintf(str + strlen(str), " E %u", errors); + #else + sprintf(str + strlen(str), " E %u %u %u", + g_aircopy_rx_errors_fsk_crc, + g_aircopy_rx_errors_magic, + g_aircopy_rx_errors_crc); + #endif + } UI_PrintString(str, 0, LCD_WIDTH - 1, 5, 7); break;