Index: firmware/App/Controllers/DGInterface.c =================================================================== diff -u -r6419179374edcd65da462de84e8aeaefb7e20320 -r9feea867113c62088f0ce91750127972dbd9bf53 --- firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision 6419179374edcd65da462de84e8aeaefb7e20320) +++ firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision 9feea867113c62088f0ce91750127972dbd9bf53) @@ -491,7 +491,7 @@ } else { - activateAlarmNoData( ALARM_ID_HD_SOFTWARE_FAULT ); + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_INVALID_LOAD_CELL_ID, loadCellID ); } return result; @@ -537,7 +537,7 @@ } else { - // TODO - s/w fault + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_INVALID_DG_OPERATING_MODE, opMode ); } } @@ -593,8 +593,8 @@ dgReservoirDrainVolumeTarget = drainVol; } else - { - // TODO - s/w fault + { + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_INVALID_RESERVOIR_ID, resID ); } } Index: firmware/App/Modes/ConsumableSelfTest.c =================================================================== diff -u -rfa41b85cf47fb01cd905b2ed53d472a9cb0c1706 -r9feea867113c62088f0ce91750127972dbd9bf53 --- firmware/App/Modes/ConsumableSelfTest.c (.../ConsumableSelfTest.c) (revision fa41b85cf47fb01cd905b2ed53d472a9cb0c1706) +++ firmware/App/Modes/ConsumableSelfTest.c (.../ConsumableSelfTest.c) (revision 9feea867113c62088f0ce91750127972dbd9bf53) @@ -122,6 +122,7 @@ break; default: + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_INVALID_CONSUMABLE_SELF_TEST_STATE, currentConsumableSelfTestState ); break; } Index: firmware/App/Modes/ModeInitPOST.c =================================================================== diff -u -r8910c1a21976afcc84fe1d9504916efbc192325d -r9feea867113c62088f0ce91750127972dbd9bf53 --- firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision 8910c1a21976afcc84fe1d9504916efbc192325d) +++ firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision 9feea867113c62088f0ce91750127972dbd9bf53) @@ -194,7 +194,6 @@ // Should not get here - any failed post test should have already triggered a fault and taken us to fault mode default: SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_INIT_POST_INVALID_POST_STATE, postState ) - postState = POST_STATE_FAILED; break; } Index: firmware/App/Modes/ModePostTreat.c =================================================================== diff -u -r5bf62ff1373f2e9eea858244a97167323bff33f8 -r9feea867113c62088f0ce91750127972dbd9bf53 --- firmware/App/Modes/ModePostTreat.c (.../ModePostTreat.c) (revision 5bf62ff1373f2e9eea858244a97167323bff33f8) +++ firmware/App/Modes/ModePostTreat.c (.../ModePostTreat.c) (revision 9feea867113c62088f0ce91750127972dbd9bf53) @@ -41,7 +41,7 @@ // ********** private definitions ********** /// Interval (ms/task time) at which the post-treatment state data is published on the CAN bus. -#define POST_TREATMENT_DATA_PUB_INTERVAL ( 250 / TASK_GENERAL_INTERVAL ) +#define POST_TREATMENT_DATA_PUB_INTERVAL ( 250 / TASK_GENERAL_INTERVAL ) #define EMPTY_RESERVOIR_VOLUME_ML 0 ///< Empty reservoir volume in ml. #define DIP_FLUSH_FLOW_RATE_ML_MIN 150 ///< Dialysate inlet pump flow rate during flush in mL/min. @@ -166,7 +166,6 @@ break; default: - currentPostTreatmentState = HD_POST_TREATMENT_PATIENT_DISCONNECTION_STATE; SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_POST_TREATMENT_INVALID_STATE, currentPostTreatmentState ); break; } Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -r5bf62ff1373f2e9eea858244a97167323bff33f8 -r9feea867113c62088f0ce91750127972dbd9bf53 --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 5bf62ff1373f2e9eea858244a97167323bff33f8) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 9feea867113c62088f0ce91750127972dbd9bf53) @@ -218,7 +218,6 @@ break; default: - currentPreTreatmentState = HD_PRE_TREATMENT_START_STATE; SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_PRE_TREATMENT_INVALID_STATE, (U32)currentPreTreatmentState ); break; } Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -r6419179374edcd65da462de84e8aeaefb7e20320 -r9feea867113c62088f0ce91750127972dbd9bf53 --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 6419179374edcd65da462de84e8aeaefb7e20320) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 9feea867113c62088f0ce91750127972dbd9bf53) @@ -132,8 +132,7 @@ break; default: - // TODO - s/w fault - currentStandbyState = STANDBY_START_STATE; + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_STANDBY_INVALID_STATE, currentStandbyState ); break; } #else @@ -218,7 +217,7 @@ break; default: - // TODO - s/w fault + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_STANDBY_INVALID_STATE, currentStandbyState ); currentStandbyState = STANDBY_START_STATE; break; } Index: firmware/App/Modes/OperationModes.c =================================================================== diff -u -r6419179374edcd65da462de84e8aeaefb7e20320 -r9feea867113c62088f0ce91750127972dbd9bf53 --- firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision 6419179374edcd65da462de84e8aeaefb7e20320) +++ firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision 9feea867113c62088f0ce91750127972dbd9bf53) @@ -166,9 +166,9 @@ break; default: + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_OP_MODES_INVALID_MODE_STATE, currentMode ) currentMode = MODE_FAUL; currentSubMode = 0; - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_OP_MODES_INVALID_MODE_STATE, currentMode ) break; } // End switch Index: firmware/App/Modes/PreTreatmentRecirc.c =================================================================== diff -u -r68f18c1952d37f75f27b7ca45969af2202729bb5 -r9feea867113c62088f0ce91750127972dbd9bf53 --- firmware/App/Modes/PreTreatmentRecirc.c (.../PreTreatmentRecirc.c) (revision 68f18c1952d37f75f27b7ca45969af2202729bb5) +++ firmware/App/Modes/PreTreatmentRecirc.c (.../PreTreatmentRecirc.c) (revision 9feea867113c62088f0ce91750127972dbd9bf53) @@ -94,8 +94,7 @@ break; default: - currentPreTreatmentRecircState = PRE_TREATMENT_RECIRC_STATE; - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_INVALID_PRE_TREATMENT_RECIRC_STATE, (U32)currentPreTreatmentRecircState ); + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_INVALID_PRE_TREATMENT_RECIRC_STATE, currentPreTreatmentRecircState ); break; } Index: firmware/App/Modes/Prime.c =================================================================== diff -u -r6419179374edcd65da462de84e8aeaefb7e20320 -r9feea867113c62088f0ce91750127972dbd9bf53 --- firmware/App/Modes/Prime.c (.../Prime.c) (revision 6419179374edcd65da462de84e8aeaefb7e20320) +++ firmware/App/Modes/Prime.c (.../Prime.c) (revision 9feea867113c62088f0ce91750127972dbd9bf53) @@ -206,8 +206,7 @@ break; default: - currentPrimeState = HD_PRIME_START_STATE; - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_PRE_TREATMENT_PRIME_INVALID_STATE, (U32)currentReservoirMgmtState ); + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_PRE_TREATMENT_PRIME_INVALID_STATE, currentReservoirMgmtState ); break; } Index: firmware/App/Modes/Prime.h =================================================================== diff -u -r125a27d5a3a116e7b7473ff180daf247270d8e57 -r9feea867113c62088f0ce91750127972dbd9bf53 --- firmware/App/Modes/Prime.h (.../Prime.h) (revision 125a27d5a3a116e7b7473ff180daf247270d8e57) +++ firmware/App/Modes/Prime.h (.../Prime.h) (revision 9feea867113c62088f0ce91750127972dbd9bf53) @@ -47,7 +47,6 @@ void initPrime( void ); void transitionToPrime( void ); - void execPrime( void ); U32 getPrimeState( void ); Index: firmware/App/Modes/SampleWater.c =================================================================== diff -u -rb8d74fc5b07d0e62d841b4c5a786b2be4e593c63 -r9feea867113c62088f0ce91750127972dbd9bf53 --- firmware/App/Modes/SampleWater.c (.../SampleWater.c) (revision b8d74fc5b07d0e62d841b4c5a786b2be4e593c63) +++ firmware/App/Modes/SampleWater.c (.../SampleWater.c) (revision 9feea867113c62088f0ce91750127972dbd9bf53) @@ -96,7 +96,7 @@ break; default: - // TODO: alarm + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_SAMPLE_WATER_INVALID_STATE, currentSampleWaterState ); break; } } Index: firmware/App/Modes/SampleWater.h =================================================================== diff -u -rb70bf4c5a7cdb4218d812546b3bc5d7dad152700 -r9feea867113c62088f0ce91750127972dbd9bf53 --- firmware/App/Modes/SampleWater.h (.../SampleWater.h) (revision b70bf4c5a7cdb4218d812546b3bc5d7dad152700) +++ firmware/App/Modes/SampleWater.h (.../SampleWater.h) (revision 9feea867113c62088f0ce91750127972dbd9bf53) @@ -35,8 +35,8 @@ void initSampleWater( void ); void transitionToSampleWater( void ); - void execSampleWater( void ); + U32 getSampleWaterState( void ); SELF_TEST_STATUS_T getSampleWaterResult( void ); Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -r108a0285f895e26bb037f3472bb05962ea3c4941 -r9feea867113c62088f0ce91750127972dbd9bf53 --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 108a0285f895e26bb037f3472bb05962ea3c4941) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 9feea867113c62088f0ce91750127972dbd9bf53) @@ -293,8 +293,7 @@ break; default: - currentNoCartSelfTestsState = NO_CART_SELF_TESTS_START_STATE; - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_INVALID_NO_CARTRIDGE_SELF_TEST_STATE, (U32)currentNoCartSelfTestsState ); + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_INVALID_NO_CARTRIDGE_SELF_TEST_STATE, currentNoCartSelfTestsState ); break; } @@ -420,8 +419,7 @@ break; default: - currentDrySelfTestsState = DRY_SELF_TESTS_START_STATE; - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_INVALID_DRY_SELF_TEST_STATE, (U32)currentDrySelfTestsState ); + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_INVALID_DRY_SELF_TEST_STATE, currentDrySelfTestsState ); break; } @@ -540,8 +538,7 @@ break; default: - currentWetSelfTestsState = WET_SELF_TESTS_START_STATE; - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_INVALID_WET_SELF_TEST_STATE, (U32)currentWetSelfTestsState ); + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_INVALID_WET_SELF_TEST_STATE, currentWetSelfTestsState ); break; } Index: firmware/App/Modes/TreatmentEnd.c =================================================================== diff -u -rac6532c81f2a6d4ad1c67420c22d59f6aeeaae13 -r9feea867113c62088f0ce91750127972dbd9bf53 --- firmware/App/Modes/TreatmentEnd.c (.../TreatmentEnd.c) (revision ac6532c81f2a6d4ad1c67420c22d59f6aeeaae13) +++ firmware/App/Modes/TreatmentEnd.c (.../TreatmentEnd.c) (revision 9feea867113c62088f0ce91750127972dbd9bf53) @@ -109,7 +109,8 @@ { initTreatmentEnd(); - // TODO - stop any DG fill that may be in progress + // Stop any DG fill that may be in progress + cmdStopDGFill(); // Set valves setValvePosition( VDI, VALVE_POSITION_C_CLOSE ); Index: firmware/App/Services/AlarmMgmt.c =================================================================== diff -u -rd3b7ae356aae29c99cb039713a2e120fdbce5a9c -r9feea867113c62088f0ce91750127972dbd9bf53 --- firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision d3b7ae356aae29c99cb039713a2e120fdbce5a9c) +++ firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 9feea867113c62088f0ce91750127972dbd9bf53) @@ -463,7 +463,7 @@ break; default: - // TODO - s/w fault? + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_INVALID_ALARM_USER_ACTION, action ); break; } } Index: firmware/App/Services/AlarmMgmt.h =================================================================== diff -u -r5b6e7cedbfced5d5ceff8d49fca6aacd04d7e037 -r9feea867113c62088f0ce91750127972dbd9bf53 --- firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision 5b6e7cedbfced5d5ceff8d49fca6aacd04d7e037) +++ firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision 9feea867113c62088f0ce91750127972dbd9bf53) @@ -249,6 +249,14 @@ SW_FAULT_ID_HD_SYRINGE_INVALID_STATE, SW_FAULT_ID_MODE_POST_TREATMENT_INVALID_STATE, // 115 SW_FAULT_ID_POST_TREATMENT_RESERVOIR_MGMT_INVALID_STATE, + SW_FAULT_ID_INVALID_DG_OPERATING_MODE, + SW_FAULT_ID_INVALID_LOAD_CELL_ID, + SW_FAULT_ID_MODE_STANDBY_INVALID_STATE, + SW_FAULT_ID_MODE_SAMPLE_WATER_INVALID_STATE, // 120 + SW_FAULT_ID_INVALID_ALARM_USER_ACTION, + SW_FAULT_ID_INVALID_RTI_NOTIFICATION, + SW_FAULT_ID_INVALID_CAN_MESSAGE_BOX, + SW_FAULT_ID_INVALID_CONSUMABLE_SELF_TEST_STATE, NUM_OF_SW_FAULT_IDS } SW_FAULT_ID_T; Index: firmware/App/Services/Interrupts.c =================================================================== diff -u -rd3b7ae356aae29c99cb039713a2e120fdbce5a9c -r9feea867113c62088f0ce91750127972dbd9bf53 --- firmware/App/Services/Interrupts.c (.../Interrupts.c) (revision d3b7ae356aae29c99cb039713a2e120fdbce5a9c) +++ firmware/App/Services/Interrupts.c (.../Interrupts.c) (revision 9feea867113c62088f0ce91750127972dbd9bf53) @@ -54,10 +54,6 @@ // ********** private data ********** -#ifdef DEBUG_ENABLED - static U32 sci1FrameErrorCnt = 0; - static U32 sci1OverrunErrorCnt = 0; -#endif static U32 sci2FrameErrorCnt = 0; ///< FPGA serial frame error counter. static U32 sci2OverrunErrorCnt = 0; ///< FPGA serial overrun error counter. @@ -135,7 +131,7 @@ break; default: - // TODO - s/w fault? + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_INVALID_RTI_NOTIFICATION, notification ) break; } } @@ -171,10 +167,6 @@ *************************************************************************/ void canErrorNotification(canBASE_t *node, uint32 notification) { -#ifdef DEBUG_ENABLED - char debugStr[ 256 ]; -#endif - if ( node == canREG1 ) { if ( notification & canLEVEL_PARITY_ERR ) @@ -184,11 +176,6 @@ { SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_CAN_PARITY_ERROR ) } -#ifdef DEBUG_ENABLED - sprintf( debugStr, "CAN parity error:%5d \n", can1ParityCnt ); - sendDebugData( (U08*)debugStr, strlen(debugStr) ); - sendDebugDataToUI( (U08*)debugStr ); -#endif } else if ( notification & canLEVEL_BUS_OFF ) { @@ -197,20 +184,10 @@ { SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_CAN_OFF_ERROR ) } -#ifdef DEBUG_ENABLED - sprintf( debugStr, "CAN bus off error:%5d \n", can1BusOffCnt ); - sendDebugData( (U08*)debugStr, strlen(debugStr) ); - sendDebugDataToUI( (U08*)debugStr ); -#endif } else if ( notification & canLEVEL_WARNING ) { can1WarningCnt++; -#ifdef DEBUG_ENABLED - sprintf( debugStr, "CAN bus warning:%5d \n", can1WarningCnt ); - sendDebugData( (U08*)debugStr, strlen(debugStr) ); - sendDebugDataToUI( (U08*)debugStr ); -#endif } else if ( notification & canLEVEL_PASSIVE ) { @@ -219,11 +196,6 @@ { SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_CAN_PASSIVE_WARNING ) } -#ifdef DEBUG_ENABLED - sprintf( debugStr, "CAN passive warning:%5d \n", can1PassiveCnt ); - sendDebugData( (U08*)debugStr, strlen(debugStr) ); - sendDebugDataToUI( (U08*)debugStr ); -#endif } else { @@ -250,23 +222,19 @@ { sci2FrameErrorCnt++; clearSCI2CommErrors(); -#ifndef DEBUG_ENABLED if ( TRUE == incTimeWindowedCount( TIME_WINDOWED_COUNT_FPGA_UART_FRAME_ERROR ) ) { SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_FPGA_UART_FRAME_ERROR ) } -#endif } if ( ( flags & SCI_OE_INT ) != 0 ) { sci2OverrunErrorCnt++; clearSCI2CommErrors(); -#ifndef DEBUG_ENABLED if ( TRUE == incTimeWindowedCount( TIME_WINDOWED_COUNT_FPGA_UART_OVERRUN ) ) { SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_FPGA_UART_OVERRUN_ERROR ) } -#endif } } } Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r6cd114c4deffb81e85c6cd3ebaf550fe4661efda -r9feea867113c62088f0ce91750127972dbd9bf53 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 6cd114c4deffb81e85c6cd3ebaf550fe4661efda) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 9feea867113c62088f0ce91750127972dbd9bf53) @@ -409,8 +409,8 @@ } else { - // Should not get here - not an active message box - // TODO - s/w fault? + // Should not get here - not an active message box + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_INVALID_CAN_MESSAGE_BOX, srcCANBox ) } } @@ -1017,8 +1017,6 @@ } } - // TODO - if no open slot found, s/w fault - return result; }