Index: firmware/App/Drivers/BPDriver.c =================================================================== diff -u -rb4fa063812ba80ecf4f59f6d6c4394aaf22fdb03 -r3800374f3f5172afec5e9fa96acc6ee4a234e170 --- firmware/App/Drivers/BPDriver.c (.../BPDriver.c) (revision b4fa063812ba80ecf4f59f6d6c4394aaf22fdb03) +++ firmware/App/Drivers/BPDriver.c (.../BPDriver.c) (revision 3800374f3f5172afec5e9fa96acc6ee4a234e170) @@ -71,7 +71,6 @@ static BP_DRIVER_STATE_T handleBPDriverIdleState( void ); static BP_DRIVER_STATE_T handleBPDriverClearCmdState( void ); static BP_DRIVER_STATE_T handleBPDriverWaitClearCmdState( void ); -static BP_DRIVER_STATE_T handleBPDriverSendCmdState( void ); static BP_DRIVER_STATE_T handleBPDriverWaitFpgaAckState( void ); static BP_DRIVER_STATE_T handleBPDriverClearCmdAfterAckState( void ); static BP_DRIVER_STATE_T handleBPDriverWaitModuleStartState( void ); @@ -140,10 +139,6 @@ bpDriverState = handleBPDriverWaitClearCmdState(); break; - case BP_DRIVER_SEND_CMD_STATE: - bpDriverState = handleBPDriverSendCmdState(); - break; - case BP_DRIVER_WAIT_FPGA_ACK_STATE: bpDriverState = handleBPDriverWaitFpgaAckState(); break; @@ -177,12 +172,12 @@ * state handling. * @details \b Inputs: requestAdultBPMeasurement, requestPedsBPMeasurement, * requestAbortBPMeasurement -* @details \b Outputs: pendingBPCommand, bpMeasurementReady, bpDriverError +* @details \b Outputs: requestAdultBPMeasurement * @return next BP module state ***************************************************************************/ static BP_DRIVER_STATE_T handleBPDriverIdleState( void ) { - BP_DRIVER_STATE_T nextState = BP_DRIVER_IDLE_STATE; + BP_DRIVER_STATE_T nextState = BP_DRIVER_CLEAR_CMD_STATE; if ( TRUE == requestAdultBPMeasurement ) { @@ -191,22 +186,23 @@ bpMeasurementReady = FALSE; bpDriverError = FALSE; pendingBPCommand = (U08)BP_CMD_START_BP; - nextState = BP_DRIVER_CLEAR_CMD_STATE; } else if ( TRUE == requestPedsBPMeasurement ) { requestPedsBPMeasurement = FALSE; bpMeasurementReady = FALSE; bpDriverError = FALSE; pendingBPCommand = (U08)BP_CMD_START_PEDS_BP; - nextState = BP_DRIVER_CLEAR_CMD_STATE; } else if ( TRUE == requestAbortBPMeasurement ) { requestAbortBPMeasurement = FALSE; pendingBPCommand = (U08)BP_CMD_ABORT_BP; - nextState = BP_DRIVER_CLEAR_CMD_STATE; } + else + { + nextState = BP_DRIVER_IDLE_STATE; + } return nextState; } @@ -244,30 +240,15 @@ if ( bpCommandClearCtr >= BP_COMMAND_CLEAR_DELAY ) { bpCommandClearCtr = 0; - nextState = BP_DRIVER_SEND_CMD_STATE; + setNIBPCommand( pendingBPCommand ); + nextState = BP_DRIVER_WAIT_FPGA_ACK_STATE; } return nextState; } /*********************************************************************//** * @brief -* The handleBPDriverSendCmdState function sends the pending BP command. -* @details \b Inputs: pendingBPCommand -* @details \b Outputs: none -* @return next BP driver state -***************************************************************************/ -static BP_DRIVER_STATE_T handleBPDriverSendCmdState( void ) -{ - BP_DRIVER_STATE_T nextState = BP_DRIVER_WAIT_FPGA_ACK_STATE; - - setNIBPCommand( pendingBPCommand ); - - return nextState; -} - -/*********************************************************************//** -* @brief * The handleBPDriverWaitFpgaAckState function waits for FPGA command * acknowledge. * @details \b Inputs: none