Index: firmware/App/Controllers/DialysateFlow.c =================================================================== diff -u -r3dd12fb9d032f85126db82ca48812a4652a5b75f -r256d5cb05f1ef09e19e2f2733a111f600c73a7ee --- firmware/App/Controllers/DialysateFlow.c (.../DialysateFlow.c) (revision 3dd12fb9d032f85126db82ca48812a4652a5b75f) +++ firmware/App/Controllers/DialysateFlow.c (.../DialysateFlow.c) (revision 256d5cb05f1ef09e19e2f2733a111f600c73a7ee) @@ -8,7 +8,7 @@ * @file DialysateFlow.c * * @author (last) Dara Navaei -* @date (last) 25-May-2022 +* @date (last) 31-Aug-2022 * * @author (original) Hung Nguyen * @date (original) 20-Oct-2021 @@ -17,6 +17,7 @@ #include +#include "FlowSensors.h" #include "FPGA.h" #include "NVDataMgmt.h" #include "PersistentAlarm.h" @@ -129,11 +130,11 @@ F32 flow = DIALYSATE_FLOW_ADC_TO_LPM_FACTOR / ( (F32)measuredFlowReadingsSum * FLOW_AVERAGE_MULTIPLIER ); // Convert flow sensor period to L/min // Apply calibration to flow sensor reading - measuredDialysateFlowRateLPM.data = pow(flow, 4) * flowSensorsCalRecord.flowSensors[ CAL_DATA_DIALYSATE_FLOW_SENSOR ].fourthOrderCoeff + - pow(flow, 3) * flowSensorsCalRecord.flowSensors[ CAL_DATA_DIALYSATE_FLOW_SENSOR ].thirdOrderCoeff + - pow(flow, 2) * flowSensorsCalRecord.flowSensors[ CAL_DATA_DIALYSATE_FLOW_SENSOR ].secondOrderCoeff + - flow * flowSensorsCalRecord.flowSensors[ CAL_DATA_DIALYSATE_FLOW_SENSOR ].gain + - flowSensorsCalRecord.flowSensors[ CAL_DATA_DIALYSATE_FLOW_SENSOR ].offset; + measuredDialysateFlowRateLPM.data = pow( flow, 4 ) * flowSensorsCalRecord.flowSensors[ CAL_DATA_DIALYSATE_FLOW_SENSOR ].fourthOrderCoeff + + pow( flow, 3 ) * flowSensorsCalRecord.flowSensors[ CAL_DATA_DIALYSATE_FLOW_SENSOR ].thirdOrderCoeff + + pow( flow, 2 ) * flowSensorsCalRecord.flowSensors[ CAL_DATA_DIALYSATE_FLOW_SENSOR ].secondOrderCoeff + + flow * flowSensorsCalRecord.flowSensors[ CAL_DATA_DIALYSATE_FLOW_SENSOR ].gain + + flowSensorsCalRecord.flowSensors[ CAL_DATA_DIALYSATE_FLOW_SENSOR ].offset; // If the flow is less than a certain value, FPGA will return 0xFFFF meaning that the flow is 0. if ( FLOW_SENSOR_ZERO_READING == dialysateFlowReading ) @@ -167,7 +168,7 @@ { DIALYSATE_FLOW_METER_DATA_T dialysateFlowData; - dialysateFlowData.measuredDialysateFlowRate = getMeasuredDialysateFlowRate(); + dialysateFlowData.measuredDialysateFlowRate = getMeasuredFlowRateLPM( DIALYSATE_FLOW_SENSOR ); broadcastData( MSG_ID_DG_DIALYSATE_FLOW_METER_DATA, COMM_BUFFER_OUT_CAN_DG_BROADCAST, (U08*)&dialysateFlowData, sizeof( DIALYSATE_FLOW_METER_DATA_T ) ); dialysateFlowDataPublicationTimerCounter = 0; }