thermferm/server.c

changeset 49
92a9ca143677
parent 48
d8c64f81b192
child 51
a03b6dac5398
equal deleted inserted replaced
48:d8c64f81b192 49:92a9ca143677
56 56
57 float cv_beerDiff = 0.0; 57 float cv_beerDiff = 0.0;
58 58
59 59
60 60
61 void defaultControlsettings(void) 61 void defaultControlSettings(void)
62 { 62 {
63 cs_mode = 'o'; /* o = Off, f = fridge, b = beer, p = profile-run */ 63 cs_mode = 'o'; /* o = Off, f = fridge, b = beer, p = profile-run */
64 cs_beerSet = 20.0; 64 cs_beerSet = 20.0;
65 cs_fridgeSet = 20.0; 65 cs_fridgeSet = 20.0;
66 cs_heatEstimator = 0.2; 66 cs_heatEstimator = 0.2;
74 cc_tempFormat = 'C'; 74 cc_tempFormat = 'C';
75 cc_tempSetMin = 1.0; 75 cc_tempSetMin = 1.0;
76 cc_tempSetMax = 30.0; 76 cc_tempSetMax = 30.0;
77 cc_idleRangeH = 1.000; 77 cc_idleRangeH = 1.000;
78 cc_idleRangeL = -1.000; 78 cc_idleRangeL = -1.000;
79 }
80
81
82
83 void defaultControlVariables(void)
84 {
85 cv_beerDiff = 0.0;
86 } 79 }
87 80
88 81
89 82
90 /* 83 /*
194 } else if (strncmp(buf, "getControlSettings", 18) == 0) { 187 } else if (strncmp(buf, "getControlSettings", 18) == 0) {
195 srv_send("{ \"mode\":\"%c\", \"beerSet\":%.1f, \"fridgeSet\":%.1f, \"heatEstimator\":%.1f, \"coolEstimator\":%.1f }", 188 srv_send("{ \"mode\":\"%c\", \"beerSet\":%.1f, \"fridgeSet\":%.1f, \"heatEstimator\":%.1f, \"coolEstimator\":%.1f }",
196 cs_mode, cs_beerSet, cs_fridgeSet, cs_heatEstimator, cs_coolEstimator); 189 cs_mode, cs_beerSet, cs_fridgeSet, cs_heatEstimator, cs_coolEstimator);
197 } else if (strncmp(buf, "getControlVariables", 19) == 0) { 190 } else if (strncmp(buf, "getControlVariables", 19) == 0) {
198 srv_send("{ \"beerDiff\":%.2f }", cv_beerDiff); 191 srv_send("{ \"beerDiff\":%.2f }", cv_beerDiff);
192 } else if (strncmp(buf, "loadDefaultControlSettings", 26) == 0) {
193 defaultControlSettings();
194 srv_send("ack");
195 } else if (strncmp(buf, "loadDefaultControlConstants", 27) == 0) {
196 defaultControlConstants();
197 srv_send("ack");
199 } else if (strncmp(buf, "setBeer=", 8) == 0) { 198 } else if (strncmp(buf, "setBeer=", 8) == 0) {
200 inp = xstrcpy(buf+8); 199 inp = xstrcpy(buf+8);
201 rc = sscanf(inp, "%f", &newtemp); 200 rc = sscanf(inp, "%f", &newtemp);
202 if (debug) 201 if (debug)
203 fprintf(stdout, "new temp from %s, %.1f, rc=%d\n", inp, newtemp, rc); 202 fprintf(stdout, "new temp from %s, %.1f, rc=%d\n", inp, newtemp, rc);
220 cs_fridgeSet = newtemp; 219 cs_fridgeSet = newtemp;
221 } else { 220 } else {
222 srv_send("err"); 221 srv_send("err");
223 } 222 }
224 free(inp); 223 free(inp);
224 } else if (strncmp(buf, "setOff", 6) == 0) {
225 if (debug)
226 fprintf(stdout, "temperature control disabled\n");
227 cs_mode = 'o';
228 srv_send("ack");
225 } else { 229 } else {
226 if (debug) 230 if (debug)
227 fprintf(stdout, "unknown command \"%s\"\n", buf); 231 fprintf(stdout, "unknown command \"%s\"\n", buf);
228 srv_send((char *)"ERR"); 232 srv_send((char *)"ERR");
229 } 233 }

mercurial