Index: firmware/App/Controllers/Buttons.c =================================================================== diff -u -r1f3647830e9de0a1f0a4e445ce8d72d5525f51fb -r8592c629e9e6e212c1325239a21ceb641f9dc1fe --- firmware/App/Controllers/Buttons.c (.../Buttons.c) (revision 1f3647830e9de0a1f0a4e445ce8d72d5525f51fb) +++ firmware/App/Controllers/Buttons.c (.../Buttons.c) (revision 8592c629e9e6e212c1325239a21ceb641f9dc1fe) @@ -345,6 +345,7 @@ // if stop button not consumed within a reasonable time, s/w fault if ( TRUE == didTimeout( stopButtonPendingTimer, STOP_BUTTON_PENDING_TIMEOUT ) ) { + stopButtonPressPending = FALSE; SET_ALARM_WITH_1_U32_DATA( ALARM_ID_SOFTWARE_FAULT, SW_FAULT_ID_BUTTONS_STOP_BUTTON_NOT_CONSUMED ) } } Index: firmware/App/Services/AlarmMgmt.c =================================================================== diff -u -r1f3647830e9de0a1f0a4e445ce8d72d5525f51fb -r8592c629e9e6e212c1325239a21ceb641f9dc1fe --- firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 1f3647830e9de0a1f0a4e445ce8d72d5525f51fb) +++ firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 8592c629e9e6e212c1325239a21ceb641f9dc1fe) @@ -172,9 +172,14 @@ // verify given alarm if ( ( alarm > ALARM_ID_NO_ALARM ) && ( alarm < NUM_OF_ALARM_IDS ) ) { + // broadcast alarm if not already active + if ( TRUE == alarmIsActive[alarm].data ) + { + broadcastAlarmTriggered( alarm, blankAlarmData, blankAlarmData ); + } + // activate alarm alarmIsActive[alarm].data = TRUE; alarmStartedAt[alarm].data = getMSTimerCount(); - //broadcastAlarmTriggered( alarm, blankAlarmData, blankAlarmData ); } else { @@ -199,9 +204,14 @@ // verify given alarm if ( ( alarm > ALARM_ID_NO_ALARM ) && ( alarm < NUM_OF_ALARM_IDS ) ) { + // broadcast alarm if not already active + if ( TRUE == alarmIsActive[alarm].data ) + { + broadcastAlarmTriggered( alarm, alarmData, blankAlarmData ); + } + // activate alarm alarmIsActive[alarm].data = TRUE; alarmStartedAt[alarm].data = getMSTimerCount(); - //broadcastAlarmTriggered( alarm, alarmData, blankAlarmData ); } else { @@ -227,9 +237,14 @@ // verify given alarm if ( ( alarm > ALARM_ID_NO_ALARM ) && ( alarm < NUM_OF_ALARM_IDS ) ) { + // broadcast alarm if not already active + if ( TRUE == alarmIsActive[alarm].data ) + { + broadcastAlarmTriggered( alarm, alarmData1, alarmData2 ); + } + // activate alarm alarmIsActive[alarm].data = TRUE; alarmStartedAt[alarm].data = getMSTimerCount(); - //broadcastAlarmTriggered( alarm, alarmData1, alarmData2 ); } else { Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r1f3647830e9de0a1f0a4e445ce8d72d5525f51fb -r8592c629e9e6e212c1325239a21ceb641f9dc1fe --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 1f3647830e9de0a1f0a4e445ce8d72d5525f51fb) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 8592c629e9e6e212c1325239a21ceb641f9dc1fe) @@ -695,6 +695,10 @@ handleTestBloodPumpMeasuredCurrentOverrideRequest( message ); break; + case MSG_ID_BLOOD_FLOW_SEND_INTERVAL_OVERRIDE: + handleTestBloodFlowBroadcastIntervalOverrideRequest( message ); + break; + default: // TODO - unrecognized message ID received - ignore break; Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r1f3647830e9de0a1f0a4e445ce8d72d5525f51fb -r8592c629e9e6e212c1325239a21ceb641f9dc1fe --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 1f3647830e9de0a1f0a4e445ce8d72d5525f51fb) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 8592c629e9e6e212c1325239a21ceb641f9dc1fe) @@ -521,3 +521,16 @@ *************************************************************************/ DATA_OVERRIDE_HANDLER_FUNC( F32, handleTestBloodPumpMeasuredCurrentOverrideRequest, testSetMeasuredBloodPumpCurrentOverride, testResetMeasuredBloodPumpCurrentOverride ) +/************************************************************************* + * @brief handleTestBloodFlowBroadcastIntervalOverrideRequest + * The handleTestBloodFlowBroadcastIntervalOverrideRequest function handles a request to \n + * override the broadcast interval for blood flow data. + * @details + * Inputs : none + * Outputs : message handled + * @param message : a pointer to the message to handle + * @return none + *************************************************************************/ +DATA_OVERRIDE_HANDLER_FUNC( U32, handleTestBloodFlowBroadcastIntervalOverrideRequest, testSetBloodFlowDataPublishIntervalOverride, testResetBloodFlowDataPublishIntervalOverride ) + + Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -r1f3647830e9de0a1f0a4e445ce8d72d5525f51fb -r8592c629e9e6e212c1325239a21ceb641f9dc1fe --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 1f3647830e9de0a1f0a4e445ce8d72d5525f51fb) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 8592c629e9e6e212c1325239a21ceb641f9dc1fe) @@ -46,6 +46,7 @@ MSG_ID_BLOOD_FLOW_MEAS_OVERRIDE, // 0x8009 MSG_ID_BLOOD_PUMP_MEAS_SPEED_OVERRIDE, // 0x800A MSG_ID_BLOOD_PUMP_MEAS_CURR_OVERRIDE, // 0x800B + MSG_ID_BLOOD_FLOW_SEND_INTERVAL_OVERRIDE, // 0x800C NUM_OF_MSG_IDS } MSG_ID_T; @@ -105,4 +106,7 @@ // MSG_ID_BLOOD_PUMP_MEAS_CURR_OVERRIDE void handleTestBloodPumpMeasuredCurrentOverrideRequest( MESSAGE_T *message ); +// MSG_ID_BLOOD_FLOW_SEND_INTERVAL_OVERRIDE +void handleTestBloodFlowBroadcastIntervalOverrideRequest( MESSAGE_T *message ); + #endif