开机音修复

This commit is contained in:
wu58430 2023-12-09 13:09:33 +08:00
parent 1f5634814e
commit 83f7d2e6a6
5 changed files with 75 additions and 61 deletions

View file

@ -20,8 +20,13 @@
</configurations> </configurations>
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="cea36e80-e289-4d69-9030-7186d540ac0e" name="更改" comment="重构"> <list default="true" id="cea36e80-e289-4d69-9030-7186d540ac0e" name="更改" comment="clion">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Makefile" beforeDir="false" afterPath="$PROJECT_DIR$/Makefile" afterDir="false" />
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/menu.c" beforeDir="false" afterPath="$PROJECT_DIR$/app/menu.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/main.c" beforeDir="false" afterPath="$PROJECT_DIR$/main.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ui/welcome.c" beforeDir="false" afterPath="$PROJECT_DIR$/ui/welcome.c" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -190,14 +195,7 @@
<workItem from="1701934352200" duration="14088000" /> <workItem from="1701934352200" duration="14088000" />
<workItem from="1702006730071" duration="3144000" /> <workItem from="1702006730071" duration="3144000" />
<workItem from="1702024305901" duration="2385000" /> <workItem from="1702024305901" duration="2385000" />
<workItem from="1702049513969" duration="9713000" /> <workItem from="1702049513969" duration="14706000" />
</task>
<task id="LOCAL-00030" summary="MDC RX">
<created>1701678635953</created>
<option name="number" value="00030" />
<option name="presentableId" value="LOCAL-00030" />
<option name="project" value="LOCAL" />
<updated>1701678635953</updated>
</task> </task>
<task id="LOCAL-00031" summary="MDC RX"> <task id="LOCAL-00031" summary="MDC RX">
<created>1701681045853</created> <created>1701681045853</created>
@ -535,7 +533,14 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1702092719871</updated> <updated>1702092719871</updated>
</task> </task>
<option name="localTasksCounter" value="79" /> <task id="LOCAL-00079" summary="clion">
<created>1702093273462</created>
<option name="number" value="00079" />
<option name="presentableId" value="LOCAL-00079" />
<option name="project" value="LOCAL" />
<updated>1702093273462</updated>
</task>
<option name="localTasksCounter" value="80" />
<servers /> <servers />
</component> </component>
<component name="TypeScriptGeneratedFilesManager"> <component name="TypeScriptGeneratedFilesManager">
@ -559,7 +564,6 @@
</option> </option>
</component> </component>
<component name="VcsManagerConfiguration"> <component name="VcsManagerConfiguration">
<MESSAGE value="lite create" />
<MESSAGE value="lite aim" /> <MESSAGE value="lite aim" />
<MESSAGE value="create" /> <MESSAGE value="create" />
<MESSAGE value="fix bug" /> <MESSAGE value="fix bug" />
@ -584,6 +588,7 @@
<MESSAGE value="Makefile" /> <MESSAGE value="Makefile" />
<MESSAGE value="readme add" /> <MESSAGE value="readme add" />
<MESSAGE value="重构" /> <MESSAGE value="重构" />
<option name="LAST_COMMIT_MESSAGE" value="重构" /> <MESSAGE value="clion" />
<option name="LAST_COMMIT_MESSAGE" value="clion" />
</component> </component>
</project> </project>

View file

