Index: firmware/App/Controllers/BloodFlow.c =================================================================== diff -u -r794f0aea88a5a860448e54e99db6e2e881b22900 -r3533955f242cec0505e8826e0e2d96f7b79ad499 --- firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 794f0aea88a5a860448e54e99db6e2e881b22900) +++ firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 3533955f242cec0505e8826e0e2d96f7b79ad499) @@ -457,6 +457,7 @@ U08 stpReadCtr = getFPGABloodFlowStatusPacketReadCounter(); U08 flowErrorCtr = getFPGABloodFlowErrorCounter(); +#ifndef DISABLE_FPGA_COUNTER_CHECKS // Check for stale flow reading if ( TRUE == isPersistentAlarmTriggered( ALARM_ID_HD_BP_FLOW_READ_TIMEOUT_ERROR, ( fpReadCtr == lastBloodFlowFastPacketReadCtr ) ) ) { @@ -470,6 +471,7 @@ { SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_BP_FLOW_READ_TIMEOUT_ERROR, (U32)BLOOD_FLOW_READ_CTR_STATUS_PACKET ) } +#endif // Record flow read counters for next time around lastBloodFlowFastPacketReadCtr = fpReadCtr; Index: firmware/App/Controllers/DialInFlow.c =================================================================== diff -u -r33d652cfc884eeea0a422c39a15634fd74dc0ce3 -r3533955f242cec0505e8826e0e2d96f7b79ad499 --- firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision 33d652cfc884eeea0a422c39a15634fd74dc0ce3) +++ firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision 3533955f242cec0505e8826e0e2d96f7b79ad499) @@ -423,6 +423,7 @@ U08 stpReadCtr = getFPGADialysateFlowStatusPacketReadCounter(); U08 flowErrorCtr = getFPGADialysateFlowErrorCounter(); +#ifndef DISABLE_FPGA_COUNTER_CHECKS // Check for stale flow reading if ( TRUE == isPersistentAlarmTriggered( ALARM_ID_HD_DP_FLOW_READ_TIMEOUT_ERROR, ( fpReadCtr == lastDialysateFlowFastPacketReadCtr ) ) ) { @@ -436,6 +437,7 @@ { SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_DP_FLOW_READ_TIMEOUT_ERROR, (U32)DIALYSATE_FLOW_READ_CTR_STATUS_PACKET ) } +#endif // Record flow read counters for next time around lastDialysateFlowFastPacketReadCtr = fpReadCtr; Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -r74a3506d935a18d4174f94d8c0fdbc750105904f -r3533955f242cec0505e8826e0e2d96f7b79ad499 --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision 74a3506d935a18d4174f94d8c0fdbc750105904f) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision 3533955f242cec0505e8826e0e2d96f7b79ad499) @@ -353,6 +353,7 @@ U08 dpiErrorCtr = getFPGADialInPumpOcclusionErrorCounter(); U08 dpoErrorCtr = getFPGADialOutPumpOcclusionErrorCounter(); +#ifndef DISABLE_FPGA_COUNTER_CHECKS // Check for sensor errors if ( bpErrorCtr > 0 ) { @@ -380,6 +381,7 @@ { activateAlarmNoData( ALARM_ID_HD_DPO_OCCLUSION_READ_TIMEOUT_ERROR ); } +#endif // Record occlusion sensor readings bloodPumpOcclusion.data = (U32)getFPGABloodPumpOcclusion(); Index: firmware/App/HDCommon.h =================================================================== diff -u -r993f1edc4fe8f10aa81cae4deddafc88c616ccf6 -r3533955f242cec0505e8826e0e2d96f7b79ad499 --- firmware/App/HDCommon.h (.../HDCommon.h) (revision 993f1edc4fe8f10aa81cae4deddafc88c616ccf6) +++ firmware/App/HDCommon.h (.../HDCommon.h) (revision 3533955f242cec0505e8826e0e2d96f7b79ad499) @@ -61,6 +61,8 @@ // #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 #define ALARMS_DEBUG 1 // Triggered alarms sent to debug UART + #define ALARM_VOLUME_DEFAULT_LOW 1 // Set default alarm volume to lowest + #define TEMP_UI_ALARM_SILENCE_FIX 1 // Temporary UI fix for handling alarm silence request msg #define SKIP_PRIMING 1 // Skip Pre-treatment Prime #define SKIP_WET_SELF_TESTS 1 // Skip Pre-treatment prime wet self-tests // #define V1_5_SYSTEM 1 // Build for v1.5 system @@ -72,6 +74,7 @@ // #define DISABLE_BATT_COMM 1 // Disable battery communication. #define SKIP_AIR_BUBBLE_CHECK 1 // Skip air bubble detector self-test. #define DISABLE_OCCLUSION_SELF_TEST 1 // Skip occlusion sensor self-test. + #define DISABLE_FPGA_COUNTER_CHECKS 1 // Disable alarms associated with FPGA read/error counters #include #include Index: firmware/App/Services/AlarmMgmt.c =================================================================== diff -u -r5fef605363d4f8023b3db2989b097b6c5f58db1a -r3533955f242cec0505e8826e0e2d96f7b79ad499 --- firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 5fef605363d4f8023b3db2989b097b6c5f58db1a) +++ firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 3533955f242cec0505e8826e0e2d96f7b79ad499) @@ -78,8 +78,12 @@ static OVERRIDE_U32_T alarmStartedAt[ NUM_OF_ALARM_IDS ]; /// Interval (in task intervals) at which to publish alarm information to CAN bus. static OVERRIDE_U32_T alarmInfoPublishInterval = { ALARM_INFO_PUB_INTERVAL, ALARM_INFO_PUB_INTERVAL, ALARM_INFO_PUB_INTERVAL, 0 }; +#ifndef ALARM_VOLUME_DEFAULT_LOW /// Set alarm audio volume attenuation level (0..4 - lower level = higher gain). static OVERRIDE_U32_T alarmAudioVolumeLevel = { MIN_ALARM_VOLUME_ATTENUATION, MIN_ALARM_VOLUME_ATTENUATION, MIN_ALARM_VOLUME_ATTENUATION, 0 }; +#else +static OVERRIDE_U32_T alarmAudioVolumeLevel = { MAX_ALARM_VOLUME_ATTENUATION, MAX_ALARM_VOLUME_ATTENUATION, MAX_ALARM_VOLUME_ATTENUATION, 0 }; +#endif /// Alarm audio current (high gain) measured at ADC. static OVERRIDE_F32_T alarmPrimaryAudioCurrentHG = { 0.0, 0.0, 0.0, 0 }; /// Alarm audio current (low gain) measured at ADC. Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r5fef605363d4f8023b3db2989b097b6c5f58db1a -r3533955f242cec0505e8826e0e2d96f7b79ad499 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 5fef605363d4f8023b3db2989b097b6c5f58db1a) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 3533955f242cec0505e8826e0e2d96f7b79ad499) @@ -2237,14 +2237,24 @@ *************************************************************************/ void handleUIAlarmSilenceRequest( MESSAGE_T *message ) { +#ifndef TEMP_UI_ALARM_SILENCE_FIX if ( message->hdr.payloadLen == sizeof( U32 ) ) +#else + if ( message->hdr.payloadLen == sizeof( U08 ) ) +#endif { U08 *payloadPtr = message->payload; +#ifndef TEMP_UI_ALARM_SILENCE_FIX U32 cmd; memcpy( &cmd, payloadPtr, sizeof( U32 ) ); + signalAlarmSilence( (ALARM_SILENCE_CMD_T)cmd ); +#else + U08 cmd; + memcpy( &cmd, payloadPtr, sizeof( U08 ) ); signalAlarmSilence( (ALARM_SILENCE_CMD_T)cmd ); +#endif } else {