Index: firmware/App/Monitors/BloodLeak.c =================================================================== diff -u -rcf465d563d6f19d8eee4d4283b968694eb59ef94 -r86ea3cba20edaebf20fe2f9b82c7c73048c36f6c --- firmware/App/Monitors/BloodLeak.c (.../BloodLeak.c) (revision cf465d563d6f19d8eee4d4283b968694eb59ef94) +++ firmware/App/Monitors/BloodLeak.c (.../BloodLeak.c) (revision 86ea3cba20edaebf20fe2f9b82c7c73048c36f6c) @@ -105,7 +105,6 @@ static BLOOD_LEAK_ZEROING_STATUS_T bloodLeakZeroingStatus; ///< Blood leak zeroing status. // Embedded mode variables -static BLOOD_LEAK_EMB_MODE_STATE_T bloodLeakEmbModeSubstate; ///< Blood leak embedded mode state. ///< Blood leak embedded mode set point command. static BOOL bloodLeakEmbModeHasZeroBeenRqustd; ///< Blood leak embedded mode flag to indicate zero has been requested. static U32 bloodLeakEmbModeCmdEnqueueCount; ///< Blood leak embedded mode command enqueue count @@ -147,19 +146,18 @@ { initBloodLeakDriver(); - bloodLeakDataPublicationCounter = DATA_PUBLISH_COUNTER_START_COUNT; - bloodLeakState = BLOOD_LEAK_WAIT_FOR_POST_STATE; - bloodLeakStatus.data = BLOOD_LEAK_NOT_DETECTED; - bloodLeakStatus.ovInitData = BLOOD_LEAK_NOT_DETECTED; - bloodLeakStatus.ovData = BLOOD_LEAK_NOT_DETECTED; - bloodLeakStatus.override = OVERRIDE_RESET; - bloodLeakSelfTestStatus = SELF_TEST_STATUS_IN_PROGRESS; - bloodLeakPersistenceCtr = 0; - bloodLeakEmbModeSubstate = BLOOD_LEAK_EMB_MODE_WAIT_FOR_COMAND_STATE; - bloodLeakExitNormalRequested = FALSE; - bloodLeakEmbModeHasZeroBeenRqustd = FALSE; - bloodLeakEmbModeCmdEnqueueCount = 0; - bloodLeakRecoveryStartTimeMS = getMSTimerCount(); + bloodLeakDataPublicationCounter = DATA_PUBLISH_COUNTER_START_COUNT; + bloodLeakState = BLOOD_LEAK_WAIT_FOR_POST_STATE; + bloodLeakStatus.data = BLOOD_LEAK_NOT_DETECTED; + bloodLeakStatus.ovInitData = BLOOD_LEAK_NOT_DETECTED; + bloodLeakStatus.ovData = BLOOD_LEAK_NOT_DETECTED; + bloodLeakStatus.override = OVERRIDE_RESET; + bloodLeakSelfTestStatus = SELF_TEST_STATUS_IN_PROGRESS; + bloodLeakPersistenceCtr = 0; + bloodLeakExitNormalRequested = FALSE; + bloodLeakEmbModeHasZeroBeenRqustd = FALSE; + bloodLeakEmbModeCmdEnqueueCount = 0; + bloodLeakRecoveryStartTimeMS = getMSTimerCount(); bloodLeakZeroingStatus.zeroingDriftIntervalTimeMS.data = BLD_ZERO_MIN_INTERVAL_MS; bloodLeakZeroingStatus.zeroingDriftIntervalTimeMS.ovInitData = BLD_ZERO_MIN_INTERVAL_MS; @@ -226,7 +224,7 @@ break; } - enqueueInfoEmbModeCmds( bloodLeakState); + enqueueInfoEmbModeCmds( bloodLeakState ); // Publish blood leak data if due publishBloodLeakData(); @@ -479,7 +477,7 @@ BLOOD_LEAK_STATE_T state = BLOOD_LEAK_CHECK_SET_POINT_STATE; EMB_MODE_CMD_T dCmdSpec; - getBloodLeakEmbCmdMode(D_EMB_MODE_CMD, &dCmdSpec); + getBloodLeakEmbCmdMode( D_EMB_MODE_CMD, &dCmdSpec ); BOOL isCommandRespReady = dCmdSpec.isCmdRespRdy; U08 commandDRqstCount = dCmdSpec.commandRqstCount; @@ -806,7 +804,7 @@ data.bloodLeakStatus = (U32)getBloodLeakStatus(); data.bloodLeakState = (U32)bloodLeakState; data.bloodLeakPersistentCounter = bloodLeakPersistenceCtr; - data.bloodLeakSerialCommState = bloodLeakEmbModeSubstate; + data.bloodLeakSerialCommState = (U32)getBloodLeakEmbModeState(); data.bloodLeakIntensity = getEmbModeInfoValue( I_EMB_MODE_CMD ); data.bloodLeakDetect = getEmbModeInfoValue( V_EMB_MODE_CMD ); data.bloodLeakIntensityMovingAvg = getF32OverrideValue( &bloodLeakZeroingStatus.intensityMovingAverage ); @@ -904,7 +902,7 @@ */ BOOL status = FALSE; BOOL isZeroingNeeded = TRUE; - getBloodLeakEmbCmdMode(D_EMB_MODE_CMD, &cmdSpec); + getBloodLeakEmbCmdMode( D_EMB_MODE_CMD, &cmdSpec ); U32 setPoint = cmdSpec.commandResp; F32 driftMinFromTop = BLD_NOMINAL_INTENSITY - ( setPoint * BLD_MAX_INTENSITY_OUT_OF_RANGE ); F32 driftMaxFromTop = BLD_NOMINAL_INTENSITY - ( setPoint * BLD_MIN_INTENSITY_OUT_OF_RANGE ); @@ -963,33 +961,7 @@ return status; } -/*********************************************************************//** - * @brief - * The sendBloodLeakEmbeddedModeCommandResponse function sends out - * the blood leak embedded mode command response. - * @details \b Inputs: none - * @details \b Outputs: blood leak embedded mode command response msg constructed and queued - * @details \b Message: MSG_ID_DD_SEND_BLOOD_LEAK_EMB_MODE_RESPONSE DD blood leak response command - * @param cmd: the command its response is being sent - * @param responseLen: the length of the buffer - * @param response: pointer to the response buffer - * @return TRUE if msg successfully queued for transmit, FALSE if not - *************************************************************************/ -static BOOL sendBloodLeakEmbeddedModeCommandResponse( U08 cmd, U32 responseLen, U08 *responseBuffer ) -{ - BLOOD_LEAK_EMB_MODE_RESP_T response; - BOOL result = FALSE; - response.command = cmd; - response.responseLen = responseLen; - memcpy( response.responseBuffer, responseBuffer, responseLen ); - - result = sendMessage( MSG_ID_DD_SEND_BLOOD_LEAK_EMB_MODE_RESPONSE, COMM_BUFFER_OUT_DD_CAN_PC, (U08*)&response, sizeof( BLOOD_LEAK_EMB_MODE_RESP_T ) ); - - return result; -} - - /************************************************************************* * TEST SUPPORT FUNCTIONS *************************************************************************/