新增:V1.1 硬件功率校准
This commit is contained in:
+99
-25
@@ -85,6 +85,26 @@ static const int32 we_power[]=
|
||||
1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000
|
||||
};
|
||||
|
||||
/* Hardware V1.1 VHF calibration, channels 2..13. */
|
||||
static const uint16 we_power_v1_1_v[]=
|
||||
{
|
||||
143,98,66,38,28,52,52,59,62,64,66,74
|
||||
};
|
||||
|
||||
/*
|
||||
* Hardware V1.1 UHF calibration, channels 14..83 (473..887 MHz).
|
||||
* Values are the raw WE register values measured with 563 MHz as 0 dB.
|
||||
* 1 raw step = 0.05 dB; 300 = 0 dB. Values at the upper end are
|
||||
* limited to WE_POWER_MAX (500).
|
||||
*/
|
||||
static const uint16 we_power_v1_1[]=
|
||||
{
|
||||
224,226,231,231,234,235,239,244,245,248,254,257,264,268,269,275,281,282,
|
||||
292,292,295,301,304,312,317,322,329,335,340,345,347,350,354,358,361,366,
|
||||
370,377,382,385,389,391,394,399,403,405,413,420,423,432,437,447,454,463,
|
||||
480,495,500,500,500,500,500,500,500,500,500,500,500,500,500,500
|
||||
};
|
||||
|
||||
/*auto ver
|
||||
{
|
||||
-405, -361, -349, -314, -332, -303, -295, -285, -172, -257,
|
||||
@@ -192,6 +212,7 @@ void e2rom_save_sys(S_SYSTEM_PARA *ppara)
|
||||
|
||||
c256_bytewrite(EEPROM_ADRV9009_ORX_MANU_GAIN, ppara->orx_manu_gain&0xff);
|
||||
c256_bytewrite(EEPROM_SPEC_ENABLE, ppara->spec_enable ? 1 : 0);
|
||||
c256_bytewrite(EEPROM_HARDWARE_VERSION, ppara->hardware_version);
|
||||
}
|
||||
void e2rom_save_power(S_RF_PARA *ppara)
|
||||
{
|
||||
@@ -398,18 +419,26 @@ void e2rom_save_wd(S_WD_PARA *ppara)
|
||||
c256_bytewrite(EEPROM_WD_ADDR+i,*pchar++);
|
||||
}
|
||||
}
|
||||
static uint16 e2rom_legacy_power_addr(void)
|
||||
{
|
||||
return (atsc_para.wl_para.exc_5x == 0) ?
|
||||
EEPROM_CH2_POWER_ADDR : EEPROM_CH1_POWER_ADDR;
|
||||
}
|
||||
|
||||
static uint16 e2rom_active_power_addr(void)
|
||||
{
|
||||
if(atsc_para.system_para.hardware_version == HARDWARE_VERSION_V1_1)
|
||||
return EEPROM_CH_POWER_V1_1_ADDR;
|
||||
|
||||
return e2rom_legacy_power_addr();
|
||||
}
|
||||
|
||||
void e2rom_save_leak(uint32 ch, S_WE_PARA *ppara)
|
||||
{
|
||||
if(atsc_para.wl_para.exc_5x==0)
|
||||
{
|
||||
c256_bytewrite(EEPROM_CH2_POWER_ADDR+ch*2+0,ppara->power>>8);
|
||||
c256_bytewrite(EEPROM_CH2_POWER_ADDR+ch*2+1,ppara->power);
|
||||
}
|
||||
else
|
||||
{
|
||||
c256_bytewrite(EEPROM_CH1_POWER_ADDR+ch*2+0,ppara->power>>8);
|
||||
c256_bytewrite(EEPROM_CH1_POWER_ADDR+ch*2+1,ppara->power);
|
||||
}
|
||||
uint16 base = e2rom_active_power_addr();
|
||||
|
||||
c256_bytewrite(base+ch*2+0,ppara->power>>8);
|
||||
c256_bytewrite(base+ch*2+1,ppara->power);
|
||||
}
|
||||
void e2rom_save_we(S_WE_PARA *ppara)
|
||||
{
|
||||
@@ -1145,8 +1174,16 @@ void e2rom_read_system(S_SYSTEM_PARA *ppara)
|
||||
ppara->orx_manu_gain = orx_gain_max;
|
||||
|
||||
ppara->spec_enable = 1;
|
||||
ppara->hardware_version = c256_byteread(EEPROM_HARDWARE_VERSION);
|
||||
if(ppara->hardware_version >= HARDWARE_VERSION_END)
|
||||
{
|
||||
ppara->hardware_version = DEFAULT_HARDWARE_VERSION;
|
||||
c256_bytewrite(EEPROM_HARDWARE_VERSION, ppara->hardware_version);
|
||||
}
|
||||
|
||||
printf("load agc_att=%d %fdb adrv9009_att=%d orx_manu_gain=%d spec_enable=%d\n", ppara->agc_att, -0.5*ppara->agc_att, ppara->adrv9009_att, ppara->orx_manu_gain, ppara->spec_enable);
|
||||
printf("load agc_att=%d %fdb adrv9009_att=%d orx_manu_gain=%d spec_enable=%d hardware=V1.%d\n",
|
||||
ppara->agc_att, -0.5*ppara->agc_att, ppara->adrv9009_att,
|
||||
ppara->orx_manu_gain, ppara->spec_enable, ppara->hardware_version);
|
||||
}
|
||||
static void bak_e2rom_read_rf(S_RF_PARA *ppara)
|
||||
{
|
||||
@@ -2008,6 +2045,26 @@ static void e2rom_fac_power_rst_3x(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void e2rom_fac_power_rst_v1_1(void)
|
||||
{
|
||||
uint32 i;
|
||||
uint16 power;
|
||||
|
||||
for(i=FREQ_MIN_V1; i<=FREQ_MAX_V3; i++)
|
||||
{
|
||||
power = we_power_v1_1_v[i-FREQ_MIN_V1];
|
||||
c256_bytewrite(EEPROM_CH_POWER_V1_1_ADDR+i*2+0, power>>8);
|
||||
c256_bytewrite(EEPROM_CH_POWER_V1_1_ADDR+i*2+1, power);
|
||||
}
|
||||
|
||||
for(i=FREQ_MIN_U; i<=FREQ_MAX_U; i++)
|
||||
{
|
||||
power = we_power_v1_1[i-FREQ_MIN_U];
|
||||
c256_bytewrite(EEPROM_CH_POWER_V1_1_ADDR+i*2+0, power>>8);
|
||||
c256_bytewrite(EEPROM_CH_POWER_V1_1_ADDR+i*2+1, power);
|
||||
}
|
||||
}
|
||||
|
||||
static uint16 e2rom_read_fac_power_default_3x(uint32 chn)
|
||||
{
|
||||
uint16 power;
|
||||
@@ -2860,6 +2917,7 @@ void e2rom_load_default_param(unsigned char menu)
|
||||
atsc_para.system_para.gps = 0;
|
||||
atsc_para.system_para.test = TEST_OFF;
|
||||
atsc_para.system_para.spec_enable = 1;
|
||||
atsc_para.system_para.hardware_version = DEFAULT_HARDWARE_VERSION;
|
||||
//atsc_para.system_para.net = 1; //MFN;
|
||||
atsc_para.system_para.ctrl = CTRL_REMOTE; // remote
|
||||
|
||||
@@ -3243,6 +3301,7 @@ void e2rom_load_default_param(unsigned char menu)
|
||||
|
||||
case MENU_POWER:
|
||||
atsc_para.rf_para.power = RF_POWER_ZERO;
|
||||
e2rom_fac_power_rst_v1_1();
|
||||
if(atsc_para.wl_para.exc_5x==0)
|
||||
{
|
||||
atsc_para.rf_para.db = DEFAULT_RF_POWER_DB_3X;
|
||||
@@ -3270,27 +3329,41 @@ void e2rom_load_default_param(unsigned char menu)
|
||||
|
||||
void e2rom_read_leak(uint32 chn,S_WE_PARA *ppara)
|
||||
{
|
||||
uint8 data = 0;
|
||||
uint8 data;
|
||||
uint16 base = e2rom_active_power_addr();
|
||||
|
||||
if(atsc_para.wl_para.exc_5x==0)
|
||||
data = c256_byteread(base+chn*2+0);
|
||||
ppara->power = (data<<8)|c256_byteread(base+chn*2+1);
|
||||
|
||||
/*
|
||||
* Populate an upgraded unit's missing V1.1 entry from the measured
|
||||
* V1.1 defaults and persist it in the independent V1.1 EEPROM table.
|
||||
*/
|
||||
if((ppara->power>WE_POWER_MAX) &&
|
||||
(atsc_para.system_para.hardware_version == HARDWARE_VERSION_V1_1))
|
||||
{
|
||||
data = c256_byteread(EEPROM_CH2_POWER_ADDR+chn*2+0);
|
||||
ppara->power = (data<<8)|c256_byteread(EEPROM_CH2_POWER_ADDR+chn*2+1);
|
||||
|
||||
if(ppara->power>WE_POWER_MAX)
|
||||
if((chn>=FREQ_MIN_V1)&&(chn<=FREQ_MAX_V3))
|
||||
{
|
||||
ppara->power = e2rom_read_fac_power_default_3x(chn);
|
||||
ppara->power = we_power_v1_1_v[chn-FREQ_MIN_V1];
|
||||
}
|
||||
else if((chn>=FREQ_MIN_U)&&(chn<=FREQ_MAX_U))
|
||||
{
|
||||
ppara->power = we_power_v1_1[chn-FREQ_MIN_U];
|
||||
}
|
||||
|
||||
if(ppara->power<=WE_POWER_MAX)
|
||||
{
|
||||
c256_bytewrite(EEPROM_CH_POWER_V1_1_ADDR+chn*2+0,ppara->power>>8);
|
||||
c256_bytewrite(EEPROM_CH_POWER_V1_1_ADDR+chn*2+1,ppara->power);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
data = c256_byteread(EEPROM_CH1_POWER_ADDR+chn*2+0);
|
||||
ppara->power = (data<<8)|c256_byteread(EEPROM_CH1_POWER_ADDR+chn*2+1);
|
||||
|
||||
if(ppara->power>WE_POWER_MAX)
|
||||
{
|
||||
if(ppara->power>WE_POWER_MAX)
|
||||
{
|
||||
if(atsc_para.wl_para.exc_5x==0)
|
||||
ppara->power = e2rom_read_fac_power_default_3x(chn);
|
||||
else
|
||||
ppara->power = e2rom_read_fac_power_default_5x(chn);
|
||||
}
|
||||
}
|
||||
}
|
||||
extern void fpga_read_system(S_SYSTEM_PARA *ppara);
|
||||
@@ -3443,6 +3516,7 @@ void e2rom_read_all_para(void)
|
||||
e2rom_load_default_param(2);
|
||||
e2rom_load_default_param(3);
|
||||
|
||||
e2rom_fac_power_rst_v1_1();
|
||||
if(atsc_para.wl_para.exc_5x==0) //此处是将非当前标准的we功率也置为默认值.
|
||||
{
|
||||
e2rom_fac_power_rst_5x();
|
||||
|
||||
+29
-3
@@ -80,11 +80,26 @@ void uart_debug(uint8 *pbuf,uint32 len)
|
||||
#define HMC472_STEP_MDB 500
|
||||
#define HMC472_STEPS_MAX 63
|
||||
#define ADRV9009_ATT_BASE 8000
|
||||
#define ADRV9009_ATT_MAX 40000
|
||||
|
||||
/*
|
||||
* The post-reset measurements were made in V1.0 software mode and established
|
||||
* that LCD -11 dB produces 0 dBm at the 563 MHz reference point. Therefore
|
||||
* V1.1 needs 11 dB additional attenuation for LCD 0 dB to map to the same
|
||||
* physical 0 dBm output.
|
||||
*/
|
||||
#define V1_1_OUTPUT_GAIN_MDB 11000
|
||||
|
||||
static int32 g_last_total_mdb = -1;
|
||||
static uint16 g_last_adrv9009_att = 0xFFFF;
|
||||
static volatile uint8 g_adrv9009_ready = 0;
|
||||
|
||||
static int32 hardware_output_gain_mdb(void)
|
||||
{
|
||||
return atsc_para.system_para.hardware_version == HARDWARE_VERSION_V1_1
|
||||
? V1_1_OUTPUT_GAIN_MDB : 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Validate a stored power command only after the current channel's WE power
|
||||
* has been loaded. A raw attenuation of zero is a valid physical maximum;
|
||||
@@ -98,6 +113,7 @@ static uint8 normalize_new_power_rf_db(S_WE_PARA *pwe, S_RF_PARA *prf)
|
||||
raw_total_mdb = (int32)RAW_MAX_OUTPUT_MDB
|
||||
- ((int32)prf->db + (int32)pwe->power - (int32)REF_POWER_UNITS)
|
||||
* (int32)PWR_UNIT_TO_MDB;
|
||||
raw_total_mdb += hardware_output_gain_mdb();
|
||||
|
||||
if(raw_total_mdb >= 0)
|
||||
return 0;
|
||||
@@ -1057,6 +1073,7 @@ uint16 fpga_limit_power_target(S_WE_PARA *pwe, S_RF_PARA *prf, uint16 target_pow
|
||||
total_mdb = (int32)RAW_MAX_OUTPUT_MDB
|
||||
- ((int32)prf->db + (int32)pwe->power - (int32)REF_POWER_UNITS)
|
||||
* (int32)PWR_UNIT_TO_MDB;
|
||||
total_mdb += hardware_output_gain_mdb();
|
||||
|
||||
if(total_mdb <= 0)
|
||||
return prf->power;
|
||||
@@ -1087,12 +1104,13 @@ void fpga_save_power(S_WE_PARA *pwe,S_RF_PARA *prf)
|
||||
total_mdb = (int32)RAW_MAX_OUTPUT_MDB
|
||||
- ((int32)prf->db + (int32)pwe->power - (int32)REF_POWER_UNITS)
|
||||
* (int32)PWR_UNIT_TO_MDB;
|
||||
total_mdb += hardware_output_gain_mdb();
|
||||
|
||||
if(total_mdb < 0)
|
||||
total_mdb = 0;
|
||||
|
||||
if(total_mdb > (int32)(ADRV9009_ATT_BASE + HMC472_STEPS_MAX * HMC472_STEP_MDB))
|
||||
total_mdb = ADRV9009_ATT_BASE + HMC472_STEPS_MAX * HMC472_STEP_MDB;
|
||||
if(total_mdb > (int32)(ADRV9009_ATT_MAX + HMC472_STEPS_MAX * HMC472_STEP_MDB))
|
||||
total_mdb = ADRV9009_ATT_MAX + HMC472_STEPS_MAX * HMC472_STEP_MDB;
|
||||
|
||||
if(total_mdb >= (int32)ADRV9009_ATT_BASE)
|
||||
{
|
||||
@@ -1100,7 +1118,13 @@ void fpga_save_power(S_WE_PARA *pwe,S_RF_PARA *prf)
|
||||
agc_att_val = (uint8)(hmc_extra / HMC472_STEP_MDB);
|
||||
if(agc_att_val > HMC472_STEPS_MAX)
|
||||
agc_att_val = HMC472_STEPS_MAX;
|
||||
adrv9009_att_val = (uint16)(ADRV9009_ATT_BASE + (hmc_extra % HMC472_STEP_MDB));
|
||||
|
||||
/*
|
||||
* Keep ADRV9009 near its 8000 mdB optimum while HMC472 has range.
|
||||
* Once HMC472 reaches 63, use the remaining ADRV9009 range up to
|
||||
* 40000 mdB instead of clipping the combined attenuation at 39500.
|
||||
*/
|
||||
adrv9009_att_val = (uint16)(total_mdb - agc_att_val * HMC472_STEP_MDB);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1141,6 +1165,8 @@ void fpga_save_power(S_WE_PARA *pwe,S_RF_PARA *prf)
|
||||
}
|
||||
|
||||
g_last_total_mdb = total_mdb;
|
||||
printf("[power] hardware=V1.%d offset_mdb=%d\n",
|
||||
atsc_para.system_para.hardware_version, hardware_output_gain_mdb());
|
||||
|
||||
printf("[power] we=%3d db=%3d total_mdb=%5d | agc_att=%d adrv_att=%d\n",
|
||||
pwe->power, prf->db, total_mdb, agc_att_val, adrv9009_att_val);
|
||||
|
||||
@@ -272,7 +272,7 @@
|
||||
|
||||
#define USE_NETWORK_DNS 0 // 是否配置dns
|
||||
#define USE_NEW_POWER_CFG 1 // HMC472 + ADRV9009 power allocation
|
||||
#define USE_FREQ_CHANGE_RESET_PWR 1 // 切换频点后是否先将输出功率降到-25dB
|
||||
#define USE_FREQ_CHANGE_RESET_PWR 0 // 切换频点后是否先将输出功率降到-25dB
|
||||
|
||||
|
||||
#if USE_BIG_LCD
|
||||
|
||||
@@ -38,6 +38,7 @@ typedef enum
|
||||
EEPROM_ADRV9009_ATT_L,
|
||||
EEPROM_ADRV9009_ORX_MANU_GAIN,
|
||||
EEPROM_SPEC_ENABLE,
|
||||
EEPROM_HARDWARE_VERSION,
|
||||
|
||||
|
||||
EEPROM_CHANNEL_ADDR = 0x50, //RF 相关
|
||||
@@ -188,6 +189,8 @@ typedef enum
|
||||
//工厂菜单当前WK为0x220, 工厂菜单power定义到0x300,中间预留部分空间
|
||||
EEPROM_CH1_POWER_ADDR = 0x300, //约60多字节
|
||||
EEPROM_CH2_POWER_ADDR = 0X400, //1.42(3X+)功率控制字
|
||||
// V1.1独立频点WE表;0x500~0x5A7,未配置项回退到V1.0表
|
||||
EEPROM_CH_POWER_V1_1_ADDR = 0x500,
|
||||
|
||||
EEPROM_PSTS_TS_EDIT = 0x600, //开关
|
||||
EEPROM_PSTS_TSIDH, //tsid
|
||||
|
||||
@@ -106,6 +106,15 @@
|
||||
#define WE_POWER_MIN 0
|
||||
#define WE_POWER_MAX 500
|
||||
|
||||
typedef enum
|
||||
{
|
||||
HARDWARE_VERSION_V1_0 = 0,
|
||||
HARDWARE_VERSION_V1_1,
|
||||
HARDWARE_VERSION_END
|
||||
} HARDWARE_VERSION;
|
||||
|
||||
#define DEFAULT_HARDWARE_VERSION HARDWARE_VERSION_V1_1
|
||||
|
||||
#define OCXO_MAX 10 //单位0.1hz system菜单
|
||||
#define OCXO_UNIT 106 //保存时的放大倍数
|
||||
#define LOG_RSSI_ADJUST 107 //读取tuner的rssi修正值
|
||||
@@ -372,6 +381,7 @@ typedef struct
|
||||
uint8 agc_att;
|
||||
uint16 adrv9009_att;
|
||||
uint8 orx_manu_gain;
|
||||
uint8 hardware_version;
|
||||
}S_SYSTEM_PARA,*PS_SYSTEM_PARA;
|
||||
|
||||
typedef struct
|
||||
|
||||
@@ -225,6 +225,7 @@ typedef struct
|
||||
uint8 agc_att;
|
||||
uint16 adrv9009_att;
|
||||
uint8 orx_manu_gain;
|
||||
uint8 hardware_version;
|
||||
}S_CGI_SET,*PS_CGI_SET;
|
||||
|
||||
typedef struct
|
||||
|
||||
@@ -272,6 +272,7 @@ void http_load_sys(S_CGI_SET *ppara)
|
||||
ppara->agc_att = atsc_para.system_para.agc_att;
|
||||
ppara->adrv9009_att = atsc_para.system_para.adrv9009_att;
|
||||
ppara->orx_manu_gain = atsc_para.system_para.orx_manu_gain;
|
||||
ppara->hardware_version = atsc_para.system_para.hardware_version;
|
||||
}
|
||||
|
||||
#if ERR_TO_LCM
|
||||
@@ -975,6 +976,25 @@ void http_write_sys(S_CGI_SET *ppara)
|
||||
c256_bytewrite(EEPROM_ADRV9009_ATT_L, ppara->adrv9009_att&0xff);
|
||||
}
|
||||
#endif
|
||||
if(ppara->hardware_version < HARDWARE_VERSION_END &&
|
||||
ppara->hardware_version != atsc_para.system_para.hardware_version)
|
||||
{
|
||||
/*
|
||||
* V1.1 -> V1.0 removes 13 dB of compensation. Always switch
|
||||
* RF off before applying a hardware profile change.
|
||||
*/
|
||||
atsc_para.rf_para.rf = 0;
|
||||
c256_bytewrite(EEPROM_RF_ADDR, 0);
|
||||
fpga_set_rf_output(0);
|
||||
atsc_para.system_para.hardware_version = ppara->hardware_version;
|
||||
c256_bytewrite(EEPROM_HARDWARE_VERSION, ppara->hardware_version);
|
||||
atsc_para.we_para.ch = atsc_para.rf_para.txfreq;
|
||||
e2rom_read_leak(atsc_para.we_para.ch, &atsc_para.we_para);
|
||||
fpga_save_we(&atsc_para.we_para);
|
||||
log_printf(LOG_INFO, I_USER_CFG,
|
||||
"hardware version changed to V1.%d; RF forced off; WE=%u reloaded\n",
|
||||
ppara->hardware_version, atsc_para.we_para.power);
|
||||
}
|
||||
if(ppara->orx_manu_gain!=atsc_para.system_para.orx_manu_gain){
|
||||
cfg_adrv_orx_manu_gain(ppara->orx_manu_gain);
|
||||
atsc_para.system_para.orx_manu_gain = ppara->orx_manu_gain;
|
||||
|
||||
@@ -788,6 +788,11 @@ int get_sys_cfg(char *pbuf,short bufMaxLen)
|
||||
atsc_para.system_para.adrv9009_att,
|
||||
atsc_para.system_para.orx_manu_gain
|
||||
);
|
||||
{
|
||||
size_t used = strlen(pbuf);
|
||||
if(used < (size_t)bufMaxLen)
|
||||
snprintf(pbuf + used, (size_t)bufMaxLen - used, "#%u", atsc_para.system_para.hardware_version);
|
||||
}
|
||||
|
||||
#if CGI_PRINT
|
||||
//printf("[%s,%d] %s\n", __FUNCTION__,__LINE__,pbuf);
|
||||
@@ -888,6 +893,12 @@ int set_sys_cfg(char *pbuf, short bufMaxLen)
|
||||
p_cgi_sys_para->adrv9009_att = (uint16)atoi(paraBuf[13]);
|
||||
#endif
|
||||
p_cgi_sys_para->orx_manu_gain = (uint16)atoi(paraBuf[14]);
|
||||
if(paraNum > 15)
|
||||
{
|
||||
uint8 hardware_version = (uint8)atoi(paraBuf[15]);
|
||||
if(hardware_version < HARDWARE_VERSION_END)
|
||||
p_cgi_sys_para->hardware_version = hardware_version;
|
||||
}
|
||||
}
|
||||
|
||||
#if 1
|
||||
|
||||
@@ -230,6 +230,7 @@ function SetFormDefaults(){
|
||||
cf0.agc_att.value = Number(syspara[i++])*(-0.5);
|
||||
cf0.adrv9009_att.value = syspara[i++];
|
||||
cf0.orx_manu_gain.value = syspara[i++];
|
||||
cf0.hardware_version.value = (syspara[i] === undefined || Number(syspara[i]) !== 0) ? 1 : 0;
|
||||
|
||||
// sysnet form1
|
||||
i = 1;
|
||||
@@ -478,6 +479,7 @@ function set_syspara() {
|
||||
postData += "#"+cf.agc_att.value;
|
||||
postData += "#"+cf.adrv9009_att.value;
|
||||
postData += "#"+cf.orx_manu_gain.value;
|
||||
postData += "#"+cf.hardware_version.value;
|
||||
|
||||
if(cf.ab_mode.value == "1" && Number(cf.adp.value) > 0) {
|
||||
alert("The ADPC cannot be set to Hold or Update or UpdateLIN/UpdateNLIN mode when 'FSSI Refresh' switch is 'On'. Please change 'FSSI Refresh' to 'Off'.");
|
||||
@@ -675,7 +677,10 @@ function uploadfile(){
|
||||
// 1. Update the Text (You already have this)
|
||||
result.innerHTML = "Uploading package ... " + percent + '%';
|
||||
|
||||
// 2. ADD THIS LINE to update the Green Bar visual
|
||||
// 2. Show + update the Green Bar. Starts display:none so it is not an empty
|
||||
// grey bar at rest (matches the sibling #prog_id / #rst_progid pattern);
|
||||
// revealed here when upload begins, hidden again on completion below.
|
||||
$("#progress").show();
|
||||
document.getElementById('progress').value = percent;
|
||||
|
||||
if(e.loaded == e.total){
|
||||
@@ -751,6 +756,7 @@ function uploadFpgaFile(){
|
||||
xhr.upload.onprogress = function(e){
|
||||
var percent = Math.round(e.loaded / e.total * 100);
|
||||
result.innerHTML = "Uploading .mcs ... " + percent + '%';
|
||||
$("#fpga_progress").show(); // reveal on upload start (starts display:none, sibling pattern)
|
||||
document.getElementById('fpga_progress').value = percent;
|
||||
if(e.loaded == e.total){
|
||||
// upload done -> the board now erases+writes the flash; track its progress
|
||||
@@ -1612,6 +1618,16 @@ function set_timezone() {
|
||||
<input maxlength="3" size="5" name="orx_manu_gain" value="">(195~255)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>HardwareVersion</td>
|
||||
<td>
|
||||
<select name="hardware_version" id="hardware_version" style="width:100px">
|
||||
<option value="0">V1.0</option>
|
||||
<option value="1">V1.1</option>
|
||||
</select>
|
||||
</td>
|
||||
<td colspan="2">Changing this setting turns RF output Off.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="button" class="btn-modern" disabled id="para_set_id" alt="Set" value="Set" onclick="return set_syspara();"></td>
|
||||
</tr>
|
||||
@@ -1825,7 +1841,7 @@ function set_timezone() {
|
||||
<progress id="prog_id" class="aw-progress" style="width:100%; margin-left:1px; display:none" value="0" max="100"></progress>
|
||||
<br><br>
|
||||
<span id='result' style="color:var(--info-text);font-size:18px"></span>
|
||||
<progress id='progress' class="aw-progress" style="width:100%; margin-left:1px" value="0" max="100"></progress>
|
||||
<progress id='progress' class="aw-progress" style="width:100%; margin-left:1px; display:none" value="0" max="100"></progress>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
@@ -1844,7 +1860,7 @@ function set_timezone() {
|
||||
<br>
|
||||
<div>
|
||||
<span id='fpga_result' style="color:var(--info-text);font-size:18px"></span>
|
||||
<progress id='fpga_progress' class="aw-progress" style="width:100%; margin-left:1px" value="0" max="100"></progress>
|
||||
<progress id='fpga_progress' class="aw-progress" style="width:100%; margin-left:1px; display:none" value="0" max="100"></progress>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
|
||||
Reference in New Issue
Block a user