Index: firmware/App/Controllers/BloodFlow.c =================================================================== diff -u -r27a68f930508638f2eb6265ebb381c8918cbc37b -rf96654b60d6a3a09178dc1dfe22c54ae1e067eed --- firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 27a68f930508638f2eb6265ebb381c8918cbc37b) +++ firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision f96654b60d6a3a09178dc1dfe22c54ae1e067eed) @@ -1081,6 +1081,7 @@ { MOTOR_DIR_T bpMCDir, bpDir; BOOL isDirIncorrect; + U08 dirErrorCnt = getFPGABloodPumpHallSensorStatus() & PUMP_DIR_ERROR_COUNT_MASK; // Check pump direction error count @@ -1094,6 +1095,7 @@ SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_PUMP_DIRECTION_STATUS_ERROR, (U32)HD_PUMP_BLOOD_PUMP ) } } + bpMCDir = ( getMeasuredBloodPumpMCSpeed() >= 0.0 ? MOTOR_DIR_FORWARD : MOTOR_DIR_REVERSE ); bpDir = ( getMeasuredBloodPumpSpeed() >= 0.0 ? MOTOR_DIR_FORWARD : MOTOR_DIR_REVERSE ); @@ -1202,11 +1204,11 @@ *************************************************************************/ static void checkBloodPumpMCCurrent( void ) { - F32 const bpCurr = fabs( getMeasuredBloodPumpMCCurrent() ); + F32 const bpCurr = fabs( getMeasuredBloodPumpMCCurrent() ); // Check blood pump current during off state - BOOL const isOffMCCurrentBad = ( BLOOD_PUMP_OFF_STATE == bloodPumpState ) && ( bpCurr > BP_MAX_CURR_WHEN_STOPPED_MA ); + BOOL const isOffMCCurrentBad = ( ( BLOOD_PUMP_OFF_STATE == bloodPumpState ) && ( bpCurr > BP_MAX_CURR_WHEN_STOPPED_MA ) ? TRUE : FALSE ); // Check blood pump current during running state - BOOL const isRunningMCCurrentBad = ( BLOOD_PUMP_OFF_STATE != bloodPumpState ) && ( bpCurr > BP_MAX_CURR_WHEN_RUNNING_MA ); + BOOL const isRunningMCCurrentBad = ( ( BLOOD_PUMP_OFF_STATE != bloodPumpState ) && ( bpCurr > BP_MAX_CURR_WHEN_RUNNING_MA ) ? TRUE : FALSE ); if ( ( TRUE == isPersistentAlarmTriggered( ALARM_ID_BLOOD_PUMP_MC_CURRENT_CHECK, isOffMCCurrentBad || isRunningMCCurrentBad ) ) ) { Index: firmware/App/Controllers/Switches.c =================================================================== diff -u -rd28c03acc3414131c48be5c52fd4cb0f2bf3c9b9 -rf96654b60d6a3a09178dc1dfe22c54ae1e067eed --- firmware/App/Controllers/Switches.c (.../Switches.c) (revision d28c03acc3414131c48be5c52fd4cb0f2bf3c9b9) +++ firmware/App/Controllers/Switches.c (.../Switches.c) (revision f96654b60d6a3a09178dc1dfe22c54ae1e067eed) @@ -33,6 +33,9 @@ #define SWITCHES_DEBOUNCE_TIME_MS ( MS_PER_SECOND / 4 ) ///< Switches FPGA status check interval. #define DATA_PUBLISH_COUNTER_START_COUNT 4 ///< Data publish counter start count. +#define FRONT_DOOR_SWITCH_MASK 0x0010 ///< Front door switch bit mask. Bit 4 of the GPIO register. +#define PUMP_TRACK_SWITCH_MASK 0x0020 ///< Pump track switch bit mask. Bit 5 of the GPIO register. + /// Switch status structure typedef struct { @@ -94,11 +97,11 @@ switch ( i ) { case FRONT_DOOR: - currentSwitchStatus = ( 0 == getFPGAFrontDoorStatus() ? STATE_OPEN : STATE_CLOSED ); + currentSwitchStatus = ( FRONT_DOOR_SWITCH_MASK == getFPGAFrontDoorStatus() ? STATE_OPEN : STATE_CLOSED ); break; case PUMP_TRACK_SWITCH: - currentSwitchStatus = ( 1 == getFPGAPumpTrackSwitchStatus() ? STATE_OPEN : STATE_CLOSED ); + currentSwitchStatus = ( PUMP_TRACK_SWITCH_MASK == getFPGAPumpTrackSwitchStatus() ? STATE_OPEN : STATE_CLOSED ); break; default: @@ -193,7 +196,7 @@ { SWITCHES_DATA_T data; - data.frontDoor = (U32)getSwitchStatus( FRONT_DOOR ); + data.frontDoor = (U32)getSwitchStatus( FRONT_DOOR ); data.pumpTrackSwitch = (U32)getSwitchStatus( PUMP_TRACK_SWITCH ); switchesDataPublicationCounter = 0; Index: firmware/App/Modes/ModePostTreat.c =================================================================== diff -u -rf0d3223059562f5aaad33e860f7c63ba1968c01b -rf96654b60d6a3a09178dc1dfe22c54ae1e067eed --- firmware/App/Modes/ModePostTreat.c (.../ModePostTreat.c) (revision f0d3223059562f5aaad33e860f7c63ba1968c01b) +++ firmware/App/Modes/ModePostTreat.c (.../ModePostTreat.c) (revision f96654b60d6a3a09178dc1dfe22c54ae1e067eed) @@ -52,7 +52,7 @@ DRAIN_RESERVOIR_SWITCH_STATE = 0, ///< Switch reservoir state. DRAIN_RESERVOIR_START_DRAIN_STATE, ///< Drain reservoir start drain state. DRAIN_RESERVOIR_DRAIN_STATE, ///< Drain first reservoir state. - DRAIN_RESERVOIR_COMPLETE_STATE, ///< Drain complete state. + DRAIN_RESERVOIR_COMPLETE_STATE, ///< Drain complete state. NUM_OF_DRAIN_STATES ///< Number of drain states. } DRAIN_STATE_T; @@ -88,7 +88,7 @@ * @details Inputs: none * @details Outputs: patientDisconnectionConfirmed, disposableRemovalConfirmed, * rinseConcentrateLines, isThisFirstDrain, currentPostTreatmentState, - * currentDrainReservoirState, postTreatmentPublishTimerCounter + * currentDrainReservoirState, postTreatmentPublishTimerCounter, treatmentLogData * @return none *************************************************************************/ void initPostTreatmentMode( void ) Index: firmware/App/Services/WatchdogMgmt.c =================================================================== diff -u -r27a68f930508638f2eb6265ebb381c8918cbc37b -rf96654b60d6a3a09178dc1dfe22c54ae1e067eed --- firmware/App/Services/WatchdogMgmt.c (.../WatchdogMgmt.c) (revision 27a68f930508638f2eb6265ebb381c8918cbc37b) +++ firmware/App/Services/WatchdogMgmt.c (.../WatchdogMgmt.c) (revision f96654b60d6a3a09178dc1dfe22c54ae1e067eed) @@ -123,7 +123,7 @@ ( getCurrentOperationMode() != MODE_INIT ) ) { #ifndef DEBUG_ENABLED - activateAlarmNoData( ALARM_ID_WATCHDOG_EXPIRED ); + activateAlarmNoData( ALARM_ID_HD_WATCHDOG_EXPIRED ); #endif } }