Add sound alert on startup

This commit is contained in:
Armel FAUVEAU
2024-02-21 03:19:47 +01:00
parent eeeb6530be
commit c524a7055a
7 changed files with 53 additions and 7 deletions

View File

@@ -23,6 +23,7 @@
#ifdef ENABLE_FEAT_F4HWN
#include "driver/system.h"
#include "audio.h"
#endif
// this is decremented once every 500ms
@@ -74,6 +75,13 @@ void BACKLIGHT_TurnOn(void)
BACKLIGHT_SetBrightness(i);
SYSTEM_DelayMs(50);
}
if (gEeprom.POWER_ON_DISPLAY_MODE == POWER_ON_DISPLAY_MODE_SOUND || gEeprom.POWER_ON_DISPLAY_MODE == POWER_ON_DISPLAY_MODE_ALL)
{
AUDIO_PlayBeep(BEEP_880HZ_60MS_TRIPLE_BEEP);
AUDIO_PlayBeep(BEEP_880HZ_60MS_TRIPLE_BEEP);
}
k5Startup = false;
}
else

4
main.c
View File

@@ -164,7 +164,11 @@ void Main(void)
BACKLIGHT_TurnOn();
#ifdef ENABLE_FEAT_F4HWN
if (gEeprom.POWER_ON_DISPLAY_MODE != POWER_ON_DISPLAY_MODE_NONE && gEeprom.POWER_ON_DISPLAY_MODE != POWER_ON_DISPLAY_MODE_SOUND)
#else
if (gEeprom.POWER_ON_DISPLAY_MODE != POWER_ON_DISPLAY_MODE_NONE)
#endif
{ // 2.55 second boot-up screen
while (boot_counter_10ms > 0)
{

View File

@@ -121,7 +121,11 @@ void SETTINGS_InitEEPROM(void)
gEeprom.KEY_2_LONG_PRESS_ACTION = (Data[4] < ACTION_OPT_LEN) ? Data[4] : ACTION_OPT_NONE;
gEeprom.SCAN_RESUME_MODE = (Data[5] < 3) ? Data[5] : SCAN_RESUME_CO;
gEeprom.AUTO_KEYPAD_LOCK = (Data[6] < 2) ? Data[6] : false;
#ifdef ENABLE_FEAT_F4HWN
gEeprom.POWER_ON_DISPLAY_MODE = (Data[7] < 6) ? Data[7] : POWER_ON_DISPLAY_MODE_VOLTAGE;
#else
gEeprom.POWER_ON_DISPLAY_MODE = (Data[7] < 4) ? Data[7] : POWER_ON_DISPLAY_MODE_VOLTAGE;
#endif
// 0E98..0E9F
EEPROM_ReadBuffer(0x0E98, Data, 8);

View File

@@ -26,7 +26,12 @@
#include <driver/backlight.h>
enum POWER_OnDisplayMode_t {
#ifdef ENABLE_FEAT_F4HWN
POWER_ON_DISPLAY_MODE_ALL,
POWER_ON_DISPLAY_MODE_SOUND,
#else
POWER_ON_DISPLAY_MODE_FULL_SCREEN = 0,
#endif
POWER_ON_DISPLAY_MODE_MESSAGE,
POWER_ON_DISPLAY_MODE_VOLTAGE,
POWER_ON_DISPLAY_MODE_NONE

View File

@@ -269,7 +269,12 @@ const char* const gSubMenu_PTT_ID[] =
const char gSubMenu_PONMSG[][8] =
{
#ifdef ENABLE_FEAT_F4HWN
"ALL",
"SOUND",
#else
"FULL",
#endif
"MESSAGE",
"VOLTAGE",
"NONE"

View File

@@ -173,7 +173,11 @@ extern const char gSubMenu_D_RSP[4][11];
#endif
extern const char* const gSubMenu_PTT_ID[5];
extern const char gSubMenu_PONMSG[4][8];
#ifdef ENABLE_FEAT_F4HWN
extern const char gSubMenu_PONMSG[5][8];
#else
extern const char gSubMenu_PONMSG[4][8];
#endif
extern const char gSubMenu_ROGER[3][6];
extern const char gSubMenu_RESET[2][4];
extern const char* const gSubMenu_F_LOCK[F_LOCK_LEN];

View File

@@ -54,8 +54,13 @@ void UI_DisplayWelcome(void)
#endif
UI_DisplayClear();
#ifdef ENABLE_FEAT_F4HWN
if (gEeprom.POWER_ON_DISPLAY_MODE == POWER_ON_DISPLAY_MODE_NONE || gEeprom.POWER_ON_DISPLAY_MODE == POWER_ON_DISPLAY_MODE_SOUND) {
ST7565_FillScreen(0x00);
#else
if (gEeprom.POWER_ON_DISPLAY_MODE == POWER_ON_DISPLAY_MODE_NONE || gEeprom.POWER_ON_DISPLAY_MODE == POWER_ON_DISPLAY_MODE_FULL_SCREEN) {
ST7565_FillScreen(0xFF);
#endif
} else {
memset(WelcomeString0, 0, sizeof(WelcomeString0));
memset(WelcomeString1, 0, sizeof(WelcomeString1));
@@ -68,21 +73,32 @@ void UI_DisplayWelcome(void)
gBatteryVoltageAverage % 100,
BATTERY_VoltsToPercent(gBatteryVoltageAverage));
}
#ifdef ENABLE_FEAT_F4HWN
else if (gEeprom.POWER_ON_DISPLAY_MODE == POWER_ON_DISPLAY_MODE_MESSAGE || gEeprom.POWER_ON_DISPLAY_MODE == POWER_ON_DISPLAY_MODE_ALL)
#else
else
#endif
{
EEPROM_ReadBuffer(0x0EB0, WelcomeString0, 16);
EEPROM_ReadBuffer(0x0EC0, WelcomeString1, 16);
#ifdef ENABLE_FEAT_F4HWN
if(gEeprom.POWER_ON_DISPLAY_MODE == POWER_ON_DISPLAY_MODE_ALL)
{
sprintf(WelcomeString1, "%u.%02uV %u%%",
gBatteryVoltageAverage / 100,
gBatteryVoltageAverage % 100,
BATTERY_VoltsToPercent(gBatteryVoltageAverage));
}
else if(strlen(WelcomeString1) == 0) {
UI_PrintString("BIENVENUE", 0, 127, 2, 10);
}
#endif
}
UI_PrintString(WelcomeString0, 0, 127, 0, 10);
UI_PrintString(WelcomeString1, 0, 127, 2, 10);
#ifdef ENABLE_FEAT_F4HWN
if(strlen(WelcomeString1) == 0) {
UI_PrintString("BIENVENUE", 0, 127, 2, 10);
}
#endif
#ifdef ENABLE_FEAT_F4HWN
UI_PrintStringSmallNormal(Credits, 0, 128, 5);
UI_PrintStringSmallNormal(Feat, 0, 128, 6);