fix(audio): CS43198 音量寄存器=衰减量(0最响255静音),四路(launcher/audio.c+audiod+watchdog+SDK vol)统一反转映射 dac=255-pct*255/100 — 修「0档炸50档最低」。真机 audiod 热修版实测 L/R 值方向正确

This commit is contained in:
MeowOS committed 2026-09-01 13:34:58 +08:00
1 parent 84fd0a87aa
commit 109d48747f
11 files changed
+7 -7

No files matched your search

Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -467,7 +467,7 @@ static int amixer_get(int numid, int card)
static void dac_vol_set(int pct) static void dac_vol_set(int pct)
{ {
int dac = pct * 255 / 100; int dac = 255 - pct * 255 / 100; /* CS43198 寄存器=衰减量(0=最响 255=静音),用户 pct 越大越响 → 反转映射 */
if (dac < 0) dac = 0; if (dac < 0) dac = 0;
if (dac > 255) dac = 255; if (dac > 255) dac = 255;
amixer_set(1, dac, 1); amixer_set(1, dac, 1);
+1 -1
View File
@@ -102,7 +102,7 @@ int settings_cache_registered = 0; /* M2.24:监听只注册一次 */
* settings_volume(写入 DAC 的映射值)为权威跟踪值。 */ * settings_volume(写入 DAC 的映射值)为权威跟踪值。 */
void meow_dac_vol_write(int pct) void meow_dac_vol_write(int pct)
{ {
int dac = pct * 255 / 100; int dac = 255 - pct * 255 / 100; /* CS43198 寄存器=衰减量(0=最响 255=静音),用户 pct 越大越响 → 反转映射 */
if (dac < 0) dac = 0; if (dac < 0) dac = 0;
if (dac > 255) dac = 255; if (dac > 255) dac = 255;
char cmd[160]; char cmd[160];
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -356,7 +356,7 @@ static void wd_vol_load(void)
/* 写真实 DAC(CS43198, numid 1/2, 0-255),与 launcher meow_dac_vol_write 同路径。 */ /* 写真实 DAC(CS43198, numid 1/2, 0-255),与 launcher meow_dac_vol_write 同路径。 */
static void wd_vol_write(int pct) static void wd_vol_write(int pct)
{ {
int dac = pct * 255 / 100; int dac = 255 - pct * 255 / 100; /* CS43198 寄存器=衰减量(0=最响 255=静音),用户 pct 越大越响 → 反转映射 */
if (dac < 0) dac = 0; if (dac < 0) dac = 0;
if (dac > 255) dac = 255; if (dac > 255) dac = 255;
char cmd[160]; char cmd[160];
Binary file not shown.
+1 -1
View File
@@ -110,7 +110,7 @@ int meow_ui_vol_step(const char *path, int dir)
* 与 launcher meow_dac_vol_write / watchdog wd_vol_write 完全同路径(语义同源)。 */ * 与 launcher meow_dac_vol_write / watchdog wd_vol_write 完全同路径(语义同源)。 */
void meow_ui_vol_dac_write(int pct) void meow_ui_vol_dac_write(int pct)
{ {
int dac = pct * 255 / 100; int dac = 255 - pct * 255 / 100; /* CS43198 寄存器=衰减量(0=最响 255=静音),用户 pct 越大越响 → 反转映射 */
if (dac < 0) dac = 0; if (dac < 0) dac = 0;
if (dac > 255) dac = 255; if (dac > 255) dac = 255;
char cmd[160]; char cmd[160];
+3 -3
View File
@@ -28,8 +28,8 @@
# ---- 用户态/服务守护二进制(usr/bin,全部 chmod 755 静态 MIPS)---- # ---- 用户态/服务守护二进制(usr/bin,全部 chmod 755 静态 MIPS)----
patch_v2/bootmenu/meow_bootmenu|/usr/bin/meow_bootmenu|4441822d87e76bfce2ce584604ac3830|引导选单 M2.85(sysui让位 agent-216) patch_v2/bootmenu/meow_bootmenu|/usr/bin/meow_bootmenu|4441822d87e76bfce2ce584604ac3830|引导选单 M2.85(sysui让位 agent-216)
patch_v2/meow_launcherd/meow_launcherd|/usr/bin/meow_launcherd|6de9762881245a57f547d53102e996be|主屏 launcher M2.92(NP页死循环/电源键/自动息屏修复+充电闪电图标+255插孔消抖并入) patch_v2/meow_launcherd/meow_launcherd|/usr/bin/meow_launcherd|adf97ff57cfe24028360cb55a5ae8ce8|主屏 launcher M2.95(+音量反转修复 CS43198 衰减映射)
patch_v2/meow_watchdog/meow_watchdog|/usr/bin/meow_watchdog|52f2dadd6e14a571bb60f48582a2ba66|应用看门狗 M2.93(+wd_vol_save 不再 O_TRUNC 毁设置文件, 改读改写单键去重) patch_v2/meow_watchdog/meow_watchdog|/usr/bin/meow_watchdog|96e80c855e8ca7fd772a2826adbd2639|应用看门狗 M2.95(+音量反转修复)
patch_v2/meow_svcd/meow_svcd|/usr/bin/meow_svcd|605646c4cc93f2baf29071ea6bc870ea|服务管理器 M2.77(+崩溃上报 meow_crash agent-187) patch_v2/meow_svcd/meow_svcd|/usr/bin/meow_svcd|605646c4cc93f2baf29071ea6bc870ea|服务管理器 M2.77(+崩溃上报 meow_crash agent-187)
mips-repo/bins/meow_mdns/bin/meow_mdns|/usr/bin/meow_mdns|d6b0151bda26768f19952dae1342610d|mDNS 应答器 M2.78(启动竞态+换IP重检 agent-194) mips-repo/bins/meow_mdns/bin/meow_mdns|/usr/bin/meow_mdns|d6b0151bda26768f19952dae1342610d|mDNS 应答器 M2.78(启动竞态+换IP重检 agent-194)
patch_v2/meow_sysui/meow_sysui|/usr/bin/meow_sysui|173013cc8f0899b3001d0b894ac0d9e6|系统 UI(sysui) patch_v2/meow_sysui/meow_sysui|/usr/bin/meow_sysui|173013cc8f0899b3001d0b894ac0d9e6|系统 UI(sysui)
@@ -38,7 +38,7 @@ patch_v2/meow_svc_power/meow_svc_power|/usr/bin/meow_svc_power|39ae3aa255695a97f
patch_v2/meow_verify/meow_verify|/usr/bin/meow_verify|6c2e8ed24aebe5caf41e7aed391312d5|II期验签 2B(多公钥+v2签名块 agent-221) patch_v2/meow_verify/meow_verify|/usr/bin/meow_verify|6c2e8ed24aebe5caf41e7aed391312d5|II期验签 2B(多公钥+v2签名块 agent-221)
patch_v2/meow_crash/meow_crash|/usr/bin/meow_crash|62781084445e82351bcadbdadbe4c7fc|系统级崩溃捕获 (agent-187) patch_v2/meow_crash/meow_crash|/usr/bin/meow_crash|62781084445e82351bcadbdadbe4c7fc|系统级崩溃捕获 (agent-187)
patch_v2/meow_svc_perf/meow_svc_perf|/usr/bin/meow_svc_perf|7ea196de9d59ab8cbd1e26edb7762772|性能专项服务 M2.75(net_json 补 network 闭合括号,修 /api/system JSON 解析失败) patch_v2/meow_svc_perf/meow_svc_perf|/usr/bin/meow_svc_perf|7ea196de9d59ab8cbd1e26edb7762772|性能专项服务 M2.75(net_json 补 network 闭合括号,修 /api/system JSON 解析失败)
patch_v2/meow_audiod/meow_audiod|/usr/bin/meow_audiod|1c1712c6a2fd8a65009330ca901f33eb|独占音频守护 M2.94(+period=1024×4 几何收窄, 根治长流停摆) patch_v2/meow_audiod/meow_audiod|/usr/bin/meow_audiod|2d9274052515d9ac1d2f48bf3933f21b|独占音频守护 M2.95(+音量反转修复)
patch_v2/meow_audiod/meow_audio|/usr/bin/meow_audio|c23b96490842f54324b855fd9c2467a5|audiod 用户侧 CLI(status/tone/route/vol;connect/write 全有界 2s 超时) patch_v2/meow_audiod/meow_audio|/usr/bin/meow_audio|c23b96490842f54324b855fd9c2467a5|audiod 用户侧 CLI(status/tone/route/vol;connect/write 全有界 2s 超时)
# ---- 开机 init 脚本(etc/init.d,数字决定启动顺序,按文件名自然序)---- # ---- 开机 init 脚本(etc/init.d,数字决定启动顺序,按文件名自然序)----