0
mirror of https://github.com/OneOfEleven/uv-k5-firmware-custom.git synced 2025-04-28 06:11:24 +03:00

fix crc in makefile

This commit is contained in:
OneOfEleven 2023-11-06 09:08:09 +00:00
parent f494b8565b
commit 7f07588b22
14 changed files with 72 additions and 69 deletions

View File

@ -147,9 +147,7 @@ ifeq ($(ENABLE_FMRADIO), 1)
OBJS += driver/bk1080.o
endif
OBJS += driver/bk4819.o
ifeq ($(filter $(ENABLE_AIRCOPY) $(ENABLE_UART) $(ENABLE_MDC1200), 1), 1)
OBJS += driver/crc.o
endif
OBJS += driver/crc.o
OBJS += driver/eeprom.o
ifeq ($(ENABLE_OVERLAY),1)
OBJS += driver/flash.o

View File

@ -65,7 +65,7 @@ static void ACTION_FlashLight(void)
case FLASHLIGHT_SOS:
#ifdef ENABLE_FLASH_LIGHT_SOS_TONE
BK4819_StopTones(g_current_function == FUNCTION_TRANSMIT);
BK4819_stop_tones(g_current_function == FUNCTION_TRANSMIT);
#endif
// Fallthrough
@ -104,7 +104,7 @@ void ACTION_Monitor(void)
g_beep_to_play = BEEP_NONE;
if (!g_squelch_open && GPIO_CheckBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER))
BK4819_StopTones(g_current_function == FUNCTION_TRANSMIT);
BK4819_stop_tones(g_current_function == FUNCTION_TRANSMIT);
#ifdef ENABLE_NOAA
// if (g_rx_vfo->channel_save >= NOAA_CHANNEL_FIRST && g_noaa_mode)

View File

@ -1562,7 +1562,7 @@ void APP_process_flash_light_10ms(void)
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_FLASHLIGHT);
#ifdef ENABLE_FLASH_LIGHT_SOS_TONE
if (!g_squelch_open && !g_monitor_enabled && !GPIO_CheckBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER))
BK4819_StartTone1(880, 50, g_current_function == FUNCTION_TRANSMIT, true);
BK4819_start_tone(880, 70, g_current_function == FUNCTION_TRANSMIT, false);
#endif
}
}
@ -1573,7 +1573,7 @@ void APP_process_flash_light_10ms(void)
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_FLASHLIGHT); // OFF
#ifdef ENABLE_FLASH_LIGHT_SOS_TONE
if (!g_squelch_open && !g_monitor_enabled && GPIO_CheckBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER))
BK4819_StopTones(g_current_function == FUNCTION_TRANSMIT);
BK4819_stop_tones(g_current_function == FUNCTION_TRANSMIT);
#endif
}
}

View File

@ -764,16 +764,6 @@ void MENU_AcceptSetting(void)
case MENU_ROGER_MODE:
g_eeprom.config.setting.roger_mode = g_sub_menu_selection;
if (g_eeprom.config.setting.roger_mode != ROGER_MODE_OFF)
{
if (g_tx_vfo->channel.dtmf_ptt_id_tx_mode == PTT_ID_TX_DOWN ||
g_tx_vfo->channel.dtmf_ptt_id_tx_mode == PTT_ID_BOTH ||
g_tx_vfo->channel.dtmf_ptt_id_tx_mode == PTT_ID_APOLLO)
{
g_tx_vfo->channel.dtmf_ptt_id_tx_mode = PTT_ID_OFF; // // disable PTT ID tail
g_request_save_channel = 1;
}
}
break;
case MENU_MOD_MODE:

View File

@ -173,7 +173,7 @@ void AUDIO_PlayBeep(beep_type_t Beep)
break;
}
BK4819_StartTone1(ToneFrequency, 10, false, false);
BK4819_start_tone(ToneFrequency, 10, false, true);
SYSTEM_DelayMs(2);
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER);

View File

