mirror of
https://github.com/OneOfEleven/uv-k5-firmware-custom.git
synced 2025-04-27 22:01:26 +03:00
fixed wot I broke last time (battery bar)
This commit is contained in:
parent
049b2237b7
commit
496856669d
6
Makefile
6
Makefile
@ -43,7 +43,7 @@ ENABLE_BIG_FREQ := 0
|
|||||||
ENABLE_DTMF_LIVE_DECODER := 0
|
ENABLE_DTMF_LIVE_DECODER := 0
|
||||||
ENABLE_DTMF_TIMING_SETTINGS := 0
|
ENABLE_DTMF_TIMING_SETTINGS := 0
|
||||||
ENABLE_SHOW_FREQ_IN_CHAN := 1
|
ENABLE_SHOW_FREQ_IN_CHAN := 1
|
||||||
# smaa bolf 580 B
|
# smaa bold 580 B
|
||||||
ENABLE_SMALL_BOLD := 0
|
ENABLE_SMALL_BOLD := 0
|
||||||
# smallest font 2 kB
|
# smallest font 2 kB
|
||||||
ENABLE_SMALLEST_FONT := 0
|
ENABLE_SMALLEST_FONT := 0
|
||||||
@ -82,6 +82,7 @@ ENABLE_FASTER_CHANNEL_SCAN := 1
|
|||||||
ENABLE_COPY_CHAN_TO_VFO_TO_CHAN := 1
|
ENABLE_COPY_CHAN_TO_VFO_TO_CHAN := 1
|
||||||
# Tx Audio Bar 300 B
|
# Tx Audio Bar 300 B
|
||||||
ENABLE_TX_AUDIO_BAR := 0
|
ENABLE_TX_AUDIO_BAR := 0
|
||||||
|
ENABLE_TX_AUDIO_BACKLIGHT := 0
|
||||||
# Side Button Menu 300 B
|
# Side Button Menu 300 B
|
||||||
ENABLE_SIDE_BUTT_MENU := 0
|
ENABLE_SIDE_BUTT_MENU := 0
|
||||||
# Key Lock 400 B
|
# Key Lock 400 B
|
||||||
@ -471,6 +472,9 @@ endif
|
|||||||
ifeq ($(ENABLE_TX_AUDIO_BAR),1)
|
ifeq ($(ENABLE_TX_AUDIO_BAR),1)
|
||||||
CFLAGS += -DENABLE_TX_AUDIO_BAR
|
CFLAGS += -DENABLE_TX_AUDIO_BAR
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(ENABLE_TX_AUDIO_BACKLIGHT),1)
|
||||||
|
CFLAGS += -DENABLE_TX_AUDIO_BACKLIGHT
|
||||||
|
endif
|
||||||
ifeq ($(ENABLE_COPY_CHAN_TO_VFO_TO_CHAN),1)
|
ifeq ($(ENABLE_COPY_CHAN_TO_VFO_TO_CHAN),1)
|
||||||
CFLAGS += -DENABLE_COPY_CHAN_TO_VFO_TO_CHAN
|
CFLAGS += -DENABLE_COPY_CHAN_TO_VFO_TO_CHAN
|
||||||
endif
|
endif
|
||||||
|
@ -96,6 +96,7 @@ ENABLE_SQ_OPEN_WITH_UP_DN_BUTTS := 1 open the squelch when holding down U
|
|||||||
ENABLE_FASTER_CHANNEL_SCAN := 1 increase the channel scan speed, but also make the squelch more twitchy
|
ENABLE_FASTER_CHANNEL_SCAN := 1 increase the channel scan speed, but also make the squelch more twitchy
|
||||||
ENABLE_COPY_CHAN_TO_VFO_TO_CHAN := 1 long press M, copy channel to VFO, or VFO to channel
|
ENABLE_COPY_CHAN_TO_VFO_TO_CHAN := 1 long press M, copy channel to VFO, or VFO to channel
|
||||||
ENABLE_TX_AUDIO_BAR := 0 enable a menu option for showing a TX audio level bar
|
ENABLE_TX_AUDIO_BAR := 0 enable a menu option for showing a TX audio level bar
|
||||||
|
ENABLE_TX_AUDIO_BACKLIGHT := 0 backlight will follow TX audio level
|
||||||
ENABLE_SIDE_BUTT_MENU := 0 enable menu option for configuring the programmable side buttons
|
ENABLE_SIDE_BUTT_MENU := 0 enable menu option for configuring the programmable side buttons
|
||||||
ENABLE_KEYLOCK := 0 enable keylock menu option + keylock code
|
ENABLE_KEYLOCK := 0 enable keylock menu option + keylock code
|
||||||
ENABLE_PANADAPTER := 1 centered on the selected VFO RX frequency, only shows if dual-watch is disabled
|
ENABLE_PANADAPTER := 1 centered on the selected VFO RX frequency, only shows if dual-watch is disabled
|
||||||
|
62
app/action.c
62
app/action.c
@ -117,12 +117,12 @@ void ACTION_Monitor(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// disable monitor
|
// disable monitor
|
||||||
|
|
||||||
g_monitor_enabled = false;
|
g_monitor_enabled = false;
|
||||||
|
|
||||||
if (!g_squelch_open)
|
if (!g_squelch_open)
|
||||||
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER);
|
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER);
|
||||||
|
|
||||||
if (g_scan_state_dir != SCAN_STATE_DIR_OFF)
|
if (g_scan_state_dir != SCAN_STATE_DIR_OFF)
|
||||||
g_scan_tick_10ms = g_eeprom.config.setting.scan_hold_time * 50;
|
g_scan_tick_10ms = g_eeprom.config.setting.scan_hold_time * 50;
|
||||||
|
|
||||||
@ -217,37 +217,37 @@ void ACTION_Scan(bool bRestart)
|
|||||||
RADIO_select_vfos();
|
RADIO_select_vfos();
|
||||||
|
|
||||||
GUI_SelectNextDisplay(DISPLAY_MAIN);
|
GUI_SelectNextDisplay(DISPLAY_MAIN);
|
||||||
|
|
||||||
if (g_scan_state_dir != SCAN_STATE_DIR_OFF)
|
if (g_scan_state_dir != SCAN_STATE_DIR_OFF)
|
||||||
{ // currently scanning
|
{ // currently scanning
|
||||||
|
|
||||||
if (g_scan_next_channel <= USER_CHANNEL_LAST)
|
if (g_scan_next_channel <= USER_CHANNEL_LAST)
|
||||||
{ // channel mode
|
{ // channel mode
|
||||||
|
|
||||||
if (g_eeprom.config.setting.scan_list_default < 2)
|
if (g_eeprom.config.setting.scan_list_default < 2)
|
||||||
{ // keep scanning but toggle between scan lists
|
{ // keep scanning but toggle between scan lists
|
||||||
|
|
||||||
//g_eeprom.config.setting.scan_list_default = (g_eeprom.config.setting.scan_list_default + 1) % 3;
|
//g_eeprom.config.setting.scan_list_default = (g_eeprom.config.setting.scan_list_default + 1) % 3;
|
||||||
g_eeprom.config.setting.scan_list_default++;
|
g_eeprom.config.setting.scan_list_default++;
|
||||||
|
|
||||||
// jump to the next channel
|
// jump to the next channel
|
||||||
APP_channel_next(true, g_scan_state_dir);
|
APP_channel_next(true, g_scan_state_dir);
|
||||||
|
|
||||||
g_scan_tick_10ms = 0;
|
g_scan_tick_10ms = 0;
|
||||||
g_scan_pause_time_mode = false;
|
g_scan_pause_time_mode = false;
|
||||||
|
|
||||||
g_update_status = true;
|
g_update_status = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_eeprom.config.setting.scan_list_default = 0; // back to scan list 1 - the next time we start scanning
|
g_eeprom.config.setting.scan_list_default = 0; // back to scan list 1 - the next time we start scanning
|
||||||
}
|
}
|
||||||
|
|
||||||
// *****************
|
// *****************
|
||||||
// stop scanning
|
// stop scanning
|
||||||
|
|
||||||
APP_stop_scan();
|
APP_stop_scan();
|
||||||
|
|
||||||
g_request_display_screen = DISPLAY_MAIN;
|
g_request_display_screen = DISPLAY_MAIN;
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@ -255,7 +255,7 @@ void ACTION_Scan(bool bRestart)
|
|||||||
|
|
||||||
// **********************
|
// **********************
|
||||||
// start scanning
|
// start scanning
|
||||||
|
|
||||||
{
|
{
|
||||||
const uint32_t freq = g_tx_vfo->freq_config_rx.frequency;
|
const uint32_t freq = g_tx_vfo->freq_config_rx.frequency;
|
||||||
const frequency_band_t band = FREQUENCY_GetBand(freq);
|
const frequency_band_t band = FREQUENCY_GetBand(freq);
|
||||||
@ -263,7 +263,7 @@ void ACTION_Scan(bool bRestart)
|
|||||||
g_scan_initial_lower = FREQ_BAND_TABLE[band].lower;
|
g_scan_initial_lower = FREQ_BAND_TABLE[band].lower;
|
||||||
g_scan_initial_step_size = g_tx_vfo->step_freq;
|
g_scan_initial_step_size = g_tx_vfo->step_freq;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ENABLE_SCAN_RANGES
|
#ifdef ENABLE_SCAN_RANGES
|
||||||
if (IS_FREQ_CHANNEL(g_tx_vfo->channel_save) && g_eeprom.config.setting.scan_ranges_enable)
|
if (IS_FREQ_CHANNEL(g_tx_vfo->channel_save) && g_eeprom.config.setting.scan_ranges_enable)
|
||||||
{
|
{
|
||||||
@ -272,36 +272,36 @@ void ACTION_Scan(bool bRestart)
|
|||||||
// freq = FREQUENCY_floor_to_step(freq, g_scan_initial_step_size, g_scan_initial_lower, g_scan_initial_upper); }
|
// freq = FREQUENCY_floor_to_step(freq, g_scan_initial_step_size, g_scan_initial_lower, g_scan_initial_upper); }
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
g_monitor_enabled = false;
|
g_monitor_enabled = false;
|
||||||
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER);
|
GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_SPEAKER);
|
||||||
|
|
||||||
RADIO_setup_registers(true);
|
RADIO_setup_registers(true);
|
||||||
|
|
||||||
APP_channel_next(true, SCAN_STATE_DIR_FORWARD);
|
APP_channel_next(true, SCAN_STATE_DIR_FORWARD);
|
||||||
|
|
||||||
g_scan_tick_10ms = 0; // go NOW
|
g_scan_tick_10ms = 0; // go NOW
|
||||||
g_scan_pause_time_mode = false;
|
g_scan_pause_time_mode = false;
|
||||||
|
|
||||||
#ifdef ENABLE_VOICE
|
#ifdef ENABLE_VOICE
|
||||||
AUDIO_SetVoiceID(0, VOICE_ID_SCANNING_BEGIN);
|
AUDIO_SetVoiceID(0, VOICE_ID_SCANNING_BEGIN);
|
||||||
AUDIO_PlaySingleVoice(true);
|
AUDIO_PlaySingleVoice(true);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// clear the other vfo's rssi level (to hide the antenna symbol)
|
// clear the other vfo's rssi level (to hide the antenna symbol)
|
||||||
g_vfo_rssi_bar_level[(g_rx_vfo_num + 1) & 1u] = 0;
|
g_vfo_rssi_bar_level[(g_rx_vfo_num + 1) & 1u] = 0;
|
||||||
|
|
||||||
g_update_status = true;
|
g_update_status = true;
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// freq/ctcss/cdcss/search mode
|
// freq/ctcss/cdcss/search mode
|
||||||
|
|
||||||
|
|
||||||
// TODO: fixme
|
// TODO: fixme
|
||||||
|
|
||||||
|
|
||||||
// if (!bRestart)
|
// if (!bRestart)
|
||||||
if (!bRestart && g_scan_next_channel <= USER_CHANNEL_LAST)
|
if (!bRestart && g_scan_next_channel <= USER_CHANNEL_LAST)
|
||||||
{ // channel mode, keep scanning but toggle between scan lists
|
{ // channel mode, keep scanning but toggle between scan lists
|
||||||
@ -342,12 +342,12 @@ void ACTION_Scan(bool bRestart)
|
|||||||
g_input_box_index = 0;
|
g_input_box_index = 0;
|
||||||
|
|
||||||
(void)b1750; // stop compile warning
|
(void)b1750; // stop compile warning
|
||||||
|
|
||||||
#if defined(ENABLE_ALARM) && defined(ENABLE_TX1750)
|
#if defined(ENABLE_ALARM) && defined(ENABLE_TX1750)
|
||||||
g_alarm_state = b1750 ? ALARM_STATE_TX1750 : ALARM_STATE_TXALARM;
|
g_alarm_state = b1750 ? ALARM_STATE_TX1750 : ALARM_STATE_TXALARM;
|
||||||
g_alarm_running_counter_10ms = 0;
|
g_alarm_running_counter_10ms = 0;
|
||||||
#elif defined(ENABLE_ALARM)
|
#elif defined(ENABLE_ALARM)
|
||||||
g_alarm_state = ALARM_STATE_TXALARM;
|
g_alarm_state = ALARM_STATE_TXALARM;
|
||||||
g_alarm_running_counter_10ms = 0;
|
g_alarm_running_counter_10ms = 0;
|
||||||
#else
|
#else
|
||||||
g_alarm_state = ALARM_STATE_TX1750;
|
g_alarm_state = ALARM_STATE_TX1750;
|
||||||
@ -368,14 +368,14 @@ void ACTION_Scan(bool bRestart)
|
|||||||
{
|
{
|
||||||
if (g_fm_radio_mode)
|
if (g_fm_radio_mode)
|
||||||
{ // return normal service
|
{ // return normal service
|
||||||
|
|
||||||
FM_turn_off();
|
FM_turn_off();
|
||||||
|
|
||||||
g_input_box_index = 0;
|
g_input_box_index = 0;
|
||||||
#ifdef ENABLE_VOX
|
#ifdef ENABLE_VOX
|
||||||
g_vox_resume_tick_10ms = 80;
|
g_vox_resume_tick_10ms = 80;
|
||||||
#endif
|
#endif
|
||||||
g_flag_reconfigure_vfos = true;
|
g_flag_reconfigure_vfos = true;
|
||||||
|
|
||||||
g_request_display_screen = DISPLAY_MAIN;
|
g_request_display_screen = DISPLAY_MAIN;
|
||||||
return;
|
return;
|
||||||
|
85
app/app.c
85
app/app.c
@ -205,7 +205,7 @@ static void APP_process_new_receive(void)
|
|||||||
{
|
{
|
||||||
FUNCTION_Select(FUNCTION_FOREGROUND);
|
FUNCTION_Select(FUNCTION_FOREGROUND);
|
||||||
g_update_display = true;
|
g_update_display = true;
|
||||||
// g_update_status = true;
|
//g_update_status = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@ -215,7 +215,7 @@ static void APP_process_new_receive(void)
|
|||||||
{
|
{
|
||||||
case MOD_MODE_FM:
|
case MOD_MODE_FM:
|
||||||
case MOD_MODE_AM:
|
case MOD_MODE_AM:
|
||||||
BK4819_set_AFC(2);
|
BK4819_set_AFC(3);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
case MOD_MODE_DSB:
|
case MOD_MODE_DSB:
|
||||||
@ -238,14 +238,17 @@ static void APP_process_new_receive(void)
|
|||||||
g_found_ctcss = false;
|
g_found_ctcss = false;
|
||||||
flag = true;
|
flag = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_cdcss_lost && g_cdcss_code_type == CDCSS_POSITIVE_CODE && (g_current_code_type == CODE_TYPE_DIGITAL || g_current_code_type == CODE_TYPE_REVERSE_DIGITAL))
|
if (g_cdcss_lost && g_cdcss_code_type == CDCSS_POSITIVE_CODE && (g_current_code_type == CODE_TYPE_DIGITAL || g_current_code_type == CODE_TYPE_REVERSE_DIGITAL))
|
||||||
{
|
{
|
||||||
g_found_cdcss = false;
|
g_found_cdcss = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (!flag)
|
// if (!flag)
|
||||||
|
if (!flag && !g_monitor_enabled) // 1of11
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (g_scan_state_dir == SCAN_STATE_DIR_OFF && g_css_scan_mode == CSS_SCAN_MODE_OFF)
|
if (g_scan_state_dir == SCAN_STATE_DIR_OFF && g_css_scan_mode == CSS_SCAN_MODE_OFF)
|
||||||
{ // not scanning
|
{ // not scanning
|
||||||
@ -328,32 +331,23 @@ static void APP_process_rx(void)
|
|||||||
goto Skip;
|
goto Skip;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (g_current_code_type)
|
if (g_found_ctcss_tick_10ms == 0)
|
||||||
{
|
{
|
||||||
default:
|
if (g_current_code_type == CODE_TYPE_CONTINUOUS_TONE && g_found_ctcss)
|
||||||
case CODE_TYPE_NONE:
|
{
|
||||||
break;
|
g_found_ctcss = false;
|
||||||
|
g_found_cdcss = false;
|
||||||
|
Mode = END_OF_RX_MODE_END;
|
||||||
|
goto Skip;
|
||||||
|
}
|
||||||
|
|
||||||
case CODE_TYPE_CONTINUOUS_TONE:
|
if ((g_current_code_type == CODE_TYPE_DIGITAL || CODE_TYPE_REVERSE_DIGITAL) && g_found_cdcss)
|
||||||
if (g_found_ctcss && g_found_ctcss_tick_10ms == 0)
|
{
|
||||||
{
|
g_found_ctcss = false;
|
||||||
g_found_ctcss = false;
|
g_found_cdcss = false;
|
||||||
g_found_cdcss = false;
|
Mode = END_OF_RX_MODE_END;
|
||||||
Mode = END_OF_RX_MODE_END;
|
goto Skip;
|
||||||
goto Skip;
|
}
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CODE_TYPE_DIGITAL:
|
|
||||||
case CODE_TYPE_REVERSE_DIGITAL:
|
|
||||||
if (g_found_cdcss && g_found_cdcss_tick_10ms == 0)
|
|
||||||
{
|
|
||||||
g_found_ctcss = false;
|
|
||||||
g_found_cdcss = false;
|
|
||||||
Mode = END_OF_RX_MODE_END;
|
|
||||||
goto Skip;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_squelch_open || g_monitor_enabled)
|
if (g_squelch_open || g_monitor_enabled)
|
||||||
@ -516,7 +510,7 @@ bool APP_start_listening(void)
|
|||||||
{
|
{
|
||||||
case MOD_MODE_FM:
|
case MOD_MODE_FM:
|
||||||
case MOD_MODE_AM:
|
case MOD_MODE_AM:
|
||||||
BK4819_set_AFC(2); // enable a bit
|
BK4819_set_AFC(3); // enable a bit
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
case MOD_MODE_DSB:
|
case MOD_MODE_DSB:
|
||||||
@ -981,6 +975,12 @@ void APP_process_radio_interrupts(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// #ifdef ENABLE_CTCSS_TAIL_PHASE_SHIFT
|
||||||
|
// if (((reg_c >> 12) & 3u) > 0)
|
||||||
|
// { // phase shift detected
|
||||||
|
// }
|
||||||
|
// #endif
|
||||||
|
|
||||||
if ((reg_c & (1u << 0)) == 0)
|
if ((reg_c & (1u << 0)) == 0)
|
||||||
break; // no interrupt flags
|
break; // no interrupt flags
|
||||||
|
|
||||||
@ -1865,7 +1865,30 @@ void APP_process_functions(void)
|
|||||||
|
|
||||||
case FUNCTION_TRANSMIT:
|
case FUNCTION_TRANSMIT:
|
||||||
if (g_eeprom.config.setting.backlight_on_tx_rx == 1 || g_eeprom.config.setting.backlight_on_tx_rx == 3)
|
if (g_eeprom.config.setting.backlight_on_tx_rx == 1 || g_eeprom.config.setting.backlight_on_tx_rx == 3)
|
||||||
BACKLIGHT_turn_on(backlight_tx_rx_time_secs);
|
{
|
||||||
|
#ifdef ENABLE_TX_AUDIO_BACKLIGHT
|
||||||
|
static unsigned int hold_10ms = 0;
|
||||||
|
uint32_t level = BK4819_GetVoiceAmplitudeOut(); // 15:0
|
||||||
|
level *= 128;
|
||||||
|
level = NUMBER_isqrt((level < 65535) ? level : 65535);
|
||||||
|
level = (level * BACKLIGHT_MAX_BRIGHTNESS) / 255; // 0 ~ BACKLIGHT_MAX_BRIGHTNESS
|
||||||
|
level = (BACKLIGHT_MAX_BRIGHTNESS / 4) + ((level * 3) / 4); // 25% ~ 100%
|
||||||
|
if (g_backlight_tick_10ms > BACKLIGHT_MAX_BRIGHTNESS || g_backlight_tick_10ms <= level)
|
||||||
|
{
|
||||||
|
g_backlight_tick_10ms = level;
|
||||||
|
hold_10ms = 20;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if (hold_10ms > 0)
|
||||||
|
hold_10ms--;
|
||||||
|
else
|
||||||
|
if (g_backlight_tick_10ms > 0)
|
||||||
|
g_backlight_tick_10ms--;
|
||||||
|
BACKLIGHT_set_brightness(g_backlight_tick_10ms);
|
||||||
|
#else
|
||||||
|
BACKLIGHT_turn_on(backlight_tx_rx_time_secs);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FUNCTION_NEW_RECEIVE:
|
case FUNCTION_NEW_RECEIVE:
|
||||||
@ -2387,6 +2410,8 @@ void APP_time_slice_10ms(void)
|
|||||||
if (g_backlight_tick_10ms > 0 &&
|
if (g_backlight_tick_10ms > 0 &&
|
||||||
!g_ask_to_save &&
|
!g_ask_to_save &&
|
||||||
g_css_scan_mode == CSS_SCAN_MODE_OFF &&
|
g_css_scan_mode == CSS_SCAN_MODE_OFF &&
|
||||||
|
((g_eeprom.config.setting.backlight_on_tx_rx != 1 && g_eeprom.config.setting.backlight_on_tx_rx != 3) || g_current_function != FUNCTION_TRANSMIT) &&
|
||||||
|
// g_current_function != FUNCTION_TRANSMIT &&
|
||||||
g_current_display_screen != DISPLAY_AIRCOPY)
|
g_current_display_screen != DISPLAY_AIRCOPY)
|
||||||
{ // don't turn off backlight if user is in backlight menu option
|
{ // don't turn off backlight if user is in backlight menu option
|
||||||
if (g_current_display_screen != DISPLAY_MENU || g_menu_cursor != MENU_AUTO_BACKLITE)
|
if (g_current_display_screen != DISPLAY_MENU || g_menu_cursor != MENU_AUTO_BACKLITE)
|
||||||
|
BIN
firmware.bin
BIN
firmware.bin
Binary file not shown.
Binary file not shown.
@ -83,26 +83,18 @@ void BATTERY_GetReadings(const bool bDisplayBatteryLevel)
|
|||||||
{
|
{
|
||||||
const uint8_t PreviousBatteryLevel = g_battery_display_level;
|
const uint8_t PreviousBatteryLevel = g_battery_display_level;
|
||||||
const uint16_t Voltage = (g_battery_voltages[0] + g_battery_voltages[1] + g_battery_voltages[2] + g_battery_voltages[3]) / 4;
|
const uint16_t Voltage = (g_battery_voltages[0] + g_battery_voltages[1] + g_battery_voltages[2] + g_battery_voltages[3]) / 4;
|
||||||
|
unsigned int i;
|
||||||
|
|
||||||
g_battery_display_level = 0;
|
g_battery_display_level = 0;
|
||||||
|
|
||||||
if (g_eeprom.calib.battery[5] < Voltage)
|
for (i = ARRAY_SIZE(g_eeprom.calib.battery); i > 0; i--)
|
||||||
g_battery_display_level = 6;
|
{
|
||||||
else
|
if (g_eeprom.calib.battery[i - 1] < Voltage)
|
||||||
if (g_eeprom.calib.battery[4] < Voltage)
|
{
|
||||||
g_battery_display_level = 5;
|
g_battery_display_level = i;
|
||||||
else
|
break;
|
||||||
if (g_eeprom.calib.battery[3] < Voltage)
|
}
|
||||||
g_battery_display_level = 4;
|
}
|
||||||
else
|
|
||||||
if (g_eeprom.calib.battery[2] < Voltage)
|
|
||||||
g_battery_display_level = 3;
|
|
||||||
else
|
|
||||||
if (g_eeprom.calib.battery[1] < Voltage)
|
|
||||||
g_battery_display_level = 2;
|
|
||||||
else
|
|
||||||
if (g_eeprom.calib.battery[0] < Voltage)
|
|
||||||
g_battery_display_level = 1;
|
|
||||||
|
|
||||||
g_battery_voltage_average = (Voltage * 760) / g_eeprom.calib.battery[3];
|
g_battery_voltage_average = (Voltage * 760) / g_eeprom.calib.battery[3];
|
||||||
|
|
||||||
|
@ -127,8 +127,8 @@ const t_menu_item g_menu_list[] =
|
|||||||
#endif
|
#endif
|
||||||
#ifdef ENABLE_DTMF_TIMING_SETTINGS
|
#ifdef ENABLE_DTMF_TIMING_SETTINGS
|
||||||
{"D PRE", VOICE_ID_INVALID, MENU_DTMF_PRE },
|
{"D PRE", VOICE_ID_INVALID, MENU_DTMF_PRE },
|
||||||
{"D1PERS", VOICE_ID_INVALID, MENU_DTMF_1ST_PERSIST },
|
{"D 1PER", VOICE_ID_INVALID, MENU_DTMF_1ST_PERSIST },
|
||||||
{"DHPERS", VOICE_ID_INVALID, MENU_DTMF_HASH_PERSIST },
|
{"D HPER", VOICE_ID_INVALID, MENU_DTMF_HASH_PERSIST },
|
||||||
{"D PER", VOICE_ID_INVALID, MENU_DTMF_PERSIST },
|
{"D PER", VOICE_ID_INVALID, MENU_DTMF_PERSIST },
|
||||||
{"D INT", VOICE_ID_INVALID, MENU_DTMF_INTERVAL },
|
{"D INT", VOICE_ID_INVALID, MENU_DTMF_INTERVAL },
|
||||||
#endif
|
#endif
|
||||||
@ -1089,10 +1089,10 @@ void UI_DisplayMenu(void)
|
|||||||
switch (g_menu_cursor)
|
switch (g_menu_cursor)
|
||||||
{
|
{
|
||||||
case MENU_DTMF_PRE:
|
case MENU_DTMF_PRE:
|
||||||
strcat(str, " PRE\n");
|
strcat(str, "BOT\nDELAY\n");
|
||||||
break;
|
break;
|
||||||
case MENU_DTMF_1ST_PERSIST:
|
case MENU_DTMF_1ST_PERSIST:
|
||||||
strcat(str, "1 CODE\nPERSIST\n");
|
strcat(str, "1CODE\nPERSIST\n");
|
||||||
break;
|
break;
|
||||||
case MENU_DTMF_HASH_PERSIST:
|
case MENU_DTMF_HASH_PERSIST:
|
||||||
strcat(str, "#\nPERSIST\n");
|
strcat(str, "#\nPERSIST\n");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user