Index: firmware/App/Controllers/BPModule.c =================================================================== diff -u -re7af2180112a6c1ba16c90fa90b64a36c08db8c9 -rf376257c406e8b4f61ef4ad10f0b0f84831932d2 --- firmware/App/Controllers/BPModule.c (.../BPModule.c) (revision e7af2180112a6c1ba16c90fa90b64a36c08db8c9) +++ firmware/App/Controllers/BPModule.c (.../BPModule.c) (revision f376257c406e8b4f61ef4ad10f0b0f84831932d2) @@ -159,7 +159,7 @@ * measurement results against configured thresholds and activates * corresponding blood pressure alarms. * @details \b Inputs: bpResults - * @details \b Outputs: activateAlarm + * @details \b Outputs: lowSystolicCount, activateAlarm * @return none ***************************************************************************/ static void checkBloodPressureReading( BP_VITALS_DATA_T *bpResults ) @@ -199,7 +199,8 @@ * state handling. * @details \b Inputs: requestAdultBPReading, requestPedsBPReading, * requestAbortBPReading - * @details \b Outputs: flags + * @details \b Outputs: startAdultBPMeasurement, startPedsBPMeasurement, + * abortBPMeasurement * @return next BP module state ***************************************************************************/ static BP_MODULE_STATE_T handleBPModuleIdleState( void ) @@ -230,8 +231,8 @@ /*********************************************************************//** * @brief * The handleBPModuleMeasureState function executes the BP module - * measurement state handling. - * @details \b Inputs: results + * measurement state + * @details \b Inputs: isBPMeasurementReady, hasBPDriverError * @details \b Outputs: bpModuleState * @return next BP module state ***************************************************************************/ @@ -256,8 +257,8 @@ * @brief * The handleBPModuleCheckState function executes the BP module * validation state handling. -* @details \b Inputs: BP driver measurement results -* @details \b Outputs: BP alarms +* @details \b Inputs: checkBloodPressureReading +* @details \b Outputs: publishVitalsData * @return next BP module state. ***************************************************************************/ static BP_MODULE_STATE_T handleBPModuleCheckState( void ) @@ -278,7 +279,7 @@ * The bpModuleHandleVitalsRequest function handles the UI blood * pressure measurement request. * @details \b Message \b Sent: MSG_ID_TD_BLOOD_PRESSURE_READING -* @details \b Inputs: message containing blood pressure request +* @details \b Inputs: isBPCuffConnected * @details \b Outputs: requestAdultBPReading * @return TRUE if request is accepted, FALSE if rejected. *************************************************************************/ @@ -327,7 +328,7 @@ * The publishVitalsData function publishes blood pressure data. * @details \b Message \b Sent: MSG_ID_TD_BLOOD_PRESSURE_DATA * @details \b Inputs: bpResults -* @details \b Outputs: none +* @details \b Outputs: Blood pressure data are published to CAN bus * @return none *************************************************************************/ static void publishVitalsData( void ) Index: firmware/App/Drivers/BPDriver.c =================================================================== diff -u -rcef994fce0911761597fe8bf998b1bc87d8dc16c -rf376257c406e8b4f61ef4ad10f0b0f84831932d2 --- firmware/App/Drivers/BPDriver.c (.../BPDriver.c) (revision cef994fce0911761597fe8bf998b1bc87d8dc16c) +++ firmware/App/Drivers/BPDriver.c (.../BPDriver.c) (revision f376257c406e8b4f61ef4ad10f0b0f84831932d2) @@ -28,30 +28,28 @@ // ********** private definitions ********** +#define BP_COMMAND_CLEAR_DELAY ( ( 10 / TASK_GENERAL_INTERVAL ) + 1 ) ///< Blood pressure command interval #define BP_RESP_CODE_MASK 0x3C ///< Blood pressure response code mask. #define BP_RESP_CODE_SHIFT 2 ///< Blood pressure response code bit shift. #define BP_MODULE_ERROR_MASK 0x40 ///< Blood pressure module error mask. -#define BP_MODULE_BUSY_MASK 0x80 ///< Blood Pressure module busy mask -#define BP_RESP_CODE_BPDATA 0x07 ///< Blood pressure response code indicating BP data is available. #define BP_MODULE_BUSY_CLEAR 0 ///< Blood pressure module buy clear -#define BP_COMMAND_CLEAR_DELAY_TICKS ( ( 10 / TASK_GENERAL_INTERVAL ) + 1 ) -#define BP_FPGA_CMD_GIVEN_MASK 0x10 -#define BP_MODULE_CMD_STARTED_MASK 0x01 -#define BP_MODULE_CMD_IN_PROGRESS_MASK 0x02 +#define BP_FPGA_CMD_GIVEN_MASK 0x10 ///< Blood pressure FPGA command +#define BP_MODULE_CMD_STARTED_MASK 0x01 ///< Blood pressure module command started mask +#define BP_MODULE_CMD_IN_PROGRESS_MASK 0x02 ///< Blood pressure module command in progess mask /// Blood pressure driver states. typedef enum { - BP_DRIVER_IDLE_STATE = 0, - BP_DRIVER_CLEAR_CMD_STATE, - BP_DRIVER_WAIT_CLEAR_CMD_STATE, - BP_DRIVER_SEND_CMD_STATE, - BP_DRIVER_WAIT_FPGA_ACK_STATE, - BP_DRIVER_CLEAR_CMD_AFTER_ACK_STATE, - BP_DRIVER_WAIT_MODULE_START_STATE, - BP_DRIVER_WAIT_MEASUREMENT_COMPLETE_STATE, - BP_DRIVER_GET_DATA_STATE, - NUM_OF_BP_DRIVER_STATES + BP_DRIVER_IDLE_STATE = 0, ///< Blood pressure driver idle state + BP_DRIVER_CLEAR_CMD_STATE, ///< Blood pressure driver clear command state + BP_DRIVER_WAIT_CLEAR_CMD_STATE, ///< Blood pressure driver wait clear command state + BP_DRIVER_SEND_CMD_STATE, ///< Blood pressure driver send command state + BP_DRIVER_WAIT_FPGA_ACK_STATE, ///< Blood pressure driver wait FPGA acknowledge state + BP_DRIVER_CLEAR_CMD_AFTER_ACK_STATE, ///< Blood pressure driver clear command after acknowledge state + BP_DRIVER_WAIT_MODULE_START_STATE, ///< Blood pressure driver wait module start state + BP_DRIVER_WAIT_MEASUREMENT_COMPLETE_STATE, ///< Blood pressure driver wait measurement complete state + BP_DRIVER_GET_DATA_STATE, ///< Blood pressure driver get data state + NUM_OF_BP_DRIVER_STATES ///< Number of Blood pressure driver states } BP_DRIVER_STATE_T; // ********** private data ********** @@ -179,7 +177,7 @@ * state handling. * @details \b Inputs: requestAdultBPMeasurement, requestPedsBPMeasurement, * requestAbortBPMeasurement -* @details \b Outputs: nextState +* @details \b Outputs: pendingBPCommand, bpMeasurementReady, bpDriverError * @return next BP module state ***************************************************************************/ static BP_DRIVER_STATE_T handleBPDriverIdleState( void ) @@ -243,7 +241,7 @@ BP_DRIVER_STATE_T nextState = BP_DRIVER_WAIT_CLEAR_CMD_STATE; bpCommandClearCtr++; - if ( bpCommandClearCtr >= BP_COMMAND_CLEAR_DELAY_TICKS ) + if ( bpCommandClearCtr >= BP_COMMAND_CLEAR_DELAY ) { bpCommandClearCtr = 0; nextState = BP_DRIVER_SEND_CMD_STATE; @@ -341,7 +339,7 @@ * The handleBPDriverWaitMeasurementCompleteState function waits for the * BP measurement command to complete. * @details \b Inputs: getNIBPStatusResponse -* @details \b Outputs: pendingBPCommand +* @details \b Outputs: pendingBPCommand, bpDriverError * @return next BP driver state ***************************************************************************/ static BP_DRIVER_STATE_T handleBPDriverWaitMeasurementCompleteState( void ) @@ -367,7 +365,7 @@ * The handleBPDriverGetDataState function retrieves blood pressure * measurement results. * @details \b Inputs: FPGA NIBP blood pressure registers -* @details \b Outputs: bpResults, bpMeasurementReady +* @details \b Outputs: bpResults, bpMeasurementReady, pendingBPCommand * @return next BP driver state ***************************************************************************/ static BP_DRIVER_STATE_T handleBPDriverGetDataState( void )