Added sensor precision initialize. Changed PID logging.

Sun, 28 Apr 2019 17:03:45 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sun, 28 Apr 2019 17:03:45 +0200
changeset 588
322a29000fd7
parent 587
b8580eedfcc7
child 589
230a502b75ec

Added sensor precision initialize. Changed PID logging.

thermferm/devices.c file | annotate | diff | comparison | revisions
thermferm/thermferm.c file | annotate | diff | comparison | revisions
--- a/thermferm/devices.c	Sun Apr 28 16:27:54 2019 +0200
+++ b/thermferm/devices.c	Sun Apr 28 17:03:45 2019 +0200
@@ -734,7 +734,7 @@
 #endif
 
     /*
-     * Set the temperature sensors to 12 bits resolution.
+     * Set the temperature sensors to 12 bits resolution and write it in EEPROM
      */
     for (device = Config.devices; device; device = device->next) {
 	if ((device->type == DEVTYPE_W1) &&
@@ -747,12 +747,10 @@
             addr = xstrcat(addr, device->address);
             addr = xstrcat(addr, (char *)"/w1_slave");
             if ((fp = fopen(addr, "w"))) {
-		rc = fprintf(fp, "12\n0\n");
+		rc = fprintf(fp, "12\n0\n");	// According to the kernel documentation. Seems to work.
 		fclose(fp);
-		if (rc == 5) {
-		    syslog(LOG_NOTICE, "written 12 bits setting to %s", addr);
-		} else {
-		    syslog(LOG_NOTICE, "error rc=%d for %s", rc, addr);
+		if (rc != 5) {
+		    syslog(LOG_NOTICE, "Program 12 bits resolution error rc=%d for %s", rc, addr);
                 }
 	    }
 	    free(addr);
--- a/thermferm/thermferm.c	Sun Apr 28 16:27:54 2019 +0200
+++ b/thermferm/thermferm.c	Sun Apr 28 17:03:45 2019 +0200
@@ -1711,11 +1711,8 @@
 			if ((unit->mode == UNITMODE_BEER) && ((unit->air_temperature / 1000.0) > (unit->PID_heat->Input + 8.0))) {
 			    unit->PID_heat->OutP = 0.0;
 			}
-//			if (debug)
-//			    fprintf(stdout, "Heat: sp=%.2f Input=%.2f iState=%.2f Err=%.2f Out=%.2f\n",
-//				unit->PID_heat->SetP, unit->PID_heat->Input, unit->PID_heat->iState, unit->PID_heat->Err, unit->PID_heat->OutP);
 			if (seconds == 60) {
-			    syslog(LOG_NOTICE, "Heat: sp=%.2f Input=%.2f iState=%.2f Err=%.2f Out=%.2f",
+			    syslog(LOG_NOTICE, "Heat: sp=%.3f Input=%.3f iState=%.3f Err=%.3f Out=%.1f",
 				unit->PID_heat->SetP, unit->PID_heat->Input, unit->PID_heat->iState, unit->PID_heat->Err, unit->PID_heat->OutP);
 			}
 		    } else {
@@ -1740,11 +1737,8 @@
 				}
 			    }
 			}
-//		    	if (debug)
-//			    fprintf(stdout, "Cool: sp=%.2f Input=%.2f iState=%.2f Err=%.2f Out=%.2f\n",
-//				unit->PID_cool->SetP, unit->PID_cool->Input, unit->PID_cool->iState, unit->PID_cool->Err, unit->PID_cool->OutP);
 		    	if (seconds == 60) {
-			    syslog(LOG_NOTICE, "Cool: sp=%.2f Input=%.2f iState=%.2f Err=%.2f Out=%.2f",
+			    syslog(LOG_NOTICE, "Cool: sp=%.3f Input=%.3f iState=%.3f Err=%.3f Out=%.1f",
 				unit->PID_cool->SetP, unit->PID_cool->Input, unit->PID_cool->iState, unit->PID_cool->Err, unit->PID_cool->OutP);
 		    	}
 		    } else {

mercurial