Index: firmware/App/Drivers/BPDriver.c =================================================================== diff -u -r1085e08ee2d47460402511e43d64e61162fed1cc -r04b75259419d70d2870521f1f2ca2e9bea3ad9d1 --- firmware/App/Drivers/BPDriver.c (.../BPDriver.c) (revision 1085e08ee2d47460402511e43d64e61162fed1cc) +++ firmware/App/Drivers/BPDriver.c (.../BPDriver.c) (revision 04b75259419d70d2870521f1f2ca2e9bea3ad9d1) @@ -142,6 +142,7 @@ if ( TRUE == requestAdultBPMeasurement ) { + SEND_EVENT_WITH_2_U32_DATA( TD_EVENT_BUTTON, BP_DRIVER_IDLE_STATE, BP_DRIVER_MEASURE_STATE ) requestAdultBPMeasurement = FALSE; bpMeasurementReady = FALSE; bpDriverError = FALSE; @@ -179,15 +180,18 @@ if ( BP_MODULE_BUSY_CLEAR == ( getNIBPStatusResponse() & BP_MODULE_BUSY_MASK ) ) { + SEND_EVENT_WITH_2_U32_DATA( TD_EVENT_BUTTON, BP_DRIVER_MEASURE_STATE, 11 ) // Verify BP measurement data is available if ( BP_RESP_CODE_BPDATA == getBPResponseCode() ) { + SEND_EVENT_WITH_2_U32_DATA( TD_EVENT_BUTTON, BP_DRIVER_MEASURE_STATE, BP_DRIVER_GET_DATA_STATE ) setNIBPCommand( (U08)BP_CMD_GET_BP_DATA ); nextState = BP_DRIVER_GET_DATA_STATE; } // Check whether BP module error occurred else if ( BP_MODULE_BUSY_CLEAR != ( getNIBPStatusResponse() & BP_MODULE_ERROR_MASK ) ) { + SEND_EVENT_WITH_2_U32_DATA( TD_EVENT_BUTTON, BP_DRIVER_MEASURE_STATE, BP_DRIVER_IDLE_STATE ) bpDriverError = TRUE; SET_ALARM_WITH_2_U32_DATA( ALARM_ID_TD_SOFTWARE_FAULT, getNIBPStatusResponse(), bpDriverState ); nextState = BP_DRIVER_IDLE_STATE; @@ -211,6 +215,7 @@ if ( ( getNIBPStatusResponse() & BP_MODULE_BUSY_MASK ) == 0 ) { + SEND_EVENT_WITH_2_U32_DATA( TD_EVENT_BUTTON, BP_DRIVER_GET_DATA_STATE, 11 ) bpResults.systolic = getNIBPSystolicPressure(); bpResults.diastolic = getNIBPDiastolicPressure(); bpResults.heartRate = getNIBPHeartRate();