main/co2meter.c

changeset 8
c6bbd1380f22
parent 7
6eafc4c2bf3d
child 9
a85995941d0d
--- a/main/co2meter.c	Wed Oct 09 22:51:37 2019 +0200
+++ b/main/co2meter.c	Fri Oct 11 13:12:34 2019 +0200
@@ -279,14 +279,21 @@
 			/* Copy measured data and calculate results */
 			if (xSemaphoreTake(xSemaphoreUnits, 25) == pdTRUE) {
 			    for (int i = 0; i < 3; i++) {
+				if (i == 0)
+				    units[i].mode = 1;
 			    	units[i].temperature = temp;
 			    	units[i].temperature_state = state;
+				units[i].alarm = 0;
+				if (state)
+				    units[i].alarm |= ALARM_SYS_TEMPERATURE & ALARM_UNIT_TEMPERATURE;
 			    	strncpy(units[i].temperature_rom_code, rom_code, 17);
 			    	if (xSemaphoreTake(xSemaphoreADC, 10) == pdTRUE) {
 				    units[i].pressure_state = adc_state->Pressure[i].error;
 				    units[i].pressure_channel = adc_state->Pressure[i].channel;
 				    units[i].pressure_voltage = adc_state->Pressure[i].voltage;
 				    units[i].pressure_zero = 110;
+				    if (units[i].pressure_state || units[i].pressure_voltage < 80)
+					units[i].alarm |= ALARM_UNIT_PRESSURE;
 				    int P = (units[i].pressure_voltage / (adc_state->Batt_voltage / 1000) - units[i].pressure_zero) * 14; // in bar
 				    if (P < 0)
 				    	P = 0;

mercurial