0
mirror of https://github.com/OneOfEleven/uv-k5-firmware-custom.git synced 2025-06-18 22:29:50 +03:00

fixed key lock compile bug

This commit is contained in:
OneOfEleven
2023-11-02 11:53:22 +00:00
parent 2638d803c0
commit bb3b6812c6
10 changed files with 126 additions and 115 deletions

View File

@ -51,6 +51,7 @@
#define AIRCOPY_MAGIC_END 0xDCBA // normal end value
#define AIRCOPY_LAST_EEPROM_ADDR 0x1E00 // size of eeprom transferred
//#define AIRCOPY_LAST_EEPROM_ADDR (sizeof(t_config)) //
// FSK payload data length
#define AIRCOPY_DATA_PACKET_SIZE (2 + 2 + 64 + 2 + 2)
@ -590,8 +591,11 @@ void AIRCOPY_process_fsk_rx_10ms(void)
data[2] = 0;
}
if (eeprom_addr < sizeof(t_config)) // don't allow writing to the calibration data area
{
EEPROM_WriteBuffer8(eeprom_addr, data); // 8 bytes at a time
// memcpy(((uint8_t *)&g_eeprom) + eeprom_addr, data, 8);
}
data += write_size / sizeof(data[0]);
eeprom_addr += write_size;
@ -605,6 +609,9 @@ void AIRCOPY_process_fsk_rx_10ms(void)
g_aircopy_state = AIRCOPY_RX_COMPLETE;
AUDIO_PlayBeep(BEEP_880HZ_60MS_TRIPLE_BEEP);
// save the received data to the EEPROM chip
// SETTINGS_write_eeprom_config();
#ifdef ENABLE_AIRCOPY_RX_REBOOT
#if defined(ENABLE_OVERLAY)
overlay_FLASH_RebootToBootloader();

View File

