From 2e0b431fd4747773e5fbd7573e4e076e1a74188f Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Sat, 28 Oct 2023 08:46:27 +0100 Subject: [PATCH] updated MDC1200 --- Makefile | 10 +- am_fix.c | 3 + app/aircopy.c | 22 +++-- app/app.c | 154 ++++++------------------------ app/main.c | 16 +--- driver/bk4819.c | 134 ++++++++++++++------------- firmware.bin | Bin 58560 -> 58160 bytes firmware.packed.bin | Bin 58578 -> 58178 bytes functions.c | 6 +- main.c | 6 +- mdc1200.c | 221 ++++++++++++++++++++++++++++++++++++-------- mdc1200.h | 23 +++-- radio.c | 29 +++--- radio.h | 2 +- ui/main.c | 58 +++++++----- ui/main.h | 5 +- 16 files changed, 381 insertions(+), 308 deletions(-) diff --git a/Makefile b/Makefile index b55843e..439a648 100644 --- a/Makefile +++ b/Makefile @@ -12,16 +12,16 @@ ENABLE_OVERLAY := 0 ENABLE_LTO := 1 # UART Programming 2.9 kB ENABLE_UART := 1 -ENABLE_UART_DEBUG := 0 +ENABLE_UART_DEBUG := 1 # AirCopy 2.5 kB -ENABLE_AIRCOPY := 0 +ENABLE_AIRCOPY := 1 ENABLE_AIRCOPY_REMEMBER_FREQ := 1 ENABLE_AIRCOPY_RX_REBOOT := 0 # FM Radio 4.2 kB ENABLE_FMRADIO_76_90 := 0 ENABLE_FMRADIO_68_108 := 0 ENABLE_FMRADIO_76_108 := 0 -ENABLE_FMRADIO_875_108 := 1 +ENABLE_FMRADIO_875_108 := 0 # NOAA 1.2 kB ENABLE_NOAA := 0 # Voice 1.7 kB @@ -33,7 +33,7 @@ ENABLE_REDUCE_LOW_MID_TX_POWER := 1 # Tx Alarm 0.6 kB ENABLE_ALARM := 0 ENABLE_TX1750 := 0 -# MDC1200 0.892 kB +# MDC1200 2.8 kB ENABLE_MDC1200 := 1 ENABLE_PWRON_PASSWORD := 0 ENABLE_RESET_AES_KEY := 1 @@ -66,7 +66,7 @@ ENABLE_SQ_OPEN_WITH_UP_DN_BUTTS := 1 ENABLE_FASTER_CHANNEL_SCAN := 1 ENABLE_COPY_CHAN_TO_VFO_TO_CHAN := 1 # Rx Signal Bar 0.4 kB -ENABLE_RX_SIGNAL_BAR := 1 +ENABLE_RX_SIGNAL_BAR := 0 # Tx Timeout Bar 0.2 kB ENABLE_TX_TIMEOUT_BAR := 0 # Tx Audio Bar 0.3 kB diff --git a/am_fix.c b/am_fix.c index 2683e75..e08f332 100644 --- a/am_fix.c +++ b/am_fix.c @@ -449,6 +449,9 @@ void AM_fix_print_data(const int vfo, char *s) { + if (g_screen_to_display != DISPLAY_MAIN || g_dtmf_call_state != DTMF_CALL_STATE_NONE) + return; + if (s != NULL && vfo >= 0 && vfo < (int)ARRAY_SIZE(gain_table_index)) { const unsigned int index = gain_table_index[vfo]; diff --git a/app/aircopy.c b/app/aircopy.c index cf5e5e2..91cf0b6 100644 --- a/app/aircopy.c +++ b/app/aircopy.c @@ -393,27 +393,29 @@ void AIRCOPY_process_fsk_rx_10ms(void) return; // no flagged interrupts // read the interrupt flags - BK4819_WriteRegister(0x02, 0); // clear them + BK4819_WriteRegister(0x02, 0); // clear them interrupt_bits = BK4819_ReadRegister(0x02); if (interrupt_bits & BK4819_REG_02_FSK_RX_SYNC) - BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, true); // LED on + BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, true); // LED on if (interrupt_bits & BK4819_REG_02_FSK_RX_FINISHED) - BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, false); // LED off + BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, false); // LED off if ((interrupt_bits & BK4819_REG_02_FSK_FIFO_ALMOST_FULL) == 0) return; - BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, true); // LED on + BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, true); // LED on - // fetch RX'ed data - for (i = 0; i < 4; i++) - { - const uint16_t word = BK4819_ReadRegister(0x5F); + { // fetch RX'ed data + const unsigned int count = BK4819_ReadRegister(0x5E) & (7u << 0); // almost full threshold + for (i = 0; i < count; i++) + { + const uint16_t word = BK4819_ReadRegister(0x5F); - if (g_fsk_write_index < ARRAY_SIZE(g_fsk_buffer)) - g_fsk_buffer[g_fsk_write_index++] = word; + if (g_fsk_write_index < ARRAY_SIZE(g_fsk_buffer)) + g_fsk_buffer[g_fsk_write_index++] = word; + } } // REG_0B read only diff --git a/app/app.c b/app/app.c index ab3a951..9ae7825 100644 --- a/app/app.c +++ b/app/app.c @@ -152,10 +152,19 @@ static void APP_check_for_new_receive(void) g_rx_reception_mode = RX_MODE_DETECTED; done: - if (g_current_function != FUNCTION_NEW_RECEIVE) +// if (g_current_function != FUNCTION_NEW_RECEIVE) { FUNCTION_Select(FUNCTION_NEW_RECEIVE); + #ifdef ENABLE_MDC1200 + { // reset the FSK receiver + //const uint16_t fsk_reg59 = BK4819_ReadRegister(0x59) & ~((1u << 15) | (1u << 14) | (1u << 12) | (1u << 11)); + // BK4819_enable_mdc1200_rx(true); + //BK4819_WriteRegister(0x59, (1u << 15) | (1u << 14) | fsk_reg59); + //BK4819_WriteRegister(0x59, (1u << 12) | fsk_reg59); + } + #endif + APP_update_rssi(g_eeprom.rx_vfo); g_update_rssi = true; } @@ -672,7 +681,7 @@ void APP_stop_scan(void) g_rx_vfo->freq_config_rx.frequency = g_scan_restore_frequency; - RADIO_ApplyOffset(g_rx_vfo); + RADIO_ApplyOffset(g_rx_vfo, false); RADIO_ConfigureSquelchAndOutputPower(g_rx_vfo); RADIO_setup_registers(true); } @@ -684,7 +693,7 @@ void APP_stop_scan(void) if (g_rx_vfo->channel_save > USER_CHANNEL_LAST) { // frequency mode - RADIO_ApplyOffset(g_rx_vfo); + RADIO_ApplyOffset(g_rx_vfo, false); RADIO_ConfigureSquelchAndOutputPower(g_rx_vfo); SETTINGS_save_channel(g_rx_vfo->channel_save, g_eeprom.rx_vfo, g_rx_vfo, 1); return; @@ -720,7 +729,7 @@ static void APP_next_freq(void) if (new_band != old_band) { // original slow method - RADIO_ApplyOffset(g_rx_vfo); + RADIO_ApplyOffset(g_rx_vfo, false); RADIO_ConfigureSquelchAndOutputPower(g_rx_vfo); RADIO_setup_registers(true); @@ -865,7 +874,7 @@ static void APP_next_channel(void) static void APP_toggle_dual_watch_vfo(void) { #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) - UART_SendText("dual watch\r\n"); + UART_SendText("dual wot\r\n"); #endif #ifdef ENABLE_NOAA @@ -907,7 +916,7 @@ void APP_process_radio_interrupts(void) { // BK chip interrupt request uint16_t interrupt_bits; - + BK4819_WriteRegister(0x02, 0); interrupt_bits = BK4819_ReadRegister(0x02); @@ -1008,7 +1017,7 @@ void APP_process_radio_interrupts(void) BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, false); // LED off #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) - UART_printf("squelch closed\r\n"); + UART_SendText("sq close\r\n"); #endif } @@ -1017,130 +1026,12 @@ void APP_process_radio_interrupts(void) g_squelch_open = true; #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) - UART_printf("squelch opened\r\n"); + UART_SendText("sq open\r\n"); #endif } #ifdef ENABLE_MDC1200 - { - const uint16_t rx_sync_flags = BK4819_ReadRegister(0x0B); - const uint16_t fsk_reg59 = BK4819_ReadRegister(0x59) & ~((1u << 15) | (1u << 14) | (1u << 12) | (1u << 11)); - - const bool rx_sync_neg = (rx_sync_flags & (1u << 7)) ? true : false; - const bool rx_sync_pos = (rx_sync_flags & (1u << 6)) ? true : false; - const bool rx_sync = (interrupt_bits & BK4819_REG_02_FSK_RX_SYNC) ? true : false; - const bool rx_finished = (interrupt_bits & BK4819_REG_02_FSK_RX_FINISHED) ? true : false; - const bool rx_fifo_almost_full = (interrupt_bits & BK4819_REG_02_FSK_FIFO_ALMOST_FULL) ? true : false; - - - BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, true); // LED on - - if (rx_sync_neg) - { // RX sync neg found - #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) - UART_printf("fsk rx sync neg\r\n"); - #endif - } - - if (rx_sync_pos) - { // RX sync pos found - #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) - UART_printf("fsk rx sync pos\r\n"); - #endif - } - - if (rx_sync) - { - #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) - UART_printf("fsk rx sync\r\n"); - #endif - } - - if (rx_fifo_almost_full) - { - uint8_t buffer[sizeof(mdc1200_sync_suc_xor) + 14]; - unsigned int i; - uint8_t op; - uint8_t arg; - uint16_t unit_id; - - const unsigned int sync_size = (fsk_reg59 & (1u << 3)) ? 4 : 2; -// const unsigned int size = 1 + ((BK4819_ReadRegister(0x5D) >> 8) & 0xffff); - const unsigned int size = sizeof(buffer) - sync_size; - - #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) - UART_printf("fsk rx almost full\r\n"); - #endif - - // 40 C4 B0 32 BA F9 33 18 35 08 83 F6 0C C9 - // 0100000011000100101100000011001010111010111110010011001100011000001101010000100010000011111101100000110011001001 - - // 0100000011000100101100000011001010111010111110010011001100011000001101010000100010000011111101100000000011110101 - // 1011111100111011010011111100110101000101000001101100110011100111110010101111011101111100000010011111111100001010 - - // BF 3B 4F CD 45 06 CC E7 CA F7 7C 09 FF 0A - - { // fetch RX'ed data .. 16-bits at a time - - unsigned int k = 0; - - // precede the data with the missing sync pattern - for (i = 0; i < sync_size; i++) - buffer[k++] = mdc1200_sync_suc_xor[i] ^ (rx_sync_neg ? 0x00 : 0xFF); - - for (i = 0; i < (size / 2); i++) - { - const uint16_t word = BK4819_ReadRegister(0x5F); - buffer[k++] = (word >> 0) & 0xff; - buffer[k++] = (word >> 8) & 0xff; - } - } - - // clear FIFO's then enable RX - BK4819_WriteRegister(0x59, (1u << 15) | (1u << 14) | fsk_reg59); - BK4819_WriteRegister(0x59, (1u << 12) | fsk_reg59); - - #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) - UART_SendText("fsk rx "); - for (i = 0; i < sizeof(buffer); i++) - UART_printf(" %02X", buffer[i]); - UART_SendText("\r\n"); - #endif - - if (!g_squelch_open) - BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, false); // LED off - - if (MDC1200_process_rx( - buffer, - sizeof(buffer), -// (sync_flags & (1u << 7)) ? true : false, // true if the sync pattern is bit inverted - &op, - &arg, - &unit_id)) - { - g_beep_to_play = BEEP_880HZ_60MS_TRIPLE_BEEP; - - // TODO: display the packet - - - #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) - UART_printf("MDC1200 op %02X arg %02X id %04X\r\n", op, arg, unit_id); - #endif - - - } - } - - if (rx_finished) - { - #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) - UART_printf("fsk rx finished\r\n"); - #endif - - BK4819_WriteRegister(0x59, (1u << 15) | (1u << 14) | fsk_reg59); - BK4819_WriteRegister(0x59, (1u << 12) | fsk_reg59); - } - } + MDC1200_process_rx(interrupt_bits); #endif } } @@ -2234,6 +2125,13 @@ void APP_time_slice_500ms(void) } } + #ifdef ENABLE_MDC1200 + if (mdc1200_rx_ready_tick_500ms > 0) + if (--mdc1200_rx_ready_tick_500ms == 0) + if (g_center_line == CENTER_LINE_MDC1200) + g_center_line = CENTER_LINE_NONE; + #endif + if (g_dtmf_rx_live_timeout > 0) { #ifdef ENABLE_RX_SIGNAL_BAR @@ -2588,7 +2486,7 @@ void APP_channel_next(const bool remember_current, const scan_state_dir_t scan_d } #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) - UART_printf("APP_channel_next %u\r\n", g_scan_next_channel); +// UART_printf("APP_channel_next %u\r\n", g_scan_next_channel); #endif if (g_scan_next_channel <= USER_CHANNEL_LAST) diff --git a/app/main.c b/app/main.c index 0999468..183208e 100644 --- a/app/main.c +++ b/app/main.c @@ -128,7 +128,7 @@ void toggle_chan_scanlist(void) g_eeprom.tx_vfo = vfo; RADIO_select_vfos(); - RADIO_ApplyOffset(g_tx_vfo); + RADIO_ApplyOffset(g_tx_vfo, false); RADIO_ConfigureSquelchAndOutputPower(g_tx_vfo); RADIO_setup_registers(true); @@ -844,18 +844,8 @@ void MAIN_Key_UP_DOWN(bool key_pressed, bool key_held, scan_state_dir_t Directio g_tx_vfo->freq_in_channel = BOARD_find_channel(g_tx_vfo->freq_config_rx.frequency); SETTINGS_save_channel(g_tx_vfo->channel_save, g_eeprom.tx_vfo, g_tx_vfo, 1); - - RADIO_ApplyOffset(g_tx_vfo); - if (!g_tx_vfo->frequency_reverse) - { - g_tx_vfo->p_rx = &g_tx_vfo->freq_config_rx; - g_tx_vfo->p_tx = &g_tx_vfo->freq_config_tx; - } - else - { - g_tx_vfo->p_rx = &g_tx_vfo->freq_config_tx; - g_tx_vfo->p_tx = &g_tx_vfo->freq_config_rx; - } + + RADIO_ApplyOffset(g_tx_vfo, true); #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) // UART_printf("save chan\r\n"); diff --git a/driver/bk4819.c b/driver/bk4819.c index 62189dd..9daf65c 100644 --- a/driver/bk4819.c +++ b/driver/bk4819.c @@ -292,10 +292,10 @@ void BK4819_DisableAGC(void) // <7:5> LNA Gain // 7 = 0dB // 6 = -2dB - // 5 = -4dB + // 5 = -4dB <<< // 4 = -6dB // 3 = -9dB - // 2 = -14dB <<< + // 2 = -14dB // 1 = -19dB // 0 = -24dB // @@ -321,61 +321,63 @@ void BK4819_DisableAGC(void) BK4819_WriteRegister(0x10, 0x007A); // 000000 00 011 11 010 BK4819_WriteRegister(0x14, 0x0019); // 000000 00 000 11 001 - // undocumented ? + // ?? BK4819_WriteRegister(0x49, 0x2A38); BK4819_WriteRegister(0x7B, 0x8420); } -void BK4819_EnableAGC(void) -{ - // TODO: See if this attenuates overloading - // signals as well as boosting weak ones - // - // REG_7E - // - // <15> 0 AGC Fix Mode. - // 1=Fix; 0=Auto. - // - // <14:12> 0b011 AGC Fix Index. - // 011=Max, then 010,001,000,111,110,101,100(min). - // - // <5:3> 0b101 DC Filter Band Width for Tx (MIC In). - // 000=Bypass DC filter; - // - // <2:0> 0b110 DC Filter Band Width for Rx (IF In). - // 000=Bypass DC filter; - - BK4819_WriteRegister(0x7E, - (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) - - // TBR: fagci has this listed as two values, agc_rssi and lna_peak_rssi - // This is why AGC appeared to do nothing as-is for Rx - // - // REG_62 - // - // <15:8> 0xFF AGC RSSI - // - // <7:0> 0xFF LNA Peak RSSI - // - // TBR: Using S9+30 (173) and S9 (143) as suggested values - BK4819_WriteRegister(0x62, (173u << 8) | (143u << 0)); - - // AGC auto-adjusts the following LNA values, no need to set them ourselves - //BK4819_WriteRegister(0x13, (3u << 8) | (5u << 5) | (3u << 3) | (6u << 0)); // 000000 11 101 11 110 - //BK4819_WriteRegister(0x12, 0x037B); // 000000 11 011 11 011 - //BK4819_WriteRegister(0x11, 0x027B); // 000000 10 011 11 011 - //BK4819_WriteRegister(0x10, 0x007A); // 000000 00 011 11 010 - //BK4819_WriteRegister(0x14, 0x0019); // 000000 00 000 11 001 - - BK4819_WriteRegister(0x49, 0x2A38); - BK4819_WriteRegister(0x7B, 0x8420); - - for (unsigned int i = 0; i < 8; i++) - BK4819_WriteRegister(0x06, ((i & 7u) << 13) | (0x4A << 7) | (0x36 << 0)); -} +#ifndef ENABLE_AM_FIX + void BK4819_EnableAGC(void) + { + // TODO: See if this attenuates overloading + // signals as well as boosting weak ones + // + // REG_7E + // + // <15> 0 AGC Fix Mode. + // 1=Fix; 0=Auto. + // + // <14:12> 0b011 AGC Fix Index. + // 011=Max, then 010,001,000,111,110,101,100(min). + // + // <5:3> 0b101 DC Filter Band Width for Tx (MIC In). + // 000=Bypass DC filter; + // + // <2:0> 0b110 DC Filter Band Width for Rx (IF In). + // 000=Bypass DC filter; + + BK4819_WriteRegister(0x7E, + (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) + + // TBR: fagci has this listed as two values, agc_rssi and lna_peak_rssi + // This is why AGC appeared to do nothing as-is for Rx + // + // REG_62 + // + // <15:8> 0xFF AGC RSSI + // + // <7:0> 0xFF LNA Peak RSSI + // + // TBR: Using S9+30 (173) and S9 (143) as suggested values + BK4819_WriteRegister(0x62, (173u << 8) | (143u << 0)); + + // AGC auto-adjusts the following LNA values, no need to set them ourselves + //BK4819_WriteRegister(0x13, (3u << 8) | (5u << 5) | (3u << 3) | (6u << 0)); // 000000 11 101 11 110 + //BK4819_WriteRegister(0x12, 0x037B); // 000000 11 011 11 011 + //BK4819_WriteRegister(0x11, 0x027B); // 000000 10 011 11 011 + //BK4819_WriteRegister(0x10, 0x007A); // 000000 00 011 11 010 + //BK4819_WriteRegister(0x14, 0x0019); // 000000 00 000 11 001 + + BK4819_WriteRegister(0x49, 0x2A38); + BK4819_WriteRegister(0x7B, 0x8420); + + for (unsigned int i = 0; i < 8; i++) + BK4819_WriteRegister(0x06, ((i & 7u) << 13) | (0x4A << 7) | (0x36 << 0)); + } +#endif void BK4819_set_GPIO_pin(bk4819_gpio_pin_t Pin, bool bSet) { @@ -1939,6 +1941,9 @@ void BK4819_reset_fsk(void) BK4819_WriteRegister(0x02, 0); // clear interrupt flags + // set the almost full threshold + BK4819_WriteRegister(0x5E, (64u << 3) | (1u << 0)); // 0 ~ 127, 0 ~ 7 + // set the packet size BK4819_WriteRegister(0x5D, ((packet_size - 1) << 8)); @@ -2141,7 +2146,7 @@ void BK4819_reset_fsk(void) (3u << 8) | // 0 FSK RX gain // 0 ~ 3 // - (3u << 6) | // 0 ??? + (0u << 6) | // 0 ??? // 0 ~ 3 // (0u << 4) | // 0 FSK preamble type selection @@ -2177,11 +2182,16 @@ void BK4819_reset_fsk(void) BK4819_WriteRegister(0x5B, ((uint16_t)mdc1200_sync_suc_xor[2] << 8) | (mdc1200_sync_suc_xor[3] << 0)); // disable CRC - BK4819_WriteRegister(0x5C, 0x5625); + BK4819_WriteRegister(0x5C, 0x5625); // 010101100 0 100101 +// BK4819_WriteRegister(0x5C, 0xAA30); // 101010100 0 110000 - { // packet size .. 14 bytes - size of a single mdc1200 packet - uint16_t size = sizeof(mdc1200_sync_suc_xor) + 14; + // set the almost full threshold + BK4819_WriteRegister(0x5E, (64u << 3) | (1u << 0)); // 0 ~ 127, 0 ~ 7 + + { // packet size .. sync + 14 bytes - size of a single mdc1200 packet + uint16_t size = sizeof(mdc1200_sync_suc_xor) + (MDC1200_FEC_K * 2); size -= (fsk_reg59 & (1u << 3)) ? 4 : 2; + size = ((size + 1) / 2) * 2; // round up to even, else FSK RX doesn't work BK4819_WriteRegister(0x5D, ((size - 1) << 8)); } @@ -2250,7 +2260,7 @@ void BK4819_reset_fsk(void) const uint16_t tx_dev = BK4819_ReadRegister(0x40); // 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) | (1000 << 0)); // reduce the deviation a little // REG_2B 0 // @@ -2294,7 +2304,7 @@ void BK4819_reset_fsk(void) (1u << 1) | // enable TX DSP (0u << 0)); // disable RX DSP - SYSTEM_DelayMs(20); + SYSTEM_DelayMs(10); // ******************************************* @@ -2464,8 +2474,8 @@ void BK4819_reset_fsk(void) // // disable CRC // - // BK4819_WriteRegister(0x5C, 0xAA30); // 101010100 0 110000 - BK4819_WriteRegister(0x5C, 0); // setting to '0' doesn't make any difference ! +// BK4819_WriteRegister(0x5C, 0x5625); // 010101100 0 100101 + BK4819_WriteRegister(0x5C, 0xAA30); // 101010100 0 110000 { // load the entire packet data into the TX FIFO buffer unsigned int i; @@ -2477,7 +2487,7 @@ void BK4819_reset_fsk(void) // enable tx interrupt BK4819_WriteRegister(0x3F, BK4819_REG_3F_FSK_TX_FINISHED); - // enable TX + // enable FSK TX BK4819_WriteRegister(0x59, (1u << 11) | fsk_reg59); { // packet time is .. diff --git a/firmware.bin b/firmware.bin index eeae636da5d622c56fe15eb07b0d30ace3bfee24..1ea8d84555a6071572a17c56974cca80c7c11bd6 100644 GIT binary patch delta 42686 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 z z7rT<<21ZwDLu_i*%=lSzeCK1D-qH|~;JgS}S?8@5e4UcRjpIdlt4i6e8mDKI>$WkB z--x`dOj=)tlM3Fw8~{Ed&;o<^_+HN&^YUePv0J=oJl;0JC^Yg-aBz#eDlrkxiasX= z`lhy~nJWQrKI?qotnS!MG1r~ZqBkAIN!`<6VM|4NQ;sXFejRDedki4w<~YdtXdL7W zGhaS<$As07@HBw}ZjT1@0gEE#QiM+bB}tJH)J3#pW>o=98-{m{?CYp;qqi6)Erj#0^YbAs}~K=Bd^P)w&q%T;zR3ve+Dd%xxNij!{S=e z=-$3>2&clFuX3}ob1m@I^y~O4te{|6Jt0Td)MY4Zs>A9Fkp$E2sP1p!+v}2)+oc+^ zMtrwEtUiYHWk~;1ctu?$R9T}NHiUO|xrk=qx?ORu7hR1~C9G=Exy4apqCMH}LjZ^> z$rzH%P~@;WC0Zsm;MhOG8&($~r!(3G&`8d8u%b6d6&(A9)l=bi(>yfxNO+BDE}qB3 z8)RN)hv_x1)dM{ZtB1ow^3&H-8saH(c%7*TdH00xFwMrZBOEZVHzm@r+8$nOvLfYP zJS})`f#Wk<;Jd?N^#>8Qw25+f`r=}E0JBI#nEjHl&hY}`Y)O`fadZ&T0hmkla;1t) z3N*l*bb&81UJ|%HnlNU7gHRa`&FGwA(TsSjJ|*P&SAa`HN;2g%C4rE~Ar(I~16zWH z#`M$o@s#g^*QjOzA=6hALXp964u3Gixwtp!gt`f}t-CpE5?pzfMyUy%=!gMpWSw|9 zIzb@<2k0+FxVD;YL>q5_YTmGSh2z=*<{Q=&-O{OrXOZhVY|J{tI!DmaDq#w+t8}@A zn#O!g>!Pvv67+}KP3f4dzl45cUW57Yh1QwIBmP0?2bk9PFs<)~!fFNlu9JWv_wP!S z);1#^u14MkQ7t;QW0XMx%!8Z_?k)_BZDlqKYF`2j*oh>mV7Zs;A6Kx=EB{hysJphm zK95?6|Exl+2C#=~yC5+E>7D_ks|`F6A~T8iX@#k3Pe9IU0-uDm!ji?J>sqG{rpF@+ zeg5+{U10ktJ?WIPS`ONC{q-%!>{%DAIMgVzO>{kaw8>y5Mx!C18M(zlfB1EyCQvat zvz7LkWFj=4ZUnd6LST?ehd088%hC7M2K z111dDpF3j3(#(xnK$a)E)-`958ZpP!ntQ2(6P!qS>Cm-Z*$OGV)hnP5VogQq1pwXj zn5m~ipSOLEVamrx6HO8IbGYqRfG2-}`x1IDnLX2s^KC(2cCBMN#+~3z;-^UT=5Kp> z@r$i7I*pmJ7>{gr_5wS6>rUO-pszspkn3@G)pjm21= z+-QaY0`8RdqYA>;NcW?HnXx8_ z-bcM+OSk-?<)nYObJ%zu?g%~Zdlh3R1gtp=^K?%nR`8&=an)TYkrA6Ku~Zvu4W>be z&>)8Pmd*nld}YUa<@$)d+pmVyzeZLmr7frB8@B!CtE7l{@4gE65nmJD!?(78`0nt0 zR8=IOAIXv^pGm4v-BwZfuAX^Usab4+lbgGw%~_S@nxf1=qn0`8q{0o?)-bD~0PfST zL@V7JGc($nRskW6&yqeqOIfawIGHkb#rP^)NM?O7vK{H0Tnp>0C8TbYqbcSDvSBr& zjVGfz{H~3bH9lZZVovsm{SVv%vAM&HrryUHVnJMTHUyc#{(LkEek8*Ow35D*dE-%G zxMQqQ))?^Sy8F*w+ehFksrO$qX6=7`f40n>pdPJ4^Qo}Q&UxsMpe^52n+?xP4l<&| zTPaO-lOn*WMQL7M(e#{d+Mbh)vzNK#EMP*4QER<6X{xJ8%5#+{z{A8;FV2|xlZVsM z&3}hTK>{FO%9pY3^b`Z3$WsKOiN^)Hl0 zYb`GE0FOzATS6Hut~uN9N8@G^E4Cs=0sSi*&*PXk*#*axSh8~78tfn2VdMPFp){jq zcw-FbIX0ZFe{}#`+cv+HohFPhQTAP%WpbUKZ0;D*d^v$d)}ul%e% z4|xA1-;IjX{Ao)@_R->mz>MhV&J^?J)ojW)1Cz0oesLh*b*)_w^nok=2$dH{^iuBF z2(MFo7Dmdb{)W(wyQx7}yCa%hlU#kY^LKJPJiM#2$kDcHVFgt12BW5l-B4H?OyafD zzynMWZ^elftAH&Nn>w}c=DM3}E&I=GgBP1Gi>LU1#yIlWDsHjK*@q__rpL|XUL?${CdUaB(}&;#B(``^6rdHq z6y#K*T*>*XOlN2LZZm~cM=XKZNTb<|kvM|p>JX$afm`BK#4CeS5&sPOVeRN#!gAji zo1ieZHP%V3pO}V@Y6A~P6OWy~Mi%+3>0+<0AlcVq(Ou>VS5a$A zb8W6PC7RDRWOXMT?6=1;xH?&Pilp*(^7iW$~`sN@mR%Wb*6JO5!YX`F(}^ zX(}A0Hq|5qz7B6%^3UE%a*x=so|uP?gS}I&N&TMk+p^?)=ImM30BU~`DocWo6@ONt z{2D2%y&oVsi$A8UaxSe~v2QsjB+W}_ER$~E`Hyxh<{}5%`0_|hZNP?=oYiF)4-~oX zQ!Hd*+-5c7n7Ib?MY3t-!W^v^*84yPA&Lg9&RI6t+dRkOIw2b?T{hPgYpWLs1n|pE zzAE!vXU4%wxMMP7?@q;Bu*{p}pID&vPbiT5Nw7jJnC$F=Mc#ac3VeYbJa?wkvSdQb zBS(X+TOH3BXE}dp$BFJt&49JGIh!as#6rxZ5OnrPxFxL+a7{v>G1TJF5=u%eWEx%^ z35S~s6z)a(LP&iqh?5rIv_no8MMGzfLzWZ&ls~j8>%zpcbbyWiNv~3 zTMe1#dd*gVpz}YoI3Z9Q zymNNhoJ#UE22v7!3gkPcy}^13d@=esc9uE91&+d34=Th6ou%^;{t;;_c4$40-k9^n zq#*&?E`zAEhdj=QrMt0!5`1p5Tp2^hP^&%+g{Azf4m$LMYNGt08U}476jC0-tI<#r z|A0iMW$#s%`HO4~fx|kW05K_O5?2;Oo%c$>T#RQ&Q z9J-?HMLmBBZLj5U;!zKZ@i-`K*NI>Qlf$mMGuY25-k;%s_Nxc1BqpxiYm)`Z@t=p; z*6Zp0>H+3E98#CUhjo_m9PVwavxoLk^IcK%OGh&I8 zT}U7&Y(%G6N!|6B(<#+xpAV@ohO|GOst7Ox3^0trx)|s3a{R4}J&p{B3u3lF6{`fC zZo@k^?wfoIuwc$`m+4b5yl`l~GJo+6`D~4I>bXlivRwmKJ+CFhQP~(YX?nWgVI5M7 z!z_c*9l}*LTnPfz-(c8`U*B6sj~5<>X?C2NL+YckG`_M0N4uy&0GwiUh1Angy;6ef z7FtZc8LTxNKD}+s@=x%thEjklDsjs{q{@Lvkk15GpLLKx;w%9vQGq%ywlnC6Q8|-1 z&ojzLxN4jxE{R@6{9XJF;_oy3h4IIB2D`v;9!?nSG6QoYbfr_mE;%sc`f?(ks3V1U z^_e7dZTD((9kB?q&*WT=D;3FJp3H|EA1T!Pnoa%#CR|sdE?ScAdJ&gx^1geU>9Y`< zDP~)~*Y3FT01pYsVD^FbL@?#~ab{)kO*HpI5n^f()5YfFse$;Yj6UBPR^Ja&VJY;o z>mCgpR2;U4+2}_4h;T>UwYHOXy?6a$ku1YHUc#A0zBhi`!TYkZ1{-qBn?vJe5@|v- zS&6Ar!z*w=H6Rnq*WM%neyWZYz&=U-^3r0G@1lXPVy*FA@{r<$+W4T7!oRq>6?US* zr?DDj@1oj`7=I1`f``JB6^%8`Cz4X=-8V~|XIqAHnJi<{(AWRak!vT1X1wxUYHr|CORWphyWex9@{B4Z_|#Ad&gVk zJU#**8o7~uw@gZOgAkg zo~cW8vc9af?b?6o?s2Y)6=AEw=qk|HCf$FQ9^;NrBm>YiA~6m3$N3b%}FotAdy zR#XVnC61zCcV0iI^*^RGOM}oPi1%$M>r4W^j@iF+aqntkarr(hy2~HWE8|eN#$VRL zj$lJ-&Bz+C?cW-2hu@W^pW|0RfIg|Ll2$q20Vw@#e^C88788nEUTU1#SYD<%W`!F- z5Z913JveXmQbBAxqA+U$*P!q_$y+Vqh)5ii*8;yEAMZx8*MYRP@zv7#I8mlHEH!NV z0}+M{hEzY?Iz#H_&|OLz(6r>1LyqLexl%>6-&f5fI3H z{NknrWJERgNPc`A{nGb`+9q5M0Yzi`EeZ#Pcbq*W|!#B+1^10PPb3%SH&_C&`%AvAcU=$bJBWv&MPZ zRS1o5KL3)0BlWJAr9x~-c0-APieG?w18+ZTx;L?i_NNw&^TFUjSN|1c3yxb%flq=A zrTkfl28M%=I^k8trp}vIq(M%NZ<0%fItG-1_B`UOj#EJjUMBfycl;7m;CDe}^Zoz_ z%++H35UY{|PQ{wol`HQ7C9R0~CJsmQ(~FY4sptR+9F2WX+AaQleGEs+ByeAh-BBOw z3JL6snLq^ccOx74$Z^V|@jJE~U~a~PurBGiWuf^3MfBtN-m6MM0@N)K(z`Idx0h!N#f_%D-HO**}b>!vfFqjl*Ur2Wjw`G8BR**63jjGF{B=8t0pV7dUD5LWP zFK%+7>&PJtx0ApRqA9{K(5@+7PPl1^iEJijnb>B#jImI53dTe*W2--0M95P49YQW% zB*b6$MJE^d&&c24Py}HKknFs52CyjL1!!(#^h#SZ?~{1AA>Hoib~m``ytj=>{0ax{ zjv3#ES62njo7MpI_^p@nvEDP8Q``O^{cIJ3%6@;H1ChXj=omLXi+XkO>Hr z3H`~SS`ZOhim)jU0+l$|YjjoM9OL;_FK0dvfvZF~EFts$p5F3OjTNW=S?-@6y+Do{ zA6=yHaT(6Z#->Hf*EF=0fN@WbJTARsg!5p({#b(YC@$P{{wJl!VQlm)*8fOthL?9ME9{EH)O8F85qyZwz(68K|;2v<70AqEazUr0LRbUW8` z6%vYgi?8mhYXw0PpKQJQMQ2cjSqq?N`qeY*&sz&{*ty*Sn2J0Hj_@O~V%~+`7guGu zzG%aZ_Tcmu?oKo+yBu4J`nj3 zypROCBCO_r8NXjO0@^loax(%c%E zz~3pYSlo=&6iNELg?PR@YrMCRG+;ZvAE}c#{&Eu$oaGzap3W6r7dv35kFYL~z->T( zsY3bXcHniVV(OGI3EYHFXE0))8=>7$m8SWq;B*S@6ZW&K)wf~2(|3`;8{sipp5S9U zf@S9;NoJdq0*U2q!)?BmW7}`06T2iZ5%&<+gw?ARHCH-o_9i*NUgKp95m6%3jU*Ki zPge0`JJ#>e2R7i|??-L9DD}tiu#CzRzhjaA4zpXkO&=3DR~nR$(J(2Qa(PVs zezv{mJ4`p_<6p&bTN`lOOv1q6UpPxe-`>CM$b>$8R=Uz&jRhltLt(ZAkiX!X`w+&r zNPE0`Ev~2 zn43WZuSOpPnktfoaqYt9y8>^$Z0~D!3$$4tzPZC~NutBC%-vula2+ZpxGIj5$prsy zPz1Z%2O7c+rm`zkNOujlZHHFH$K`1f4%us{(-iQ2zFZ%e7UZ;v z6GV5mk|fM=yWD#mlaywYD7!n{4o7{(ZH}|Y)fAWC$6YU%+evv|#y_>*hn&pkJ;}npB5)WYiOuu(oC|R? z6-?qj$q5#rRpQLGe7NmDD>>m{oUztNy5bsv9Pd;zfIR--zUwfaR$*7gIiUkNw?q43 zcAfjXPW>;JzgOB?#~hg9R@j~aC7dl!1~>%0jLUD9$Sm^~=RGzbrk+jZZ_#tYuS0jJ zupT@5wW|@;6BSz7;n-AvX`DM``}Rzw*5CWtNZ<6Wc2cpbY{kyucB?C*?!z_nP}n96 zALzY$gD^)J(*}io9cBbe0)enoVhk(8YLw&rYSQ4C!c79h*R%d3j5{vvV}0xoo6Pp> zUEJRM^3^dmx?lt}05%#`KZ(V!OMCw|L;~-`x#^{UR*)ia(~gn7vqzg!@iXiWLqgNp_l@BeY?da7Z6Ui{WzZCTKexwvF`pEfXW9;g!T%+P1L#! z;KLd(lN7Z>tnOR@+J(M3+n9;GX2eP;(HBhc%ka$YLX%^P~5QWEVmm<<>UQ-P*<=IfJPAqvoCC(hj6w>_}5MGXoy~ z83Z51QvvGHQN9bRr|7n{wYFKdw{E|`=8XJq=Rv2O2)9=)t_ICT(d0G;Hx?np&YO?A z_ST%~NXAwa+ICCZ;JT{AC4>rFrfZ5zBh)Cwoax#nRj@-~*De1KcfjFJ!~^4%c#p-m zBk_J;X~8aGS2=|CZhNMevrLBv1MzmriVc@V)7=}KjZ1txIP)FOt#gBF(<%?UAhG8?ph8)9lOA{0v%WuH@Fx3 zsAww}+C^MgD}<#$yCdqGQHP?bpanAfrd3VIE=_<*T%YTe^>7y-z|$bo?m=jWS}0$z zVFmWVE?6|P3V>E>3a0yYf!{{C>^yU+FX@o7qYz-yE-B7;!kWZzuVDTFte zvs|;TGcAKMs!osUln6eahhur!6jgsZYJ!%h0V01bgzIJPrX@F#b#Ry_)?@$)^Lb|X zhuQHquq?(W3BJ;B6ImJ00p~Zf4Iiuvsx%l>KSp`0>vbT*0F}X<08RwX$H4DVvNK-t z^<9jikDVeUd|5X?pmS;W;xT+lY;*Wn00dj4B zypB9?M14ENDE|}8$5AJ{i}s*1W7lElUW6WSGWS)UeL%sr!i6t0u-ga+;kS;}2G@(I z&PXM}G^6*#cW{XH6^meFi?AD9+vvuJ>H2pK=>q=9E#x-ba5+XAapm@2(m@W9qvRp- z7Wp;#8Tk$Q1@Vv{;l|4;;-J4HkK-Q9OStRuM>wW_K)mE4`760Z{vqSq%TCJvkCHHn zkvwXnWpobQ0t)F&dJ~<8H$}9HzD^e7TFgp%JK|eO8{IJ#?wmvwP-{ z&_c!WLww6j*ir`DQt5)c6vr*zdV8spOlZK@V(Je9;-@8(3cvLw&Hc1#B1*_@iqMkP z$ywlL48WzKbF$LVX~1^Up(3CFod8C?F=YkrZiHFRJ!3h)@HOnAO2eM7u5K0sN<8Nt zmh&@Z#hy>E3N3#^-k#0F_?;;Z;@2wr@hggdQS!lWdyLtge^CS}d*20F;iVbQhJDvy zzooYb2dhMe~zq7@sloTm@?`hoh){6HliBf@h66s~)BZ?kZGfpU4X>i{UF-)2A zM#!nVlpB=K^t%5RJn>xsp+j+RCW~Z}rOJ!A!_lrhkNX?jl;?1FBijuy;gU|cM}Z=C zDM{F@OvH1daF>#YXP&S@!6y_h6$tB<`QWPWz!J6zw=467RmzX0B-z{|8V~CNZ-u*h zr=y29@mA%8GKDEo19LaXe>tqH2^!HtPQ*{JN6mWyeMTauUIdPRq{ z0(T2{N-L3hhqMZr+ojdW+$P9w3A_g zkUU?4W!9y!u|~dXpIdwT_0uU>u3#gAtF+eS=3r3k0J#Y+Yy4AUbqeEv#4CKngt+OW z;ZE9prH%2Cn2OtJd_i2X!kd{b50_qo}d7HA1ex^i>VmM$!9(*jbK(3G0=c0meQpkPWV zq-;&gmI{&xs6_;UC_;;Zpja%7yk&HJaT#WucN}HLNx*RmjAL3*bWkUwmYbw)^8L>( zIPd#@-|wS5Im6id z4GD+(3HQ*HH9K=1QW(T4JsN%X<~ckhJWah#KzH_OAdJs=Op}rBIZ~ABsReZ3Di8C( zM_si|By+5nUK!;nsOW9khyqF=s7xPVFz9|1B61{D2Ir5>iYZx}f82Ts zlZz4$Q&`|zf!;8wn*qqtiY95+4DXSm>7J8KgzIh6m1S?PZIJ;DlhIK$i@|w4BuJ4Uf;=^) zDF%;-=4I1QHZ28G-%we-{j{u`LR8yUR0qcAp`8-#oWyVGE?A$Pu$zM2cnQgQ^QrSP zfZ_}T1|-qR{W$~fN7uj4{L%fuhHa{pKNCWs3EjsUwF*glXHoJs_b(gMoeEyTUD7Ie zW&TH6x!=-{;kMxK;=ahG5}N*ptJL1+Q)Z=hlI4l>E46gbdb~m6mJ=*=_2j^G;>u$V zk+v}oX`9A`F@4eqPlA5ANpBg(ZPDgpnkDzA;Hkqn=E$&IxnB$OGSW6|Dw9VJN!ng; z7X2L-y;l8e;P5KD8~V2jHY=ZQRb@l4tngx25-mTYh1v(pa)yo1)_$Kv+zI*uN3>;` zX}xwjP+VAK@m+}Gxu7sPG?TAFq@9^EEdN5$H(t8MLtlh^Lg71xkugL@#^H`%hkj86 zHI&`C?e?aq*U zzum}f3@N8D1>fHeha}8gSyB#?RfODryLR}Z5L2Mc{}#zEmHcqkJ*H`j zvpy7=DD$#JWs&NRT@3iLVQ}F+;NDFeJuDV+-X3r2Y&SZOgV!!$SsyuLs>V&FPXY1Mc0;(_;=m zWkkXjqEoIMbbs8O>f8;)G@_%r!f`I&qpgt8%*a*vqB11i4&5B+b|)dFE?~SM zM+!nt)d|XZfNTQA<2tmj=V1xby{@#h$n^0Xi+N{}wmX5q(hITX97!uS%srA;X8NHn z_qQ8W&Qe4hEo!=BtALC1@2W6=C|3)8U>2 zEkfKHq-_9=L|F6Y*Qu#YLkU=c3kt{FmpAL2cfuO6Vff#Cw(N=Xda|ZO)H+Jn*iSur zo2|0neDpJP7J4$KX;IVRrVNZo4JB8b2on@O2}j1SEm>1C&VF-SLkUuDcbbv%u{3hk zermg_0D8fXRW<3iyPN8^Uu_BsZ-v*Ce8ZkXTA*gZu7)sG_ES!H-1eLJy=uSXl$_Hv zox)9ZFurj&ox(4@u`R6Ps5DOQPYB%Hn@LuiJ6%EH+3+O$O{B;qYwdd6zrx%Jfyo_v zEuUzUx`To!@X*E>It1sYMLmBgSJ%$k>=WxYJ}Dx zq}Iv&(-A&`@Va~9JcPTOzGE9oXdRRzBuC-8lVtusLeX-=y;S26uSF*Id*QJNS0lWp zWFvBGC~?~#0B=kRuW^>#e2i9ze#aCus$&OAhMK6`p=r9g1NGqiYm*x_kPv3LwI%b5 zuDjNhOym#SQDFN7wBagDis)O=UrkdMjS+t@pjQa%-Ax&Yp$%(IN!W0;DNPK?y=zM( z+>I8uX$?N4JJunyu>6&lM90&nb^_!w(`-&-OfLP29f@)tVl+rb82TByVQCuC*-B*o z>d2asNPgY+hLTZ0;|T(*Wyr$R?q23dOo#Cd3*Aii4(MCZccAY2A%Jna4&9oP;xfxKH2ian7r^?UBJ>iqnZ*Ft`3~UhIvyGEveC(dSEx~zZkV0qIB>_l{PhR-%QG{YatB4{~-YxU@_fH(pC5?$y zV_=kWV=SX`Wd1hjdPuoZmN@vI6a6DC!{OgA`eQB8@VAQo;T9GAI|rp)jK!KP^FKBy z=UAdfNgRW+QlA_(M%C~318#aIhAtz>1S$bpKxLpxkdN~NZT}FtXl_3*^KTvePyS+g zlH($u<%oyYRhsv0ck=eJ&I_0|UD8s?%jrvcy&kOvc;xT{6|`uziN=CA$oNOUB5+y*&!p!sYZR~4j$%{ z9VSRDiQfwGIm*&sOdcYu$RTF0le_?M3Q8eDn6CjRa-I2JvQ&B$Qt;7|#gfsI&Ctnt z6Ic}2@i$uXEwf!(L#{HrrOV{Y>HrJX9v`sT5S{GY)P;wupVoI zOR@?*cBBaihC!T~GPs6cUz%uJZ@E&#;9WJw`KniY)v2NMm3#x@-vWky`w|-@nC(ky zOuq!kB}eKlU);_`Ly-BOftt@Sk_#WxUu%(IF{5_k!OB5(N57C3TxJ>NQ*!h98cU)r zF1HFt4A4S#U_bKr1Jzuip0cQ5>awl;vl^js(rr{07V^4Z-ms%%v%lz#jb?32?on4Y6()KA9YjHq$2^vNE zCWDPBtZQ0Is+R@?>~#9;1`_!+yj*&2J2`NB6z!Uv7_n(jMzX8DqxeiqvhB{;ueH@i znZKt$gTw&aQs%!K0%!rzqlf{hhSIt^5K!rz9C0fP>wI+jxE+ICEe1Ziz`8$Q-wqb| z6!A~O-3yXphPUBEY^=h69r547zqn@xAul813@GDcLe9bcC5YnoS$YV08~$H|=(27T zZdimkI&GxKsQmtOce8VW^Yp#4_!pyl*$|JIkNP(}v+`OMB0W zu`T@y?lj+t*txk?518ilp5o6Sfac`A^wn#Y_rFqb$N5u3mrZYdb&Nj&|1#A1`LABK z5Z}w0`#Wd+%3K!@r=7kwZfhVDG1H* zLda>65o*}+K0rN(k!|?QhM>ArLLRkfne4y^5e{vHNo6&BtGv^?=ny2)2gLjmT7E+k3ZEABl( z>ahZinPiW=u0Dr-JzRe+LM6gj6On}|5|%1xXYN~%Yni?7!Nd!HYBSuz(% z%7T=qi{SeWwmT%G1aBV@K6KCAsn;!zczdI`B%VdpZp8;Y|7CpXR6fq8=1NVeXar~6 zkMGnt`A{sMV@a}&$i0d65v`p9T6do1z0`jSD?k~S0gef`11_D4w!r@@u@U?|NMGUkpnJ=% zym_O(>_DTXJu2~z`0{njm0Pc%-6q&zNcy?*%MJ^Z_tCA_#M{mWPg`QXJT3Z92Vb=) zzI;{mp9sEUAz!{C`rCr;z^-(e)ZZC#bGxgZ)xlI-;RNO1XofLpNgQzk<$Lulr{x@o z#y%((CLCzswf-6-+Gu|i#wWe$2xa#cOo;_J^G1p&i;VavK;7ji*M0fe-V(MqxsO? zE}8$`fQ(a~S#18cS>}H$K(D_PP|9s z`-3MIGT*x6pPcCYeZLFehBg+45ZB&&-;8#6&%^&J=q1n@5Y_DNf=ji!e+%~mxE{D) zfcAsF0R=$HFJK-G%J?H832;~3YdaIsKC%#|YwJny=fL0LM50HL`3}%jM1(zrRG?Qa zhyT}rhE`6ZFS!ZM|LSgd9Yc?ZY#Z0M)IYx^(a*Czhf_x~sSE5zSN`rn4XrvGjJ zi`F;L8T^XRCE8YpN$Q^yegbuqfqI$|Ua8xSIiJ)&>Ampz(!E`Dv8I4r7b5QFrSZ)h_}y?NXf85K{cnX;8DoK?JM^$wW?5kv+hlr28m`a4_0zbn{Q3Gc@%m@| zbn&ueoHUEMmW{3HRIz6r>Cy7)b6Q&_+WO>v*3rOaPov@~NJMfn6I8hXS_7IW+pm{6 z3f-N1lARaA_p_CX?{K_70Dy-?$fYio(3W10#~_cEWis1A+P$_}+{hh-Ix{X1V;B5G3+ z&(RiX`%xgu9`kkaDUL2=qj1Bl-FsgAMpCZ=`q`LlN8Gkp4Tk#KFKU*QcU-00IFwTV7~|zP>w)B1FDc&-`vH~19R6=b5`8;8C%4l%n2ck=rx z=p$gL14-4e?!6T`B<@T=*b+8yDsWe_J??dq0hBl*^MND5YckK{rA{#mD05;DS=E`a zHM-+e5;>@N0PwE>HCTmx8*Fg&O50zA@s4+^Ma8Yj9pS6T9vMB5V5F;k(HkvCVZy@XdAg#Z zNwzsi(v`kAR@Eux9&0Hqpc&lBUOh+h$-?#ixlf1C*XSz z{tDi;p{RBVc}r}!O#}4N&tmpTxK#0Ll?CG=@IHrhpTlx6>R=~)^Tj*Ph<8+rcWl8# znV|D$b$UX-@xKCc;J|#CJ-Ykl($8wHLc?5f{kTPTM8RouH|9wF@AhwWD&qelJJM!R za4EShh`P`p=eutN9(s&|M=*KMVcek2Cw<_Kt``p;6n>1n1M^Usr(d_<+>33TI}v3& zldbmdg-koqM#YQRqUvT0OUbn^g-_WIfe_?ZPoP~Ktx+A>%`-WXoJ#;e_YN*4`slNI z`!+mI;$g`SOCpj}gTq362u5r&aj(Y`%$Zt_l{E3GhLX!AmmnIn)|E&Bmz1h&BdX4& z+N0I9|9BD>gRtZmYwVW+h5KN8yz=`&k}=*3(9iaG4S=Hqg=Ab|f=y*ew6&p=UE=<{ zeH{9r?SX!5pU9zqLAdvImEft30JC^>8=h(hMufLKPhvOO>DAxk^VJ8op`#c|{fTZa zQr83u(Fmeo6-1d~=*mBIMqH`HH;|<=2K3SG=Baoy=)_3f%$L*43N0M$y`mf%rz6_* zfMu8?84%(1y?U|$^+%yfRFM4B?^&I%Yh7qql$VI{C%S_ioQ(Eo>`(JeLS}6#(kuX8 zpoca04z0S0*VLO?PS-rdJFAyYlAa4G^a@gypN6KQ$0&0p6f=ojiAm2TF%L9oqdS~v z2_dOCoY9XfMD)F3VZtESJA@zgF4%)E7P_blp2_&r(B{f~gy{yvZV=^Hx+*CvM@;ra z@+VyTGl;HSK7~tpn({W~-)@8{FH$KY-JJU;&~_o(BD#0Xhfvza&_#Fd@v+V~`L{53 zU?t~ylYi4P&PGvZrUs`0yrv6{|7^g3rP+B4O9Y`SB=x-kpVYq$t2^4kv4lzz1_etb z4$q}m3PTwVW||C!%Tm8RAXgShmE@Eq$9Kvy$;XnDc;f8PN%7-ldS0gelM`mHlce6a%IO$}xN760HcAHPc;=^1I?&L@4w5`S{@Fvbh z+0#|Gfb*>rhe^h}-NO2|TT(#u9j^tqRYYUeo9hVTFjm?EqP$z_5=d+dTP+zR&jGXA z2;Bjc`riynbcB=pn#FtH2?E=aQ|W2VNeeYSK5jivoVsMkI!sVf@LO(9a!7G_#~KSA zmtP4s@M|n|ViVmh@qZAJ%9T-3WR*qcTV;`e2#BWJ6{N!k!JH)?#Zes{2#fiM+^gzjrnhUMJVZga^;tUA8^m490r}YQ zQ9QKKfP2p9C0s0q!9n34gT>-pi(Gr%C-JvLq-tG$AyFc86hT*FmK1jQN=nbguZ+Ld z<yj+ z?GIQ;ydc)|wx7Qj1W z%@fxlL3=(l7!dLU@tC52hcpxcxvab&gJ+_r2COQDnbuOcA7+o}1~v_bs%pz(Gt3>G@Gi1EY*zSy&g8AKEHX2` z`Id!fn5zdnw@(2Rrg*A&Guo3Hw?4$rM-MX6p)pMdDWL~|oyJL0FC9UoC>#r@_z^i0 zA4{s?#&8k<&Pp&7XUQ}S)`>YQb0z-MkvkZN6c{%RmKe^d%UOfSW09G7#8C7^B%PSE z1+fPs(<;}c71Ex-qnbGdDHv!;O0p+<^LcG+P{`^xKzuFfxGM}s;(Z~Q9v>o!ttm+` z>$*A#f{M4W^v*$j*nsA<7kVwOR?d{o4VW zAuV4tDtC3xb`+#MlEf#Q6CBAf9u5mDf`U*L7}|Gg1fS54sRPk5hJI{1@1u=?g57Mz z^>1$w@*`SU4O-?$Ai6ht9@lB(z)F>{kD<-~3ocy)KHLk5*G)qDaKqyW{~Zr#g6oG? zL+AN}7U@|9_HSh3ca}sXopNrUr8`;TAHbSR-<+*J)!e54vYDiH8A*|&T0it6L zP~YN!k-aN~BO#qMI#IfZ#N&KwB{AYk8F0$8;hF;_mK?anfw|_pI0w3#EymC@GtkVM z;64z@AU>TS6a+c|2xnmgNH{L(a7Kw!BH$1YoS1`K$HQF$R}Xh7+;M>#wg5LL21wdk z@(A0rgeeeUVHZ77@D3exA_&6*F8UZeP!)JERXvlLK_5XLuzjLawlQOzFl%PZ~wEuaK9Zv2F6%iZ{4yD%{SFk>NdHa3(y016vOP&{|w3C-hvE(=901V3Ei>l53;zfFN+2 zh<=uZnKH(>cVVnlZBr`?q25Tl0mj2wqOkN3Rp0Ym{zDaaA(V2OusrIuWs9ke$P;H>bE<<`KKY-Kd^pAd# zui;XbEdop4S6!g&Oj-24t_p=?r0hHsMD&-yiSL|OyAPKg=3gk)TVLQ`uvA&2*APXb zBvCCjMXw-wx6`ULXskKhA^uQ#f;HPVdAi$_Z9RZZuWCY~(fwZE&ttdKw~yB*?6XMx z+Td_K(b=roR&`Q>7tmD>t7!YJH+K z4m1Wd-O6%nY8AHKl_@5LHN&>6LTYmEGG|+*ww>kKMkx+ZmfM!flTC7~(=4|Y80A)l zZAW4YtMR9Mj?oo7Ijt-Durtd)VxTyNLJY zCEz!b9zS%@w2U5j?n;%~=9k`*Yfx~Vd)%vfM(;MgxjU}1U@w@a|EG0c-1TjrNO5$>zGfxW{E!~=q;nB-gKDO z1_}2Ge{$nPWXXIcZ**1&y7KX@m(3P3dnl0_#8(qq1A_1k=wL*mBT(nc6m45z zN)dvx#Q=ktldzgpxmE2tQca!)D+$6I15oEPsNAybAH5h>148n^5}2B8s!Xshu@>5x z)ON*~Pwxt_)h90WsLjDb+tMgKPB2675mu6Ih_eOX$EoBa0m7Xc9|wqTl3JIt80YXc zmDWIUk(nUzHsb}B1lIFS6;RG~6zgZ8cn0XrUF*+rKxQ{>K=`yDIDTGOI;si{_Jv^h zc7^^^S`&M5tQOI&L=zYl@Nw#NsuHmRpDbXzxL#jcNepmQs zfE|BVI30=e-4)J+H5q^Pk_mtDF5(}6h>^;$QgQA}6^b7f%$xM1XBzS>EOPdF?!uBy zlkqPcitN8#E>5muy>d1LK%wTxjCutok6E@hQq02H-M7*he!jG&BC+Mtty1 z$KqBph4H@=>2pc}ArZlg9EkvKbz;y%*Mh@482>qOxvGJ$L-c9kJLQZ>Ca(78SZIQ- z$Yg$8>omw*)B0EH6qvCy{$`xyypPVv{I?~jhRIYux^g-Y z)7>80r8mQs;bHVRR~FZ6ah=ZM=!&NR;h7*hA&bR8O($L@2tNw90`46)mK%PCFc_l; zzlC2T`ptte+=t*B#vc<=r-|!ECmG&Bo*xi0VFXC4R3nDC0ht)mb_~GAS1$T50=a6@ zfI{@Y4gb7>J|PgfE1VBw;UzRjep%iLO*1LPG+h-2Eb8R=upNV%3;}BS2A70oCM08| zlT1kPlGL?H>vm4q{I{*^RyaHOGvx`kKj|`T0b%qYx_2@GkXo|BBzr)}8pyJpAonSv+alDc)H{v1DDiud$srT4W8}bxFoCLo)iS4e6Y;#>yC1iG-bH8duk_{s5szH^br0jeH4sfS z>>*Cl=x`k>FRlM$mc!R6B2y=ulGo}ors~=0^+;SoaX`-ku+BZ-F7v7A&wC5@+Iz7SFldwGmSsk_js>Siq3f zCZHKb6T29v_B6s}fCME0tf91MEAbL-M0hMTy=MtO13;kH#Tt_K z@Oao#_+vfA;$w+7=sN{`N#YsXlc%GKZ@j6(678zslX_+&#eHR1O*ft4QTdyNm-%M! zP8x{v3~33Vg7i>BwF4E;enk|((E@b%s1O{oJxmJw1S4>asXi9*ya+=abXx!yAlF`i z1rJR#(gW=$$d%S!+wY@TAjJE$FHg*nc%Sf5%qK}&g5BjyE{%00m%_r@>4~#{f1AQ; z-SKMdD>21Ouzz)%ZnD;ZjcUFa;^~p#z!(r+&&Ptru=8b%{1Yfg2FjMa+;yN;puU)fHW3EkFdF&OHEXKmt0=qtm_n+N^fO z)q~zcOL>o{`%mvdkCsB}0`tvBXRt7+MoWL2uM>Z1&Bl0QP-icNiQF}U!3L5fjd1^g zR|K|Bnz%RRgnBJy6si%-OoR#K#1s$2{u6%!Lk%H${ZmAl{MK_C)kv%Mb~k@BdRpN^w>T@q z^R%ccr(CS8dFe9?3^L{6a@FBzs-9dl`%J0eL8HBzb zXera9G0DAlo{Fa!6f7aKSp>@&@7W~A>Ama3W;M>+05Oad(u+o(gGIl_ln1IsQ8cDF z+&2UEktHG%!Y%~B^3XXIzU`lm?NKPY+n1F(HTD(agLIy1(H-f1M0AIH7sC>bnwCCP zsuv|04~q}w#b22x#4VzrbS{aHj+Iz-a`RAA^Tm739s{hu=6dIqn=7cGaSE=dHR*I?c;qz33KmdEA`GsZ2-N(Q@|g=8tu^m zHD^H4s!Y%zcQLr54=~|Gmr`q1ri8XIbE8)P&4TCXWgprs%c8|j-w?XdV6xolC+m!Vv8&YNQ;~)&# zqQbby&j?cma@gb<63H1PsZaTX^QGcvv_X}a-Z`MjiQ#*CV?HBhxQxmekA zs(d5aT{N;=c1)T7OcA;9Q;#H1c67S&xulr*8OF?If6J74Ym-J8zgcz>s9>F?R=`pA z_Pk#CQ2fcF=xeToU0pZ=ohaN4>|N*vawZ929XE}fOkn(@`z84=mEY>J$N#dVDC&v} z3pLF05*dG5KL;Ny`F%up65-_j=lK^ZtcE1lb7gf7v~P*V^js<46&up@2A_cc9z`KE_2A*CrWPC$c`qP`h+L? zpTLQyJA0bnI<2?j$wU%sxbzvZ6uNV~R2fdQXzThYw7 zVo104Y$#m_~pV5lhGns@!R0PggT6vve&Fn@38VYSYUtG6zntn;`QnFv}d)l-+Y~btzb_ z-KB5Gd7$K~x~Dy1FEWZ275^}bnzd(CF5dMtj_J+y-ca2j?b-(`WNsPuyVE?AiA%4V z+Rhv=8rN;Y5l$e;&~(^YUhdM@ecx-0xG zFq5dJe0G~mU@!}KA*|48JK}vrAMbuuuRVJMlR%k%HCyNE6ZZ69l3yBj!c~v%eOJFz zuQi@%s)PTreqWPH$CA6kGXt-ScXGV;EWJ;2Zul?iT$z~0-WAMYr=j(fE4%fk>+9PJ zou)M2PW6UzJn~~aX3CUn=qM?NiuWivRF}bBk_K!qW28+-n2w%_aFap!C$jRjP$cp> z!bzaZh(pb?De%YP86JNmLXTF@Lim~TePyv!i(^HBwqufm@t+7jjfw?!Cw3=)?bVT3 zj?Q_X4?cldb56goaZr{57`iEw>^t}suzsWhYJ4rOS9KN#SVtt@+?x3s*dVuC|5q10;;?QmGH z8S^cYUF3aGG!=^SmLR+}I~qt7QEax|c~{s!5GA6e0No{fvKPk*vc@6-$aYkwH7NWh zl!mLctEYQscZK+1mIL#GER8p>)XZwEqkME`VTNvp77{%cxG{YY2e9~^6_U!n`V^vn zOmS3fI>Z`%LM--DUkCi%2`JJYxD90}=RKL6)H6aHsLuAs;$7w0v%M+eI~RI}i!Sjh zZw_LgQFfCy$S5?XpU|-A5{@>oNoY`XIQSam2hr)>{RVjmjr1VM4bmc>Hd;Cbq~nT# zF6G319SlSeo3eDjht3!2_@T!P;gUENyN%gq10;CfD@%8bn54KC%e`xP*UZdf{MtaeUFQIXT++h}i0($0 zcflwO*>BKLBv<_;DijCvDUg^@2?YP<& z*~mNF8b_idc_``V>N>;m1&urn%fxW1y3TNH0W;AR-|T?kp2#cVvr$duqJJlYi@X*Ff18gV@JmAd@QWh)R@7hwv1x=o+d6gkys z#&EUV9PM-ye=&V`x4bPH#~To@qo;zGx79%jDaNhTN4XbTVvb<#$MN>4c9N={v)2)8 zRN1SIvBsxumu-i%OXnyKDcy?pR=d`uY%g!PY>jScwJuK@Ui)fMu6O(-(*0o1T+7^2 zWqXm)Yz*j>`8CFjbl#XrnDJwc&hO%x@k--I@$*%;mD5c|)fY-;)=Jeh(^3_g^t~5Q z1Br_h#!ZxTj|2XfzK3x8iq6f+;nx>kuT7|B@{+eKsnzx7e`fN3x_zl+%pbsilvn*As`n5N8VjOx zLdu48DfTpI59moyD~Qe=?=Qtx!%vrOHZ1!#f+FLG^eU)S<}rk=pJTTcE*10ah5L;U z+q`gJ2esn91MgV>a<{QKE9yKVIuLOM<$Wc5r4$ECmT1q7!^|R{*r%>2QKtVv6 zwj_)(=FCw{k2S{Tvi4WB&ldT;?OJ6)EKWmTQ36dc9bu(Jd#)nBuZF^%GHLF!@1!_m z9j}xq4qytJZy}#_DULGZnK=&_b4|<0g{Uo28;!hiziOlLvz9`mV$Mb*n_g)At}EM= zV%(bY{+#ck&c(~phy3T_B|rO^9LdCy*HjsD&#IF85@w3pqrem}4I?u%{#VBKiY?1_ z7>`!&Sa>>Zt<$K=_$`*1iU}9JICdlL`HJVumJ$Q@?hcyMtUn2dap)BdALP@lZO`n) z!R&%i9omn&7#U9S?JHZ7lt$9Ycyh(Ls36PUmbCPlE6#;es;4f!m}f6^2|`gQ20#W2 z0Is`>&vYc%cbN-Y^BjGGZ!pRi)xIRf8Fh$UJ@AzrB2?E`*o_Mj&cU~>9wu^b$(Mw? zq}#+tN!nJ++9?zL1i{q5S?VWYZN!eE{An=v%SLf9rDI~FsB|d7khF?l4n*`sB?cLN z18{P9qXx46BnLBLn0GZ~GbAI56Jf!%B6?X+s17dS^X*C0o)SGg@g(&;Qf_ts`Mt5u z;gFZmftGlpdKj*Zm!i`g6uuZ(R5`;zCO}PTLWyUd2d z7#{1(K(DaS35|e=&L|o-&n}e$$Y3^>VEN)MRskQElz@{6#$zcyC>$Ob4XFrvd|ybP z)k+cbhF>iZi;k7Fp%9(+dC1M~3WoxT;;WwYHK4Go!yllq7%H)9UxV-?;Y@y_l*p5f zWSHC}Np(t}Z|t?nMEuZ17Izo@bC0{kA__Y}QOBFa{}tUH1L1(vw4??H7x zsE!EnN64L#kj#R=BU~O!^qa~TlXXkfN23y%zo?JaCOi(TeHFRh1$d_He|aNV$QAdl z{669O1m+n>Fi=w*XeYrSx zxiQgrBisi8K1$9V;WO-7`wRRK?LoGOLA0Q>Z`>P_ac*Qs1=~_jE9TXG!utLLVln3e zZ)AVjvpm;|)m7f1t~g`7opY%nK)}lDhXHM89OfmB=mTEs--R0(oFSoaO@`(w@m%sz zJ#X48yyH`#IJWROEG+dd+r8NHV(hZ;kji-++PjsPv&+CI0a&{C2_FaRe{Lc5_g<5V zy{Y{95X8LeoOp+IrBtk&;8`hN7~_#agk=-kHjZ{dE0uzkqP>z#xp%&06|hhXak{J& z_;(B>YYFz{kdjmR=`yihtA6GlDGC#9uRw|!fcJUG5EkC*|4Gn?CFl{Ze>pZ?{+yDN zwmX-qHAZ9z!M(KobNP3}a9Rerx}>v6<-OS@Kho1BbKez4g(xI`nup1^P52&J#1^NzR?0GzMW}umlt)+& zL|KUHl~ESdfn0dtPSE3^CeUvXcOF!Shfo#t=Rnl3l(O!9Hl{31$AAmp{+C(ic6@A5 z<`t}}uP-QYcYXY4hFsWrIm}#W{nH(Z+3B1$D=A4u=FH)^QKM8tCVD$DYkLaxET|21 z64U`AvuERn{?49FP5FL@xDP>>eZ<}5NpQd5neI;V>L=aHYyw+Zw~5W0#^&YZ8Q7e> z>G=iI3#Jh3A73qfcl&BNAVWFkB?O=J>+ zqGxh3OP@y~>Ba2)s(J8?FJ{e^Wk{1z%+8xX7crT|PPW)o3}03;E9M``rk+K}W5T?~ z4dqo2l1T3S$_M8{92m(ds@=4x5@pSUXF)Y`HI&oh;8K27!^-;HDiWC@dXQ!+_2eOD zn&?5y1B>WWka+t1xm9yfw4B1C+LBFpeG-{b!j@H`escM8enc- zP7Z1-uloK^el;mxP+r2ie|7Vya}Ho`OqKH%6L$XGImOheCTwwK#aztF=FcZ{t1S!I zW(SLZzQgMg#TD z^y}WQJLE7_b@SNT=G8-9_FlRFTgIyzXfYbsu3j++k&$!#eia)yv4 TU@}Uw(@m1Er3V-d!;t?2cV0Fq delta 42963 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 T@$M;c&$qJQ$+j^Xh9Un4|E{ja diff --git a/firmware.packed.bin b/firmware.packed.bin index 99314f6a83063c0eed4ae96afb38ad917f7cf57a..3327a264f75d113dcb6df2f4349ae08723ec2766 100644 GIT binary patch literal 58178 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

