1285 sp, pv, unit->PID_err_old, err, P_err, unit->PID_I_err, D_err, Out); |
1285 sp, pv, unit->PID_err_old, err, P_err, unit->PID_I_err, D_err, Out); |
1286 syslog(LOG_NOTICE, "sp=%.2f pv=%.2f err_old=%.2f err=%.2f P_err=%.2f I_err=%.2f D_err=%.2f Out=%.2f", |
1286 syslog(LOG_NOTICE, "sp=%.2f pv=%.2f err_old=%.2f err=%.2f P_err=%.2f I_err=%.2f D_err=%.2f Out=%.2f", |
1287 sp, pv, unit->PID_err_old, err, P_err, unit->PID_I_err, D_err, Out); |
1287 sp, pv, unit->PID_err_old, err, P_err, unit->PID_I_err, D_err, Out); |
1288 } |
1288 } |
1289 if (unit->heater_address) { |
1289 if (unit->heater_address) { |
1290 if (unit->heater_wait < unit->heater_delay) { |
1290 if (Out >= 2) { |
1291 unit->heater_wait++; |
1291 if (unit->heater_wait < unit->heater_delay) { |
1292 syslog(LOG_NOTICE, "heater_wait %d/%d", unit->heater_wait, unit->heater_delay); |
1292 unit->heater_wait++; |
|
1293 syslog(LOG_NOTICE, "heater_wait + %d/%d", unit->heater_wait, unit->heater_delay); |
|
1294 } else { |
|
1295 if (! unit->heater_state && ! unit->cooler_state) { |
|
1296 syslog(LOG_NOTICE, "Heater Off => On"); |
|
1297 unit->heater_state = 100; |
|
1298 } |
|
1299 } |
1293 } else { |
1300 } else { |
1294 if (Out >= 2) { |
1301 if (unit->heater_wait > 0) { |
1295 if (! unit->heater_state && ! unit->cooler_state) { |
1302 unit->heater_wait--; |
1296 syslog(LOG_NOTICE, "Heater Off => On"); |
1303 syslog(LOG_NOTICE, "heater_wait - %d/%d", unit->heater_wait, unit->heater_delay); |
1297 unit->heater_wait = 0; |
1304 } else { |
1298 unit->heater_state = 100; |
1305 if (unit->heater_state) { |
|
1306 syslog(LOG_NOTICE, "Heater On => Off"); |
|
1307 unit->heater_state = 0; |
1299 } |
1308 } |
|
1309 } |
|
1310 } |
|
1311 device_out(unit->heater_address, unit->heater_state); |
|
1312 } |
|
1313 if (unit->cooler_address) { |
|
1314 if (Out <= -2) { |
|
1315 if (unit->cooler_wait < unit->cooler_delay) { |
|
1316 unit->cooler_wait++; |
|
1317 syslog(LOG_NOTICE, "cooler_wait + %d/%d", unit->cooler_wait, unit->cooler_delay); |
1300 } else { |
1318 } else { |
1301 if (unit->heater_state) { |
|
1302 syslog(LOG_NOTICE, "Heater On => Off"); |
|
1303 unit->heater_wait = 0; |
|
1304 unit->heater_state = 0; |
|
1305 } |
|
1306 } |
|
1307 } |
|
1308 device_out(unit->heater_address, unit->heater_state); |
|
1309 } |
|
1310 if (unit->cooler_address) { |
|
1311 if (unit->cooler_wait < unit->cooler_delay) { |
|
1312 unit->cooler_wait++; |
|
1313 } else { |
|
1314 if (Out <= -2) { |
|
1315 if (! unit->cooler_state && ! unit->heater_state) { |
1319 if (! unit->cooler_state && ! unit->heater_state) { |
1316 syslog(LOG_NOTICE, "Cooler Off => On"); |
1320 syslog(LOG_NOTICE, "Cooler Off => On"); |
1317 unit->cooler_wait = 0; |
|
1318 unit->cooler_state = 100; |
1321 unit->cooler_state = 100; |
1319 } |
1322 } |
|
1323 } |
|
1324 } else { |
|
1325 if (unit->cooler_wait > 0) { |
|
1326 unit->cooler_wait--; |
|
1327 syslog(LOG_NOTICE, "cooler_wait - %d/%d", unit->cooler_wait, unit->cooler_delay); |
1320 } else { |
1328 } else { |
1321 if (unit->cooler_state) { |
1329 if (unit->cooler_state) { |
1322 syslog(LOG_NOTICE, "Cooler On => Off"); |
1330 syslog(LOG_NOTICE, "Cooler On => Off"); |
1323 unit->cooler_wait = 0; |
|
1324 unit->cooler_state = 0; |
1331 unit->cooler_state = 0; |
1325 } |
1332 } |
1326 } |
1333 } |
1327 } |
1334 } |
1328 device_out(unit->cooler_address, unit->cooler_state); |
1335 device_out(unit->cooler_address, unit->cooler_state); |