Index: firmware/App/Controllers/BPModule.c =================================================================== diff -u -r29b02188905fa888df39174e6b82677cbaa816ce -r1085e08ee2d47460402511e43d64e61162fed1cc --- firmware/App/Controllers/BPModule.c (.../BPModule.c) (revision 29b02188905fa888df39174e6b82677cbaa816ce) +++ firmware/App/Controllers/BPModule.c (.../BPModule.c) (revision 1085e08ee2d47460402511e43d64e61162fed1cc) @@ -54,14 +54,16 @@ static BOOL requestAdultBPReading; ///< Adult BP reading request static BOOL requestPedsBPReading; ///< Pediatric BP reading request static BOOL requestAbortBPReading; ///< Abort BP reading request +static BP_VITALS_DATA_T bpResults; + // ********** private function prototypes ********** -static void checkBloodPressureReading( BP_RESULTS_T *bpResults ); +static void checkBloodPressureReading( BP_VITALS_DATA_T *bpResults ); static BP_MODULE_STATE_T handleBPModuleIdleState( void ); static BP_MODULE_STATE_T handleBPModuleMeasureState( void ); static BP_MODULE_STATE_T handleBPModuleCheckState( void ); -static void publishVitalsData( BP_RESULTS_T *bpResults ); +static void publishVitalsData( void ); /*********************************************************************//** * @brief @@ -160,7 +162,7 @@ * @details \b Outputs: activateAlarm * @return none ***************************************************************************/ -static void checkBloodPressureReading( BP_RESULTS_T *bpResults ) +static void checkBloodPressureReading( BP_VITALS_DATA_T *bpResults ) { if ( NULL != bpResults ) { @@ -261,12 +263,11 @@ static BP_MODULE_STATE_T handleBPModuleCheckState( void ) { BP_MODULE_STATE_T nextState = BP_MODULE_IDLE_STATE; - BP_RESULTS_T bpResults; if( TRUE == getBPResults( &bpResults ) ) { checkBloodPressureReading( &bpResults ); - publishVitalsData( &bpResults ); + publishVitalsData(); } return nextState; @@ -329,18 +330,15 @@ * @details \b Outputs: none * @return none *************************************************************************/ -static void publishVitalsData( BP_RESULTS_T *bpResults ) +static void publishVitalsData( void ) { - BP_RESULTS_T data; + BP_VITALS_DATA_T data; - if ( NULL != bpResults ) - { - data.systolic = (U32)bpResults->systolic; - data.diastolic = (U32)bpResults->diastolic; - data.heartRate = (U32)bpResults->heartRate; + data.systolic = (U32)bpResults.systolic; + data.diastolic = (U32)bpResults.diastolic; + data.heartRate = (U32)bpResults.heartRate; - broadcastData( MSG_ID_TD_BLOOD_PRESSURE_DATA, COMM_BUFFER_OUT_CAN_TD_BROADCAST, (U08*)&data, sizeof( BP_RESULTS_T ) ); - } + broadcastData( MSG_ID_TD_BLOOD_PRESSURE_DATA, COMM_BUFFER_OUT_CAN_TD_BROADCAST, (U08*)&data, sizeof( BP_VITALS_DATA_T ) ); } /**@}*/ Index: firmware/App/Drivers/BPDriver.c =================================================================== diff -u -rd22b634e0d703617cebdd7817c76895ed7b33128 -r1085e08ee2d47460402511e43d64e61162fed1cc --- firmware/App/Drivers/BPDriver.c (.../BPDriver.c) (revision d22b634e0d703617cebdd7817c76895ed7b33128) +++ firmware/App/Drivers/BPDriver.c (.../BPDriver.c) (revision 1085e08ee2d47460402511e43d64e61162fed1cc) @@ -45,7 +45,7 @@ // ********** private data ********** static BP_DRIVER_STATE_T bpDriverState = BP_DRIVER_IDLE_STATE; ///< Current blood pressure driver state. -static BP_RESULTS_T bpResults; ///< Latest blood pressure measurement results. +static BP_VITALS_DATA_T bpResults; ///< Latest blood pressure measurement results. static BOOL bpMeasurementReady; ///< Blood pressure measurement ready static BOOL bpDriverError; ///< Blood pressure driver error static BOOL requestAdultBPMeasurement; ///< Request adult BP measurement @@ -289,7 +289,7 @@ /*********************************************************************//** * @brief * The hasBPDriverError function returns the blood pressure driver - * error status. + * connection status. * @details \b Inputs: none * @details \b Outputs: bpCuffConnected * @return TRUE if module error exists, FALSE otherwise. @@ -309,13 +309,14 @@ * @details \b Outputs: results * @return TRUE if results copied, FALSE otherwise. ***************************************************************************/ -BOOL getBPResults( BP_RESULTS_T *results ) +BOOL getBPResults( BP_VITALS_DATA_T *results ) { BOOL result = FALSE; if ( ( NULL != results ) && ( TRUE == bpMeasurementReady ) ) { *results = bpResults; + bpMeasurementReady = FALSE; result = TRUE; } Index: firmware/App/Drivers/BPDriver.h =================================================================== diff -u -r29b02188905fa888df39174e6b82677cbaa816ce -r1085e08ee2d47460402511e43d64e61162fed1cc --- firmware/App/Drivers/BPDriver.h (.../BPDriver.h) (revision 29b02188905fa888df39174e6b82677cbaa816ce) +++ firmware/App/Drivers/BPDriver.h (.../BPDriver.h) (revision 1085e08ee2d47460402511e43d64e61162fed1cc) @@ -55,7 +55,7 @@ U32 systolic; ///< Systolic blood pressure in mmHg. U32 diastolic; ///< Diastolic blood pressure in mmHg. U32 heartRate; ///< Heart rate in BPM. -} BP_RESULTS_T; +} BP_VITALS_DATA_T; // ********** public function prototypes ********** @@ -69,7 +69,7 @@ BOOL isBPMeasurementReady( void ); BOOL hasBPDriverError( void ); BOOL isBPCuffConnected( void ); -BOOL getBPResults( BP_RESULTS_T *results ); +BOOL getBPResults( BP_VITALS_DATA_T *results ); /**@}*/