Index: firmware/App/Drivers/BloodLeakDriver.c =================================================================== diff -u -r3bafb322a459ffff32af3a109765cd060a748e32 -r55b07134d116ff3068a6b5d5cae28bce7100adb3 --- firmware/App/Drivers/BloodLeakDriver.c (.../BloodLeakDriver.c) (revision 3bafb322a459ffff32af3a109765cd060a748e32) +++ firmware/App/Drivers/BloodLeakDriver.c (.../BloodLeakDriver.c) (revision 55b07134d116ff3068a6b5d5cae28bce7100adb3) @@ -162,6 +162,7 @@ bloodLeakEmbModeCmdQCount = 0; bloodLeakEmbModeInfoCmdEnqLastTimeStamp = getMSTimerCount(); bloodLeakEmbModeInfoCmdCounter = 0; + bloodLeakEmbModeSubstate = BLOOD_LEAK_EMB_MODE_WAIT_FOR_COMAND_STATE; // Initialize the blood leak embedded mode response buffer memset( bloodLeakEmbModeRespBuffer, 0x0, BLOOD_LEAK_EMB_MODE_RESP_BUFFER_LEN ); @@ -176,6 +177,26 @@ /*********************************************************************//** * @brief + * The getBloodLeakEmbCmdMode function retrieves the blood leak embedded mode + * command specification from the driver. + * @details \b Inputs: none + * @details \b Outputs: bloodLeakEmbModeSubstate + * @details \b Alarm: ALARM_ID_DD_SOFTWARE_FAULT when in an unknown state + * @return none + *************************************************************************/ +void getBloodLeakEmbCmdMode( BLOOD_LEAK_EMB_MODE_CMD_T cmd, EMB_MODE_CMD_T* results ) +{ + if ((results == NULL) || (cmd >= NUM_OF_EMB_CMDS)) + { + //Throw an alarm + activateAlarmNoData( ALARM_ID_DD_SOFTWARE_FAULT ); + return; + } + + memcpy( results, &bloodLeakEmbModeCmd[cmd], sizeof( EMB_MODE_CMD_T) ); +} +/*********************************************************************//** + * @brief * The execBloodLeakEmbModeCommand function executes the blood leak embedded * mode command. * @details \b Inputs: bloodLeakEmbModeSubstate