|
@@ -259,17 +259,17 @@ void ups_status_response(char *data)
|
|
|
|
|
|
len = get_ups_param(data, " ", value);
|
|
|
data += (len + 1);
|
|
|
+ if(len > 0){
|
|
|
+ UPS.Vakb_curr = atof(value);
|
|
|
+ }
|
|
|
if(sSettings.UPS_Setting.type_ups == ups_kestar){
|
|
|
- if(len > 0){
|
|
|
-
|
|
|
-
|
|
|
- UPS.Vakb_curr = atof(value);
|
|
|
- if(UPS.Vakb_curr < 7){
|
|
|
- UPS.SOC = round(100*(UPS.Vakb_curr - sSettings.UPS_Setting.Ucellmin)/(sSettings.UPS_Setting.Ucellmax - sSettings.UPS_Setting.Ucellmin));
|
|
|
- }
|
|
|
- else{
|
|
|
- UPS.SOC = round(100*(UPS.Vakb_curr/AKB_NUM_CELL - sSettings.UPS_Setting.Ucellmin)/(sSettings.UPS_Setting.Ucellmax - sSettings.UPS_Setting.Ucellmin));
|
|
|
- }
|
|
|
+
|
|
|
+
|
|
|
+ if(UPS.Vakb_curr < 7){
|
|
|
+ UPS.SOC = round(100*(UPS.Vakb_curr - sSettings.UPS_Setting.Ucellmin)/(sSettings.UPS_Setting.Ucellmax - sSettings.UPS_Setting.Ucellmin));
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ UPS.SOC = round(100*(UPS.Vakb_curr/AKB_NUM_CELL - sSettings.UPS_Setting.Ucellmin)/(sSettings.UPS_Setting.Ucellmax - sSettings.UPS_Setting.Ucellmin));
|
|
|
}
|
|
|
}
|
|
|
len = get_ups_param(data, " ", value);
|
|
@@ -557,7 +557,6 @@ void ups_version_response(char *data)
|
|
|
|
|
|
len = get_ups_param(data, "\r", value);
|
|
|
strncpy(UPS.vertion, value, 8);
|
|
|
- strncat(UPS.vertion, "/", 1);
|
|
|
}
|
|
|
|
|
|
void ups_version_part2_response(char *data)
|
|
@@ -572,9 +571,13 @@ void ups_version_part2_response(char *data)
|
|
|
UPS.Flag_Present = true;
|
|
|
UPS.cnt_err_ups = 0;
|
|
|
|
|
|
+ if (strncmp(ups_pdu.data, "(NAK", 4) == 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
data++;
|
|
|
|
|
|
- if(UPS.vertion[9] != 0){
|
|
|
+ if(UPS.vertion[8] != 0){
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -584,6 +587,7 @@ void ups_version_part2_response(char *data)
|
|
|
data += (len + 1);
|
|
|
|
|
|
len = get_ups_param(data, "\r", value);
|
|
|
+ strncat(UPS.vertion, "/", 1);
|
|
|
strncpy(&UPS.vertion[9], value, 8);
|
|
|
}
|
|
|
|
|
@@ -619,7 +623,7 @@ void ups_protocol_id_response(char *data)
|
|
|
UPS.cnt_err_ups = 0;
|
|
|
|
|
|
if(data[0] != '('){
|
|
|
- if(strncmp(data, "NAK", 3) == 0){
|
|
|
+ if(strncmp(data, "NAK", 3) == 0 || strncmp(data, "QPI", 3) == 0 || strncmp(data, " \r", 2) == 0){
|
|
|
sSettings.UPS_Setting.type_ups = ups_kestar;
|
|
|
}
|
|
|
return;
|