Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -rf10e393f3d4c017d7e6f252b6ee203042ea5ee67 -r95b275466588d40625b0fbb2e8a6034f95940e14 --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision f10e393f3d4c017d7e6f252b6ee203042ea5ee67) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision 95b275466588d40625b0fbb2e8a6034f95940e14) @@ -197,9 +197,9 @@ static U32 emptySalineBagCtr = 0; ///< Timer counter for empty bag detection. -static F32 bloodPumpOcclReadings[ SIZE_OF_BLOODPUMP_OCCL_ROLLING_AVG ]; ///< Holds blood pump occlusion rolling average. +static U32 bloodPumpOcclReadings[ SIZE_OF_BLOODPUMP_OCCL_ROLLING_AVG ]; ///< Holds blood pump occlusion rolling average. static U32 bloodPumpOcclReadingsIdx = 0; ///< Index for next sample in rolling average array. -static F32 bloodPumpOcclReadingsTotal = 0.0; ///< Rolling total - used to calc average. +static U32 bloodPumpOcclReadingsTotal = 0; ///< Rolling total - used to calc average. static U32 bloodPumpOcclReadingsCount = 0; ///< Number of samples in blood pump occl rolling average buffer. static F32 artPressureReadingsLong[ SIZE_OF_LONG_ART_ROLLING_AVG ]; ///< Holds flow samples for long arterial pressure rolling average. @@ -240,7 +240,7 @@ static void determineArtVenPressureLimits( void ); static void filterInlinePressureReadings( F32 artPres, F32 venPres ); static void setOcclusionBaselineDuringTreatement( void ); -static void filterBloodPumpOcclReadings( F32 bloodPumpOccl ); +static void filterBloodPumpOcclReadings( U32 bloodPumpOccl ); /*********************************************************************//** * @brief @@ -889,7 +889,7 @@ bloodPumpOcclusion.data = (U32)getFPGABloodPumpOcclusion(); // Filter blood pump occlusion readings - filterBloodPumpOcclReadings( (F32)getMeasuredBloodPumpOcclusion() ); + filterBloodPumpOcclReadings( getMeasuredBloodPumpOcclusion() ); } /*********************************************************************//** @@ -1363,7 +1363,7 @@ * @param bloodPumpOccl newest blood pump occlusion sample to add to filters * @return none *************************************************************************/ -static void filterBloodPumpOcclReadings( F32 bloodPumpOccl ) +static void filterBloodPumpOcclReadings( U32 bloodPumpOccl ) { if ( bloodPumpOcclReadingsCount >= SIZE_OF_BLOODPUMP_OCCL_ROLLING_AVG ) { @@ -1373,7 +1373,7 @@ bloodPumpOcclReadingsTotal += bloodPumpOccl; bloodPumpOcclReadingsIdx = INC_WRAP( bloodPumpOcclReadingsIdx, 0, SIZE_OF_BLOODPUMP_OCCL_ROLLING_AVG - 1 ); bloodPumpOcclReadingsCount = INC_CAP( bloodPumpOcclReadingsCount, SIZE_OF_BLOODPUMP_OCCL_ROLLING_AVG ); - filteredBloodPumpOccl.data = bloodPumpOcclReadingsTotal / (F32)bloodPumpOcclReadingsCount; + filteredBloodPumpOccl.data = (F32)bloodPumpOcclReadingsTotal / (F32)bloodPumpOcclReadingsCount; } /*********************************************************************//** @@ -1402,7 +1402,7 @@ data.arterialLongFilterPres = longFilteredArterialPressure; data.venousLongFilterPres = longFilteredVenousPressure; data.bldPumpOcclusionLongFilter = getFilteredBloodPumpOccl(); - data.partialOcclBaseline = (F32)PARTIAL_OCCLUSION_THRESHOLD_OFFSET + getBloodPumpPartialOcclBaseline(); + data.partialOcclBaseline = getBloodPumpPartialOcclBaseline(); broadcastData( MSG_ID_PRESSURE_OCCLUSION_DATA, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&data, sizeof( PRESSURE_OCCLUSION_DATA_T ) ); presOcclDataPublicationTimerCounter = 0;