V131R-260725:修正FSSI/FWD显示并优化8VSB频谱分析

修正FSSI/FWD标定、存储和LCD显示;增强8VSB场同步、MER分析及网页频谱展示;更新版本号与修改记录。
This commit is contained in:
2026-07-28 14:05:40 +08:00
parent 296c330197
commit 92b155499d
14 changed files with 1084 additions and 269 deletions
+17
View File
@@ -989,6 +989,10 @@ void e2rom_save_ad3(S_ADVANCE3_PARA *ppara)
}
p = orx_power_combine_db(orx_median5(cw), orx_median5(rms));
ppara->power_ref = (uint16)(p * 10.0f + 0.5f);
/* PR13: 分别记录两个原始量, 而不是只存合成标量 power_ref。 */
ppara->cal_fagc_cw = (uint8)((orx_median5(cw) >> 8) & 0xff);
ppara->cal_orx_pwr_hdb = (uint16)orx_pwr_halfdb(orx_median5(rms));
}
(void)ref; (void)ref_sum;
ppara->fwd_cal = 1;
@@ -1011,6 +1015,10 @@ void e2rom_save_ad3(S_ADVANCE3_PARA *ppara)
c256_bytewrite(EEPROM_AD3_POWER_REF_L,ppara->power_ref);
log_printf(LOG_INFO, I_USER_CFG, "fwd_cal=%d, power_ref=%d\n", ppara->fwd_cal,ppara->power_ref);
#endif
/* PR13: cal_fagc_cw/cal_orx_pwr_hdb 按新枚举地址落盘, uint16 拆 H/L 两字节。 */
c256_bytewrite(EEPROM_AD3_CAL_FAGC_CW, ppara->cal_fagc_cw);
c256_bytewrite(EEPROM_AD3_CAL_ORX_PWR_H, ppara->cal_orx_pwr_hdb>>8);
c256_bytewrite(EEPROM_AD3_CAL_ORX_PWR_L, ppara->cal_orx_pwr_hdb);
}
//printf("ppara->rc_cmd=%d\n", ppara->rc_cmd);
c256_bytewrite(EEPROM_AD3_RC_CMD,ppara->rc_cmd);
@@ -1585,6 +1593,13 @@ void e2rom_read_ad3(S_ADVANCE3_PARA *ppara)
if(ppara->mptv>1)
ppara->mptv = 0;
#endif
/* PR13: 读回 FWD cal 分别记录的 FAGC 控制字与 ORx 数字功率(0.5dB步数)。
旧配置文件缺少这两个 reg 项时, c256_byteread 对应 ini_getl 缺省值
DEF_REG_PARA(0xff), 单字节/双字节缺省合成正好是 0xFF/0xFFFF, 与
未标定判据天然一致, 无需额外的迁移代码。 */
ppara->cal_fagc_cw = c256_byteread(EEPROM_AD3_CAL_FAGC_CW);
ppara->cal_orx_pwr_hdb = (c256_byteread(EEPROM_AD3_CAL_ORX_PWR_H)<<8)|c256_byteread(EEPROM_AD3_CAL_ORX_PWR_L);
}
void e2rom_read_ad4(S_ADVANCE4_PARA *ppara)
@@ -2939,6 +2954,8 @@ void e2rom_load_default_param(unsigned char menu)
atsc_para.ad3_para.mptv= 0;
atsc_para.ad3_para.fwd_cal= 1;// 1:ok 0:cal
atsc_para.ad3_para.power_ref = 0x7FFF;//0
atsc_para.ad3_para.cal_fagc_cw = 0xFF; // PR13: 未标定
atsc_para.ad3_para.cal_orx_pwr_hdb = 0xFFFF; // PR13: 未标定
atsc_para.ad3_para.cw = 0;
atsc_para.ad3_para.rst = 0;
//atsc_para.ad3_para.max_power = AD_MAX_POWER_DEFAULT;