safety state and input error detection
This commit is contained in:
@ -19,6 +19,7 @@
|
||||
#include "metrics.h"
|
||||
#include "outputs.h"
|
||||
#include "inputs.h"
|
||||
#include "safety.h"
|
||||
|
||||
static EventGroupHandle_t s_wifi_event_group;
|
||||
|
||||
@ -42,7 +43,7 @@ void initMetrics(void)
|
||||
BaseType_t taskCreated = xTaskCreate(
|
||||
taskMetrics, // Function to implement the task
|
||||
"taskMetrics", // Task name
|
||||
4096, // Stack size (in words, not bytes)
|
||||
16384, // Stack size (in words, not bytes)
|
||||
NULL, // Parameters to the task function (none in this case)
|
||||
5, // Task priority (higher number = higher priority)
|
||||
NULL // Task handle (optional)
|
||||
@ -123,62 +124,78 @@ void taskMetrics(void *pvParameters)
|
||||
|
||||
/*Chamber Temperature*/
|
||||
strcpy(aMetrics[u16MetricCounter].caMetricName, "chamber_temperature");
|
||||
aMetrics[u16MetricCounter].fMetricValue = getChamberTemperature(CURRENT);
|
||||
aMetrics[u16MetricCounter].fMetricValue = getChamberTemperature().fCurrentValue;
|
||||
u16MetricCounter++;
|
||||
|
||||
/*Outdoor Temperature*/
|
||||
strcpy(aMetrics[u16MetricCounter].caMetricName, "outdoor_temperature");
|
||||
aMetrics[u16MetricCounter].fMetricValue = getOutdoorTemperature(CURRENT);
|
||||
aMetrics[u16MetricCounter].fMetricValue = getOutdoorTemperature().fCurrentValue;
|
||||
u16MetricCounter++;
|
||||
|
||||
/*Chamber Temperature*/
|
||||
strcpy(aMetrics[u16MetricCounter].caMetricName, "inlet_flow_temperature");
|
||||
aMetrics[u16MetricCounter].fMetricValue = getInletFlowTemperature(CURRENT);
|
||||
aMetrics[u16MetricCounter].fMetricValue = getInletFlowTemperature().fCurrentValue;
|
||||
u16MetricCounter++;
|
||||
|
||||
/*Chamber Temperature*/
|
||||
strcpy(aMetrics[u16MetricCounter].caMetricName, "return_flow_temperature");
|
||||
aMetrics[u16MetricCounter].fMetricValue = getReturnFlowTemperature(CURRENT);
|
||||
aMetrics[u16MetricCounter].fMetricValue = getReturnFlowTemperature().fCurrentValue;
|
||||
u16MetricCounter++;
|
||||
|
||||
/*Chamber Temperature Average 10s*/
|
||||
strcpy(aMetrics[u16MetricCounter].caMetricName, "chamber_temperature_avg10");
|
||||
aMetrics[u16MetricCounter].fMetricValue = getChamberTemperature(AVERAGE_10S);
|
||||
aMetrics[u16MetricCounter].fMetricValue = getChamberTemperature().average10s.fValue;
|
||||
u16MetricCounter++;
|
||||
|
||||
/*Outdoor Temperature Average 10s*/
|
||||
strcpy(aMetrics[u16MetricCounter].caMetricName, "outdoor_temperature_avg10");
|
||||
aMetrics[u16MetricCounter].fMetricValue = getOutdoorTemperature(AVERAGE_10S);
|
||||
aMetrics[u16MetricCounter].fMetricValue = getOutdoorTemperature().average10s.fValue;
|
||||
u16MetricCounter++;
|
||||
|
||||
/*Chamber Temperature Average 10s*/
|
||||
strcpy(aMetrics[u16MetricCounter].caMetricName, "inlet_flow_temperature_avg10");
|
||||
aMetrics[u16MetricCounter].fMetricValue = getInletFlowTemperature(AVERAGE_10S);
|
||||
aMetrics[u16MetricCounter].fMetricValue = getInletFlowTemperature().average10s.fValue;
|
||||
u16MetricCounter++;
|
||||
|
||||
/*Chamber Temperature Average 10s*/
|
||||
strcpy(aMetrics[u16MetricCounter].caMetricName, "return_flow_temperature_avg10");
|
||||
aMetrics[u16MetricCounter].fMetricValue = getReturnFlowTemperature(AVERAGE_10S);
|
||||
aMetrics[u16MetricCounter].fMetricValue = getReturnFlowTemperature().average10s.fValue;
|
||||
u16MetricCounter++;
|
||||
|
||||
/*Chamber Temperature Average 60s*/
|
||||
/*Chamber Temperature Average 60s*/
|
||||
strcpy(aMetrics[u16MetricCounter].caMetricName, "chamber_temperature_avg60");
|
||||
aMetrics[u16MetricCounter].fMetricValue = getChamberTemperature(AVERAGE_60S);
|
||||
aMetrics[u16MetricCounter].fMetricValue = getChamberTemperature().average60s.fValue;
|
||||
u16MetricCounter++;
|
||||
|
||||
/*Outdoor Temperature Average 60s*/
|
||||
strcpy(aMetrics[u16MetricCounter].caMetricName, "outdoor_temperature_avg60");
|
||||
aMetrics[u16MetricCounter].fMetricValue = getOutdoorTemperature(AVERAGE_60S);
|
||||
aMetrics[u16MetricCounter].fMetricValue = getOutdoorTemperature().average60s.fValue;
|
||||
u16MetricCounter++;
|
||||
|
||||
/*Chamber Temperature Average 60s*/
|
||||
strcpy(aMetrics[u16MetricCounter].caMetricName, "inlet_flow_temperature_avg60");
|
||||
aMetrics[u16MetricCounter].fMetricValue = getInletFlowTemperature(AVERAGE_60S);
|
||||
aMetrics[u16MetricCounter].fMetricValue = getInletFlowTemperature().average60s.fValue;
|
||||
u16MetricCounter++;
|
||||
|
||||
/*Chamber Temperature Average 60s*/
|
||||
strcpy(aMetrics[u16MetricCounter].caMetricName, "return_flow_temperature_avg60");
|
||||
aMetrics[u16MetricCounter].fMetricValue = getReturnFlowTemperature(AVERAGE_60S);
|
||||
aMetrics[u16MetricCounter].fMetricValue = getReturnFlowTemperature().average60s.fValue;
|
||||
u16MetricCounter++;
|
||||
|
||||
/*Sensor status*/
|
||||
sSensorSanityCheck aChecks[NUMBER_OF_SENSOR_SANITY_CHECKS];
|
||||
getSensorSanityStates(aChecks);
|
||||
for (size_t i = 0; i < NUMBER_OF_SENSOR_SANITY_CHECKS; i++)
|
||||
{
|
||||
strcpy(aMetrics[u16MetricCounter].caMetricName, aChecks[i].name);
|
||||
strcat(aMetrics[u16MetricCounter].caMetricName, "_status");
|
||||
aMetrics[u16MetricCounter].fMetricValue = aChecks[i].status;
|
||||
u16MetricCounter++;
|
||||
}
|
||||
|
||||
/*Safety state*/
|
||||
strcpy(aMetrics[u16MetricCounter].caMetricName, "safety_state");
|
||||
aMetrics[u16MetricCounter].fMetricValue = getSafetyState();
|
||||
u16MetricCounter++;
|
||||
|
||||
vSetMetrics(aMetrics, u16MetricCounter);
|
||||
|
Reference in New Issue
Block a user