Index: firmware/App/Controllers/BloodFlow.c =================================================================== diff -u -rae5ed7d669400cff089ab54b8fe77a391f8ad194 -r113f804decb50b9511bb8b7365288285fece6628 --- firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision ae5ed7d669400cff089ab54b8fe77a391f8ad194) +++ firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 113f804decb50b9511bb8b7365288285fece6628) @@ -1050,7 +1050,9 @@ if ( lastBloodPumpDirectionCount != dirErrorCnt ) { lastBloodPumpDirectionCount = dirErrorCnt; +#ifndef DISABLE_PUMP_DIRECTION_CHECKS SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_PUMP_DIRECTION_STATUS_ERROR, (U32)HD_PUMP_BLOOD_PUMP ) +#endif } #endif bpMCDir = ( getMeasuredBloodPumpMCSpeed() >= 0.0 ? MOTOR_DIR_FORWARD : MOTOR_DIR_REVERSE ); Index: firmware/App/Controllers/DGInterface.c =================================================================== diff -u -rf3c8ef49b4bef41b606325e3db0e053a7a72d98f -r113f804decb50b9511bb8b7365288285fece6628 --- firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision f3c8ef49b4bef41b606325e3db0e053a7a72d98f) +++ firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision 113f804decb50b9511bb8b7365288285fece6628) @@ -331,26 +331,26 @@ /*********************************************************************//** * @brief - * The getDialysateTemperature function gets the latest dialysate temperature. - * @details Inputs: dgDialysateTemp + * The getDGDisinfectsStates function returns the DG disinfects readings. + * @details Inputs: none * @details Outputs: none - * @return the current dialysate temperature + * @return the current DG disinfects readings *************************************************************************/ -F32 getDialysateTemperature( void ) +DG_DISINFECT_UI_STATES_T getDGDisinfectsStates( void ) { - return dgDialysateTemp; + return disinfectsStatus; } /*********************************************************************//** * @brief - * The getDGDisinfectsStates function returns the DG disinfects readings. - * @details Inputs: none + * The getDialysateTemperature function gets the latest dialysate temperature. + * @details Inputs: dgDialysateTemp * @details Outputs: none - * @return the current DG disinfects readings + * @return the current dialysate temperature *************************************************************************/ -DG_DISINFECT_UI_STATES_T getDGDisinfectsStates( void ) +F32 getDialysateTemperature( void ) { - return disinfectsStatus; + return dgDialysateTemp; } /*********************************************************************//** Index: firmware/App/Controllers/DGInterface.h =================================================================== diff -u -rf3c8ef49b4bef41b606325e3db0e053a7a72d98f -r113f804decb50b9511bb8b7365288285fece6628 --- firmware/App/Controllers/DGInterface.h (.../DGInterface.h) (revision f3c8ef49b4bef41b606325e3db0e053a7a72d98f) +++ firmware/App/Controllers/DGInterface.h (.../DGInterface.h) (revision 113f804decb50b9511bb8b7365288285fece6628) @@ -69,30 +69,30 @@ /// Payload record structure for DG temperature sensors data message. typedef struct { - F32 inletPrimaryHeater; ///< Inlet primary heater temperature sensor - F32 outletPrimaryHeater; ///< Outlet primary heater temperature sensor - F32 conductivitySensor1; ///< Conductivity sensor 1 temperature sensor - F32 conductivitySensor2; ///< Conductivity sensor 2 temperature sensor - F32 outletRedundant; ///< Outlet redundant temperature sensor - F32 inletDialysate; ///< Inlet dialysate temperature sensor - F32 primaryHeaterThermocouple; ///< Primary heaters thermocouple sensor - F32 trimmerHeaterThermocouple; ///< Trimmer heater thermocouple sensor - F32 priamyHeaterColdjunction; ///< Primary heaters cold junction temperature sensor - F32 trimmerHeaterColdjunction; ///< Trimmer heater cold junction temperature sensor - F32 primaryHeaterInternal; ///< Primary heaters internal temperature (calculated from thermocouple and cold junction) - F32 trimmerHeaterInternal; ///< Trimmer heater internal temperature (calculated from thermocouple and cold junction) - F32 fpgaBoard; ///< FPGA board temperature sensor - F32 loadCellA1B1; ///< Load cell A1/B1 temperature sensor - F32 loadCellA2B2; ///< Load cell A2/B2 temperature sensor - F32 internalTHDORTD; ///< THDo RTD channel temperature sensor - F32 internalTDIRTD; ///< TDI RTD channel temperature sensor - F32 internalCondSnsrTemp; ///< Conductivity Sensor internal temperature sensor - U32 primaryThermoCoupleRaw; ///< Primary heaters thermocouple raw ADC value - U32 primaryColdjuncRaw; ///< Primary heaters cold junction raw ADC value - U32 trimmerThermoCoupleRaw; ///< Trimmer heater thermocouple raw ADC value - U32 trimmerColdjuncRaw; ///< Trimmer heater cold junction raw ADC value - S32 cond1Raw; ///< Conductivity sensor 1 raw temperature ADC value - S32 cond2Raw; ///< Conductivity sensor 2 raw temperature ADC value + F32 TPi; ///< Inlet primary heaters temperature sensor + F32 TPo; ///< Outlet primary heaters temperature sensor + F32 TD1; ///< Conductivity sensor 1 temperature sensor + F32 TD2; ///< Conductivity sensor 2 temperature sensor + F32 TRo; ///< Outlet redundant temperature sensor + F32 TDi; ///< Inlet dialysate temperature sensor + F32 HtrPrimThermo; ///< Primary heaters internal temperature sensor + F32 HtrTrimThermo; ///< Trimmer heater internal temperature sensor + F32 HtrPrimColdJunc; ///< Primary heaters cold junction temperature sensor + F32 HtrTrimColdJunc; ///< Trimmer heater cold junction temperature sensor + F32 HtrPrimInternal; ///< Primary heaters internal temperature + F32 HtrTrimInternal; ///< Trimmer heater internal temperature + F32 DGBoardTemp; ///< DG board temperature + F32 ResOneLoadCellTemp; ///< Reservoir 1 load cell sensor temperature + F32 ResTwoLoadCellTemp; ///< Reservoir 2 load cell sensor temperature + F32 THDoInternalTemp; ///< THDo RTD channel temperature sensor + F32 TDiInternalTemp; ///< TDI RTD channel temperature sensor + F32 internalCondSnsrTemp; ///< Conductivity Sensor internal temperature sensor + U32 primaryThermoCoupleRaw; ///< Primary heaters thermocouple raw ADC value + U32 primaryColdjuncRaw; ///< Primary heaters cold junction raw ADC value + U32 trimmerThermoCoupleRaw; ///< Trimmer heater thermocouple raw ADC value + U32 trimmerColdjuncRaw; ///< Trimmer heater cold junction raw ADC value + S32 cond1Raw; ///< Conductivity sensor 1 raw temperature ADC value + S32 cond2Raw; ///< Conductivity sensor 2 raw temperature ADC value } TEMPERATURE_SENSORS_DATA_T; /// Payload record structure for a drain reservoir command message. @@ -148,8 +148,8 @@ F32 getLoadCellWeight( LOAD_CELL_ID_T loadCellID ); F32 getReservoirWeight( DG_RESERVOIR_ID_T resID ); F32 getReservoirWeightLargeFilter( DG_RESERVOIR_ID_T resID ); -F32 getDialysateTemperature( void ); DG_DISINFECT_UI_STATES_T getDGDisinfectsStates( void ); +F32 getDialysateTemperature( void ); DG_MIXING_RATIOS_T getDGMixingRatios( void ); void setDGOpMode( U32 opMode, U32 subMode ); Index: firmware/App/Controllers/DialOutFlow.c =================================================================== diff -u -rf80c9e658695bc368e2ab3e0267d4d510659cd61 -r113f804decb50b9511bb8b7365288285fece6628 --- firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision f80c9e658695bc368e2ab3e0267d4d510659cd61) +++ firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision 113f804decb50b9511bb8b7365288285fece6628) @@ -876,7 +876,9 @@ if ( lastDialOutPumpDirectionCount != dirErrorCnt ) { lastDialOutPumpDirectionCount = dirErrorCnt; +#ifndef DISABLE_PUMP_DIRECTION_CHECKS SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_PUMP_DIRECTION_STATUS_ERROR, (U32)HD_PUMP_DIALYSATE_OUTLET_PUMP ) +#endif } dopMCDir = ( getMeasuredDialOutPumpMCSpeed() >= 0.0 ? MOTOR_DIR_FORWARD : MOTOR_DIR_REVERSE ); Index: firmware/App/Controllers/Fans.c =================================================================== diff -u -r5addd92e279ebc0871364fee70e3ac74db21001a -r113f804decb50b9511bb8b7365288285fece6628 --- firmware/App/Controllers/Fans.c (.../Fans.c) (revision 5addd92e279ebc0871364fee70e3ac74db21001a) +++ firmware/App/Controllers/Fans.c (.../Fans.c) (revision 113f804decb50b9511bb8b7365288285fece6628) @@ -7,8 +7,8 @@ * * @file Fans.c * -* @author (last) Sean Nash -* @date (last) 12-Nov-2021 +* @author (last) Dara Navaei +* @date (last) 15-Sep-2021 * * @author (original) Dara Navaei * @date (original) 04-Aug-2021 Index: firmware/App/HDCommon.h =================================================================== diff -u -rf3c8ef49b4bef41b606325e3db0e053a7a72d98f -r113f804decb50b9511bb8b7365288285fece6628 --- firmware/App/HDCommon.h (.../HDCommon.h) (revision f3c8ef49b4bef41b606325e3db0e053a7a72d98f) +++ firmware/App/HDCommon.h (.../HDCommon.h) (revision 113f804decb50b9511bb8b7365288285fece6628) @@ -10,8 +10,8 @@ * @author (last) Sean Nash * @date (last) 12-Nov-2021 * -* @author (original) Sean -* @date (original) 27-Feb-2020 +* @author (original) Sean +* @date (original) 27-Feb-2020 * ***************************************************************************/ @@ -24,8 +24,8 @@ #define HD_VERSION_MAJOR 0 #define HD_VERSION_MINOR 6 -#define HD_VERSION_MICRO 5 -#define HD_VERSION_BUILD 25 +#define HD_VERSION_MICRO 0 +#define HD_VERSION_BUILD 119 // ********** development build switches ********** @@ -49,18 +49,18 @@ // #define RUN_BP_OPEN_LOOP 1 // Run blood pump in open loop mode // #define RUN_DPI_OPEN_LOOP 1 // Run dialysate inlet pump in open loop mode #define WORN_OUT_CARTRIDGE 1 // Running with an old worn out cartridge (max wear) - #define PBA_ESTIMATION 1 // Estimate arterial pressure rather than look at PBA sensor +// #define PBA_ESTIMATION 1 // Estimate arterial pressure rather than look at PBA sensor #define DISABLE_MOTOR_CURRENT_CHECKS 1 // Do not error on HD pump current checks #define DISABLE_PUMP_FLOW_CHECKS 1 // Do not error on HD pump flow checks #define DISABLE_PUMP_SPEED_CHECKS 1 // Do not error on HD pump speed checks #define DISABLE_PUMP_DIRECTION_CHECKS 1 // Do not error on HD pump direction checks - #define DISABLE_SYRINGE_PUMP 1 // Disable syringe pump functionality +// #define DISABLE_SYRINGE_PUMP 1 // Disable syringe pump functionality #define ALWAYS_ALLOW_SYRINGE_PUMP_CMDS 1 // Allow syringe pump commands at any time except when pump is busy #define DISABLE_PRESSURE_CHECKS 1 // Do not error on HD pressure checks // #define DISABLE_UF_ALARMS 1 // Do not error on HD ultrafiltration checks #define DISABLE_DIALYSATE_TEMP_CHECK 1 // Disable dialysate temperature check -// #define DISABLE_VALVE_ALARMS 1 // Do not error on HD valve position - #define SKIP_CAL_CHECK 1 + #define DISABLE_VALVE_ALARMS 1 // Do not error on HD valve position + #define SKIP_CAL_CHECK 1 // // #define RUN_PUMPS_OPEN_LOOP 1 // BP and DPi pumps will be run open loop (no flow sensor feedback) // #define READ_FPGA_ASYNC_DATA 1 // Test build reads non-priority register page every other time // #define EMC_TEST_BUILD 1 // EMC test build - HD/DG run separately but connected, HD pumps toggle on/off w/ stop button @@ -73,7 +73,7 @@ // #define DISABLE_FPGA_COUNTER_CHECKS 1 // Disable alarms associated with FPGA read/error counters #define DISABLE_VOLTAGE_MONITOR 1 // Disable voltage monitoring/alarms #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 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 #define DISABLE_BUBBLE_ALARMS 1 // Disable bubble alarms #define DISABLE_UI_POST_TEST 1 // Disable the UI POST Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r5addd92e279ebc0871364fee70e3ac74db21001a -r113f804decb50b9511bb8b7365288285fece6628 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 5addd92e279ebc0871364fee70e3ac74db21001a) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 113f804decb50b9511bb8b7365288285fece6628) @@ -2307,7 +2307,7 @@ TEMPERATURE_SENSORS_DATA_T payload; memcpy( &payload, message->payload, sizeof( TEMPERATURE_SENSORS_DATA_T ) ); - setDialysateTemperatureReadings( payload.inletDialysate, payload.outletRedundant ); + setDialysateTemperatureReadings( payload.TDi, payload.TRo ); } // TODO - what to do if invalid payload length? // TODO - how to know if DG stops sending these? @@ -5123,6 +5123,7 @@ if ( sizeof( TEST_OVERRIDE_PAYLOAD_T ) == message->hdr.payloadLen ) { memcpy( &payload, message->payload, sizeof( TEST_OVERRIDE_PAYLOAD_T ) ); + if ( FALSE == payload.reset ) { result = testSetBatteryRemainingPercentOverride( payload.state.u32 );