|
|
@@ -2459,7 +2459,7 @@ static int get_power(int ch_id, GlobalPowerManger *power)
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
-static int proc_power(char *path, int op, GlobalPowerManger *power)
|
|
|
+static int proc_power(char *path, int op, GlobalPowerManger *power, int flag)
|
|
|
{
|
|
|
int i,j,r=0;
|
|
|
char temp[100];
|
|
|
@@ -2595,7 +2595,7 @@ static int proc_power(char *path, int op, GlobalPowerManger *power)
|
|
|
r = ini_rw(dic, token, &pover->product_pwrcon_over_upper_threshold_ctrl_para, sizeof(pover->product_pwrcon_over_upper_threshold_ctrl_para), TYPE_INT, op, 1); if(r) break;
|
|
|
|
|
|
if(chk_ok==0) {
|
|
|
- r = proc_power(path, PARAS_CHECK, tmp); if(r) break;
|
|
|
+ r = proc_power(path, PARAS_CHECK, tmp, 0); if(r) break;
|
|
|
cnt_ok++;
|
|
|
}
|
|
|
else {
|
|
|
@@ -2604,11 +2604,13 @@ static int proc_power(char *path, int op, GlobalPowerManger *power)
|
|
|
r = dev_update_power_manage_genera_info(dm->db, 0, tmp->product_ch_id, tmp); if(r) break;
|
|
|
r = dev_update_power_manage_over_info(dm->db, 0, tmp->product_ch_id, tmp); if(r) break;
|
|
|
|
|
|
- r = get_power(tmp->product_ch_id, &pwr); if(r) break;
|
|
|
- tmp->_PowerInfo = pwr._PowerInfo;
|
|
|
- r = g_switch_set_all_single_threshold(&dm->_globalRelaySampManger,
|
|
|
- tmp->product_ch_type, tmp->product_saddr,
|
|
|
- tmp->product_ch_addr, tmp, 0);
|
|
|
+ if(flag) {
|
|
|
+ r = get_power(tmp->product_ch_id, &pwr); if(r) break;
|
|
|
+ tmp->_PowerInfo = pwr._PowerInfo;
|
|
|
+ r = g_switch_set_all_single_threshold(&dm->_globalRelaySampManger,
|
|
|
+ tmp->product_ch_type, tmp->product_saddr,
|
|
|
+ tmp->product_ch_addr, tmp, 0);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -2640,7 +2642,7 @@ static int proc_power(char *path, int op, GlobalPowerManger *power)
|
|
|
|
|
|
list_for_each_entry(tmp, &ppower->list, list) {
|
|
|
if(!tmp) break;
|
|
|
- r = proc_power(path, PARAS_CHECK, tmp); if(r) break;
|
|
|
+ r = proc_power(path, PARAS_CHECK, tmp, 0); if(r) break;
|
|
|
|
|
|
sprintf(token, "power:channel%d.addr",tmp->product_ch_id);
|
|
|
r = ini_rw(dic, token, &tmp->product_saddr, sizeof(tmp->product_saddr), TYPE_INT, op, 1); if(r) break;
|
|
|
@@ -2749,7 +2751,7 @@ static int proc_power(char *path, int op, GlobalPowerManger *power)
|
|
|
|
|
|
return r;
|
|
|
}
|
|
|
-static int proc_power3(char *path, int op, GlobalTreeACManager *power)
|
|
|
+static int proc_power3(char *path, int op, GlobalTreeACManager *power, int flag)
|
|
|
{
|
|
|
int i,j,r=0;
|
|
|
char temp[100];
|
|
|
@@ -2886,7 +2888,7 @@ static int proc_power3(char *path, int op, GlobalTreeACManager *power)
|
|
|
r = ini_rw(dic, token, &pover->product_pwrcon_over_upper_threshold_ctrl_para, sizeof(pover->product_pwrcon_over_upper_threshold_ctrl_para), TYPE_INT, op, 1); if(r) break;
|
|
|
|
|
|
if(chk_ok==0) {
|
|
|
- r = proc_power3(path, PARAS_CHECK, tmp); if(r) break;
|
|
|
+ r = proc_power3(path, PARAS_CHECK, tmp, 0); if(r) break;
|
|
|
cnt_ok++;
|
|
|
}
|
|
|
else {
|
|
|
@@ -2899,11 +2901,13 @@ static int proc_power3(char *path, int op, GlobalTreeACManager *power)
|
|
|
pwr.global_over_manager = tmp->global_over_manager;
|
|
|
r = dev_update_t_ac_power_manage_over_info(dm->db, tmp); if(r) break;
|
|
|
|
|
|
- r = g_switch_set_all_single_threshold(&dm->_globalRelaySampManger,
|
|
|
- pwr.product_ch_type,
|
|
|
- tmp->product_saddr,
|
|
|
- tmp->product_ch_addr,
|
|
|
- &pwr, 0);
|
|
|
+ if(flag) {
|
|
|
+ r = g_switch_set_all_single_threshold(&dm->_globalRelaySampManger,
|
|
|
+ pwr.product_ch_type,
|
|
|
+ tmp->product_saddr,
|
|
|
+ tmp->product_ch_addr,
|
|
|
+ &pwr, 0);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -2938,7 +2942,7 @@ static int proc_power3(char *path, int op, GlobalTreeACManager *power)
|
|
|
//channelID = tmp->product_ph_id/3+1;
|
|
|
channelID = tmp->product_ph_id+1;
|
|
|
|
|
|
- r = proc_power3(path, PARAS_CHECK, tmp); if(r) break;
|
|
|
+ r = proc_power3(path, PARAS_CHECK, tmp, 0); if(r) break;
|
|
|
|
|
|
sprintf(token, "power3:channel%d.addr",channelID);
|
|
|
r = ini_rw(dic, token, &tmp->product_saddr, sizeof(tmp->product_saddr), TYPE_INT, op, 1); if(r) break;
|
|
|
@@ -3507,17 +3511,17 @@ int paras_alarm_xport(char *path, int io)
|
|
|
int r=-1,pwr3;
|
|
|
char temp[100];
|
|
|
|
|
|
- //pwr3 = is_power3();
|
|
|
+ pwr3 = is_power3();
|
|
|
if(io==PARAS_IMPORT) {
|
|
|
- r = proc_power(path, PARAS_READ, NULL);
|
|
|
- r = proc_power3(path, PARAS_READ, NULL);
|
|
|
+ r = proc_power(path, PARAS_READ, NULL, !pwr3);
|
|
|
+ r = proc_power3(path, PARAS_READ, NULL, pwr3);
|
|
|
}
|
|
|
else if(io==PARAS_EXPORT) {
|
|
|
get_curtime_str(temp,sizeof(temp));
|
|
|
sprintf(path, "/tmp/power_%s.ini", temp);
|
|
|
|
|
|
- r = proc_power(path, PARAS_WRITE, NULL);
|
|
|
- r = proc_power3(path, PARAS_WRITE, NULL);
|
|
|
+ r = proc_power(path, PARAS_WRITE, NULL, 0);
|
|
|
+ r = proc_power3(path, PARAS_WRITE, NULL, 0);
|
|
|
}
|
|
|
|
|
|
return r;
|