1027 xmlFree(key); |
1027 xmlFree(key); |
1028 } |
1028 } |
1029 |
1029 |
1030 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_IMAX"))) { |
1030 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_IMAX"))) { |
1031 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1031 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1032 if (sscanf((const char *)key, "%f", &val) == 1) |
1032 if (sscanf((const char *)key, "%f", &fval) == 1) |
1033 unit->PID_hlt->iMax = val; |
1033 unit->PID_hlt->iMax = fval; |
1034 xmlFree(key); |
1034 xmlFree(key); |
1035 } |
1035 } |
1036 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_IGAIN"))) { |
1036 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_IGAIN"))) { |
1037 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1037 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1038 if (sscanf((const char *)key, "%f", &val) == 1) |
1038 if (sscanf((const char *)key, "%f", &fval) == 1) |
1039 unit->PID_hlt->iGain = val; |
1039 unit->PID_hlt->iGain = fval; |
1040 xmlFree(key); |
1040 xmlFree(key); |
1041 } |
1041 } |
1042 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_PGAIN"))) { |
1042 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_PGAIN"))) { |
1043 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1043 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1044 if (sscanf((const char *)key, "%f", &val) == 1) |
1044 if (sscanf((const char *)key, "%f", &fval) == 1) |
1045 unit->PID_hlt->pGain = val; |
1045 unit->PID_hlt->pGain = fval; |
1046 xmlFree(key); |
1046 xmlFree(key); |
1047 } |
1047 } |
1048 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_DGAIN"))) { |
1048 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_DGAIN"))) { |
1049 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1049 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1050 if (sscanf((const char *)key, "%f", &val) == 1) |
1050 if (sscanf((const char *)key, "%f", &fval) == 1) |
1051 unit->PID_hlt->dGain = val; |
1051 unit->PID_hlt->dGain = fval; |
1052 xmlFree(key); |
1052 xmlFree(key); |
1053 } |
1053 } |
1054 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_INPUT"))) { |
1054 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_INPUT"))) { |
1055 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1055 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1056 if (sscanf((const char *)key, "%f", &val) == 1) |
1056 if (sscanf((const char *)key, "%f", &fval) == 1) |
1057 unit->PID_hlt->Input = val; |
1057 unit->PID_hlt->Input = fval; |
1058 xmlFree(key); |
1058 xmlFree(key); |
1059 } |
1059 } |
1060 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_ERR"))) { |
1060 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_ERR"))) { |
1061 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1061 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1062 if (sscanf((const char *)key, "%f", &val) == 1) |
1062 if (sscanf((const char *)key, "%f", &fval) == 1) |
1063 unit->PID_hlt->Err = val; |
1063 unit->PID_hlt->Err = fval; |
1064 xmlFree(key); |
1064 xmlFree(key); |
1065 } |
1065 } |
1066 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_ERRLAST"))) { |
1066 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_ERRLAST"))) { |
1067 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1067 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1068 if (sscanf((const char *)key, "%f", &val) == 1) |
1068 if (sscanf((const char *)key, "%f", &fval) == 1) |
1069 unit->PID_hlt->ErrLast = val; |
1069 unit->PID_hlt->ErrLast = fval; |
1070 xmlFree(key); |
1070 xmlFree(key); |
1071 } |
1071 } |
1072 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_ISTATE"))) { |
1072 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_ISTATE"))) { |
1073 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1073 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1074 if (sscanf((const char *)key, "%f", &val) == 1) |
1074 if (sscanf((const char *)key, "%f", &fval) == 1) |
1075 unit->PID_hlt->iState = val; |
1075 unit->PID_hlt->iState = fval; |
1076 xmlFree(key); |
1076 xmlFree(key); |
1077 } |
1077 } |
1078 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_SETP"))) { |
1078 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_SETP"))) { |
1079 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1079 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1080 if (sscanf((const char *)key, "%f", &val) == 1) |
1080 if (sscanf((const char *)key, "%f", &fval) == 1) |
1081 unit->PID_hlt->SetP = val; |
1081 unit->PID_hlt->SetP = fval; |
1082 xmlFree(key); |
1082 xmlFree(key); |
1083 } |
1083 } |
1084 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_OUTP"))) { |
1084 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_OUTP"))) { |
1085 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1085 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1086 if (sscanf((const char *)key, "%f", &val) == 1) |
1086 if (sscanf((const char *)key, "%f", &fval) == 1) |
1087 unit->PID_hlt->OutP = val; |
1087 unit->PID_hlt->OutP = fval; |
1088 xmlFree(key); |
1088 xmlFree(key); |
1089 } |
1089 } |
1090 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_MODE"))) { |
1090 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_HLT_MODE"))) { |
1091 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1091 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1092 for (i = 0; i < 3; i++) { |
1092 for (i = 0; i < 3; i++) { |
1098 xmlFree(key); |
1098 xmlFree(key); |
1099 } |
1099 } |
1100 |
1100 |
1101 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_IMAX"))) { |
1101 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_IMAX"))) { |
1102 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1102 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1103 if (sscanf((const char *)key, "%f", &val) == 1) |
1103 if (sscanf((const char *)key, "%f", &fval) == 1) |
1104 unit->PID_mlt->iMax = val; |
1104 unit->PID_mlt->iMax = fval; |
1105 xmlFree(key); |
1105 xmlFree(key); |
1106 } |
1106 } |
1107 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_IGAIN"))) { |
1107 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_IGAIN"))) { |
1108 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1108 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1109 if (sscanf((const char *)key, "%f", &val) == 1) |
1109 if (sscanf((const char *)key, "%f", &fval) == 1) |
1110 unit->PID_mlt->iGain = val; |
1110 unit->PID_mlt->iGain = fval; |
1111 xmlFree(key); |
1111 xmlFree(key); |
1112 } |
1112 } |
1113 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_PGAIN"))) { |
1113 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_PGAIN"))) { |
1114 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1114 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1115 if (sscanf((const char *)key, "%f", &val) == 1) |
1115 if (sscanf((const char *)key, "%f", &fval) == 1) |
1116 unit->PID_mlt->pGain = val; |
1116 unit->PID_mlt->pGain = fval; |
1117 xmlFree(key); |
1117 xmlFree(key); |
1118 } |
1118 } |
1119 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_DGAIN"))) { |
1119 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_DGAIN"))) { |
1120 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1120 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1121 if (sscanf((const char *)key, "%f", &val) == 1) |
1121 if (sscanf((const char *)key, "%f", &fval) == 1) |
1122 unit->PID_mlt->dGain = val; |
1122 unit->PID_mlt->dGain = fval; |
1123 xmlFree(key); |
1123 xmlFree(key); |
1124 } |
1124 } |
1125 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_INPUT"))) { |
1125 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_INPUT"))) { |
1126 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1126 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1127 if (sscanf((const char *)key, "%f", &val) == 1) |
1127 if (sscanf((const char *)key, "%f", &fval) == 1) |
1128 unit->PID_mlt->Input = val; |
1128 unit->PID_mlt->Input = fval; |
1129 xmlFree(key); |
1129 xmlFree(key); |
1130 } |
1130 } |
1131 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_ERR"))) { |
1131 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_ERR"))) { |
1132 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1132 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1133 if (sscanf((const char *)key, "%f", &val) == 1) |
1133 if (sscanf((const char *)key, "%f", &fval) == 1) |
1134 unit->PID_mlt->Err = val; |
1134 unit->PID_mlt->Err = fval; |
1135 xmlFree(key); |
1135 xmlFree(key); |
1136 } |
1136 } |
1137 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_ERRLAST"))) { |
1137 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_ERRLAST"))) { |
1138 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1138 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1139 if (sscanf((const char *)key, "%f", &val) == 1) |
1139 if (sscanf((const char *)key, "%f", &fval) == 1) |
1140 unit->PID_mlt->ErrLast = val; |
1140 unit->PID_mlt->ErrLast = fval; |
1141 xmlFree(key); |
1141 xmlFree(key); |
1142 } |
1142 } |
1143 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_ISTATE"))) { |
1143 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_ISTATE"))) { |
1144 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1144 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1145 if (sscanf((const char *)key, "%f", &val) == 1) |
1145 if (sscanf((const char *)key, "%f", &fval) == 1) |
1146 unit->PID_mlt->iState = val; |
1146 unit->PID_mlt->iState = fval; |
1147 xmlFree(key); |
1147 xmlFree(key); |
1148 } |
1148 } |
1149 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_SETP"))) { |
1149 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_SETP"))) { |
1150 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1150 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1151 if (sscanf((const char *)key, "%f", &val) == 1) |
1151 if (sscanf((const char *)key, "%f", &fval) == 1) |
1152 unit->PID_mlt->SetP = val; |
1152 unit->PID_mlt->SetP = fval; |
1153 xmlFree(key); |
1153 xmlFree(key); |
1154 } |
1154 } |
1155 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_OUTP"))) { |
1155 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_OUTP"))) { |
1156 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1156 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1157 if (sscanf((const char *)key, "%f", &val) == 1) |
1157 if (sscanf((const char *)key, "%f", &fval) == 1) |
1158 unit->PID_mlt->OutP = val; |
1158 unit->PID_mlt->OutP = fval; |
1159 xmlFree(key); |
1159 xmlFree(key); |
1160 } |
1160 } |
1161 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_MODE"))) { |
1161 if ((!xmlStrcmp(cur->name, (const xmlChar *)"PID_MLT_MODE"))) { |
1162 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1162 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); |
1163 for (i = 0; i < 3; i++) { |
1163 for (i = 0; i < 3; i++) { |