Index: firmware/App/Controllers/BPModule.c =================================================================== diff -u -r3e6b89e98c3725c7afd94a3c37fe3efce3fde65f -ra8396c9e402372dd7c6ad9df69d5b5fb500a66bf --- firmware/App/Controllers/BPModule.c (.../BPModule.c) (revision 3e6b89e98c3725c7afd94a3c37fe3efce3fde65f) +++ firmware/App/Controllers/BPModule.c (.../BPModule.c) (revision a8396c9e402372dd7c6ad9df69d5b5fb500a66bf) @@ -54,7 +54,7 @@ // ********** private function prototypes ********** -static void checkBloodPressureReading( void ); +static void checkBloodPressureReading( BP_RESULTS_T *bpResults ); static BP_MODULE_STATE_T handleBPModuleIdleState( void ); static BP_MODULE_STATE_T handleBPModuleMeasureState( void ); static BP_MODULE_STATE_T handleBPModuleCheckState( void ); @@ -160,39 +160,39 @@ * The checkBloodPressureReading function validates blood pressure * measurement results against configured thresholds and activates * corresponding blood pressure alarms. - * @details \b Inputs: systolicPressure, heartRate + * @details \b Inputs: bpResults * @details \b Outputs: activate BP alarms * @return none ***************************************************************************/ -static void checkBloodPressureReading( void ) +static void checkBloodPressureReading( BP_RESULTS_T *bpResults ) { - U16 systolicPressure = getBPSystolicPressure(); - U16 heartRate = getBPHeartRate(); - - if ( systolicPressure <= BP_SYSTOLIC_LOW_LIMIT ) + if ( NULL != bpResults ) { - lowSystolicCount++; - if ( lowSystolicCount >= BP_LOW_SYSTOLIC_MAX_COUNT ) + if ( bpResults->systolic <= BP_SYSTOLIC_LOW_LIMIT ) { - activateAlarm( ALARM_ID_TD_BP_SYSTOLIC_LOW_TOO_MANY ); + lowSystolicCount++; + if ( lowSystolicCount >= BP_LOW_SYSTOLIC_MAX_COUNT ) + { + activateAlarm( ALARM_ID_TD_BP_SYSTOLIC_LOW_TOO_MANY ); + } + else + { + activateAlarm( ALARM_ID_TD_BP_SYSTOLIC_LOW ); + } } - else + if ( bpResults->systolic >= BP_SYSTOLIC_HIGH_LIMIT ) { - activateAlarm( ALARM_ID_TD_BP_SYSTOLIC_LOW ); + activateAlarm( ALARM_ID_TD_BP_SYSTOLIC_HIGH ); } + if ( bpResults->heartRate <= BP_HEART_RATE_LOW_LIMIT ) + { + activateAlarm( ALARM_ID_TD_BP_HEART_RATE_LOW ); + } + if ( bpResults->heartRate >= BP_HEART_RATE_HIGH_LIMIT ) + { + activateAlarm( ALARM_ID_TD_BP_HEART_RATE_HIGH ); + } } - if ( systolicPressure >= BP_SYSTOLIC_HIGH_LIMIT ) - { - activateAlarm( ALARM_ID_TD_BP_SYSTOLIC_HIGH ); - } - if ( heartRate <= BP_HEART_RATE_LOW_LIMIT ) - { - activateAlarm( ALARM_ID_TD_BP_HEART_RATE_LOW ); - } - if ( heartRate >= BP_HEART_RATE_HIGH_LIMIT ) - { - activateAlarm( ALARM_ID_TD_BP_HEART_RATE_HIGH ); - } } /*********************************************************************//** @@ -268,7 +268,7 @@ if( TRUE == getBPResults( &bpResults ) ) { - checkBloodPressureReading(); + checkBloodPressureReading( &bpResults ); } return nextState;