@ -1,23 +1,35 @@
# 快捷键操作(必读!!) # 操作说明(必读!!)
**主界面下**
* **单按`上/下`**调整频率步长为菜单1项`步进频率`
* **单按`数字`**:在频率模式下快捷输入频率
* **单按`*`**输入要发送的DTMF(`A、B、C、D、*、#`对应`M、上、下、*、F`键侧键1退格,按PPT键发送)
* **长按`F`**:锁定键盘
* **长按`M`**:切换调制模式 * **长按`M`**:切换调制模式
* **长按`*`**:信道模式下是搜索列表,多次长按可切换(列表1/2/全部)
频率模式下,从当前频率开始搜索
* **长按`0`/`F+0`**:打开/关闭收音机
* **长按`1`/`F+1`**在信道模式下将当前信道复制到另一个VFO * **长按`1`/`F+1`**在信道模式下将当前信道复制到另一个VFO
* **长按`2`/`F+2`**切换A/B通道 * **长按`2`/`F+2`**切换A/B通道
* **长按`3`/`F+3`**:扫描亚音 * **长按`3`/`F+3`**切换频率/信道
* **长按`4`/`F+4`**:一键对频 * **长按`4`/`F+4`**:一键对频
* **长按`5`**:信道模式下切换搜索列表 * **长按`5`**:信道模式下切换搜索列表
* **长按`5`**:频率模式下设置搜索频率范围(通道AB),按*键开始搜索 * **长按`5`**:频率模式下设置搜索频率范围(从通道A到通道B频率),按*键开始搜索
* **`F+5`**:频谱 * **`F+5`**:频谱
* **长按`6`/`F+6`**:切换发射功率 * **长按`6`/`F+6`**:切换发射功率
* **长按`7`/`F+7`**:声控发射开关 * **长按`7`/`F+7`**:声控发射开关
* **长按`8`/`F+8`**:一键倒频 * **长按`8`/`F+8`**:一键倒频
* **长按`9`/`F+9`**:一键即呼 * **长按`9`/`F+9`**:一键即呼
* **`F+M`**:按键音开关切换 * **`F+M`**:按键音开关切换
* **`F+*`**:扫描(数字/模拟)亚音
* **短按`侧键1`**:监听 * **短按`侧键1`**:监听
* **长按`侧键1`**DTMF解码开关 * **长按`侧键1`**DTMF解码开关
* **短按`侧键2`**:设置宽窄带 * **短按`侧键2`**:设置宽窄带
* **长按`侧键2`**:手电筒 * **长按`侧键2`**:手电筒
**收音机界面下**
* **长按`侧键2`**:手电筒
# 主要功能: # 主要功能:
@ -28,22 +40,22 @@
* 麦克风条 * 麦克风条
* 扫描列表分配的快捷方式( 长按 `5` * 扫描列表分配的快捷方式( 长按 `5`
* 扫描时的扫描列表切换(在扫描时长按 `*` * 扫描时的扫描列表切换(在扫描时长按 `*`
* AM 修复显著提高接收质量 * AM 修复,显著提高接收质量
* 快速扫描 * 快速扫描
* 长按按钮执行 `F+` 操作的功能复制 * 长按按钮执行 `F+` 操作的功能复制
* 菜单中的频道名称编辑 * 菜单中的频道名称编辑
* 频道名称 + 频率显示选项 * 频道名称 + 频率显示选项
* 从菜单中可选择的可配置按钮功能 * 从菜单中可选择的可配置按钮功能
* 状态栏上的电池百分比/电压可从菜单中选择 * 状态栏上的电池百分比/电压,可从菜单中选择
* 更长的背光时间 * 更长的背光时间
* 更多的频率步进 * 更多的频率步进
* 静噪更为敏感 * 静噪更为敏感
* SSB 解调 * SSB 解调
* 来自菜单的电池电压校准 * 来自菜单的电池电压校准
* 更好的电池百分比计算可选择适用于 1600mAh 或 2200mAh * 更好的电池百分比计算,可选择适用于 1600mAh 或 2200mAh
* 菜单中的更好的 DCS/CTCSS 扫描(在 RX DCS/CTCSS 菜单项中按 `*` * 菜单中的更好的 DCS/CTCSS 扫描(在 RX DCS/CTCSS 菜单项中按 `*`
* Piotr022 信号强度指示器样式 * Piotr022 信号强度指示器样式
* 使用 EXIT 停止扫描时还原初始频率/频道使用 MENU 按钮记住上次找到的传输 * 使用 EXIT 停止扫描时还原初始频率/频道,使用 MENU 按钮记住上次找到的传输
@ -59,16 +71,16 @@
# 用户功能自定义 # 用户功能自定义
你可以通过启用/禁用各种编译选项来定制固件。在 "Makefile" 的顶部找到这些选项('0' = 禁用'1' = 启用) 你可以通过启用/禁用各种编译选项来定制固件。在 "Makefile" 的顶部找到这些选项('0' = 禁用,'1' = 启用)
(请注意:有些功能已失效标注`已失效!!` (请注意:有些功能已失效,标注`已失效!!`
``` ```
ENABLE_CLANG := 0 **实验性的,使用 clang 而不是 gcc 构建(如果启用此功能,LTO 将被禁用) ENABLE_CLANG := 0 **实验性的,使用 clang 而不是 gcc 构建(如果启用此功能,LTO 将被禁用)
ENABLE_SWD := 0 仅在使用 CPU 的 SWD 端口(调试/编程)时才需要) ENABLE_SWD := 0 仅在使用 CPU 的 SWD 端口(调试/编程)时才需要)
ENABLE_OVERLAY := 0 CPU 闪存的东西不需要 ENABLE_OVERLAY := 0 CPU 闪存的东西,不需要
ENABLE_LTO := 1 **实验性的,减小了已编译固件的大小,但可能会破坏 EEPROM 读取(如果启用此功能,则 OVERLAY 将被禁用) ENABLE_LTO := 1 **实验性的,减小了已编译固件的大小,但可能会破坏 EEPROM 读取(如果启用此功能,则 OVERLAY 将被禁用)
ENABLE_UART := 1 没有这个你就不能通过PC配置无线电 ENABLE_UART := 1 没有这个,你就不能通过PC配置无线电
ENABLE_AIRCOPY := 0 AirCopy无线复制 ENABLE_AIRCOPY := 0 AirCopy无线复制
ENABLE_FMRADIO := 1 收音机功能 ENABLE_FMRADIO := 1 收音机功能
ENABLE_NOAA := 0 NOAA功能 ENABLE_NOAA := 0 NOAA功能
@ -85,21 +97,21 @@ ENABLE_KEEP_MEM_NAME := 1 在(重新)保存信道时保持信
ENABLE_WIDE_RX := 1 18MHz 至 1300MHz 接收(尽管前端/PA 不是为全范围设计的) ENABLE_WIDE_RX := 1 18MHz 至 1300MHz 接收(尽管前端/PA 不是为全范围设计的)
ENABLE_TX_WHEN_AM := 0 当 RX 设置为 AM 时允许 FM 发射 ENABLE_TX_WHEN_AM := 0 当 RX 设置为 AM 时允许 FM 发射
ENABLE_F_CAL_MENU := 0 启用隐藏频率校准菜单 ENABLE_F_CAL_MENU := 0 启用隐藏频率校准菜单
ENABLE_CTCSS_TAIL_PHASE_SHIFT := 0 标准的 CTCSS 尾部相移而不是泉盛自己的 55Hz 音调方法 ENABLE_CTCSS_TAIL_PHASE_SHIFT := 0 标准的 CTCSS 尾部相移,而不是泉盛自己的 55Hz 音调方法
ENABLE_BOOT_BEEPS := 0 在启动时为用户提供有关音量旋钮位置的音频反馈 ENABLE_BOOT_BEEPS := 0 在启动时为用户提供有关音量旋钮位置的音频反馈
ENABLE_SHOW_CHARGE_LEVEL := 0 显示收音机充电时的充电情况 ENABLE_SHOW_CHARGE_LEVEL := 0 显示收音机充电时的充电情况
ENABLE_REVERSE_BAT_SYMBOL := 0 镜像状态栏上的电池符号(正极在右侧) ENABLE_REVERSE_BAT_SYMBOL := 0 镜像状态栏上的电池符号(正极在右侧)
ENABLE_NO_CODE_SCAN_TIMEOUT := 1 禁用 32 秒 CTCSS/DCS 扫描超时(按退出按钮而不是超时结束扫描) ENABLE_NO_CODE_SCAN_TIMEOUT := 1 禁用 32 秒 CTCSS/DCS 扫描超时(按退出按钮而不是超时结束扫描)
ENABLE_AM_FIX := 1 在AM模式下动态调整前端增益以防止AM解调器饱和忽略屏幕上的RSSI电平暂时 ENABLE_AM_FIX := 1 在AM模式下动态调整前端增益,以防止AM解调器饱和,忽略屏幕上的RSSI电平暂时
ENABLE_SQUELCH_MORE_SENSITIVE := 1 使静噪电平更灵敏一点 - 我计划让用户自己调整值 ENABLE_SQUELCH_MORE_SENSITIVE := 1 使静噪电平更灵敏一点 - 我计划让用户自己调整值
ENABLE_FASTER_CHANNEL_SCAN := 1 提高信道扫描速度但静噪也变得更加抽搐 ENABLE_FASTER_CHANNEL_SCAN := 1 提高信道扫描速度,但静噪也变得更加抽搐
ENABLE_RSSI_BAR := 1 启用 dBm/Sn RSSI 条形图电平代替小天线符号 ENABLE_RSSI_BAR := 1 启用 dBm/Sn RSSI 条形图电平代替小天线符号
ENABLE_AUDIO_BAR := 1 实验性当发射时显示音频条电平 ENABLE_AUDIO_BAR := 1 实验性,当发射时显示音频条电平
ENABLE_COPY_CHAN_TO_VFO := 1 在信道模式下长按“1 BAND” 将当前信道复制到另一个 VFO . ENABLE_COPY_CHAN_TO_VFO := 1 在信道模式下长按“1 BAND” 将当前信道复制到另一个 VFO .
ENABLE_SPECTRUM := 1 fagci 频谱分析仪用`F`+`5 NOAA`激活 ENABLE_SPECTRUM := 1 fagci 频谱分析仪,用`F`+`5 NOAA`激活
ENABLE_REDUCE_LOW_MID_TX_POWER:= 0 使中低功率更低 ENABLE_REDUCE_LOW_MID_TX_POWER:= 0 使中低功率更低
ENABLE_BYP_RAW_DEMODULATORS := 0 额外的 BYRP旁路 和 RAW 解调选项,被证明不是很有用,但如果您想尝试 ENABLE_BYP_RAW_DEMODULATORS := 0 额外的 BYRP旁路 和 RAW 解调选项,被证明不是很有用,但如果您想尝试
ENABLE_BLMIN_TMP_OFF := 0 已失效!!可配置按钮的附加功能,可打开和关闭`BLMin`并将其保存到 EEPROM ENABLE_BLMIN_TMP_OFF := 0 已失效!!可配置按钮的附加功能,可打开和关闭`BLMin`,并将其保存到 EEPROM
ENABLE_SCAN_RANGES := 1 扫描范围 ENABLE_SCAN_RANGES := 1 扫描范围
ENABLE_MDC1200 := 1 MDC1200发送功能 ENABLE_MDC1200 := 1 MDC1200发送功能
ENABLE_MDC1200_SHOW_OP_ARG := 1 MDC显示首尾音参数 ENABLE_MDC1200_SHOW_OP_ARG := 1 MDC显示首尾音参数
@ -110,7 +122,7 @@ ENABLE_AGC_SHOW_DATA := 0 显示ACG参数
# 打赏 # 打赏
如果这个项目对您有帮助可以考虑赞助来支持开发工作。 如果这个项目对您有帮助,可以考虑赞助来支持开发工作。
这是:[打赏名单](https://github.com/losehu/uv-k5-firmware-chinese/blob/main/payment/sponsors.md) 非常感谢各位对汉化工作的支持!!! 这是:[打赏名单](https://github.com/losehu/uv-k5-firmware-chinese/blob/main/payment/sponsors.md) 非常感谢各位对汉化工作的支持!!!
@ -120,25 +132,25 @@ ENABLE_AGC_SHOW_DATA := 0 显示ACG参数
# 全新的中文固件 # 全新的中文固件
这个仓库是 OneOfEleven、fagci、egzumer三个版本的合并并加入了我的修改 这个仓库是 OneOfEleven、fagci、egzumer三个版本的合并,并加入了我的修改
[https://github.com/egzumer/uv-k5-firmware-custom](https://github.com/egzumer/uv-k5-firmware-custom) [https://github.com/egzumer/uv-k5-firmware-custom](https://github.com/egzumer/uv-k5-firmware-custom)
[https://github.com/OneOfEleven/uv-k5-firmware-custom](https://github.com/OneOfEleven/uv-k5-firmware-custom) [https://github.com/OneOfEleven/uv-k5-firmware-custom](https://github.com/OneOfEleven/uv-k5-firmware-custom)
[https://github.com/fagci/uv-k5-firmware-fagci-mod/tree/refactor](https://github.com/fagci/uv-k5-firmware-fagci-mod/tree/refactor) [https://github.com/fagci/uv-k5-firmware-fagci-mod/tree/refactor](https://github.com/fagci/uv-k5-firmware-fagci-mod/tree/refactor)
所有这些都是 DualTachyon 的开源固件的克隆和定制版本可以在以下位置找到: 所有这些都是 DualTachyon 的开源固件的克隆和定制版本,可以在以下位置找到:
[https://github.com/DualTachyon/uv-k5-firmware](https://github.com/DualTachyon/uv-k5-firmware) .. 一个很酷的成果! [https://github.com/DualTachyon/uv-k5-firmware](https://github.com/DualTachyon/uv-k5-firmware) .. 一个很酷的成果!
在使用此固件时请自担风险(全部)。 祝您使用愉快。 在使用此固件时,请自担风险(全部)。 祝您使用愉快。
# 免责声明: # 免责声明:
* **如若需要验机完全不建议刷写自定义固件!!!!!!!!!!!!!!** * **如若需要验机,完全不建议刷写自定义固件!!!!!!!!!!!!!!**
* 本固件仅供技术交流和个人学习使用。任何个人或组织在使用本固件时必须**遵守中华人民共和国相关法律法规及无线电管理条例**。 * 本固件仅供技术交流和个人学习使用。任何个人或组织在使用本固件时必须**遵守中华人民共和国相关法律法规及无线电管理条例**。
* 作者对于他人使用本固件所产生的任何违法行为**概不负责**包括但不限于未经授权擅自修改、使用本固件进行非法活动等行为。 * 作者对于他人使用本固件所产生的任何违法行为**概不负责**,包括但不限于未经授权擅自修改、使用本固件进行非法活动等行为。
* 如因使用本固件造成的损失**作者不承担任何法律责任**。 * 如因使用本固件造成的损失,**作者不承担任何法律责任**。
* 使用者在下载、安装和使用本固件时,默认已经阅读、理解并同意本免责声明的所有内容。**如有异议,请立即停止使用本固件**。 * 使用者在下载、安装和使用本固件时,默认已经阅读、理解并同意本免责声明的所有内容。**如有异议,请立即停止使用本固件**。
* 作者保留在法律允许范围内对本免责声明进行解释和修改的权利。**任何未经授权的固件修改、传播所造成的违法行为一概与作者无关**。 * 作者保留在法律允许范围内对本免责声明进行解释和修改的权利。**任何未经授权的固件修改、传播所造成的违法行为,一概与作者无关**。
# License # License

View file

@ -387,8 +387,8 @@ void MENU_AcceptSetting(void) {
if (gSubMenuSelection < Min) gSubMenuSelection = Min; if (gSubMenuSelection < Min) gSubMenuSelection = Min;
else if (gSubMenuSelection > Max) gSubMenuSelection = Max; else if (gSubMenuSelection > Max) gSubMenuSelection = Max;
} }
// char a = gSubMenuSelection;//UART_Send(a,1); char a = gSubMenuSelection;//UART_Send(a,1);
// UART_Send((uint8_t * ) & a, 1); UART_Send((uint8_t * ) & a, 1);
switch (UI_MENU_GetCurrentMenuId()) { switch (UI_MENU_GetCurrentMenuId()) {
default: default:

24
main.c
View file

@ -128,23 +128,23 @@ void Main(void)
// } // }
UI_DisplayWelcome(); UI_DisplayWelcome();
boot_counter_10ms=250;
while (boot_counter_10ms > 0)
{
if (KEYBOARD_Poll() != KEY_INVALID)
{ // halt boot beeps
boot_counter_10ms = 0;
break;
}
#ifdef ENABLE_BOOT_BEEPS #ifdef ENABLE_BOOT_BEEPS
while (boot_counter_10ms > 0) if ((boot_counter_10ms % 25) == 0)
{
if (KEYBOARD_Poll() != KEY_INVALID)
{ // halt boot beeps
boot_counter_10ms = 0;
break;
}
if ((boot_counter_10ms % 25) == 0)
AUDIO_PlayBeep(BEEP_880HZ_40MS_OPTIONAL); AUDIO_PlayBeep(BEEP_880HZ_40MS_OPTIONAL);
}
#endif #endif
}
#ifdef ENABLE_PWRON_PASSWORD #ifdef ENABLE_PWRON_PASSWORD
if (gEeprom.POWER_ON_PASSWORD < 1000000) if (gEeprom.POWER_ON_PASSWORD < 1000000)
{ {

View file

@ -72,14 +72,11 @@ void UI_DisplayWelcome(void) {
ST7565_BlitStatusLine(); // blank status line ST7565_BlitStatusLine(); // blank status line
ST7565_BlitFullScreen(); ST7565_BlitFullScreen();
unsigned char i=250;
while (i--) {
if (KEYBOARD_Poll() == KEY_EXIT)
break;
SYSTEM_DelayMs(10);
}
} }