Index: firmware/App/Controllers/AirTrap.c =================================================================== diff -u -rccfd15568f1e3d304320c2babb2fd4bcf0413304 -r9bb9f9bb8b96f057b2ad8dd42c5ac4f0861c1d90 --- firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision ccfd15568f1e3d304320c2babb2fd4bcf0413304) +++ firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision 9bb9f9bb8b96f057b2ad8dd42c5ac4f0861c1d90) @@ -183,7 +183,9 @@ { if ( ++airTrapIllegalLevelSensorsCtr >= AIR_TRAP_ILLEGAL_LEVELS_PERSISTENCE ) { +#ifndef DISABLE_AIR_TRAP_ILLEGAL_LEVELS activateAlarmNoData( ALARM_ID_AIR_TRAP_ILLEGAL_LEVELS ); +#endif } } else Index: firmware/App/HDCommon.h =================================================================== diff -u -rccfd15568f1e3d304320c2babb2fd4bcf0413304 -r9bb9f9bb8b96f057b2ad8dd42c5ac4f0861c1d90 --- firmware/App/HDCommon.h (.../HDCommon.h) (revision ccfd15568f1e3d304320c2babb2fd4bcf0413304) +++ firmware/App/HDCommon.h (.../HDCommon.h) (revision 9bb9f9bb8b96f057b2ad8dd42c5ac4f0861c1d90) @@ -69,7 +69,8 @@ #define DISABLE_OCCLUSION_SELF_TEST 1 // Skip occlusion sensor self-test. // #define SKIP_CARTRIDGE_REMOVAL 1 // Skip cartridge removal check // #define DISABLE_FPGA_COUNTER_CHECKS 1 // Disable alarms associated with FPGA read/error counters -// #define DISABLE_VOLTAGE_MONITOR 1 // Disable voltage monitoring/alarms + #define DISABLE_VOLTAGE_MONITOR 1 // Disable voltage monitoring/alarms + #define DISABLE_AIR_TRAP_ILLEGAL_LEVELS 1 #define ALLOW_1_MIN_TREATMENT_DURATION 1 // Allow user to change treatment duration to as low as 1 minute #define DISABLE_SYRINGE_PUMP_ALARMS 1 // Disable some syringe pump alarms that are triggering intermittently // #define NO_PUMP_FLOW_LIMITS 1 // Allow any commanded flow rate for peristaltic pumps Index: firmware/App/Modes/ModeInitPOST.c =================================================================== diff -u -rccfd15568f1e3d304320c2babb2fd4bcf0413304 -r9bb9f9bb8b96f057b2ad8dd42c5ac4f0861c1d90 --- firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision ccfd15568f1e3d304320c2babb2fd4bcf0413304) +++ firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision 9bb9f9bb8b96f057b2ad8dd42c5ac4f0861c1d90) @@ -139,6 +139,11 @@ postState = handlePOSTStatus( testStatus ); break; + case POST_STATE_AC: + testStatus = SELF_TEST_STATUS_PASSED; + postState = handlePOSTStatus( testStatus ); + break; + case POST_STATE_WATCHDOG: testStatus = execWatchdogTest(); postState = handlePOSTStatus( testStatus ); Index: firmware/App/Modes/ModePostTreat.c =================================================================== diff -u -rccfd15568f1e3d304320c2babb2fd4bcf0413304 -r9bb9f9bb8b96f057b2ad8dd42c5ac4f0861c1d90 --- firmware/App/Modes/ModePostTreat.c (.../ModePostTreat.c) (revision ccfd15568f1e3d304320c2babb2fd4bcf0413304) +++ firmware/App/Modes/ModePostTreat.c (.../ModePostTreat.c) (revision 9bb9f9bb8b96f057b2ad8dd42c5ac4f0861c1d90) @@ -218,8 +218,13 @@ treatmentLogData.dialysateVolumeUsed_L = treatmentLogData.avgDialysateFlow_mL_min * treatmentLogData.actualTreatmentDur_sec / ( ML_PER_LITER * SEC_PER_MIN ); treatmentLogData.avgDialysateTemperature_degC = getTreatmentAvgDialysateTemp(); + // original UF Volume/Rate + treatmentLogData.originUFVolume_L = getUltrafiltrationVolumeOriginal(); + treatmentLogData.originUFRate_mL_min = getUltrafiltrationRateOriginal(); + // Target UF Volume/Rate treatmentLogData.targetUFVolume_L = getTreatmentParameterF32( TREATMENT_PARAM_UF_VOLUME ); - treatmentLogData.targetUFRate_mL_min = getTreatmentParameterF32( TREATMENT_PARAM_UF_VOLUME ) * ML_PER_LITER * SEC_PER_MIN / treatmentLogData.treatmentDuration_sec; + treatmentLogData.targetUFRate_mL_min = treatmentLogData.targetUFVolume_L * ML_PER_LITER * SEC_PER_MIN / treatmentLogData.treatmentDuration_sec; + // Actual UF Volume/Rate if ( treatmentLogData.actualTreatmentDur_sec > 0 ) { treatmentLogData.actualUFVolume_L = getUltrafiltrationVolumeCollected() / ML_PER_LITER; Index: firmware/App/Modes/ModePostTreat.h =================================================================== diff -u -rccfd15568f1e3d304320c2babb2fd4bcf0413304 -r9bb9f9bb8b96f057b2ad8dd42c5ac4f0861c1d90 --- firmware/App/Modes/ModePostTreat.h (.../ModePostTreat.h) (revision ccfd15568f1e3d304320c2babb2fd4bcf0413304) +++ firmware/App/Modes/ModePostTreat.h (.../ModePostTreat.h) (revision 9bb9f9bb8b96f057b2ad8dd42c5ac4f0861c1d90) @@ -57,8 +57,10 @@ F32 dialysateVolumeUsed_L; ///< Dialysate volume used during treatment (in L) F32 avgDialysateTemperature_degC; ///< Average dialysate temperature (in deg C) + F32 originUFVolume_L; ///< Origin ultrafiltration volume (in L) F32 targetUFVolume_L; ///< Target ultrafiltration volume (in L) F32 actualUFVolume_L; ///< Actual ultrafiltration volume (in L) + F32 originUFRate_mL_min; ///< Origin ultrafiltration rate (in mL/min) F32 targetUFRate_mL_min; ///< Target ultrafiltration rate (in mL/min) F32 actualUFRate_mL_min; ///< Actual ultrafiltration rate (in mL/min) Index: firmware/App/Modes/ModeTreatmentParams.c =================================================================== diff -u -rccfd15568f1e3d304320c2babb2fd4bcf0413304 -r9bb9f9bb8b96f057b2ad8dd42c5ac4f0861c1d90 --- firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision ccfd15568f1e3d304320c2babb2fd4bcf0413304) +++ firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision 9bb9f9bb8b96f057b2ad8dd42c5ac4f0861c1d90) @@ -433,6 +433,11 @@ rejReason = REQUEST_REJECT_REASON_UF_VOLUME_OUT_OF_RANGE; } + // store the user set ultrafiltration volume in pre-treatment parameters setup, if it is validated + if ( TRUE == accepted ) { + setUltrafiltrationVolumeOriginal( uFVolumeL ); + } + // Respond to set treatment parameters request message uFVolumeL = getTreatmentParameterF32( TREATMENT_PARAM_UF_VOLUME ); uFVolumeMl = uFVolumeL * (F32)ML_PER_LITER; @@ -832,7 +837,51 @@ return result; } +/*********************************************************************//** + * @brief + * The setUltrafiltrationVolumeOriginal function stores the floating point value + * of the original set treatment parameter's ultrafiltration volume by user in + * Pre-Treatment mode. + * @details Inputs: F32 + * @details Outputs: none + * @param volume_L the original ultrafiltration volume value in liter. + * @return none + *************************************************************************/ +void setUltrafiltrationVolumeOriginal(F32 volume_L) +{ + origTreatmentParams.uFVolume_L = volume_L; +} +/*********************************************************************//** + * @brief + * The getUltrafiltrationVolumeOriginal function gets the floating point value + * of the original set treatment parameter's ultrafiltration volume by user in + * Pre-Treatment mode. + * @details Inputs: none + * @details Outputs: F32 + * @param none + * @return the original ultrafiltration volume value in liter + *************************************************************************/ +F32 getUltrafiltrationVolumeOriginal() +{ + return origTreatmentParams.uFVolume_L; +} + +/*********************************************************************//** + * @brief + * The getUltrafiltrationRateOriginal function gets the floating point value + * of the original ultrafiltration rate calculated by the set treatment parameter's + * ultrafiltration volume and treatment duration by user in Pre-Treatment mode. + * @details Inputs: none + * @details Outputs: F32 + * @param none + * @return the original ultrafiltration rate value in mL/min + *************************************************************************/ +F32 getUltrafiltrationRateOriginal() +{ + return origTreatmentParams.uFVolume_L * ML_PER_LITER / origTreatmentParams.treatmentDuration_min; +} + /************************************************************************* * TEST SUPPORT FUNCTIONS *************************************************************************/ Index: firmware/App/Modes/ModeTreatmentParams.h =================================================================== diff -u -rccfd15568f1e3d304320c2babb2fd4bcf0413304 -r9bb9f9bb8b96f057b2ad8dd42c5ac4f0861c1d90 --- firmware/App/Modes/ModeTreatmentParams.h (.../ModeTreatmentParams.h) (revision ccfd15568f1e3d304320c2babb2fd4bcf0413304) +++ firmware/App/Modes/ModeTreatmentParams.h (.../ModeTreatmentParams.h) (revision 9bb9f9bb8b96f057b2ad8dd42c5ac4f0861c1d90) @@ -92,7 +92,11 @@ S32 getTreatmentParameterS32( TREATMENT_PARAM_T param ); // Get a specified signed integer treatment parameter F32 getTreatmentParameterF32( TREATMENT_PARAM_T param ); // Get a specified floating point treatment parameter BOOL isTreatmentParamInRange( TREATMENT_PARAM_T param, CRITICAL_DATAS_T value ); // Check range for a proposed treatment parameter value +void setUltrafiltrationVolumeOriginal(F32 volume_L); // Set the original ultrafiltration volume, set in pre-treatment mode by user. +F32 getUltrafiltrationVolumeOriginal(); // Get the original ultrafiltration volume, set in pre-treatment mode by user. +F32 getUltrafiltrationRateOriginal(); // Get/calculate the original ultrafiltration rate, by ultrafiltration volume and treatment duration set in pre-treatment mode by user. + BOOL testSetTreatmentParameter( TREATMENT_PARAM_T param, CRITICAL_DATAS_T value ); // Set a specific treatment parameter value /**@}*/ Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -rccfd15568f1e3d304320c2babb2fd4bcf0413304 -r9bb9f9bb8b96f057b2ad8dd42c5ac4f0861c1d90 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision ccfd15568f1e3d304320c2babb2fd4bcf0413304) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 9bb9f9bb8b96f057b2ad8dd42c5ac4f0861c1d90) @@ -749,8 +749,8 @@ msg.hdr.msgID = MSG_ID_HD_TREATMENT_LOG_DATA_RESPONSE; msg.hdr.payloadLen = sizeof( BOOL ) + sizeof( U32 ) + sizeof( TREATMENT_LOG_DATA_PAYLOAD_T ); - memcpy( payloadPtr, &accepted, sizeof( U32 ) ); - payloadPtr += sizeof( U32 ); + memcpy( payloadPtr, &accepted, sizeof( BOOL ) ); + payloadPtr += sizeof( BOOL ); memcpy( payloadPtr, &reason, sizeof( U32 ) ); payloadPtr += sizeof( U32 ); memcpy( payloadPtr, logDataPtr, sizeof( TREATMENT_LOG_DATA_PAYLOAD_T ) );