Am|KLh6giMd^&fU9uu>RAX{q$^^6v3Mx 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�fOJ67HDrQC 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�yS!1 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 W0{FkAzoS*6Y*y(NXQ5z8{{I1-FNbyj diff --git a/functions.c b/functions.c index d8e87c1..7c35ea3 100644 --- a/functions.c +++ b/functions.c @@ -265,12 +265,11 @@ void FUNCTION_Select(function_type_t Function) SYSTEM_DelayMs(2); GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER); + g_speaker_enabled = true; #ifdef ENABLE_ALARM g_alarm_tone_counter_10ms = 0; #endif - - g_speaker_enabled = true; break; } else @@ -280,7 +279,10 @@ void FUNCTION_Select(function_type_t Function) { #ifdef ENABLE_MDC1200 if (g_current_vfo->mdc1200_mode == MDC1200_MODE_BOT || g_current_vfo->mdc1200_mode == MDC1200_MODE_BOTH) + { + SYSTEM_DelayMs(150); BK4819_send_MDC1200(MDC1200_OP_CODE_PTT_ID, 0x80, g_eeprom.mdc1200_id); + } else #endif if (g_current_vfo->dtmf_ptt_id_tx_mode == PTT_ID_APOLLO) diff --git a/main.c b/main.c index a7a8e0d..bbeb06d 100644 --- a/main.c +++ b/main.c @@ -65,9 +65,11 @@ void Main(void) | SYSCON_DEV_CLK_GATE_AES_BITS_ENABLE; SYSTICK_Init(); + #ifdef ENABLE_UART UART_Init(); #endif + BOARD_Init(); #if defined(ENABLE_UART) @@ -91,11 +93,11 @@ void Main(void) BK4819_Init(); #if defined(ENABLE_UART) - UART_printf("bk4819 id %04X rev %04X\r\n", BK4819_ReadRegister(0x00), BK4819_ReadRegister(0x01)); + UART_printf("BK4819 id %04X rev %04X\r\n", BK4819_ReadRegister(0x00), BK4819_ReadRegister(0x01)); #endif #ifdef ENABLE_MDC1200 - mdc1200_init(); + MDC1200_init(); #endif BOARD_ADC_GetBatteryInfo(&g_usb_current_voltage, &g_usb_current); diff --git a/mdc1200.c b/mdc1200.c index 0283908..491e68d 100644 --- a/mdc1200.c +++ b/mdc1200.c @@ -1,6 +1,7 @@ #include +#include "driver/bk4819.h" #include "driver/crc.h" #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) #include "driver/uart.h" @@ -8,8 +9,6 @@ #include "mdc1200.h" #include "misc.h" -#define FEC_K 7 // R=1/2 K=7 convolutional coder - // ********************************************************** // pre-amble and sync pattern @@ -136,7 +135,7 @@ void error_correction(void *data) uint8_t syn; uint8_t *data8 = (uint8_t *)data; - for (i = 0, shift_reg = 0, syn = 0; i < FEC_K; i++) + for (i = 0, shift_reg = 0, syn = 0; i < MDC1200_FEC_K; i++) { const uint8_t bi = data8[i]; int bit_num; @@ -147,7 +146,7 @@ void error_correction(void *data) shift_reg = (shift_reg << 1) | ((bi >> bit_num) & 1u); b = ((shift_reg >> 6) ^ (shift_reg >> 5) ^ (shift_reg >> 2) ^ (shift_reg >> 0)) & 1u; - syn = (syn << 1) | (((b ^ (data8[i + FEC_K] >> bit_num)) & 1u) ? 1u : 0u); + syn = (syn << 1) | (((b ^ (data8[i + MDC1200_FEC_K] >> bit_num)) & 1u) ? 1u : 0u); if (syn & 0x80) k++; if (syn & 0x20) k++; @@ -205,7 +204,7 @@ bool decode_data(void *data) unsigned int i; unsigned int k; unsigned int m; - uint8_t deinterleaved[(FEC_K * 2) * 8]; // temp individual bit storage + uint8_t deinterleaved[(MDC1200_FEC_K * 2) * 8]; // temp individual bit storage // interleave order // 0, 16, 32, 48, 64, 80, 96, @@ -228,7 +227,7 @@ bool decode_data(void *data) // de-interleave the received bits for (i = 0, k = 0; i < 16; i++) { - for (m = 0; m < FEC_K; m++) + for (m = 0; m < MDC1200_FEC_K; m++) { const unsigned int n = (m * 16) + i; deinterleaved[k++] = (data8[n >> 3] >> ((7 - n) & 7u)) & 1u; @@ -236,7 +235,7 @@ bool decode_data(void *data) } // copy the de-interleaved bits back into the data buffer - for (i = 0, m = 0; i < (FEC_K * 2); i++) + for (i = 0, m = 0; i < (MDC1200_FEC_K * 2); i++) { unsigned int k; uint8_t b = 0; @@ -302,7 +301,7 @@ uint8_t * encode_data(void *data) { // add the FEC bits to the end of the data unsigned int i; uint8_t shift_reg = 0; - for (i = 0; i < FEC_K; i++) + for (i = 0; i < MDC1200_FEC_K; i++) { unsigned int bit_num; const uint8_t bi = data8[i]; @@ -312,7 +311,7 @@ uint8_t * encode_data(void *data) shift_reg = (shift_reg << 1) | ((bi >> bit_num) & 1u); bo |= (((shift_reg >> 6) ^ (shift_reg >> 5) ^ (shift_reg >> 2) ^ (shift_reg >> 0)) & 1u) << bit_num; } - data8[FEC_K + i] = bo; + data8[MDC1200_FEC_K + i] = bo; } } @@ -320,7 +319,7 @@ uint8_t * encode_data(void *data) /* #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) { - const unsigned int size = FEC_K * 2; + const unsigned int size = MDC1200_FEC_K * 2; unsigned int i; UART_printf("mdc1200 tx1 %u ", size); for (i = 0; i < size; i++) @@ -333,7 +332,7 @@ uint8_t * encode_data(void *data) unsigned int i; unsigned int k; - uint8_t interleaved[(FEC_K * 2) * 8]; // temp individual bit storage + uint8_t interleaved[(MDC1200_FEC_K * 2) * 8]; // temp individual bit storage // interleave order // 0, 16, 32, 48, 64, 80, 96, @@ -354,7 +353,7 @@ uint8_t * encode_data(void *data) // 15, 31, 47, 63, 79, 95, 111 // bit interleaver - for (i = 0, k = 0; i < (FEC_K * 2); i++) + for (i = 0, k = 0; i < (MDC1200_FEC_K * 2); i++) { unsigned int bit_num; const uint8_t b = data8[i]; @@ -368,7 +367,7 @@ uint8_t * encode_data(void *data) } // copy the interleaved bits back to the data buffer - for (i = 0, k = 0; i < (FEC_K * 2); i++) + for (i = 0, k = 0; i < (MDC1200_FEC_K * 2); i++) { int bit_num; uint8_t b = 0; @@ -379,7 +378,7 @@ uint8_t * encode_data(void *data) } } - return data8 + (FEC_K * 2); + return data8 + (MDC1200_FEC_K * 2); } unsigned int MDC1200_encode_single_packet(void *data, const uint8_t op, const uint8_t arg, const uint16_t unit_id) @@ -483,7 +482,7 @@ void MDC1200_reset_rx(void) memset(&rx, 0, sizeof(rx)); } -bool MDC1200_process_rx( +bool MDC1200_process_rx_data( const void *buffer, const unsigned int size, //const bool inverted, @@ -494,30 +493,30 @@ bool MDC1200_process_rx( const uint8_t *buffer8 = (const uint8_t *)buffer; unsigned int index; - // FB 72 40 99 A7 - // FB 72 40 99 A7 BF 3B 4F CD 45 06 CC D1 CC D1 CC D1 CC 2B - // FB 72 40 99 A7 BA 24 FC F8 43 05 CA D1 CC FF 1B FF 1B 2B + // 04 8D BF 66 58 sync + // FB 72 40 99 A7 inverted sync + // + // 04 8D BF 66 58 40 C4 B0 32 BA F9 33 18 35 08 83 F6 0C 36 .. 80 87 20 23 2C AE 22 10 26 0F 02 A4 08 24 + // 04 8D BF 66 58 45 DB 03 07 BC FA 35 2E 33 0E 83 0E 83 69 .. 86 92 02 05 28 AC 26 34 22 0B 02 0B 02 4E memset(&rx, 0, sizeof(rx)); for (index = 0; index < size; index++) { - unsigned int i; - int bit; - + int bit; const uint8_t rx_byte = buffer8[index]; for (bit = 7; bit >= 0; bit--) { + unsigned int i; + rx.prev_bit = rx.bit; rx.bit = (rx_byte >> bit) & 1u; - rx.xor_bit = (rx.xor_bit ^ rx.bit) & 1u; - if (rx.stage > 0 && rx.inverted_sync) - rx.xor_bit ^= 1u; + rx.xor_bit = (rx.xor_bit ^ rx.bit) & 1u; // toggle our bit if the rx bit is high - rx.shift_reg = (rx.shift_reg << 1) | (rx.xor_bit & 1u); + rx.shift_reg = (rx.shift_reg << 1) | rx.xor_bit; rx.bit_count++; // ********* @@ -527,7 +526,7 @@ bool MDC1200_process_rx( const unsigned int sync_bit_ok_threshold = 32; - if (rx.bit_count >= sync_bit_ok_threshold) + if (rx.bit_count >= 40) { // 40-bit sync pattern uint64_t sync_nor = 0x07092a446fu; // normal @@ -546,16 +545,23 @@ bool MDC1200_process_rx( nor_count = 40 - nor_count; inv_count = 40 - inv_count; + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + // UART_SendText("mdc1200 rx sync pat "); + // for (i = 64; i > 0; i--) + // UART_printf("%u", (uint8_t)((rx.shift_reg >> (i - 1))) & 1u); + // UART_SendText("\r\n"); + #endif + if (nor_count >= sync_bit_ok_threshold || inv_count >= sync_bit_ok_threshold) { // good enough rx.inverted_sync = (inv_count > nor_count) ? true : false; rx.data_index = 0; rx.bit_count = 0; - rx.stage++; + rx.stage = 1; #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) - UART_printf("mdc1200 rx sync %s\r\n", rx.inverted_sync ? "inv" : "nor"); + //UART_printf("mdc1200 rx sync %s\r\n", rx.inverted_sync ? "inv" : "nor"); #endif } } @@ -568,15 +574,13 @@ bool MDC1200_process_rx( rx.bit_count = 0; - // 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)) + if (rx.data_index < (MDC1200_FEC_K * 2)) continue; #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) - UART_SendText("mdc1200 rx "); + UART_SendText("mdc1200 dec "); for (i = 0; i < rx.data_index; i++) UART_printf(" %02X", rx.data[i]); UART_SendText("\r\n"); @@ -585,9 +589,9 @@ bool MDC1200_process_rx( if (!decode_data(rx.data)) { MDC1200_reset_rx(); - + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) - UART_SendText("mdc1200 rx decode error\r\n"); + UART_SendText("mdc1200 dec err\r\n"); #endif continue; @@ -596,10 +600,10 @@ bool MDC1200_process_rx( // extract the info from the packet *op = rx.data[0]; *arg = rx.data[1]; - *unit_id = ((uint16_t)rx.data[3] << 8) | (rx.data[2] << 0); + *unit_id = ((uint16_t)rx.data[2] << 8) | (rx.data[3] << 0); #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) - UART_printf("mdc1200 rx op %02X arg %02X id %04X\r\n", *op, *arg, *unit_id); + //UART_printf("mdc1200 op %02X arg %02X id %04X\r\n", *op, *arg, *unit_id); #endif // reset the detector @@ -614,6 +618,149 @@ bool MDC1200_process_rx( return false; } +uint8_t mdc1200_rx_buffer[sizeof(mdc1200_sync_suc_xor) + (MDC1200_FEC_K * 2)]; +unsigned int mdc1200_rx_buffer_index = 0; + +uint8_t mdc1200_op; +uint8_t mdc1200_arg; +uint16_t mdc1200_unit_id; +uint8_t mdc1200_rx_ready_tick_500ms; + +void MDC1200_process_rx(const uint16_t interrupt_bits) +{ + const uint16_t rx_sync_flags = BK4819_ReadRegister(0x0B); + const uint16_t fsk_reg59 = BK4819_ReadRegister(0x59) & ~((1u << 15) | (1u << 14) | (1u << 12) | (1u << 11)); + + const bool rx_sync = (interrupt_bits & BK4819_REG_02_FSK_RX_SYNC) ? true : false; + const bool rx_sync_neg = (rx_sync_flags & (1u << 7)) ? true : false; + const bool rx_sync_pos = (rx_sync_flags & (1u << 6)) ? true : false; + const bool rx_fifo_almost_full = (interrupt_bits & BK4819_REG_02_FSK_FIFO_ALMOST_FULL) ? true : false; + const bool rx_finished = (interrupt_bits & BK4819_REG_02_FSK_RX_FINISHED) ? true : false; + + const unsigned int sync_size = (fsk_reg59 & (1u << 3)) ? 4 : 2; + + if (rx_sync) + { +// BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, true); // LED on + + //mdc1200_rx_ready = false; + + mdc1200_rx_buffer_index = 0; + + { // precede the data with the missing sync pattern (it's not part of the packet data) + unsigned int i; + memset(mdc1200_rx_buffer, 0, sizeof(mdc1200_rx_buffer)); + for (i = 0; i < sync_size; i++) + mdc1200_rx_buffer[mdc1200_rx_buffer_index++] = mdc1200_sync_suc_xor[i] ^ (rx_sync_neg ? 0xFF : 0x00); + } + + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + UART_SendText("mdc1200 syn"); + #endif + + if (rx_sync_neg) + { // RX sync neg found + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + UART_SendText("-"); + #endif + } + + if (rx_sync_pos) + { // RX sync pos found + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + UART_SendText("+"); + #endif + } + + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + UART_SendText("\r\n"); + #endif + } + + if (rx_fifo_almost_full) + { + unsigned int i; + const unsigned int count = BK4819_ReadRegister(0x5E) & (7u << 0); // almost full threshold + + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + UART_printf("mdc1200 full %2u %2u ", mdc1200_rx_buffer_index, count); + #endif + + // fetch RX'ed data + for (i = 0; i < count; i++) + { + const uint16_t word = BK4819_ReadRegister(0x5F) ^ (rx_sync_neg ? 0xFFFF : 0x0000); + + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + UART_printf(" %04X", word); + #endif + + if (mdc1200_rx_buffer_index < sizeof(mdc1200_rx_buffer)) + mdc1200_rx_buffer[mdc1200_rx_buffer_index++] = (word >> 0) & 0xff; + + if (mdc1200_rx_buffer_index < sizeof(mdc1200_rx_buffer)) + mdc1200_rx_buffer[mdc1200_rx_buffer_index++] = (word >> 8) & 0xff; + } + + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + UART_SendText("\r\n"); + #endif + + if (mdc1200_rx_buffer_index >= sizeof(mdc1200_rx_buffer)) + { + BK4819_WriteRegister(0x59, (1u << 15) | (1u << 14) | fsk_reg59); + BK4819_WriteRegister(0x59, (1u << 12) | fsk_reg59); + + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + { + unsigned int i; + UART_SendText("mdc1200 "); + for (i = 0; i < mdc1200_rx_buffer_index; i++) + UART_printf(" %02X", mdc1200_rx_buffer[i]); + UART_SendText("\r\n"); + } + #endif + +// if (!g_squelch_open) +// BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, false); // LED off + + if (MDC1200_process_rx_data( + mdc1200_rx_buffer, + mdc1200_rx_buffer_index, +// (sync_flags & (1u << 7)) ? true : false, // true if the sync pattern is bit inverted + &mdc1200_op, + &mdc1200_arg, + &mdc1200_unit_id)) + { + mdc1200_rx_ready_tick_500ms = 2 * 6; // 6 seconds + + g_update_display = true; + + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + UART_printf("MDC1200 op %02X arg %02X id %04X\r\n", mdc1200_op, mdc1200_arg, mdc1200_unit_id); + #endif + } + + mdc1200_rx_buffer_index = 0; + } + } + + if (rx_finished) + { + mdc1200_rx_buffer_index = 0; + +// if (!g_squelch_open) +// BK4819_set_GPIO_pin(BK4819_GPIO6_PIN2_GREEN, false); // LED off + + BK4819_WriteRegister(0x59, (1u << 15) | (1u << 14) | fsk_reg59); + BK4819_WriteRegister(0x59, (1u << 12) | fsk_reg59); + + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) + UART_SendText("mdc1200 fin\r\n"); + #endif + } +} + // ********************************************************** /* @@ -625,7 +772,7 @@ void test(void) } */ -void mdc1200_init(void) +void MDC1200_init(void) { memcpy(mdc1200_sync_suc_xor, mdc1200_sync, sizeof(mdc1200_sync)); xor_modulation(mdc1200_sync_suc_xor, sizeof(mdc1200_sync_suc_xor)); diff --git a/mdc1200.h b/mdc1200.h index db44afe..19e82e6 100644 --- a/mdc1200.h +++ b/mdc1200.h @@ -5,6 +5,8 @@ #include #include +#define MDC1200_FEC_K 7 // R=1/2 K=7 convolutional coder + // 0x00 (0x81) emergency alarm // 0x20 (0x00) emergency alarm ack // @@ -90,18 +92,15 @@ typedef enum mdc1200_op_code_e mdc1200_op_code_t; extern const uint8_t mdc1200_sync[5]; extern uint8_t mdc1200_sync_suc_xor[sizeof(mdc1200_sync)]; -unsigned int MDC1200_encode_single_packet(void *data, const uint8_t op, const uint8_t arg, const uint16_t unit_id); +extern uint8_t mdc1200_op; +extern uint8_t mdc1200_arg; +extern uint16_t mdc1200_unit_id; +extern uint8_t mdc1200_rx_ready_tick_500ms; + +unsigned int MDC1200_encode_single_packet(void *data, const uint8_t op, const uint8_t arg, const uint16_t unit_id); //unsigned int MDC1200_encode_double_packet(void *data, const uint8_t op, const uint8_t arg, const uint16_t unit_id, const uint8_t b0, const uint8_t b1, const uint8_t b2, const uint8_t b3); - -void MDC1200_reset_rx(void); -bool MDC1200_process_rx( - const void *buffer, - const unsigned int size, - //const bool inverted, - uint8_t *op, - uint8_t *arg, - uint16_t *unit_id); - -void mdc1200_init(void); +void MDC1200_reset_rx(void); +void MDC1200_process_rx(const uint16_t interrupt_bits); +void MDC1200_init(void); #endif diff --git a/radio.c b/radio.c index 99af858..250fac4 100644 --- a/radio.c +++ b/radio.c @@ -366,24 +366,13 @@ void RADIO_configure_channel(const unsigned int VFO, const unsigned int configur p_vfo->tx_offset_freq = FREQUENCY_floor_to_step(p_vfo->tx_offset_freq + (p_vfo->step_freq / 2), p_vfo->step_freq, 0, p_vfo->tx_offset_freq + p_vfo->step_freq); } - RADIO_ApplyOffset(p_vfo); + RADIO_ApplyOffset(p_vfo, true); // channel name memset(p_vfo->name, 0, sizeof(p_vfo->name)); if (Channel <= USER_CHANNEL_LAST) EEPROM_ReadBuffer(0x0F50 + (Channel * 16), p_vfo->name, 10); // only 10 bytes used - if (!p_vfo->frequency_reverse) - { - p_vfo->p_rx = &p_vfo->freq_config_rx; - p_vfo->p_tx = &p_vfo->freq_config_tx; - } - else - { - p_vfo->p_rx = &p_vfo->freq_config_tx; - p_vfo->p_tx = &p_vfo->freq_config_rx; - } - if (p_vfo->am_mode) { // freq/chan is in AM mode // disable stuff, even though it can all still be used with AM ??? @@ -583,7 +572,7 @@ void RADIO_ConfigureSquelchAndOutputPower(vfo_info_t *p_vfo) // ******************************* } -void RADIO_ApplyOffset(vfo_info_t *p_vfo) +void RADIO_ApplyOffset(vfo_info_t *p_vfo, const bool set_pees) { uint32_t Frequency = p_vfo->freq_config_rx.frequency; @@ -606,6 +595,20 @@ void RADIO_ApplyOffset(vfo_info_t *p_vfo) Frequency = FREQ_BAND_TABLE[ARRAY_SIZE(FREQ_BAND_TABLE) - 1].upper; p_vfo->freq_config_tx.frequency = Frequency; + + if (set_pees) + { + if (!p_vfo->frequency_reverse) + { + p_vfo->p_rx = &p_vfo->freq_config_rx; + p_vfo->p_tx = &p_vfo->freq_config_tx; + } + else + { + p_vfo->p_rx = &p_vfo->freq_config_tx; + p_vfo->p_tx = &p_vfo->freq_config_rx; + } + } } static void RADIO_SelectCurrentVfo(void) diff --git a/radio.h b/radio.h index 91191e4..6c18dcf 100644 --- a/radio.h +++ b/radio.h @@ -147,7 +147,7 @@ uint8_t RADIO_FindNextChannel(uint8_t ChNum, scan_state_dir_t Direction, bool b void RADIO_InitInfo(vfo_info_t *p_vfo, const uint8_t ChannelSave, const uint32_t Frequency); void RADIO_configure_channel(const unsigned int VFO, const unsigned int configure); void RADIO_ConfigureSquelchAndOutputPower(vfo_info_t *p_vfo); -void RADIO_ApplyOffset(vfo_info_t *p_vfo); +void RADIO_ApplyOffset(vfo_info_t *p_vfo, const bool set_pees); void RADIO_select_vfos(void); void RADIO_setup_registers(bool switch_to_function_foreground); #ifdef ENABLE_NOAA diff --git a/ui/main.c b/ui/main.c index d59c0aa..fcc7b68 100644 --- a/ui/main.c +++ b/ui/main.c @@ -14,9 +14,9 @@ * limitations under the License. */ - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" - #pragma GCC diagnostic pop +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" +#pragma GCC diagnostic pop #include #include // abs() @@ -34,6 +34,9 @@ #include "font.h" #include "functions.h" #include "helper/battery.h" +#ifdef ENABLE_MDC1200 + #include "mdc1200.h" +#endif #include "misc.h" #include "radio.h" #include "settings.h" @@ -43,7 +46,7 @@ #include "ui/menu.h" #include "ui/ui.h" -center_line_t center_line = CENTER_LINE_NONE; +center_line_t g_center_line = CENTER_LINE_NONE; // *************************************************************************** @@ -86,7 +89,7 @@ void draw_bar(uint8_t *line, const int len, const int max_width) if (g_current_function != FUNCTION_TRANSMIT || g_screen_to_display != DISPLAY_MAIN) return false; - if (center_line != CENTER_LINE_NONE && center_line != CENTER_LINE_TX_TIMEOUT) + if (g_center_line != CENTER_LINE_NONE && g_center_line != CENTER_LINE_TX_TIMEOUT) return false; if (g_eeprom.tx_timeout_timer == 0) @@ -178,7 +181,7 @@ void UI_drawBars(uint8_t *p, const unsigned int level) if (g_current_function != FUNCTION_TRANSMIT || g_screen_to_display != DISPLAY_MAIN) return false; - if (center_line != CENTER_LINE_NONE && center_line != CENTER_LINE_AUDIO_BAR) + if (g_center_line != CENTER_LINE_NONE && g_center_line != CENTER_LINE_AUDIO_BAR) return false; if (g_dtmf_call_state != DTMF_CALL_STATE_NONE) @@ -304,7 +307,7 @@ void UI_drawBars(uint8_t *p, const unsigned int level) void UI_update_rssi(const int16_t rssi, const int vfo) { #ifdef ENABLE_RX_SIGNAL_BAR - if (center_line == CENTER_LINE_RSSI) + if (g_center_line == CENTER_LINE_RSSI) { // optional larger RSSI dBm, S-point and bar level if (g_current_function == FUNCTION_RECEIVE || g_current_function == FUNCTION_MONITOR) { @@ -434,7 +437,7 @@ void UI_DisplayMain(void) char str[22]; unsigned int vfo_num; - center_line = CENTER_LINE_NONE; + g_center_line = CENTER_LINE_NONE; // #ifdef SINGLE_VFO_CHAN // const bool single_vfo = (g_eeprom.dual_watch == DUAL_WATCH_OFF && g_eeprom.cross_vfo_rx_tx == CROSS_BAND_OFF) ? true : false; @@ -548,7 +551,7 @@ void UI_DisplayMain(void) str[16] = 0; UI_PrintString(str, 2, 0, 2 + (vfo_num * 3), 8); - center_line = CENTER_LINE_IN_USE; + g_center_line = CENTER_LINE_IN_USE; continue; } @@ -665,7 +668,7 @@ void UI_DisplayMain(void) { // user entering a frequency UI_DisplayFrequency(g_input_box, 32, line, true, false); -// center_line = CENTER_LINE_IN_USE; +// g_center_line = CENTER_LINE_IN_USE; } else { @@ -906,7 +909,9 @@ void UI_DisplayMain(void) UI_PrintStringSmall("SCR", LCD_WIDTH + 106, 0, line + 1); } - if (center_line == CENTER_LINE_NONE) + if (g_center_line == CENTER_LINE_NONE && + g_screen_to_display == DISPLAY_MAIN && + g_dtmf_call_state == DTMF_CALL_STATE_NONE) { // we're free to use the middle line const bool rx = (g_current_function == FUNCTION_RECEIVE || @@ -917,7 +922,7 @@ void UI_DisplayMain(void) // show the TX timeout count down if (UI_DisplayTXCountdown(false)) { - center_line = CENTER_LINE_TX_TIMEOUT; + g_center_line = CENTER_LINE_TX_TIMEOUT; } else #endif @@ -926,7 +931,21 @@ void UI_DisplayMain(void) // show the TX audio level if (UI_DisplayAudioBar(false)) { - center_line = CENTER_LINE_AUDIO_BAR; + g_center_line = CENTER_LINE_AUDIO_BAR; + } + else + #endif + + #ifdef ENABLE_MDC1200 + if (mdc1200_rx_ready_tick_500ms > 0) + { + g_center_line = CENTER_LINE_MDC1200; + sprintf(str, "MDC1200 %02X %02X %04X", mdc1200_op, mdc1200_arg, mdc1200_unit_id); + #ifdef ENABLE_SMALL_BOLD + UI_PrintStringSmallBold(str, 2, 0, 3); + #else + UI_PrintStringSmall(str, 2, 0, 3); + #endif } else #endif @@ -935,10 +954,7 @@ void UI_DisplayMain(void) // show the AM-FIX debug data if (rx && g_eeprom.vfo_info[g_eeprom.rx_vfo].am_mode && g_setting_am_fix) { - if (g_screen_to_display != DISPLAY_MAIN || g_dtmf_call_state != DTMF_CALL_STATE_NONE) - return; - - center_line = CENTER_LINE_AM_FIX_DATA; + g_center_line = CENTER_LINE_AM_FIX_DATA; AM_fix_print_data(g_eeprom.rx_vfo, str); UI_PrintStringSmall(str, 2, 0, 3); } @@ -949,7 +965,7 @@ void UI_DisplayMain(void) // show the RX RSSI dBm, S-point and signal strength bar graph if (rx && g_setting_rssi_bar) { - center_line = CENTER_LINE_RSSI; + g_center_line = CENTER_LINE_RSSI; UI_DisplayRSSIBar(g_current_rssi[g_eeprom.rx_vfo], false); } else @@ -966,7 +982,7 @@ void UI_DisplayMain(void) if (g_screen_to_display != DISPLAY_MAIN || g_dtmf_call_state != DTMF_CALL_STATE_NONE) return; - center_line = CENTER_LINE_DTMF_DEC; + g_center_line = CENTER_LINE_DTMF_DEC; strcpy(str, "DTMF "); strcat(str, g_dtmf_rx_live + idx); @@ -981,7 +997,7 @@ void UI_DisplayMain(void) if (g_screen_to_display != DISPLAY_MAIN || g_dtmf_call_state != DTMF_CALL_STATE_NONE) return; - center_line = CENTER_LINE_DTMF_DEC; + g_center_line = CENTER_LINE_DTMF_DEC; strcpy(str, "DTMF "); strcat(str, g_dtmf_rx + idx); @@ -996,7 +1012,7 @@ void UI_DisplayMain(void) if (g_screen_to_display != DISPLAY_MAIN || g_dtmf_call_state != DTMF_CALL_STATE_NONE) return; - center_line = CENTER_LINE_CHARGE_DATA; + g_center_line = CENTER_LINE_CHARGE_DATA; sprintf(str, "Charge %u.%02uV %u%%", g_battery_voltage_average / 100, g_battery_voltage_average % 100, diff --git a/ui/main.h b/ui/main.h index fa22e5b..3ac9ffb 100644 --- a/ui/main.h +++ b/ui/main.h @@ -25,11 +25,12 @@ enum center_line_e { CENTER_LINE_RSSI, CENTER_LINE_AM_FIX_DATA, CENTER_LINE_DTMF_DEC, - CENTER_LINE_CHARGE_DATA + CENTER_LINE_CHARGE_DATA, + CENTER_LINE_MDC1200 }; typedef enum center_line_e center_line_t; -extern center_line_t center_line; +extern center_line_t g_center_line; #ifdef ENABLE_TX_TIMEOUT_BAR bool UI_DisplayTXCountdown(const bool now);