@ -814,9 +814,9 @@ void BK4819_EnableDTMF(void)
(15u << BK4819_REG_24_SHIFT_MAX_SYMBOLS)); // 0 ~ 15
}
void BK4819_StartTone1(const uint16_t frequency, const unsigned int level, const bool tx, const bool tx_unmute)
void BK4819_start_tone(const uint16_t frequency, const unsigned int level, const bool tx, const bool tx_mute)
{
// (void)tx_unmute;
SYSTEM_DelayMs(1);
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER);
@ -868,14 +868,18 @@ void BK4819_StartTone1(const uint16_t frequency, const unsigned int level, const
BK4819_SetAF(BK4819_AF_TONE); // RX
// BK4819_SetAF(BK4819_AF_BEEP); // TX
if (tx_unmute)
if (!tx_mute)
BK4819_write_reg(0x50, 0x3B20); // 0011 1011 0010 0000
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER);
SYSTEM_DelayMs(1);
}
void BK4819_StopTones(const bool tx)
void BK4819_stop_tones(const bool tx)
{
SYSTEM_DelayMs(1);
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER);
SYSTEM_DelayMs(1);
@ -923,34 +927,37 @@ void BK4819_StopTones(const bool tx)
SYSTEM_DelayMs(1);
BK4819_ExitTxMute();
SYSTEM_DelayMs(1);
}
void BK4819_PlayTone(const unsigned int tone_Hz, const unsigned int delay, const unsigned int level)
void BK4819_PlayRoger(const unsigned int type)
{
const uint16_t prev_af = BK4819_read_reg(0x47);
BK4819_StartTone1(tone_Hz, level, g_current_function == FUNCTION_TRANSMIT, true);
SYSTEM_DelayMs(delay - 2);
BK4819_StopTones(g_current_function == FUNCTION_TRANSMIT);
BK4819_write_reg(0x47, prev_af);
}
uint32_t tone1_Hz;
uint32_t tone2_Hz;
void BK4819_PlayRoger(void)
{
#if 0
const uint32_t tone1_Hz = 500;
const uint32_t tone2_Hz = 700;
#else
// motorola
const uint32_t tone1_Hz = 1540;
const uint32_t tone2_Hz = 1310;
#endif
switch (type)
{
case 1:
tone1_Hz = 1540;
tone2_Hz = 1310;
break;
case 2:
tone1_Hz = 500;
tone2_Hz = 700;
break;
default:
return;
}
const uint16_t prev_af = BK4819_read_reg(0x47);
BK4819_StartTone1(tone1_Hz, 96, true, true);
SYSTEM_DelayMs(80 - 2);
BK4819_StartTone1(tone2_Hz, 96, true, true);
SYSTEM_DelayMs(80);
BK4819_StopTones(true);
BK4819_start_tone(tone1_Hz, 10, true, false);
SYSTEM_DelayMs(150);
BK4819_write_reg(0x71, scale_freq(tone2_Hz));
SYSTEM_DelayMs(150);
BK4819_stop_tones(true);
BK4819_write_reg(0x47, prev_af);
}

View File

@ -104,15 +104,20 @@ bool BK4819_CompanderEnabled(void);
void BK4819_SetCompander(const unsigned int mode);
void BK4819_DisableVox(void);
void BK4819_DisableDTMF(void);
void BK4819_EnableDTMF(void);
void BK4819_StartTone1(const uint16_t frequency, const unsigned int level, const bool tx, const bool tx_unmute);
void BK4819_StopTones(const bool tx);
void BK4819_PlayTone(const unsigned int tone_Hz, const unsigned int delay, const unsigned int level);
void BK4819_start_tone(const uint16_t frequency, const unsigned int level, const bool tx, const bool tx_mute);
void BK4819_stop_tones(const bool tx);
void BK4819_EnterTxMute(void);
void BK4819_ExitTxMute(void);
void BK4819_set_mic_gain(unsigned int level);
void BK4819_Sleep(void);
void BK4819_TurnsOffTones_TurnsOnRX(void);
#ifdef ENABLE_AIRCOPY
@ -161,7 +166,7 @@ uint8_t BK4819_get_CDCSS_code_type(void);
uint8_t BK4819_GetCTCShift(void);
uint8_t BK4819_GetCTCType(void);
void BK4819_PlayRoger(void);
void BK4819_PlayRoger(const unsigned int type);
#ifdef ENABLE_MDC1200
void BK4819_enable_mdc1200_rx(const bool enable);

Binary file not shown.

Binary file not shown.

View File