@ -1870,15 +1870,6 @@ void APP_time_slice_500ms(void)
{
bool exit_menu = false;
if (g_serial_config_tick_500ms > 0)
{ // config upload/download is running
return;
}
if (g_keypad_locked > 0)
if (--g_keypad_locked == 0)
g_update_display = true;
if (g_key_input_count_down > 0)
{
if (--g_key_input_count_down == 0)
@ -1887,12 +1878,32 @@ void APP_time_slice_500ms(void)
if (g_beep_to_play != BEEP_NONE)
{
if (g_serial_config_tick_500ms == 0)
AUDIO_PlayBeep(g_beep_to_play);
g_beep_to_play = BEEP_NONE;
}
}
}
#ifdef ENABLE_AIRCOPY
if (g_current_display_screen == DISPLAY_AIRCOPY)
{ // we're in AIRCOPY mode
BOARD_ADC_GetBatteryInfo(&g_usb_current_voltage, &g_usb_current);
return;
}
#endif
if (g_keypad_locked > 0)
if (--g_keypad_locked == 0)
g_update_display = true;
if (g_serial_config_tick_500ms > 0)
{ // config upload/download is running
return;
}
if (g_update_screen_tick_500ms > 0)
{ // update display once every 500ms
if (--g_update_screen_tick_500ms == 0)
@ -2009,10 +2020,6 @@ void APP_time_slice_500ms(void)
#ifdef ENABLE_FMRADIO
if (g_fm_scan_state_dir == FM_SCAN_STATE_DIR_OFF || g_ask_to_save)
#endif
{
#ifdef ENABLE_AIRCOPY
if (g_current_display_screen != DISPLAY_AIRCOPY)
#endif
{
if (g_css_scan_mode == CSS_SCAN_MODE_OFF &&
g_scan_state_dir == SCAN_STATE_DIR_OFF &&
@ -2021,7 +2028,6 @@ void APP_time_slice_500ms(void)
g_search_css_state == SEARCH_CSS_STATE_FAILED ||
g_search_css_state == SEARCH_CSS_STATE_REPEAT))
{
#ifdef ENABLE_KEYLOCK
if (g_eeprom.config.setting.auto_key_lock != 0 &&
g_key_lock_tick_500ms > 0 &&
@ -2098,7 +2104,6 @@ void APP_time_slice_500ms(void)
}
}
}
}
if (g_current_function != FUNCTION_POWER_SAVE && g_current_function != FUNCTION_TRANSMIT)
APP_update_rssi(g_rx_vfo_num);
@ -2496,7 +2501,7 @@ static void APP_process_key(const key_code_t Key, const bool key_pressed, const
if (key_held)
{ // unlock the keypad
g_eeprom.config.setting.g_eeprom.key_lock = false;
g_eeprom.config.setting.key_lock = false;
g_request_save_settings = true;
g_update_status = true;

View File

@ -59,7 +59,7 @@ void GENERIC_Key_F(bool key_pressed, bool key_held)
g_another_voice_id = g_eeprom.config.setting.key_lock ? VOICE_ID_UNLOCK : VOICE_ID_LOCK;
#endif
g_eeprom.config.setting.key_lock = (g_eeprom.key_lock + 1) & 1u;
g_eeprom.config.setting.key_lock = (g_eeprom.config.setting.key_lock + 1) & 1u;
g_request_save_settings = true;
g_update_status = true;

View File

@ -17,7 +17,7 @@
#ifndef BK1080_REGS_H
#define BK1080_REGS_H
enum BK1080_Register_t {
enum BK1080_register_e {
BK1080_REG_00 = 0x00U,
BK1080_REG_02_POWER_CONFIGURATION = 0x02U,
BK1080_REG_03_CHANNEL = 0x03U,
@ -26,8 +26,7 @@ enum BK1080_Register_t {
BK1080_REG_10 = 0x0AU,
BK1080_REG_25_INTERNAL = 0x19U,
};
typedef enum BK1080_Register_t BK1080_Register_t;
typedef enum BK1080_register_e BK1080_register_t;
// REG 07

View File

@ -179,7 +179,7 @@ void BK1080_Init(const uint16_t frequency, const bool initialise)
}
}
uint16_t BK1080_ReadRegister(BK1080_Register_t Register)
uint16_t BK1080_ReadRegister(BK1080_register_t Register)
{
uint8_t Value[2];
I2C_Start();
@ -190,7 +190,7 @@ uint16_t BK1080_ReadRegister(BK1080_Register_t Register)
return (Value[0] << 8) | Value[1];
}
void BK1080_WriteRegister(BK1080_Register_t Register, uint16_t Value)
void BK1080_WriteRegister(BK1080_register_t Register, uint16_t Value)
{
I2C_Start();
I2C_Write(0x80);

View File

@ -28,8 +28,8 @@ extern uint16_t BK1080_freq_base;
extern int16_t BK1080_freq_offset;
void BK1080_Init(const uint16_t frequency, const bool initialise);
uint16_t BK1080_ReadRegister(BK1080_Register_t Register);
void BK1080_WriteRegister(BK1080_Register_t Register, uint16_t Value);
uint16_t BK1080_ReadRegister(BK1080_register_t Register);
void BK1080_WriteRegister(BK1080_register_t Register, uint16_t Value);
void BK1080_Mute(const bool Mute);
void BK1080_SetFrequency(uint16_t Frequency);
int16_t BK1080_get_freq_offset(const uint16_t Frequency);

Binary file not shown.

Binary file not shown.

View File

@ -308,9 +308,9 @@ void SETTINGS_read_eeprom(void)
}
void SETTINGS_write_eeprom_config(void)
{ // save the entire EEPROM contents
{ // save the entire EEPROM config contents
uint32_t index;
for (index = 0; index < sizeof(g_eeprom); index += 8)
for (index = 0; index < sizeof(g_eeprom.config); index += 8)
EEPROM_WriteBuffer8(index, (uint8_t *)(&g_eeprom) + index);
}

View File

@ -257,7 +257,7 @@ void UI_drawBars(uint8_t *p, const unsigned int level)
char s[16];
#ifdef ENABLE_KEYLOCK
if (g_eeprom.key_lock && g_keypad_locked > 0)
if (g_eeprom.config.setting.key_lock && g_keypad_locked > 0)
return false; // display is in use
#endif