@ -220,7 +220,7 @@ void FUNCTION_Select(function_type_t Function)
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER);
SYSTEM_DelayMs(2);
BK4819_StartTone1(500, 28, g_current_function == FUNCTION_TRANSMIT, true);
BK4819_start_tone(500, 28, g_current_function == FUNCTION_TRANSMIT, false);
SYSTEM_DelayMs(2);
GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER);
@ -267,25 +267,27 @@ void FUNCTION_Select(function_type_t Function)
if (g_current_vfo->channel.mdc1200_mode == MDC1200_MODE_BOT || g_current_vfo->channel.mdc1200_mode == MDC1200_MODE_BOTH)
{
#ifdef ENABLE_MDC1200_SIDE_BEEP
// BK4819_StartTone1(880, 10, true, false);
// BK4819_start_tone(880, 10, true, true);
// SYSTEM_DelayMs(120);
// BK4819_StopTones(true);
// BK4819_stop_tones(true);
#endif
SYSTEM_DelayMs(30);
BK4819_send_MDC1200(MDC1200_OP_CODE_PTT_ID, 0x80, g_eeprom.config.setting.mdc1200_id, true);
#ifdef ENABLE_MDC1200_SIDE_BEEP
BK4819_StartTone1(880, 10, true, false);
BK4819_start_tone(880, 10, true, true);
SYSTEM_DelayMs(120);
BK4819_StopTones(true);
BK4819_stop_tones(true);
#endif
}
else
#endif
if (g_current_vfo->channel.dtmf_ptt_id_tx_mode == PTT_ID_APOLLO)
{
BK4819_PlayTone(APOLLO_TONE1_HZ, APOLLO_TONE_MS, 0);
BK4819_start_tone(APOLLO_TONE1_HZ, 28, true, false);
SYSTEM_DelayMs(APOLLO_TONE_MS);
BK4819_stop_tones(true);
}
}

19
radio.c
View File

@ -1203,28 +1203,29 @@ void RADIO_tx_eot(void)
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER);
}
else
if (g_eeprom.config.setting.roger_mode == ROGER_MODE_ROGER)
{
BK4819_PlayRoger();
}
else
#ifdef ENABLE_MDC1200
// if (g_eeprom.config.setting.roger_mode == ROGER_MODE_MDC)
if (g_current_vfo->channel.mdc1200_mode == MDC1200_MODE_EOT || g_current_vfo->channel.mdc1200_mode == MDC1200_MODE_BOTH)
{
BK4819_send_MDC1200(MDC1200_OP_CODE_POST_ID, 0x00, g_eeprom.config.setting.mdc1200_id, false);
#ifdef ENABLE_MDC1200_SIDE_BEEP
BK4819_StartTone1(880, 10, true, false);
BK4819_start_tone(880, 10, true, true);
SYSTEM_DelayMs(120);
BK4819_StopTones(true);
BK4819_stop_tones(true);
#endif
}
else
#endif
if (g_current_vfo->channel.dtmf_ptt_id_tx_mode == PTT_ID_APOLLO)
{
BK4819_PlayTone(APOLLO_TONE2_HZ, APOLLO_TONE_MS, 28);
BK4819_start_tone(APOLLO_TONE2_HZ, 28, true, false);
SYSTEM_DelayMs(APOLLO_TONE_MS);
BK4819_stop_tones(true);
}
else
if (g_eeprom.config.setting.roger_mode != ROGER_MODE_OFF)
{
BK4819_PlayRoger(g_eeprom.config.setting.roger_mode);
}
BK4819_ExitDTMF_TX(true);

View File

@ -109,8 +109,8 @@ typedef enum alarm_mode_e alarm_mode_t;
enum roger_mode_e {
ROGER_MODE_OFF = 0,
ROGER_MODE_ROGER,
ROGER_MODE_MDC
ROGER_MODE_ROGER1,
ROGER_MODE_ROGER2
};
typedef enum roger_mode_e roger_mode_t;

View File

@ -311,11 +311,11 @@ const char g_sub_menu_pwr_on_msg[4][14] =
"NONE"
};
const char g_sub_menu_roger_mode[2][16] =
const char g_sub_menu_roger_mode[3][15] =
{
"OFF",
"TX END\nROGER",
// "TX END\nMDC1200"
"TX END\nROGER 1",
"TX END\nROGER 2"
};
const char g_sub_menu_reset[2][4] =

View File

@ -185,7 +185,7 @@ extern const char g_sub_menu_ptt_id[5][16];
extern const char g_sub_menu_mdc1200_mode[4][8];
#endif
extern const char g_sub_menu_pwr_on_msg[4][14];
extern const char g_sub_menu_roger_mode[2][16];
extern const char g_sub_menu_roger_mode[3][15];
extern const char g_sub_menu_reset[2][4];
extern const char g_sub_menu_backlight[8][7];
extern const char g_sub_menu_rx_tx[4][6];